More redesign for management section (in progress)

This commit is contained in:
Jesús González 2019-03-25 17:30:50 +01:00
parent 77f86e0bad
commit e448f3d3a0
8 changed files with 179 additions and 55 deletions

View File

@ -78,7 +78,8 @@
</path> </path>
</defs> </defs>
<use xlink:href="#pencil-a"></use> <use xlink:href="#pencil-a"></use>
</svg></span> </svg>
</span>
<span ng-show="editingKey === item[0] && !loadingChange" tooltip="Cancel" <span ng-show="editingKey === item[0] && !loadingChange" tooltip="Cancel"
class="fa fa-fw fa-times cursor-pointer" ng-click="cancelEditingKey()"></span> class="fa fa-fw fa-times cursor-pointer" ng-click="cancelEditingKey()"></span>
<span <span
@ -87,10 +88,23 @@
ng-click="editKey(item[0])"></span> ng-click="editKey(item[0])"></span>
<span ng-show="editingKey === item[0] && loadingChange"><i <span ng-show="editingKey === item[0] && loadingChange"><i
class="fa fa-fw fa-spin fa-spinner"></i></span> class="fa fa-fw fa-spin fa-spinner"></i></span>
<i ng-if="(!removingEntry || removingEntry !== item[0]) && editingKey !== item[0]" <span
ng-if="(!removingEntry || removingEntry !== item[0]) && editingKey !== item[0]"
ng-click="showConfirmRemoveEntry($event, item[0]); $event.stopPropagation()" ng-click="showConfirmRemoveEntry($event, item[0]); $event.stopPropagation()"
class="fa fa-fw fa-trash-o cursor-pointer" tooltip="Remove this entry" class="cursor-pointer" tooltip="Remove this entry" tooltip-placement="left"
tooltip-placement="left" aria-hidden="true"></i> aria-hidden="true">
<svg class="euiIcon euiIcon--medium euiButton__icon" focusable="false"
aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"
viewBox="0 0 16 16">
<defs>
<path id="trash-a"
d="M11 3h5v1H0V3h5V1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2zm-7.056 8H7v1H4.1l.392 2.519c.042.269.254.458.493.458h6.03c.239 0 .451-.189.493-.458l1.498-9.576H14l-1.504 9.73c-.116.747-.74 1.304-1.481 1.304h-6.03c-.741 0-1.365-.557-1.481-1.304l-1.511-9.73H9V5.95H3.157L3.476 8H8v1H3.632l.312 2zM6 3h4V1H6v2z">
</path>
</defs>
<use xlink:href="#trash-a"></use>
</svg>
</span>
<div ng-if="removingEntry === item[0]" class="confirmEmbedBubble"> <div ng-if="removingEntry === item[0]" class="confirmEmbedBubble">
<div layout="row"> <div layout="row">

View File

