forked from sirkjohannsen/grafana-datasource-datadog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery_ctrl.js.map
1 lines (1 loc) · 10.1 KB
/
query_ctrl.js.map
1
{"version":3,"sources":["../src/query_ctrl.js"],"names":["_","dfunc","QueryCtrl","queryBuilder","DataDogQueryCtrl","$scope","$injector","uiSegmentSrv","templateSrv","removeText","target","aggregation","aggregationSegment","newSegment","value","fake","custom","metric","metricSegment","tags","tagSegments","map","fixTagSegments","functions","f","createFuncInstance","func","funcDef","withDefaultParams","params","slice","as","asSegment","rawQuery","datasource","metricFindQuery","then","transformToSegments","Promise","resolve","text","segment","tagFindQuery","type","removeSegment","newFake","results","unshift","panelCtrl","refresh","count","length","lastSegment","Math","max","push","newPlusButton","error","def","name","without","persistFunctions","targetChanged","added","index","splice","realSegments","filter","query","buildQuery","templateUrl"],"mappings":"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","file":"query_ctrl.js","sourcesContent":["import _ from 'lodash';\nimport dfunc from './dfunc';\nimport {QueryCtrl} from 'app/plugins/sdk';\nimport './func_editor';\nimport './add_datadog_func';\nimport * as queryBuilder from './query_builder';\n\nexport class DataDogQueryCtrl extends QueryCtrl {\n\n constructor($scope, $injector, uiSegmentSrv, templateSrv) {\n super($scope, $injector);\n this.removeText = '-- remove tag --';\n this.uiSegmentSrv = uiSegmentSrv;\n this.templateSrv = templateSrv;\n\n if (this.target.aggregation) {\n this.aggregationSegment = new uiSegmentSrv.newSegment(\n this.target.aggregation\n );\n } else {\n this.aggregationSegment = new uiSegmentSrv.newSegment({\n value: 'Select Aggregation',\n fake: true,\n custom: false,\n });\n }\n\n if (this.target.metric) {\n this.metricSegment = new uiSegmentSrv.newSegment(\n this.target.metric\n );\n } else {\n this.metricSegment = new uiSegmentSrv.newSegment({\n value: 'Select Metric',\n fake: true,\n custom: false,\n });\n }\n\n this.target.tags = this.target.tags || [];\n this.tagSegments = this.target.tags.map(uiSegmentSrv.newSegment);\n this.fixTagSegments();\n\n this.functions = [];\n this.target.functions = this.target.functions || [];\n this.functions = _.map(this.target.functions, func => {\n var f = dfunc.createFuncInstance(func.funcDef, {withDefaultParams: false});\n f.params = func.params.slice();\n return f;\n });\n\n if (this.target.as) {\n this.asSegment = uiSegmentSrv.newSegment(this.target.as);\n } else {\n this.asSegment = uiSegmentSrv.newSegment({\n value: 'Select As',\n fake: true,\n custom: false,\n });\n }\n\n }\n\n toggleEditorMode() {\n this.target.rawQuery = !this.target.rawQuery;\n }\n\n getMetrics() {\n return this.datasource.metricFindQuery()\n .then(this.uiSegmentSrv.transformToSegments(true));\n }\n\n getAggregations() {\n return Promise.resolve([\n {text: 'avg by', value: 'avg'},\n {text: 'max by', value: 'max'},\n {text: 'min by', value: 'min'},\n {text: 'sub by', value: 'sum'},\n ]);\n }\n\n getAs() {\n return Promise.resolve([\n {text: 'None', value: 'None'},\n {text: 'as_count', value: 'as_count'},\n {text: 'as_rate', value: 'as_rate'},\n ]);\n }\n\n getTags(segment) {\n return this.datasource.tagFindQuery()\n .then(this.uiSegmentSrv.transformToSegments(true))\n .then(results => {\n if (segment.type !== 'plus-button') {\n let removeSegment = this.uiSegmentSrv.newFake(this.removeText);\n results.unshift(removeSegment);\n }\n\n return results;\n });\n }\n\n aggregationChanged() {\n this.target.aggregation = this.aggregationSegment.value;\n this.panelCtrl.refresh();\n }\n\n metricChanged() {\n this.target.metric = this.metricSegment.value;\n this.panelCtrl.refresh();\n }\n\n asChanged() {\n if (this.asSegment.value === 'None') {\n this.target.as = null;\n } else {\n this.target.as = this.asSegment.value;\n }\n this.panelCtrl.refresh();\n }\n\n fixTagSegments() {\n var count = this.tagSegments.length;\n var lastSegment = this.tagSegments[Math.max(count-1, 0)];\n\n if (!lastSegment || lastSegment.type !== 'plus-button') {\n this.tagSegments.push(this.uiSegmentSrv.newPlusButton());\n }\n }\n\n targetChanged() {\n if (this.error) {\n return;\n }\n\n this.panelCtrl.refresh();\n }\n\n persistFunctions () {\n this.target.functions = _.map(this.functions, func => {\n return {\n funcDef: func.def.name,\n params: func.params.slice(),\n };\n });\n }\n\n removeFunction(func) {\n this.functions = _.without(this.functions, func);\n this.persistFunctions();\n this.targetChanged();\n }\n\n addFunction(funcDef) {\n var func = dfunc.createFuncInstance(funcDef, {withDefaultParams: true});\n func.added = true;\n this.functions.push(func);\n this.persistFunctions();\n this.targetChanged();\n }\n\n tagSegmentUpdated(segment, index) {\n if (segment.value === this.removeText) {\n this.tagSegments.splice(index, 1);\n }\n\n let realSegments = _.filter(this.tagSegments, segment => segment.value);\n this.target.tags = realSegments.map(segment => segment.value);\n\n this.tagSegments = _.map(this.target.tags, this.uiSegmentSrv.newSegment);\n this.fixTagSegments();\n\n this.panelCtrl.refresh();\n }\n\n getCollapsedText() {\n if (this.target.rawQuery) {\n return this.target.query;\n } else {\n return queryBuilder.buildQuery(this.target);\n }\n }\n}\n\nDataDogQueryCtrl.templateUrl = 'partials/query.editor.html';\n"]}