140 lines
6.7 KiB
Plaintext
140 lines
6.7 KiB
Plaintext
.grid-sm
|
|
.panel.panel-default
|
|
p.page-title
|
|
i.fa.fa-heartbeat
|
|
| Health
|
|
.grid-sm
|
|
.grid-cell
|
|
.panel.panel-default
|
|
.panel-heading.panel-title
|
|
i.fa.fa-fire
|
|
| Weekly Heatmap
|
|
.panel-body(ng-controller="HealthHeatmap as heatmap")
|
|
| {{heatmap.toto}}
|
|
form
|
|
.grid-sm
|
|
.grid-cell.grid--gutters
|
|
.container-fluid
|
|
.form-group
|
|
ui-select.form-control(ng-model = 'heatmap.selected', ng-change = 'heatmap.prepareTypeFilter(heatmap.selected)', multiple, close-on-select = 'false')
|
|
ui-select-match(placeholder = 'Choose an object')
|
|
i(class = 'xo-icon-{{ $item.type | lowercase }}')
|
|
| {{ $item.name_label }}
|
|
ui-select-choices(repeat = 'object in heatmap.objects | underStat | type:heatmap.typeFilter | filter:$select.search | orderBy:["type", "name_label"] track by object.id')
|
|
div
|
|
i(class = 'xo-icon-{{ object.type | lowercase }}')
|
|
| {{ object.name_label }}
|
|
span(ng-if="(object.type === 'SR' || object.type === 'VM') && object.$container")
|
|
| ({{ (object.$container | resolve).name_label }})
|
|
//- br
|
|
.btn-group(role = 'group')
|
|
button.btn.btn-default(ng-click = 'heatmap.selected = []', tooltip = 'Clear selection')
|
|
i.fa.fa-times
|
|
button.btn.btn-default(ng-click = 'heatmap.selectAll("VM")', tooltip = 'Choose all VMs')
|
|
i.xo-icon-vm
|
|
button.btn.btn-default(ng-click = 'heatmap.selectAll("host")', tooltip = 'Choose all hosts')
|
|
i.xo-icon-host
|
|
button.btn.btn-success(ng-click = 'heatmap.prepareMetrics(heatmap.selected)', tooltip = 'Load metrics')
|
|
i.fa.fa-check
|
|
| Select
|
|
.grid-cell.grid--gutters
|
|
.container-fluid
|
|
span(ng-if = 'heatmap.loadingMetrics')
|
|
| Loading metrics ...
|
|
i.fa.fa-circle-o-notch.fa-spin
|
|
.form-group(ng-if = 'heatmap.metrics')
|
|
ui-select(ng-model = 'heatmap.selectedMetric')
|
|
ui-select-match(placeholder = 'Choose a metric') {{ $select.selected.key }}
|
|
ui-select-choices(repeat = 'metric in heatmap.metrics | filter:$select.search | orderBy:["key"]') {{ metric.key }}
|
|
br
|
|
p.text-center(ng-if = 'heatmap.chosen.length')
|
|
span(ng-repeat = 'object in heatmap.chosen', ng-class = '{"text-danger": object._ignored}')
|
|
i(class = 'xo-icon-{{ object.type | lowercase }}')
|
|
|
|
|
span(ng-if = '!object._ignored') {{ object.name_label }}
|
|
del(ng-if = 'object._ignored') {{ object.name_label }}
|
|
|  
|
|
weekheatmap(ng-if = 'heatmap.selectedMetric', chart-data="heatmap.selectedMetric")
|
|
.grid-sm
|
|
.grid-cell
|
|
.panel.panel-default
|
|
.panel-heading.panel-title
|
|
i.fa.fa-fire
|
|
| Weekly Heatmap
|
|
.panel-body(ng-controller="HealthCubism as cubism")
|
|
form
|
|
.grid-sm
|
|
.grid-cell.grid--gutters
|
|
.container-fluid
|
|
.form-group
|
|
ui-select.form-control(
|
|
ng-model = 'cubism.selected',
|
|
ng-change = 'cubism.prepareTypeFilter(cubism.selected)',
|
|
multiple,
|
|
close-on-select = 'false'
|
|
)
|
|
ui-select-match(placeholder = 'Choose an object')
|
|
i(class = 'xo-icon-{{ $item.type | lowercase }}')
|
|
| {{ $item.name_label }}
|
|
ui-select-choices(repeat = 'object in cubism.objects | underStat | type:cubism.typeFilter | filter:$select.search | orderBy:["type", "name_label"] track by object.id')
|
|
div
|
|
i(class = 'xo-icon-{{ object.type | lowercase }}')
|
|
| {{ object.name_label }}
|
|
span(ng-if="(object.type === 'SR' || object.type === 'VM') && object.$container")
|
|
| ({{ (object.$container | resolve).name_label }})
|
|
//- br
|
|
.btn-group(role = 'group')
|
|
button.btn.btn-default(ng-click = 'cubism.selected = []', tooltip = 'Clear selection')
|
|
i.fa.fa-times
|
|
button.btn.btn-default(ng-click = 'cubism.selectAll("VM")', tooltip = 'Choose all VMs')
|
|
i.xo-icon-vm
|
|
button.btn.btn-default(ng-click = 'cubism.selectAll("host")', tooltip = 'Choose all hosts')
|
|
i.xo-icon-host
|
|
button.btn.btn-success(ng-click = 'cubism.prepareMetrics(cubism.selected)', tooltip = 'Load metrics')
|
|
i.fa.fa-check
|
|
| Select
|
|
.grid-cell.grid--gutters
|
|
.container-fluid
|
|
span(ng-if = 'cubism.loadingMetrics')
|
|
| Loading metrics ...
|
|
i.fa.fa-circle-o-notch.fa-spin
|
|
.form-group(ng-if = 'cubism.metrics')
|
|
ui-select(ng-model = 'cubism.selectedMetric',ng-change='cubism.prepareStat()')
|
|
ui-select-match(placeholder = 'Choose a metric') {{ $select.selected }}
|
|
ui-select-choices(repeat = 'metric in cubism.metrics | filter:$select.search | orderBy:["key"]') {{ metric }}
|
|
br
|
|
p.text-center(ng-if = 'cubism.chosen.length')
|
|
span(ng-repeat = 'object in cubism.chosen', ng-class = '{"text-danger": object._ignored}')
|
|
i(class = 'xo-icon-{{ object.type | lowercase }}')
|
|
|
|
|
span(ng-if = '!object._ignored') {{ object.name_label }}
|
|
del(ng-if = 'object._ignored') {{ object.name_label }}
|
|
|  
|
|
//cubism(
|
|
// ng-if='!cubism.loadingMetrics && cubism.selectedMetric'
|
|
// chart-data='cubism.stats'
|
|
// extents='extents'
|
|
// step='1000*5'
|
|
// size='168'
|
|
// )
|
|
div(ng-repeat="stat in cubism.stats")
|
|
horizon(
|
|
ng-if='$first'
|
|
chart-data='stat'
|
|
show-axis='true'
|
|
axis-orientation='top'
|
|
selected='cubism.selected'
|
|
)
|
|
horizon(
|
|
ng-if='$middle'
|
|
chart-data='stat'
|
|
selected='cubism.selected'
|
|
)
|
|
horizon(
|
|
ng-if='$last && !$first'
|
|
chart-data='stat'
|
|
show-axis='true'
|
|
axis-orientation='bottom'
|
|
selected='cubism.selected'
|
|
)
|