@ -62,10 +62,19 @@
</td> </td>
<td ng-if="path === '/agents/groups' && adminMode" ng-click="$event.stopPropagation()" <td ng-if="path === '/agents/groups' && adminMode" ng-click="$event.stopPropagation()"
class="cursor-default action-btn-td"> class="cursor-default action-btn-td">
<i ng-if="removingGroup !== item.name && item.name !== 'default'" <span ng-if="removingGroup !== item.name && item.name !== 'default'"
ng-click="showConfirmRemoveGroup($event, item); $event.stopPropagation()" ng-click="showConfirmRemoveGroup($event, item); $event.stopPropagation()" class="cursor-pointer"
class="fa fa-fw fa-trash-o cursor-pointer" tooltip="Remove this group" tooltip-placement="left" tooltip="Remove this group" tooltip-placement="left" aria-hidden="true">
aria-hidden="true"></i> <svg class="euiIcon euiIcon--medium euiButton__icon" focusable="false" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16"
height="16" viewBox="0 0 16 16">
<defs>
<path id="trash-a"
d="M11 3h5v1H0V3h5V1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2zm-7.056 8H7v1H4.1l.392 2.519c.042.269.254.458.493.458h6.03c.239 0 .451-.189.493-.458l1.498-9.576H14l-1.504 9.73c-.116.747-.74 1.304-1.481 1.304h-6.03c-.741 0-1.365-.557-1.481-1.304l-1.511-9.73H9V5.95H3.157L3.476 8H8v1H3.632l.312 2zM6 3h4V1H6v2z">
</path>
</defs>
<use xlink:href="#trash-a"></use>
</svg></span>
<span ng-if="removingGroup !== item.name" ng-click="editGroup(item); $event.stopPropagation()" <span ng-if="removingGroup !== item.name" ng-click="editGroup(item); $event.stopPropagation()"
tooltip="Edit this group configuration" tooltip-placement="left"><svg tooltip="Edit this group configuration" tooltip-placement="left"><svg
class="cursor-pointer euiIcon euiIcon--medium euiButtonIcon__icon" focusable="false" class="cursor-pointer euiIcon euiIcon--medium euiButtonIcon__icon" focusable="false"
@ -96,10 +105,21 @@
</td> </td>
<td ng-if="isLookingGroup() && adminMode" ng-click="$event.stopPropagation()" <td ng-if="isLookingGroup() && adminMode" ng-click="$event.stopPropagation()"
class="cursor-default action-btn-td"> class="cursor-default action-btn-td">
<i ng-if="removingAgent !== item.id && adminMode" <span ng-if="removingAgent !== item.id && adminMode"
ng-click="showConfirmRemoveAgentFromGroup($event, item); $event.stopPropagation()" ng-click="showConfirmRemoveAgentFromGroup($event, item); $event.stopPropagation()"
class="fa fa-fw fa-trash-o cursor-pointer" tooltip="Remove this agent from the group" class="cursor-pointer" tooltip="Remove this agent from the group" tooltip-placement="left"
tooltip-placement="left" aria-hidden="true"></i> aria-hidden="true">
<svg class="euiIcon euiIcon--medium euiButton__icon" focusable="false" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16"
height="16" viewBox="0 0 16 16">
<defs>
<path id="trash-a"
d="M11 3h5v1H0V3h5V1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2zm-7.056 8H7v1H4.1l.392 2.519c.042.269.254.458.493.458h6.03c.239 0 .451-.189.493-.458l1.498-9.576H14l-1.504 9.73c-.116.747-.74 1.304-1.481 1.304h-6.03c-.741 0-1.365-.557-1.481-1.304l-1.511-9.73H9V5.95H3.157L3.476 8H8v1H3.632l.312 2zM6 3h4V1H6v2z">
</path>
</defs>
<use xlink:href="#trash-a"></use>
</svg>
</span>
<div ng-if="removingAgent === item.id" class="confirmEmbedBubble"> <div ng-if="removingAgent === item.id" class="confirmEmbedBubble">
<div layout="row"> <div layout="row">
<span class="font-size-12 wz-padding-left-8">Agent <b>{{item.id}}</b> will be removed from <span class="font-size-12 wz-padding-left-8">Agent <b>{{item.id}}</b> will be removed from
@ -115,14 +135,37 @@
</td> </td>
<td ng-if="path === '/rules/files' || path === '/decoders/files' || path === '/lists/files'" <td ng-if="path === '/rules/files' || path === '/decoders/files' || path === '/lists/files'"
ng-click="$event.stopPropagation()" class="cursor-default action-btn-td"> ng-click="$event.stopPropagation()" class="cursor-default action-btn-td">
<i ng-if="((item.name && removingFile !== item.name) || (item.file && removingFile !== item.file)) && adminMode && path !== '/lists/files'" <span
ng-click="editFile(item, path); $event.stopPropagation()" ng-if="((item.name && removingFile !== item.name) || (item.file && removingFile !== item.file)) && adminMode && path !== '/lists/files'"
class="fa fa-fw fa-pencil cursor-pointer" tooltip="Edit this file" tooltip-placement="left" ng-click="editFile(item, path); $event.stopPropagation()" class="cursor-pointer"
aria-hidden="true"></i> tooltip="Edit this file" tooltip-placement="left" aria-hidden="true">
<i ng-if="((item.name && removingFile !== item.name) || (item.file && removingFile !== item.file)) && adminMode"
<svg class="euiIcon euiIcon--medium euiButtonIcon__icon" focusable="false" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16"
height="16" viewBox="0 0 16 16">
<defs>
<path id="pencil-a"
d="M12.148 3.148L11 2l-9 9v3h3l9-9-1.144-1.144-8.002 7.998a.502.502 0 0 1-.708 0 .502.502 0 0 1 0-.708l8.002-7.998zM11 1c.256 0 .512.098.707.293l3 3a.999.999 0 0 1 0 1.414l-9 9A.997.997 0 0 1 5 15H2a1 1 0 0 1-1-1v-3c0-.265.105-.52.293-.707l9-9A.997.997 0 0 1 11 1zM5 14H2v-3l3 3z">
</path>
</defs>
<use xlink:href="#pencil-a"></use>
</svg>
</span>
<span
ng-if="((item.name && removingFile !== item.name) || (item.file && removingFile !== item.file)) && adminMode"
ng-click="showConfirmRemoveFile($event, item, path); $event.stopPropagation()" ng-click="showConfirmRemoveFile($event, item, path); $event.stopPropagation()"
class="fa fa-fw fa-trash-o cursor-pointer" tooltip="Delete this file" tooltip-placement="right" class="cursor-pointer" tooltip="Delete this file" tooltip-placement="right" aria-hidden="true">
aria-hidden="true"></i> <svg class="euiIcon euiIcon--medium euiButton__icon" focusable="false" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16"
height="16" viewBox="0 0 16 16">
<defs>
<path id="trash-a"
d="M11 3h5v1H0V3h5V1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2zm-7.056 8H7v1H4.1l.392 2.519c.042.269.254.458.493.458h6.03c.239 0 .451-.189.493-.458l1.498-9.576H14l-1.504 9.73c-.116.747-.74 1.304-1.481 1.304h-6.03c-.741 0-1.365-.557-1.481-1.304l-1.511-9.73H9V5.95H3.157L3.476 8H8v1H3.632l.312 2zM6 3h4V1H6v2z">
</path>
</defs>
<use xlink:href="#trash-a"></use>
</svg>
</span>
<div ng-if="(item.name && removingFile === item.name) || (item.file && removingFile === item.file)" <div ng-if="(item.name && removingFile === item.name) || (item.file && removingFile === item.file)"
class="confirmEmbedBubble"> class="confirmEmbedBubble">
<div layout="row"> <div layout="row">

