|
@@ -37,52 +37,62 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="gf-form-group" ng-if="showOptions">
|
|
<div class="gf-form-group" ng-if="showOptions">
|
|
|
-
|
|
|
|
|
<div class="gf-form offset-width-7" ng-if="agg.type === 'derivative'">
|
|
<div class="gf-form offset-width-7" ng-if="agg.type === 'derivative'">
|
|
|
<label class="gf-form-label width-10">Unit</label>
|
|
<label class="gf-form-label width-10">Unit</label>
|
|
|
<input type="text" class="gf-form-input max-width-12" ng-model="agg.settings.unit" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
<input type="text" class="gf-form-input max-width-12" ng-model="agg.settings.unit" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="agg.type === 'moving_avg'">
|
|
|
|
|
- <label class="gf-form-label width-10">Window</label>
|
|
|
|
|
- <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.window" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div ng-if="agg.type === 'moving_avg'">
|
|
|
|
|
+ <div class="gf-form offset-width-7">
|
|
|
|
|
+ <label class="gf-form-label width-10">Model</label>
|
|
|
|
|
+ <metric-segment-model property="agg.settings.model" options="movingAvgModelTypes" on-change="onChangeClearInternal()" custom="false" css-class="width-12"></metric-segment-model>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="agg.type === 'moving_avg'">
|
|
|
|
|
- <label class="gf-form-label width-10">Model</label>
|
|
|
|
|
- <input type="text" class="gf-form-input max-width-12" ng-change="onChangeInternal()" ng-model="agg.settings.model" blur="onChange()" spellcheck='false'>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="gf-form offset-width-7">
|
|
|
|
|
+ <label class="gf-form-label width-10">Window</label>
|
|
|
|
|
+ <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.window" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="agg.type === 'moving_avg'">
|
|
|
|
|
- <label class="gf-form-label width-10">Predict</label>
|
|
|
|
|
- <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.predict" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="gf-form offset-width-7">
|
|
|
|
|
+ <label class="gf-form-label width-10">Predict</label>
|
|
|
|
|
+ <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.predict" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="agg.type === 'percentiles'">
|
|
|
|
|
- <label class="gf-form-label width-10">Percentiles</label>
|
|
|
|
|
- <input type="text" class="gf-form-input max-width-12" ng-model="agg.settings.percents" array-join ng-blur="onChange()"></input>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="agg.type === 'cardinality'">
|
|
|
|
|
- <label class="gf-form-label width-10">Precision threshold</label>
|
|
|
|
|
- <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.precision_threshold" ng-blur="onChange()"></input>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="gf-form offset-width-7" ng-repeat="setting in modelSettings">
|
|
|
|
|
+ <label class="gf-form-label width-10">{{setting.text}}</label>
|
|
|
|
|
+ <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.settings[setting.value]" ng-blur="onChangeInternal()" spellcheck='false'>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div ng-if="agg.type === 'extended_stats'">
|
|
|
|
|
- <gf-form-switch ng-repeat="stat in extendedStats" class="gf-form offset-width-7" label="{{stat.text}}" label-class="width-10" checked="agg.meta[stat.value]" on-change="onChangeInternal()"></gf-form-switch>
|
|
|
|
|
|
|
+ <gf-form-switch ng-if="agg.settings.model == 'holt_winters'" class="gf-form offset-width-7" label="Pad" label-class="width-10" checked="agg.settings.settings.pad" on-change="onChangeInternal()"></gf-form-switch>
|
|
|
|
|
+ <gf-form-switch ng-if="agg.settings.model.match('ewma|holt_winters|holt') !== null" class="gf-form offset-width-7" label="Minimize" label-class="width-10" checked="agg.settings.minimize" on-change="onChangeInternal()"></gf-form-switch>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7">
|
|
|
|
|
- <label class="gf-form-label width-10">Sigma</label>
|
|
|
|
|
- <input type="number" class="gf-form-input max-width-12" placeholder="3" ng-model="agg.settings.sigma" ng-blur="onChange()"></input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="gf-form offset-width-7" ng-if="agg.type === 'percentiles'">
|
|
|
|
|
+ <label class="gf-form-label width-10">Percentiles</label>
|
|
|
|
|
+ <input type="text" class="gf-form-input max-width-12" ng-model="agg.settings.percents" array-join ng-blur="onChange()"></input>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="aggDef.supportsInlineScript">
|
|
|
|
|
- <label class="gf-form-label width-10">Script</label>
|
|
|
|
|
- <input type="text" class="gf-form-input max-width-12" empty-to-null ng-model="agg.inlineScript" ng-blur="onChangeInternal()" spellcheck='false' placeholder="_value * 1">
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="gf-form offset-width-7" ng-if="agg.type === 'cardinality'">
|
|
|
|
|
+ <label class="gf-form-label width-10">Precision threshold</label>
|
|
|
|
|
+ <input type="number" class="gf-form-input max-width-12" ng-model="agg.settings.precision_threshold" ng-blur="onChange()"></input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div ng-if="agg.type === 'extended_stats'">
|
|
|
|
|
+ <gf-form-switch ng-repeat="stat in extendedStats" class="gf-form offset-width-7" label="{{stat.text}}" label-class="width-10" checked="agg.meta[stat.value]" on-change="onChangeInternal()"></gf-form-switch>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="gf-form offset-width-7">
|
|
|
|
|
+ <label class="gf-form-label width-10">Sigma</label>
|
|
|
|
|
+ <input type="number" class="gf-form-input max-width-12" placeholder="3" ng-model="agg.settings.sigma" ng-blur="onChange()"></input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="gf-form offset-width-7" ng-if="aggDef.supportsInlineScript">
|
|
|
|
|
+ <label class="gf-form-label width-10">Script</label>
|
|
|
|
|
+ <input type="text" class="gf-form-input max-width-12" empty-to-null ng-model="agg.inlineScript" ng-blur="onChangeInternal()" spellcheck='false' placeholder="_value * 1">
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="gf-form offset-width-7" ng-if="aggDef.supportsMissing">
|
|
|
|
|
|
|
+ <div class="gf-form offset-width-7" ng-if="aggDef.supportsMissing">
|
|
|
<label class="gf-form-label width-10">
|
|
<label class="gf-form-label width-10">
|
|
|
Missing
|
|
Missing
|
|
|
<tip>The missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value</tip>
|
|
<tip>The missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value</tip>
|