|
|
@@ -1,223 +1,253 @@
|
|
|
-<query-editor-row ctrl="ctrl">
|
|
|
- <li class="tight-form-item query-keyword" style="width: 100px">
|
|
|
- Metric
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <input type="text" class="input-large tight-form-input" ng-model="ctrl.target.metric"
|
|
|
- spellcheck='false' bs-typeahead="ctrl.suggestMetrics" placeholder="metric name" data-min-length=0 data-items=100
|
|
|
- ng-blur="ctrl.targetBlur()">
|
|
|
- </input>
|
|
|
- <a bs-tooltip="ctrl.errors.metric" style="color: rgb(229, 189, 28)" ng-show="ctrl.errors.metric">
|
|
|
- <i class="fa fa-warning"></i>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li class="tight-form-item query-keyword">
|
|
|
- Aggregator
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <select ng-model="ctrl.target.aggregator" class="tight-form-input input-small"
|
|
|
- ng-options="agg for agg in ctrl.aggregators"
|
|
|
- ng-change="ctrl.targetBlur()">
|
|
|
- </select>
|
|
|
- <a bs-tooltip="ctrl.errors.aggregator" style="color: rgb(229, 189, 28)" ng-show="ctrl.errors.aggregator">
|
|
|
- <i class="fa fa-warning"></i>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword">
|
|
|
- Alias:
|
|
|
- <tip>Use patterns like $tag_tagname to replace part of the alias for a tag value</tip>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <input type="text" class="tight-form-input input-large"
|
|
|
- ng-model="ctrl.target.alias"
|
|
|
- spellcheck='false'
|
|
|
- placeholder="series alias"
|
|
|
- data-min-length=0 data-items=100
|
|
|
- ng-blur="ctrl.targetBlur()"></input>
|
|
|
- </li>
|
|
|
-</query-editor-row>
|
|
|
+<query-editor-row query-ctrl="ctrl" can-collapse="false">
|
|
|
+ <div class="gf-form-inline">
|
|
|
+ <div class="gf-form max-width-25">
|
|
|
+ <label class="gf-form-label query-keyword width-8">
|
|
|
+ Metric
|
|
|
+ <label class="gf-form-label" bs-tooltip="ctrl.errors.metric" style="color: rgb(229, 189, 28)" ng-show="ctrl.errors.metric">
|
|
|
+ <i class="fa fa-warning"></i>
|
|
|
+ </label>
|
|
|
+ </label>
|
|
|
+ <input type="text" class="gf-form-input" ng-model="ctrl.target.metric"
|
|
|
+ spellcheck='false' bs-typeahead="ctrl.suggestMetrics" placeholder="metric name" data-min-length=0 data-items=100
|
|
|
+ ng-blur="ctrl.targetBlur()">
|
|
|
+ </input>
|
|
|
+ </div>
|
|
|
+ <div class="gf-form">
|
|
|
+ <label class="gf-form-label query-keyword">
|
|
|
+ Aggregator
|
|
|
+ <a bs-tooltip="ctrl.errors.aggregator" style="color: rgb(229, 189, 28)" ng-show="ctrl.errors.aggregator">
|
|
|
+ <i class="fa fa-warning"></i>
|
|
|
+ </a>
|
|
|
+ </label>
|
|
|
+ <div class="gf-form-select-wrapper max-width-15">
|
|
|
+ <select ng-model="ctrl.target.aggregator" class="gf-form-input"
|
|
|
+ ng-options="agg for agg in ctrl.aggregators"
|
|
|
+ ng-change="ctrl.targetBlur()">
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="gf-form max-width-20">
|
|
|
+ <label class="gf-form-label query-keyword width-6">
|
|
|
+ Alias:
|
|
|
+ <info-popover mode="right-normal">
|
|
|
+ Use patterns like $tag_tagname to replace part of the alias for a tag value
|
|
|
+ </info-popover>
|
|
|
+ </label>
|
|
|
+ <input type="text" class="gf-form-input"
|
|
|
+ ng-model="ctrl.target.alias"
|
|
|
+ spellcheck='false'
|
|
|
+ placeholder="series alias"
|
|
|
+ data-min-length=0 data-items=100
|
|
|
+ ng-blur="ctrl.targetBlur()"></input>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form gf-form--grow">
|
|
|
+ <div class="gf-form-label gf-form-label--grow"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form-inline">
|
|
|
+ <div class="gf-form max-width-25">
|
|
|
+ <label class="gf-form-label query-keyword width-8">Down sample</label>
|
|
|
+ <input type="text" class="gf-form-input"
|
|
|
+ ng-model="ctrl.target.downsampleInterval"
|
|
|
+ ng-model-onblur
|
|
|
+ ng-change="ctrl.targetBlur()"
|
|
|
+ placeholder="interval"></input>
|
|
|
+ <info-popover mode="right-absolute">
|
|
|
+ blank for auto, or for example <code>1m</code>
|
|
|
+ </info-popover>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form">
|
|
|
+ <label class="gf-form-label query-keyword">Aggregator</label>
|
|
|
+ <div class="gf-form-select-wrapper">
|
|
|
+ <select ng-model="ctrl.target.downsampleAggregator" class="gf-form-input"
|
|
|
+ ng-options="agg for agg in ctrl.aggregators"
|
|
|
+ ng-change="ctrl.targetBlur()">
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form" ng-if="ctrl.tsdbVersion == 2">
|
|
|
+ <label class="gf-form-label query-keyword width-6">Fill</label>
|
|
|
+ <div class="gf-form-select-wrapper">
|
|
|
+ <select ng-model="ctrl.target.downsampleFillPolicy" class="gf-form-input"
|
|
|
+ ng-options="agg for agg in ctrl.fillPolicies"
|
|
|
+ ng-change="ctrl.targetBlur()">
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <gf-form-switch class="gf-form"
|
|
|
+ label="Disable downsampling"
|
|
|
+ checked="ctrl.target.disableDownsampling"
|
|
|
+ on-change="ctrl.targetBlur()">
|
|
|
+ </gf-form-switch>
|
|
|
+
|
|
|
+ <div class="gf-form gf-form--grow">
|
|
|
+ <div class="gf-form-label gf-form-label--grow"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form-inline" ng-if="ctrl.tsdbVersion == 2">
|
|
|
+ <div class="gf-form">
|
|
|
+
|
|
|
+ <label class="gf-form-label query-keyword width-8">
|
|
|
+ Filters
|
|
|
+ <info-popover mode="right-normal">
|
|
|
+ Filters does not work with tags, either of the two will work but not both.
|
|
|
+ </info-popover>
|
|
|
+ </label>
|
|
|
+
|
|
|
+ <div ng-repeat="fil in ctrl.target.filters track by $index" class="gf-form-label">
|
|
|
+ {{fil.tagk}} = {{fil.type}}({{fil.filter}}) , groupBy = {{fil.groupBy}}
|
|
|
+ <a ng-click="ctrl.editFilter(fil, $index)">
|
|
|
+ <i class="fa fa-pencil"></i>
|
|
|
+ </a>
|
|
|
+ <a ng-click="ctrl.removeFilter($index)">
|
|
|
+ <i class="fa fa-remove"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ <label class="gf-form-label query-keyword" ng-hide="ctrl.addFilterMode">
|
|
|
+ <a ng-click="ctrl.addFilter()">
|
|
|
+ <i class="fa fa-plus"></i>
|
|
|
+ </a>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form-inline" ng-show="ctrl.addFilterMode">
|
|
|
+ <div class="gf-form">
|
|
|
+ <input type="text" class="gf-form-input" spellcheck='false'
|
|
|
+ bs-typeahead="ctrl.suggestTagKeys" data-min-length=0 data-items=100
|
|
|
+ ng-model="ctrl.target.currentFilterKey" placeholder="key">
|
|
|
+ </input>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form">
|
|
|
+ <label class="gf-form-label">Type</label>
|
|
|
+ <div class="gf-form-select-wrapper">
|
|
|
+ <select ng-model="ctrl.target.currentFilterType" class="gf-form-input" ng-options="filType for filType in ctrl.filterTypes">
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form">
|
|
|
+ <input type="text" class="gf-form-input" spellcheck='false' bs-typeahead="ctrl.suggestTagValues" data-min-length=0 data-items=100 ng-model="ctrl.target.currentFilterValue" placeholder="filter">
|
|
|
+ </input>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <gf-form-switch class="gf-form" label="Group by" checked="ctrl.target.currentFilterGroupBy" on-change="ctrl.targetBlur()">
|
|
|
+ </gf-form-switch>
|
|
|
+
|
|
|
+ <div class="gf-form" ng-show="ctrl.addFilterMode">
|
|
|
+ <label class="gf-form-label" ng-show="ctrl.errors.filters">
|
|
|
+ <a bs-tooltip="ctrl.errors.filters" style="color: rgb(229, 189, 28)" >
|
|
|
+ <i class="fa fa-warning"></i>
|
|
|
+ </a>
|
|
|
+ </label>
|
|
|
+
|
|
|
+ <label class="gf-form-label">
|
|
|
+ <a ng-click="ctrl.addFilter()" ng-hide="ctrl.errors.filters">add filter</a>
|
|
|
+ <a ng-click="ctrl.closeAddFilterMode()">
|
|
|
+ <i class="fa fa-remove"></i>
|
|
|
+ </a>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form gf-form--grow">
|
|
|
+ <div class="gf-form-label gf-form-label--grow"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form-inline">
|
|
|
+ <div class="gf-form">
|
|
|
+ <label class="gf-form-label query-keyword width-8">
|
|
|
+ Tags
|
|
|
+ <info-popover mode="right-normal" ng-if="ctrl.tsdbVersion == 2">
|
|
|
+ Please use filters, tags are deprecated in opentsdb 2.2
|
|
|
+ </info-popover>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form" ng-repeat="(key, value) in ctrl.target.tags track by $index" class="gf-form">
|
|
|
+ <label class="gf-form-label">
|
|
|
+ {{key}} = {{value}}
|
|
|
+ <a ng-click="ctrl.editTag(key, value)">
|
|
|
+ <i class="fa fa-pencil"></i>
|
|
|
+ </a>
|
|
|
+ <a ng-click="ctrl.removeTag(key)">
|
|
|
+ <i class="fa fa-remove"></i>
|
|
|
+ </a>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form" ng-hide="ctrl.addTagMode">
|
|
|
+ <label class="gf-form-label query-keyword">
|
|
|
+ <a ng-click="ctrl.addTag()"><i class="fa fa-plus"></i></a>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form" ng-show="ctrl.addTagMode">
|
|
|
+ <input type="text"
|
|
|
+ class="gf-form-input" spellcheck='false'
|
|
|
+ bs-typeahead="ctrl.suggestTagKeys" data-min-length=0 data-items=100
|
|
|
+ ng-model="ctrl.target.currentTagKey" placeholder="key">
|
|
|
+ </input>
|
|
|
+
|
|
|
+ <input type="text" class="gf-form-input"
|
|
|
+ spellcheck='false' bs-typeahead="ctrl.suggestTagValues"
|
|
|
+ data-min-length=0 data-items=100 ng-model="ctrl.target.currentTagValue" placeholder="value">
|
|
|
+ </input>
|
|
|
|
|
|
-<div class="tight-form">
|
|
|
- <ul class="tight-form-list" role="menu">
|
|
|
- <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
|
|
|
- Down sample
|
|
|
- </li>
|
|
|
-
|
|
|
- <li>
|
|
|
- <input type="text" class="input-large tight-form-input"
|
|
|
- ng-model="ctrl.target.downsampleInterval"
|
|
|
- ng-model-onblur
|
|
|
- ng-change="ctrl.targetBlur()"
|
|
|
- placeholder="interval (empty = auto)"></input>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword">
|
|
|
- Aggregator
|
|
|
- </li>
|
|
|
-
|
|
|
- <li>
|
|
|
- <select ng-model="ctrl.target.downsampleAggregator" class="tight-form-input input-small"
|
|
|
- ng-options="agg for agg in ctrl.aggregators"
|
|
|
- ng-change="ctrl.targetBlur()">
|
|
|
- </select>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword" style="width: 59px" ng-if="ctrl.tsdbVersion == 2">
|
|
|
- Fill
|
|
|
- </li>
|
|
|
-
|
|
|
- <li ng-if="ctrl.tsdbVersion == 2">
|
|
|
- <select ng-model="ctrl.target.downsampleFillPolicy" class="tight-form-input input-small"
|
|
|
- ng-options="agg for agg in ctrl.fillPolicies"
|
|
|
- ng-change="ctrl.targetBlur()">
|
|
|
- </select>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword">
|
|
|
- Disable downsampling <editor-checkbox text="" model="ctrl.target.disableDownsampling" change="ctrl.targetBlur()"></editor-checkbox>
|
|
|
- </li>
|
|
|
-
|
|
|
- </ul>
|
|
|
- <div class="clearfix"></div>
|
|
|
-</div>
|
|
|
-
|
|
|
-<div class="tight-form" ng-if="ctrl.tsdbVersion == 2">
|
|
|
- <ul class="tight-form-list" role="menu">
|
|
|
- <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
|
|
|
- Filters
|
|
|
- <tip ng-if="ctrl.tsdbVersion == 2">Filters does not work with tags, either of the two will work but not both.</tip>
|
|
|
- </li>
|
|
|
- <li ng-repeat="fil in ctrl.target.filters track by $index" class="tight-form-item">
|
|
|
- {{fil.tagk}} = {{fil.type}}({{fil.filter}}) , groupBy = {{fil.groupBy}}
|
|
|
- <a ng-click="ctrl.editFilter(fil, $index)">
|
|
|
- <i class="fa fa-pencil"></i>
|
|
|
- </a>
|
|
|
- <a ng-click="ctrl.removeFilter($index)">
|
|
|
- <i class="fa fa-remove"></i>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li class="tight-form-item query-keyword" ng-hide="ctrl.addFilterMode">
|
|
|
- <a ng-click="ctrl.addFilter()">
|
|
|
- <i class="fa fa-plus"></i>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="query-keyword" ng-show="ctrl.addFilterMode">
|
|
|
- <input type="text" class="input-small tight-form-input" spellcheck='false'
|
|
|
- bs-typeahead="ctrl.suggestTagKeys" data-min-length=0 data-items=100
|
|
|
- ng-model="ctrl.target.currentFilterKey" placeholder="key"></input>
|
|
|
-
|
|
|
- Type <select ng-model="ctrl.target.currentFilterType"
|
|
|
- class="tight-form-input input-small"
|
|
|
- ng-options="filType for filType in ctrl.filterTypes">
|
|
|
- </select>
|
|
|
-
|
|
|
- <input type="text" class="input-small tight-form-input"
|
|
|
- spellcheck='false' bs-typeahead="ctrl.suggestTagValues"
|
|
|
- data-min-length=0 data-items=100 ng-model="ctrl.target.currentFilterValue" placeholder="filter">
|
|
|
- </input>
|
|
|
-
|
|
|
- groupBy <editor-checkbox text="" model="ctrl.target.currentFilterGroupBy"></editor-checkbox>
|
|
|
-
|
|
|
- <a bs-tooltip="ctrl.errors.filters"
|
|
|
- style="color: rgb(229, 189, 28)"
|
|
|
- ng-show="ctrl.errors.filters">
|
|
|
- <i class="fa fa-warning"></i>
|
|
|
- </a>
|
|
|
-
|
|
|
- <a ng-click="ctrl.addFilter()" ng-hide="ctrl.errors.filters">
|
|
|
- add filter
|
|
|
- </a>
|
|
|
- <a ng-click="ctrl.closeAddFilterMode()">
|
|
|
- <i class="fa fa-remove"></i>
|
|
|
- </a>
|
|
|
-
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <div class="clearfix"></div>
|
|
|
-</div>
|
|
|
-
|
|
|
-<div class="tight-form">
|
|
|
- <ul class="tight-form-list" role="menu">
|
|
|
- <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
|
|
|
- Tags
|
|
|
- <tip ng-if="ctrl.tsdbVersion == 2">Please use filters, tags are deprecated in opentsdb 2.2</tip>
|
|
|
- </li>
|
|
|
- <li ng-repeat="(key, value) in ctrl.target.tags track by $index" class="tight-form-item">
|
|
|
- {{key}} = {{value}}
|
|
|
- <a ng-click="ctrl.editTag(key, value)">
|
|
|
- <i class="fa fa-pencil"></i>
|
|
|
- </a>
|
|
|
- <a ng-click="ctrl.removeTag(key)">
|
|
|
- <i class="fa fa-remove"></i>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword" ng-hide="ctrl.addTagMode">
|
|
|
- <a ng-click="ctrl.addTag()">
|
|
|
- <i class="fa fa-plus"></i>
|
|
|
- </a>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li ng-show="ctrl.addTagMode">
|
|
|
- <input type="text" class="input-small tight-form-input" spellcheck='false'
|
|
|
- bs-typeahead="ctrl.suggestTagKeys" data-min-length=0 data-items=100
|
|
|
- ng-model="ctrl.target.currentTagKey" placeholder="key"></input>
|
|
|
-
|
|
|
- <input type="text" class="input-small tight-form-input"
|
|
|
- spellcheck='false' bs-typeahead="ctrl.suggestTagValues"
|
|
|
- data-min-length=0 data-items=100 ng-model="ctrl.target.currentTagValue" placeholder="value">
|
|
|
+ <label class="gf-form-label" ng-show="ctrl.errors.tags">
|
|
|
+ <a bs-tooltip="ctrl.errors.tags" style="color: rgb(229, 189, 28)" >
|
|
|
+ <i class="fa fa-warning"></i>
|
|
|
+ </a>
|
|
|
+ </label>
|
|
|
+ <label class="gf-form-label" >
|
|
|
+ <a ng-click="ctrl.addTag()" ng-hide="ctrl.errors.tags">add tag</a>
|
|
|
+ <a ng-click="ctrl.closeAddTagMode()"><i class="fa fa-remove"></i></a>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form gf-form--grow">
|
|
|
+ <div class="gf-form-label gf-form-label--grow"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form-inline">
|
|
|
+ <gf-form-switch class="gf-form" label="Rate" label-class="width-8 query-keyword" checked="ctrl.target.shouldComputeRate" on-change="ctrl.targetBlur()">
|
|
|
+ </gf-form-switch>
|
|
|
+
|
|
|
+ <gf-form-switch ng-hide="!ctrl.target.shouldComputeRate"
|
|
|
+ class="gf-form" label="Counter" checked="ctrl.target.isCounter" on-change="ctrl.targetBlur()">
|
|
|
+ </gf-form-switch>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="gf-form" ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
|
|
|
+ <label class="gf-form-label">Counter Max</label>
|
|
|
+ <input type="text" class="gf-form-input"
|
|
|
+ ng-disabled="!ctrl.target.shouldComputeRate"
|
|
|
+ ng-model="ctrl.target.counterMax" spellcheck='false'
|
|
|
+ placeholder="max value" ng-model-onblur
|
|
|
+ ng-blur="ctrl.targetBlur()">
|
|
|
</input>
|
|
|
|
|
|
- <a bs-tooltip="ctrl.errors.tags"
|
|
|
- style="color: rgb(229, 189, 28)"
|
|
|
- ng-show="ctrl.errors.tags">
|
|
|
- <i class="fa fa-warning"></i>
|
|
|
- </a>
|
|
|
-
|
|
|
- <a ng-click="ctrl.addTag()" ng-hide="ctrl.errors.tags">
|
|
|
- add tag
|
|
|
- </a>
|
|
|
- <a ng-click="ctrl.closeAddTagMode()">
|
|
|
- <i class="fa fa-remove"></i>
|
|
|
- </a>
|
|
|
-
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <div class="clearfix"></div>
|
|
|
-</div>
|
|
|
-
|
|
|
-<div class="tight-form">
|
|
|
- <ul class="tight-form-list" role="menu">
|
|
|
- <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
|
|
|
- Rate <editor-checkbox text="" model="ctrl.target.shouldComputeRate" change="ctrl.targetBlur()"></editor-checkbox>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword" ng-hide="!ctrl.target.shouldComputeRate">
|
|
|
- Counter <editor-checkbox text="" model="ctrl.target.isCounter" change="ctrl.targetBlur()"></editor-checkbox>
|
|
|
- </li>
|
|
|
-
|
|
|
- <li class="tight-form-item query-keyword" ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
|
|
|
- Counter Max:
|
|
|
- </li>
|
|
|
-
|
|
|
- <li ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
|
|
|
- <input type="text" class="tight-form-input input-small" ng-disabled="!ctrl.target.shouldComputeRate"
|
|
|
- ng-model="ctrl.target.counterMax" spellcheck='false'
|
|
|
- placeholder="max value" ng-model-onblur
|
|
|
- ng-blur="ctrl.targetBlur()"></input>
|
|
|
- </li>
|
|
|
- <li class="tight-form-item query-keyword" ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
|
|
|
- Reset Value:
|
|
|
- </li>
|
|
|
- <li ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
|
|
|
- <input type="text" class="tight-form-input input-small" ng-disabled="!ctrl.target.shouldComputeRate"
|
|
|
- ng-model="ctrl.target.counterResetValue" spellcheck='false'
|
|
|
- placeholder="reset value" ng-model-onblur
|
|
|
- ng-blur="ctrl.targetBlur()"></input>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
-
|
|
|
- <div class="clearfix"></div>
|
|
|
-</div>
|
|
|
+ <label class="gf-form-label">Reset Value</label>
|
|
|
+ <input type="text" class="tight-form-input input-small"
|
|
|
+ ng-disabled="!ctrl.target.shouldComputeRate"
|
|
|
+ ng-model="ctrl.target.counterResetValue" spellcheck='false'
|
|
|
+ placeholder="reset value" ng-model-onblur
|
|
|
+ ng-blur="ctrl.targetBlur()">
|
|
|
+ </input>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="gf-form gf-form--grow">
|
|
|
+ <div class="gf-form-label gf-form-label--grow"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</query-editor-row>
|
|
|
+
|