View File

@ -58,7 +58,12 @@
<wz-tag-filter flex path="'/agents'" query-fn="ctrl.query(q, search)" fields-model="ctrl.searchBarModel"> <wz-tag-filter flex path="'/agents'" query-fn="ctrl.query(q, search)" fields-model="ctrl.searchBarModel">
</wz-tag-filter> </wz-tag-filter>
<md-button class="agents-prev-btn btn btn-info" style="height: 48px;margin: 0px 0 0 8px!important;" <md-button class="agents-prev-btn btn btn-info" style="height: 48px;margin: 0px 0 0 8px!important;"
ng-click="ctrl.reloadList()"><i class="fa fa-fw fa-refresh"></i> Refresh</md-button> ng-click="ctrl.reloadList()"><svg class="euiIcon euiIcon--medium" focusable="false"
xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path
d="M11.228 2.942a.5.5 0 1 1-.538.842A5 5 0 1 0 13 8a.5.5 0 1 1 1 0 6 6 0 1 1-2.772-5.058zM14 1.5v3A1.5 1.5 0 0 1 12.5 6h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 1 1 1 0z">
</path>
</svg> Refresh</md-button>
</div> </div>
<div layout="row"> <div layout="row">

View File

@ -7,7 +7,8 @@
<div></div> <div></div>
</div> </div>
<!-- Headline (cluster) --> <!-- Headline (cluster) -->
<div layout="column" layout-padding ng-show="clusterStatus.data.data.enabled === 'yes' && clusterStatus.data.data.running === 'yes' "> <div layout="column" layout-padding
ng-show="clusterStatus.data.data.enabled === 'yes' && clusterStatus.data.data.running === 'yes' ">
<div layout="row"> <div layout="row">
<span class="font-size-18"> <span class="font-size-18">
<i class="fa fa-fw fa-edit" aria-hidden="true"></i> Cluster configuration</span> <i class="fa fa-fw fa-edit" aria-hidden="true"></i> Cluster configuration</span>
@ -15,7 +16,8 @@
</div> </div>
<!-- Headline (manager) --> <!-- Headline (manager) -->
<div layout="column" layout-padding ng-show="clusterStatus.data.data.enabled !== 'yes' || clusterStatus.data.data.running !== 'yes' "> <div layout="column" layout-padding
ng-show="clusterStatus.data.data.enabled !== 'yes' || clusterStatus.data.data.running !== 'yes' ">
<div layout="row"> <div layout="row">
<span class="font-size-18"> <span class="font-size-18">
<i class="fa fa-fw fa-edit" aria-hidden="true"></i> Manager configuration</span> <i class="fa fa-fw fa-edit" aria-hidden="true"></i> Manager configuration</span>
@ -33,30 +35,39 @@
<div layout="column" layout-align="center" class="height-35 wz-select-input wz-margin-right-8"> <div layout="column" layout-align="center" class="height-35 wz-select-input wz-margin-right-8">
<select class="kuiSelect wz-border-none cursor-pointer max-height-35" id="categoryBox" <select class="kuiSelect wz-border-none cursor-pointer max-height-35" id="categoryBox"
ng-model="selectedNode" ng-change="changeNode()" aria-label="Select node"> ng-model="selectedNode" ng-change="changeNode()" aria-label="Select node">
<option ng-repeat="node in nodes" value="{{node.name}}">{{node.name}} ({{node.type}})</option> <option ng-repeat="node in nodes" value="{{node.name}}">{{node.name}} ({{node.type}})
</option>
</select> </select>
</div> </div>
</div> </div>
<button ng-disabled='xmlHasErrors' ng-click="switchConfigurationTab('welcome', false)" class='btn btn-info'> <button ng-disabled='xmlHasErrors' ng-click="switchConfigurationTab('welcome', false)"
class='btn btn-info'>
<span>Cancel</span> <span>Cancel</span>
</button> </button>
<button ng-disabled='xmlHasErrors || doingSaving || isRestarting' ng-click='saveConfiguration()' <button ng-disabled='xmlHasErrors || doingSaving || isRestarting' ng-click='saveConfiguration()'
class='btn wz-button wz-margin-left-8'> class='btn wz-button wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save' ng-class="doingSaving ? 'fa-spin fa-spinner' : ''"></i>Save</span> <span ng-show='!xmlHasErrors'>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' class='fa fa-fw fa-exclamation-triangle'></i> <i aria-hidden='true' class='fa fa-fw fa-save'
ng-class="doingSaving ? 'fa-spin fa-spinner' : ''"></i>Save
</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true'
class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span> XML format error</span>
</button> </button>
<span flex ng-if="!restartMsg"></span> <span flex ng-if="!restartMsg"></span>
<div ng-show="restartMsg" class="confirmEmbedBubble confirmEmbedBubbleInline"> <div ng-show="restartMsg" class="confirmEmbedBubble confirmEmbedBubbleInline">
<span class="wz-padding-top-10 wz-padding-left-8">Configuration is not applied yet. Do you want <span class="wz-padding-top-10 wz-padding-left-8">Configuration is not applied yet. Do you want
to restart <b>{{selectedNode}}</b> to apply it?</span> to restart <b>{{selectedNode}}</b> to apply it?</span>
<button class="btn cancelBtn btn-info md-padding-h" type="button" ng-click="restartMsg = false">I <button class="btn cancelBtn btn-info md-padding-h" type="button"
ng-click="restartMsg = false">I
will do it later</button> will do it later</button>
<button class="btn wz-button" type="button" ng-disabled="doingSaving" ng-click="restartNode(selectedNode); restartMsg = false">Restart <button class="btn wz-button" type="button" ng-disabled="doingSaving"
ng-click="restartNode(selectedNode); restartMsg = false">Restart
<b>{{selectedNode}}</b> now</button> <b>{{selectedNode}}</b> now</button>
</div> </div>
<button ng-show="!showConfirmRestartNode && !restartMsg" class="btn wz-button" ng-disabled="isRestarting || doingSaving" <button ng-show="!showConfirmRestartNode && !restartMsg" class="btn wz-button"
ng-click="showConfirmRestartNode = true"><i class="fa fa-refresh" ng-class="isRestarting ? 'fa-spin fa-spinner' : ''"></i> ng-disabled="isRestarting || doingSaving" ng-click="showConfirmRestartNode = true"><i
class="fa fa-refresh" ng-class="isRestarting ? 'fa-spin fa-spinner' : ''"></i>
Restart {{selectedNode}} Restart {{selectedNode}}
</button> </button>
<div ng-show="showConfirmRestartNode" class="confirmEmbedBubble confirmEmbedBubbleInline"> <div ng-show="showConfirmRestartNode" class="confirmEmbedBubble confirmEmbedBubbleInline">
@ -66,16 +77,19 @@
</span> </span>
</div> </div>
<div layout="row"> <div layout="row">
<md-button class="cancelBtn btn-info" type="button" ng-click="showConfirmRestartNode = false">Cancel</md-button> <md-button class="cancelBtn btn-info" type="button"
<md-button class="btn wz-button" type="button" ng-click="restartNode(selectedNode);showConfirmRestartNode = false"><i ng-click="showConfirmRestartNode = false">Cancel</md-button>
<md-button class="btn wz-button" type="button"
ng-click="restartNode(selectedNode);showConfirmRestartNode = false"><i
aria-hidden='true' class='fa fa-fw fa-check'></i> aria-hidden='true' class='fa fa-fw fa-check'></i>
Confirm</md-button> Confirm</md-button>
</div> </div>
</div> </div>
</div> </div>
<div class="md-padding md-padding-top-10" style="height: calc(100vh - 215px);" ng-if="fetchedXML"> <div class="md-padding md-padding-top-10" style="height: calc(100vh - 215px);" ng-if="fetchedXML">
<wz-xml-file-editor file-name='ossec.conf' data="fetchedXML" target-name="selectedNode" valid-fn='xmlIsValid(valid)' <wz-xml-file-editor file-name='ossec.conf' data="fetchedXML" target-name="selectedNode"
saving-param='toggleSaveConfig()' close-fn='closeEditingFile(reload)'> valid-fn='xmlIsValid(valid)' saving-param='toggleSaveConfig()'
close-fn='closeEditingFile(reload)'>
</wz-xml-file-editor> </wz-xml-file-editor>
</div> </div>
</div> </div>

