|
@@ -2,147 +2,140 @@
|
|
|
<div class="section">
|
|
<div class="section">
|
|
|
<h5 class="section-heading">Draw Modes</h5>
|
|
<h5 class="section-heading">Draw Modes</h5>
|
|
|
<div class="gf-form">
|
|
<div class="gf-form">
|
|
|
- <label class="gf-form-label width-5">Bars</label>
|
|
|
|
|
- <div class="gf-form-switch-wrapper">
|
|
|
|
|
- <div class="switch">
|
|
|
|
|
- <input id="cmn-toggle-3" class="cmn-toggle cmn-toggle-round" type="checkbox" ng-model="ctrl.panel.bars">
|
|
|
|
|
- <label for="cmn-toggle-3"></label>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <label for="cmn-toggle-3" class="gf-form-label width-5">Bars</label>
|
|
|
|
|
+ <div class="gf-form-switch">
|
|
|
|
|
+ <input id="cmn-toggle-3" type="checkbox" ng-model="ctrl.panel.bars">
|
|
|
|
|
+ <label for="cmn-toggle-3" data-on="Yes" data-off="No"></label>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="gf-form">
|
|
<div class="gf-form">
|
|
|
- <label class="gf-form-label width-5">Lines</label>
|
|
|
|
|
- <div class="gf-form-switch-wrapper">
|
|
|
|
|
- <div class="switch">
|
|
|
|
|
- <input id="cmn-toggle-2" class="cmn-toggle cmn-toggle-round" type="checkbox" ng-model="ctrl.panel.lines">
|
|
|
|
|
- <label for="cmn-toggle-2"></label>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <label for="cmn-toggle-2" class="gf-form-label width-5">Lines</label>
|
|
|
|
|
+ <div class="gf-form-switch">
|
|
|
|
|
+ <input id="cmn-toggle-2" type="checkbox" ng-model="ctrl.panel.lines">
|
|
|
|
|
+ <label for="cmn-toggle-2" data-on="Yes" data-off="No"></label>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form">
|
|
|
|
|
- <label class="gf-form-label width-5">Points</label>
|
|
|
|
|
- <div class="gf-form-switch-wrapper">
|
|
|
|
|
- <div class="switch">
|
|
|
|
|
- <input id="cmn-toggle-1" class="cmn-toggle cmn-toggle-round" type="checkbox" ng-model="ctrl.panel.points">
|
|
|
|
|
- <label for="cmn-toggle-1"></label>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form">
|
|
|
|
|
+ <label class="gf-form-label width-5">Points</label>
|
|
|
|
|
+ <div class="gf-form-switch">
|
|
|
|
|
+ <input id="cmn-toggle-1" type="checkbox" ng-model="ctrl.panel.points">
|
|
|
|
|
+ <label for="cmn-toggle-1" data-on="Yes" data-off="No"></label>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="section">
|
|
|
|
|
- <h5 class="section-heading">Mode Options</h5>
|
|
|
|
|
- <div class="gf-form" ng-show="ctrl.panel.lines">
|
|
|
|
|
- <label class="gf-form-label width-8">Fill</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper">
|
|
|
|
|
- <select class="gf-form-input" ng-model="ctrl.panel.fill" ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form" ng-show="ctrl.panel.lines">
|
|
|
|
|
- <label class="gf-form-label width-8">Line Width</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper">
|
|
|
|
|
- <select class="gf-form-input" ng-model="ctrl.panel.linewidth" ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form" ng-show="ctrl.panel.points">
|
|
|
|
|
- <label class="gf-form-label width-8">Point Radius</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper">
|
|
|
|
|
- <select class="gf-form-input" ng-model="ctrl.panel.pointradius" ng-options="f for f in [1,2,3,4,5,6,7,8,9,10]" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form" ng-show="ctrl.panel.lines">
|
|
|
|
|
- <label class="gf-form-label width-8">Staircase</label>
|
|
|
|
|
- <editor-checkbox text="" model="ctrl.panel.steppedLine" change="ctrl.render()"></editor-checkbox>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="section">
|
|
|
|
|
- <h5 class="section-heading">Misc options</h5>
|
|
|
|
|
- <div class="gf-form">
|
|
|
|
|
- <label class="gf-form-label width-7">Null value</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper">
|
|
|
|
|
- <select class="gf-form-input max-width-8" ng-model="ctrl.panel.nullPointMode" ng-options="f for f in ['connected', 'null', 'null as zero']" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form">
|
|
|
|
|
- <label class="gf-form-label width-7">Renderer</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper max-width-8">
|
|
|
|
|
- <select class="gf-form-input" ng-model="ctrl.panel.renderer" ng-options="f for f in ['flot', 'png']" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form">
|
|
|
|
|
- <label class="gf-form-label width-7">Tooltip mode</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper max-width-8">
|
|
|
|
|
- <select class="gf-form-input" ng-model="ctrl.panel.tooltip.shared" ng-options="f.value as f.text for f in [{text: 'All series', value: true}, {text: 'Single', value: false}]" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="section">
|
|
|
|
|
+ <h5 class="section-heading">Mode Options</h5>
|
|
|
|
|
+ <div class="gf-form" ng-show="ctrl.panel.lines">
|
|
|
|
|
+ <label class="gf-form-label width-8">Fill</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper max-width-5">
|
|
|
|
|
+ <select class="gf-form-input" ng-model="ctrl.panel.fill" ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form" ng-show="ctrl.panel.lines">
|
|
|
|
|
+ <label class="gf-form-label width-8">Line Width</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper max-width-5">
|
|
|
|
|
+ <select class="gf-form-input" ng-model="ctrl.panel.linewidth" ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form" ng-show="ctrl.panel.points">
|
|
|
|
|
+ <label class="gf-form-label width-8">Point Radius</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper max-width-5">
|
|
|
|
|
+ <select class="gf-form-input" ng-model="ctrl.panel.pointradius" ng-options="f for f in [1,2,3,4,5,6,7,8,9,10]" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form" ng-show="ctrl.panel.lines">
|
|
|
|
|
+ <label class="gf-form-label width-8">Staircase</label>
|
|
|
|
|
+ <div class="gf-form-switch max-width-5">
|
|
|
|
|
+ <input id="cmn-toggle-122" type="checkbox" ng-model="ctrl.panel.steppedLine">
|
|
|
|
|
+ <label for="cmn-toggle-122" data-on="Yes" data-off="No"></label>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="section">
|
|
|
|
|
+ <h5 class="section-heading">Misc options</h5>
|
|
|
|
|
+ <div class="gf-form">
|
|
|
|
|
+ <label class="gf-form-label width-7">Null value</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper">
|
|
|
|
|
+ <select class="gf-form-input max-width-8" ng-model="ctrl.panel.nullPointMode" ng-options="f for f in ['connected', 'null', 'null as zero']" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form">
|
|
|
|
|
+ <label class="gf-form-label width-7">Renderer</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper max-width-8">
|
|
|
|
|
+ <select class="gf-form-input" ng-model="ctrl.panel.renderer" ng-options="f for f in ['flot', 'png']" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form">
|
|
|
|
|
+ <label class="gf-form-label width-7">Tooltip mode</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper max-width-8">
|
|
|
|
|
+ <select class="gf-form-input" ng-model="ctrl.panel.tooltip.shared" ng-options="f.value as f.text for f in [{text: 'All series', value: true}, {text: 'Single', value: false}]" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="section">
|
|
|
|
|
- <h5 class="section-heading">Multiple Series</h5>
|
|
|
|
|
- <div class="gf-form">
|
|
|
|
|
- <label class="gf-form-label width-7">Stack</label>
|
|
|
|
|
- <div class="gf-form-switch-wrapper">
|
|
|
|
|
- <div class="switch">
|
|
|
|
|
- <input id="cmn-toggle-7" class="cmn-toggle cmn-toggle-yes-no" type="checkbox" ng-model="ctrl.panel.stack">
|
|
|
|
|
- <label for="cmn-toggle-7" data-on="Yes" data-off="No"></label>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="section">
|
|
|
|
|
+ <h5 class="section-heading">Multiple Series</h5>
|
|
|
|
|
+ <div class="gf-form">
|
|
|
|
|
+ <label class="gf-form-label width-7">Stack</label>
|
|
|
|
|
+ <div class="gf-form-switch">
|
|
|
|
|
+ <input id="cmn-toggle-7" type="checkbox" ng-model="ctrl.panel.stack">
|
|
|
|
|
+ <label for="cmn-toggle-7" data-on="Yes" data-off="No"></label>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form" ng-show="ctrl.panel.stack">
|
|
|
|
|
- <label class="gf-form-label width-7">Percent</label>
|
|
|
|
|
- <div class="gf-form-switch-wrapper">
|
|
|
|
|
- <div class="switch">
|
|
|
|
|
- <input id="cmn-toggle-8" class="cmn-toggle cmn-toggle-yes-no" type="checkbox" ng-model="ctrl.panel.percent">
|
|
|
|
|
- <label for="cmn-toggle-8" data-on="Yes" data-off="No"></label>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form" ng-show="ctrl.panel.stack">
|
|
|
|
|
+ <label class="gf-form-label width-7">Percent</label>
|
|
|
|
|
+ <div class="gf-form-switch">
|
|
|
|
|
+ <input id="cmn-toggle-8" type="checkbox" ng-model="ctrl.panel.percent">
|
|
|
|
|
+ <label for="cmn-toggle-8" data-on="Yes" data-off="No"></label>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div class="gf-form" ng-show="ctrl.panel.stack">
|
|
|
|
|
- <label class="gf-form-label width-7">Tooltip value</label>
|
|
|
|
|
- <div class="gf-form-select-wrapper max-width-8">
|
|
|
|
|
- <select class="gf-form-input" ng-model="ctrl.panel.tooltip.value_type" ng-options="f for f in ['cumulative','individual']" ng-change="ctrl.render()"></select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="gf-form" ng-show="ctrl.panel.stack">
|
|
|
|
|
+ <label class="gf-form-label width-7">Tooltip value</label>
|
|
|
|
|
+ <div class="gf-form-select-wrapper max-width-8">
|
|
|
|
|
+ <select class="gf-form-input" ng-model="ctrl.panel.tooltip.value_type" ng-options="f for f in ['cumulative','individual']" ng-change="ctrl.render()"></select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="editor-row">
|
|
<div class="editor-row">
|
|
|
- <div class="section">
|
|
|
|
|
- <h5>Series specific overrides <tip>Regex match example: /server[0-3]/i </tip></h5>
|
|
|
|
|
- <div class="tight-form-container">
|
|
|
|
|
- <div class="tight-form" ng-repeat="override in ctrl.panel.seriesOverrides" ng-controller="SeriesOverridesCtrl">
|
|
|
|
|
- <ul class="tight-form-list">
|
|
|
|
|
- <li class="tight-form-item">
|
|
|
|
|
- <i class="fa fa-remove pointer" ng-click="ctrl.removeSeriesOverride(override)"></i>
|
|
|
|
|
- </li>
|
|
|
|
|
|
|
+ <div class="section">
|
|
|
|
|
+ <h5>Series specific overrides <tip>Regex match example: /server[0-3]/i </tip></h5>
|
|
|
|
|
+ <div class="tight-form-container">
|
|
|
|
|
+ <div class="tight-form" ng-repeat="override in ctrl.panel.seriesOverrides" ng-controller="SeriesOverridesCtrl">
|
|
|
|
|
+ <ul class="tight-form-list">
|
|
|
|
|
+ <li class="tight-form-item">
|
|
|
|
|
+ <i class="fa fa-remove pointer" ng-click="ctrl.removeSeriesOverride(override)"></i>
|
|
|
|
|
+ </li>
|
|
|
|
|
|
|
|
- <li class="tight-form-item">
|
|
|
|
|
- alias or regex
|
|
|
|
|
- </li>
|
|
|
|
|
|
|
+ <li class="tight-form-item">
|
|
|
|
|
+ alias or regex
|
|
|
|
|
+ </li>
|
|
|
|
|
|
|
|
- <li>
|
|
|
|
|
- <input type="text" ng-model="override.alias" bs-typeahead="getSeriesNames" ng-blur="ctrl.render()" data-min-length=0 data-items=100 class="input-medium tight-form-input" >
|
|
|
|
|
- </li>
|
|
|
|
|
|
|
+ <li>
|
|
|
|
|
+ <input type="text" ng-model="override.alias" bs-typeahead="getSeriesNames" ng-blur="ctrl.render()" data-min-length=0 data-items=100 class="input-medium tight-form-input" >
|
|
|
|
|
+ </li>
|
|
|
|
|
|
|
|
- <li class="tight-form-item" ng-repeat="option in currentOverrides">
|
|
|
|
|
- <i class="pointer fa fa-remove" ng-click="removeOverride(option)"></i>
|
|
|
|
|
- <span ng-show="option.propertyName === 'color'">
|
|
|
|
|
- Color: <i class="fa fa-circle" ng-style="{color:option.value}"></i>
|
|
|
|
|
- </span>
|
|
|
|
|
- <span ng-show="option.propertyName !== 'color'">
|
|
|
|
|
- {{option.name}}: {{option.value}}
|
|
|
|
|
- </span>
|
|
|
|
|
- </li>
|
|
|
|
|
|
|
+ <li class="tight-form-item" ng-repeat="option in currentOverrides">
|
|
|
|
|
+ <i class="pointer fa fa-remove" ng-click="removeOverride(option)"></i>
|
|
|
|
|
+ <span ng-show="option.propertyName === 'color'">
|
|
|
|
|
+ Color: <i class="fa fa-circle" ng-style="{color:option.value}"></i>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span ng-show="option.propertyName !== 'color'">
|
|
|
|
|
+ {{option.name}}: {{option.value}}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </li>
|
|
|
|
|
|
|
|
- <li class="dropdown" dropdown-typeahead="overrideMenu" dropdown-typeahead-on-select="setOverride($item, $subItem)">
|
|
|
|
|
- </li>
|
|
|
|
|
- </ul>
|
|
|
|
|
- <div class="clearfix"></div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <li class="dropdown" dropdown-typeahead="overrideMenu" dropdown-typeahead-on-select="setOverride($item, $subItem)">
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ <div class="clearfix"></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <button class="btn btn-inverse" style="margin-top: 20px" ng-click="ctrl.addSeriesOverride()">
|
|
|
|
|
- Add series specific option
|
|
|
|
|
- </button>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <button class="btn btn-inverse" style="margin-top: 20px" ng-click="ctrl.addSeriesOverride()">
|
|
|
|
|
+ Add series specific option
|
|
|
|
|
+ </button>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|