wazuh-kibana-app/public/templates/ruleset-decoders.html

80 lines
4.1 KiB
HTML

<md-content layout="row" flex layout-padding ng-if="!load && submenuNavItem2 == 'decoders'" ng-controller="decodersController">
<md-virtual-repeat-container ng-if="!load" flex layout="column" layout-padding auto-size-container ng-style="autoSizeStyle">
<div flex id="content" layout="row" layout-align="space-between center">
<span layout="row" style="padding-left: 0px;" flex layout-align="space-between center">
<md-autocomplete ng-hide="$parent.typeFilter != 'all'" flex md-no-cache="true" md-selected-item="_filter" md-selected-item-change="decodersApplyFilter(_filter)" md-search-text="$parent.search"
md-items="item in filtersSearch($parent.search)" md-item-text="item.value" md-min-length="0" md-select-on-match="true" md-no-asterisk="false" md-menu-class="autocomplete-custom-agents-bar"
placeholder="Search file">
<md-item-template>
<span class="item-title">
<span><strong md-highlight-text="search" md-highlight-flags="i"> {{item.value}} </strong></span>
</span>
<span class="item-metadata">
<span class="item-metastat"> {{item.type}} </span>
</span>
</md-item-template>
<md-not-found>
No results matching "{{search}}" were found.
</md-not-found>
</md-autocomplete>
</span>
<md-input-container flex="15" style="margin-right: 0px;margin-left: 20px;padding: 3px;margin-right: 10px;background-color: rgb(207,216,220);"
class="md-whiteframe-z1">
<md-select ng-model="typeFilter" ng-change="decoderTypeFilter(typeFilter)" aria-label="Filter by type">
<md-option value="all">All</md-option>
<md-option value="parents">Parents only</md-option>
</md-select>
</md-input-container>
</div>
<md-chips readonly="true" ng-show="decodersHasFilter('search') || decodersHasFilter('file')">
<md-chip md-colors="::{background: 'primary-100', color: 'background-900'}" ng-click="decodersUnset('search')" ng-if="decodersHasFilter('search')">
<span class="bold">Search: {{decodersGetFilter('search')}} <i class="fa fa-times" aria-hidden="true"></i></span>
</md-chip>
<md-chip md-colors="::{background: 'primary-100', color: 'background-900'}" ng-click="decodersUnset('file')" ng-if="decodersHasFilter('file');">
<span class="bold">File: {{decodersGetFilter('file')}} <i class="fa fa-times" aria-hidden="true"></i></span>
</md-chip>
</md-chips>
<md-toolbar layout="row">
<div class="md-toolbar-tools">
<span flex="70">Name</span>
<span flex="30">File</span>
</div>
</md-toolbar>
<div md-virtual-repeat="decoder in decodersObj" md-on-demand flex layout="column" layout-align="start stretch">
<md-list>
<md-list-item ng-click=" showDetails[decoder.name] = ! showDetails[decoder.name]; ">
<span flex="70">{{decoder.name}}</span>
<md-button md-no-ink class="invisibleButton" flex="30" ng-if="$parent.typeFilter == 'all'" ng-click="decodersApplyFilter({type: 'file', value: decoder.file}); $event.stopPropagation();">{{decoder.file}}</md-button>
<span flex="30" ng-if="$parent.typeFilter != 'all'">{{decoder.file}}</span>
</md-list-item>
</md-list>
<md-list ng-if="showDetails[decoder.name]">
<md-list-item>
<span style="font-weight: bold" flex="15">Full path</span>
<span flex="35">{{decoder.full_path}}</span>
<span style="font-weight: bold" flex="15">Position</span>
<span flex="35">{{decoder.position}}</span>
</md-list-item>
<md-list-item ng-if="decoder.details.parent">
<span style="font-weight: bold" flex="15">Parent</span>
<span flex="35">{{decoder.details.parent}}</span>
</md-list-item>
<md-list-item ng-repeat="(detailk, detailv) in decoder.details" ng-if="detailk != 'parent'">
<span style="font-weight: bold" flex="15">{{detailk}}</span>
<span ng-if="(detailk !== 'regex') && (detailk !== 'order')" flex="35">{{detailv}}</span>
<span ng-if="(detailk === 'regex')" ng-bind-html="colorRegex(detailv)" flex="35">{{colorRegex(detailv)}}</span>
<span ng-if="(detailk === 'order')" ng-bind-html="colorOrder(detailv)" flex="35">{{colorOrder(detailv)}}</span>
</md-list-item>
</md-list>
<md-divider></md-divider>
</div>
</md-virtual-repeat-container>
</md-content>