View File

@ -62,9 +62,15 @@
<div layout="row" class="md-padding-h wz-margin-top-10"> <div layout="row" class="md-padding-h wz-margin-top-10">
<span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span> <span ng-click='closeEditingFile()' class='btn btn-info'>Cancel</span>
<button ng-disabled='xmlHasErrors' ng-click='doSaveGroupAgentConfig()' <button ng-disabled='xmlHasErrors' ng-click='doSaveGroupAgentConfig()'
class='btn wz-button pull-right wz-margin-left-8'> class='height-35 kuiButton kuiButton--secondary wz-margin-left-8'>
<span ng-show='!xmlHasErrors'><i aria-hidden='true' class='fa fa-fw fa-save'></i>Save <span ng-show='!xmlHasErrors'>
file</span> <svg class="euiIcon euiIcon--medium" focusable="false" xmlns="http://www.w3.org/2000/svg"
width="16" height="16" viewBox="0 0 16 16">
<path
d="M5.008 2H2.282c-.181 0-.245.002-.275.007-.005.03-.007.094-.007.275v11.436c0 .181.002.245.007.275.03.005.094.007.275.007h11.436c.181 0 .245-.002.275-.007.005-.03.007-.094.007-.275V4.62c0-.13-.001-.18-.004-.204a2.654 2.654 0 0 0-.141-.147L11.73 2.145a2.654 2.654 0 0 0-.147-.141A2.654 2.654 0 0 0 11.38 2h-.388c.005.08.008.172.008.282v2.436c0 .446-.046.607-.134.77a.909.909 0 0 1-.378.378c-.163.088-.324.134-.77.134H6.282c-.446 0-.607-.046-.77-.134a.909.909 0 0 1-.378-.378C5.046 5.325 5 5.164 5 4.718V2.282c0-.11.003-.202.008-.282zM2.282 1h9.098c.259 0 .348.01.447.032a.87.87 0 0 1 .273.113c.086.054.156.11.338.293l2.124 2.124c.182.182.239.252.293.338a.87.87 0 0 1 .113.273c.023.1.032.188.032.447v9.098c0 .446-.046.607-.134.77a.909.909 0 0 1-.378.378c-.163.088-.324.134-.77.134H2.282c-.446 0-.607-.046-.77-.134a.909.909 0 0 1-.378-.378c-.088-.163-.134-.324-.134-.77V2.282c0-.446.046-.607.134-.77a.909.909 0 0 1 .378-.378c.163-.088.324-.134.77-.134zM6 2.282v2.436c0 .181.002.245.007.275.03.005.094.007.275.007h3.436c.181 0 .245-.002.275-.007.005-.03.007-.094.007-.275V2.282c0-.181-.002-.245-.007-.275A2.248 2.248 0 0 0 9.718 2H6.282c-.181 0-.245.002-.275.007-.005.03-.007.094-.007.275zM8 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0-1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z">
</path>
</svg> Save file
</span>
<span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true' <span ng-show='xmlHasErrors' class='btn-danger'><i aria-hidden='true'
class='fa fa-fw fa-exclamation-triangle'></i> class='fa fa-fw fa-exclamation-triangle'></i>
XML format error</span> XML format error</span>
@ -110,7 +116,9 @@
</path> </path>
</defs> </defs>
<use xlink:href="#search-a"></use> <use xlink:href="#search-a"></use>
</svg></span></div> </svg>
</span>
</div>
<button type="submit" aria-label="Search" <button type="submit" aria-label="Search"
class="euiFlexItem euiFlexItem--flexGrowZero height-35 kuiButton kuiButton--secondary wz-margin-left-8" class="euiFlexItem euiFlexItem--flexGrowZero height-35 kuiButton kuiButton--secondary wz-margin-left-8"
@ -177,7 +185,7 @@
</button> </button>
</div> </div>
</md-card-content> </md-card-content>
</md-card> </md-card>
<!-- End groups table --> <!-- End groups table -->
<div ng-if='!addingAgents'> <div ng-if='!addingAgents'>

View File

@ -25,7 +25,12 @@
<!-- End no reports section --> <!-- End no reports section -->
<div layout="row" class="wz-margin-top-16" ng-show="!ctrl.loading && ctrl.pagedItems && ctrl.pagedItems.length"> <div layout="row" class="wz-margin-top-16" ng-show="!ctrl.loading && ctrl.pagedItems && ctrl.pagedItems.length">
<span flex></span> <span flex></span>
<md-button ng-click="ctrl.load()"><i class="fa fa-fw fa-refresh"></i> <md-button ng-click="ctrl.load()"><svg class="euiIcon euiIcon--medium" focusable="false"
xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path
d="M11.228 2.942a.5.5 0 1 1-.538.842A5 5 0 1 0 13 8a.5.5 0 1 1 1 0 6 6 0 1 1-2.772-5.058zM14 1.5v3A1.5 1.5 0 0 1 12.5 6h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 1 1 1 0z">
</path>
</svg>
Refresh Refresh
</md-button> </md-button>
</div> </div>
@ -34,7 +39,7 @@
<md-card-content> <md-card-content>
<div layout="row" class="wz-padding-top-10"> <div layout="row" class="wz-padding-top-10">
<table class="table table-striped table-condensed" id="wz_table"> <table class="table table-striped table-condensed wz-margin-bottom-40-inv" id="wz_table">
<thead class="wz-text-bold"> <thead class="wz-text-bold">
<th class="wz-text-left">File</th> <th class="wz-text-left">File</th>
<th class="wz-text-left">Size</th> <th class="wz-text-left">Size</th>
@ -48,11 +53,27 @@
<td>{{item.date.split('T')[0]}} {{item.date.split('T')[1].split('.')[0]}}</td> <td>{{item.date.split('T')[0]}} {{item.date.split('T')[1].split('.')[0]}}</td>
<td> <td>
<a ng-href="/reports/{{item.name}}" flex class="wz-text-right" target="_blank"> <a ng-href="/reports/{{item.name}}" flex class="wz-text-right" target="_blank">
<i class="fa fa-fw fa-download"></i> <svg class="euiIcon euiIcon--medium euiButtonEmpty__icon" focusable="false"
aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="16" height="16"
viewBox="0 0 16 16">
<path
d="M9 10.114l1.85-1.943a.52.52 0 0 1 .77 0c.214.228.214.6 0 .829l-1.95 2.05a1.552 1.552 0 0 1-2.31 0L5.41 9a.617.617 0 0 1 0-.829.52.52 0 0 1 .77 0L8 10.082V1.556C8 1.249 8.224 1 8.5 1s.5.249.5.556v8.558zM4.18 6a.993.993 0 0 0-.972.804l-1.189 6A.995.995 0 0 0 2.991 14h11.018a1 1 0 0 0 .972-1.196l-1.19-6a.993.993 0 0 0-.97-.804H4.18zM6 5v1h5V5h1.825c.946 0 1.76.673 1.946 1.608l1.19 6A2 2 0 0 1 14.016 15H2.984a1.992 1.992 0 0 1-1.945-2.392l1.19-6C2.414 5.673 3.229 5 4.174 5H6z">
</path>
</svg>
</a> </a>
<a flex class="wz-text-right cursor-pointer" <a flex class="wz-text-right cursor-pointer"
ng-click="ctrl.deleteReport(item.name)"> ng-click="ctrl.deleteReport(item.name)">
<i class="fa fa-fw fa-trash-o"></i> <svg class="euiIcon euiIcon--medium euiButton__icon" focusable="false"
aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"
viewBox="0 0 16 16">
<defs>
<path id="trash-a"
d="M11 3h5v1H0V3h5V1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2zm-7.056 8H7v1H4.1l.392 2.519c.042.269.254.458.493.458h6.03c.239 0 .451-.189.493-.458l1.498-9.576H14l-1.504 9.73c-.116.747-.74 1.304-1.481 1.304h-6.03c-.741 0-1.365-.557-1.481-1.304l-1.511-9.73H9V5.95H3.157L3.476 8H8v1H3.632l.312 2zM6 3h4V1H6v2z">
</path>
</defs>
<use xlink:href="#trash-a"></use>
</svg>
</a> </a>
</td> </td>
</tr> </tr>

View File

@ -61,8 +61,20 @@
<td class="action-btn-td"> <td class="action-btn-td">
<div ng-hide="key === 'admin' || !ctrl.configuration['admin']"> <div ng-hide="key === 'admin' || !ctrl.configuration['admin']">
<span ng-show="!ctrl.editingKey || ctrl.editingKey !== key" tooltip="Edit" <span ng-show="!ctrl.editingKey || ctrl.editingKey !== key" tooltip="Edit"
ng-click="ctrl.setEditingKey(key, value)" ng-click="ctrl.setEditingKey(key, value)" class="cursor-pointer">
class="fa fa-fw fa-pencil cursor-pointer"></span> <svg class="euiIcon euiIcon--medium euiButtonIcon__icon" focusable="false"
aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"
viewBox="0 0 16 16">
<defs>
<path id="pencil-a"
d="M12.148 3.148L11 2l-9 9v3h3l9-9-1.144-1.144-8.002 7.998a.502.502 0 0 1-.708 0 .502.502 0 0 1 0-.708l8.002-7.998zM11 1c.256 0 .512.098.707.293l3 3a.999.999 0 0 1 0 1.414l-9 9A.997.997 0 0 1 5 15H2a1 1 0 0 1-1-1v-3c0-.265.105-.52.293-.707l9-9A.997.997 0 0 1 11 1zM5 14H2v-3l3 3z">
</path>
</defs>
<use xlink:href="#pencil-a"></use>
</svg>
</span>
<span ng-show="ctrl.editingKey === key && !ctrl.loadingChange" tooltip="Cancel" <span ng-show="ctrl.editingKey === key && !ctrl.loadingChange" tooltip="Cancel"
class="fa fa-fw fa-times cursor-pointer" class="fa fa-fw fa-times cursor-pointer"
ng-click="ctrl.cancelEditingKey()"></span> ng-click="ctrl.cancelEditingKey()"></span>

View File

@ -1,8 +1,10 @@
<div layout="column" layout-align="start stretch" ng-if="ctrl.tab === 'logs' && !ctrl.load"> <div layout="column" layout-align="start stretch" ng-if="ctrl.tab === 'logs' && !ctrl.load">
<!-- Headline --> <!-- Headline -->
<div layout="column" layout-padding> <div layout="column" layout-padding>
<span class="font-size-18"><i class="fa fa-fw fa-file-text-o" aria-hidden="true"></i> Wazuh Kibana plugin log messages</span> <span class="font-size-18"><i class="fa fa-fw fa-file-text-o" aria-hidden="true"></i> Wazuh Kibana plugin log
<span class="md-subheader">Log file located at <span class="wz-text-monospace">/usr/share/kibana/optimize/wazuh-logs/wazuhapp.log</span></span> messages</span>
<span class="md-subheader">Log file located at <span
class="wz-text-monospace">/usr/share/kibana/optimize/wazuh-logs/wazuhapp.log</span></span>
</div> </div>
<!-- End headline --> <!-- End headline -->
@ -13,30 +15,35 @@
<!-- End loading ring --> <!-- End loading ring -->
<div layout="row" ng-show="!ctrl.loadingLogs"> <div layout="row" ng-show="!ctrl.loadingLogs">
<md-button class="wz-report-refresh-btn" ng-click="ctrl.refreshLogs()"><i class="fa fa-fw fa-refresh"></i> Refresh</md-button> <md-button class="wz-report-refresh-btn" ng-click="ctrl.refreshLogs()"><svg class="euiIcon euiIcon--medium"
focusable="false" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path
d="M11.228 2.942a.5.5 0 1 1-.538.842A5 5 0 1 0 13 8a.5.5 0 1 1 1 0 6 6 0 1 1-2.772-5.058zM14 1.5v3A1.5 1.5 0 0 1 12.5 6h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 1 1 1 0z">
</path>
</svg> Refresh</md-button>
</div> </div>
<div layout="row" class="md-padding" ng-show="!ctrl.loadingLogs"> <div layout="row" class="md-padding" ng-show="!ctrl.loadingLogs">
<table class="table table-striped table-condensed" style="table-layout: fixed !important" id="wz_table"> <table class="table table-striped table-condensed" style="table-layout: fixed !important" id="wz_table">
<thead class="wz-text-bold"> <thead class="wz-text-bold">
<th class="wz-text-left col-lg-2" >Date</th> <th class="wz-text-left col-lg-2">Date</th>
<th class="wz-text-left col-lg-1" >Level</th> <th class="wz-text-left col-lg-1">Level</th>
<th class="wz-text-left" >Message</th> <th class="wz-text-left">Message</th>
</thead> </thead>
<tbody> <tbody>
<tr class="wz-word-wrap" ng-repeat="item in ctrl.logs"> <tr class="wz-word-wrap" ng-repeat="item in ctrl.logs">
<td> <td>
{{ item.date | date: "medium" }} {{ item.date | date: "medium" }}
</td> </td>
<td> <td>
{{ item.level.toUpperCase() }} {{ item.level.toUpperCase() }}
</td> </td>
<td> <td>
{{ item.message }} {{ item.message }}
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>