diff --git a/dist/css/grafana-zabbix.dark.css b/dist/css/grafana-zabbix.dark.css index d3b04bf..f80fad9 100644 --- a/dist/css/grafana-zabbix.dark.css +++ b/dist/css/grafana-zabbix.dark.css @@ -26,7 +26,7 @@ position: relative; } .zabbix-trigger-card--alerting { border-bottom-color: #161719; - box-shadow: 0 0 10px rgba(204, 57, 0, 0.1); + box-shadow: 0 0 10px rgba(212, 74, 58, 0.1); animation: zabbix-triggers-panel 1.6s cubic-bezier(1, 0.1, 0.73, 1) 0s infinite alternate; } .zabbix-trigger-card--alerting::after { position: relative; } @@ -38,8 +38,8 @@ @keyframes zabbix-triggers-panel { 100% { opacity: 1; - box-shadow: 0 0 10px 0px #cc3900; - border-bottom-color: rgba(204, 57, 0, 0.25); } } + box-shadow: 0 0 10px 0px #d44a3a; + border-bottom-color: rgba(212, 74, 58, 0.25); } } @keyframes zabbix-triggers-icon { 100% { @@ -66,7 +66,7 @@ background-color: #333; } .triggers-panel-footer ul > li > a.active { font-weight: bold; - color: #33B5E5; } + color: #33b5e5; } .ack-tooltip .drop-content { max-width: 70rem !important; @@ -97,4 +97,10 @@ .triggers-severity-config .icon-gf { font-size: 200%; } +.zbx-regex { + color: #d69e2e; } + +.zbx-variable { + color: #32d1df; } + /*# sourceMappingURL=grafana-zabbix.dark.css.map */ \ No newline at end of file diff --git a/dist/css/grafana-zabbix.dark.css.map b/dist/css/grafana-zabbix.dark.css.map index 73929d8..88f9c69 100644 --- a/dist/css/grafana-zabbix.dark.css.map +++ b/dist/css/grafana-zabbix.dark.css.map @@ -6,8 +6,9 @@ "../../src/sass/_variables.dark.scss", "../../src/sass/grafana-zabbix.scss", "../../src/sass/_variables.scss", - "../../src/sass/_panel-triggers.scss" + "../../src/sass/_panel-triggers.scss", + "../../src/sass/_query_editor.scss" ], - "mappings": "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", + "mappings": "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", "names": [] } \ No newline at end of file diff --git a/dist/css/grafana-zabbix.light.css b/dist/css/grafana-zabbix.light.css index 42afe15..b1fa430 100644 --- a/dist/css/grafana-zabbix.light.css +++ b/dist/css/grafana-zabbix.light.css @@ -26,7 +26,7 @@ position: relative; } .zabbix-trigger-card--alerting { border-bottom-color: #161719; - box-shadow: 0 0 10px rgba(255, 65, 54, 0.1); + box-shadow: 0 0 10px rgba(212, 73, 57, 0.1); animation: zabbix-triggers-panel 1.6s cubic-bezier(1, 0.1, 0.73, 1) 0s infinite alternate; } .zabbix-trigger-card--alerting::after { position: relative; } @@ -38,8 +38,8 @@ @keyframes zabbix-triggers-panel { 100% { opacity: 1; - box-shadow: 0 0 10px 0px #ff4136; - border-bottom-color: rgba(255, 65, 54, 0.25); } } + box-shadow: 0 0 10px 0px #d44939; + border-bottom-color: rgba(212, 73, 57, 0.25); } } @keyframes zabbix-triggers-icon { 100% { @@ -66,7 +66,7 @@ background-color: #dde4ed; } .triggers-panel-footer ul > li > a.active { font-weight: bold; - color: #2AB2E4; } + color: #1ca4d6; } .ack-tooltip .drop-content { max-width: 70rem !important; @@ -97,4 +97,10 @@ .triggers-severity-config .icon-gf { font-size: 200%; } +.zbx-regex { + color: #aa7b1d; } + +.zbx-variable { + color: #1ca4d6; } + /*# sourceMappingURL=grafana-zabbix.light.css.map */ \ No newline at end of file diff --git a/dist/css/grafana-zabbix.light.css.map b/dist/css/grafana-zabbix.light.css.map index f5a2470..a47d1f3 100644 --- a/dist/css/grafana-zabbix.light.css.map +++ b/dist/css/grafana-zabbix.light.css.map @@ -6,8 +6,9 @@ "../../src/sass/_variables.light.scss", "../../src/sass/grafana-zabbix.scss", "../../src/sass/_variables.scss", - "../../src/sass/_panel-triggers.scss" + "../../src/sass/_panel-triggers.scss", + "../../src/sass/_query_editor.scss" ], - "mappings": "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", + "mappings": "AIAA,AAAA,sBAAsB,CAAC;EACrB,QAAQ,EAAE,IAAK,GAChB;;AAED,AAAA,yBAAyB,CAAC;EACxB,QAAQ,EAAE,QAAS,GAgCpB;EAjCD,AAGE,yBAHuB,CAGvB,gBAAgB,CAAC;IACf,KAAK,EHCU,OAAO;IGAtB,WAAW,EAAE,IAAK;IAClB,WAAW,EAAE,IAAK,GACnB;EAPH,AASkB,yBATO,CASvB,gBAAgB,AAAA,qBAAqB,CAAC;IACpC,KAAK,EHJU,OAAO,GGKvB;EAXH,AAaE,yBAbuB,CAavB,mBAAmB,CAAC;IAClB,OAAO,EAAE,MAAO,GAcjB;IA5BH,AAgBI,yBAhBqB,CAavB,mBAAmB,CAGjB,CAAC,EAhBL,AAgBO,yBAhBkB,CAavB,mBAAmB,CAGd,CAAC,CAAC;MACH,WAAW,EAAE,MAAO;MACpB,KAAK,EHbQ,OAAO,GGcrB;IAnBL,AAqBI,yBArBqB,CAavB,mBAAmB,CAQjB,sBAAsB,CAAC;MACrB,YAAY,EAAE,MAAO;MACrB,WAAW,EAAE,IAAK,GAInB;MA3BL,AAwBM,yBAxBmB,CAavB,mBAAmB,CAQjB,sBAAsB,CAGpB,kBAAkB,CAAC;QACjB,OAAO,EAAE,GAAI,GACd;EA1BP,AA8BE,yBA9BuB,CA8BvB,kBAAkB,CAAC;IACjB,YAAY,EAAE,GAAI,GACnB;;AAGH,AAAA,oBAAoB,CAAC;EACnB,QAAQ,EAAE,QAAS,GAsBpB;EAvBD,AAAA,8BAAoB,CAEN;IAGV,mBAAmB,EAAO,OAAO;IACjC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CHtBL,sBAAO;IGuBtB,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,6BAAY,CAAgB,EAAE,CAAC,QAAQ,CAAC,SAAS,GACxF;EARH,AAAA,8BAAoB,AASP,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAS,GACpB;;AAcH,AAAA,wBAAe,CACF;EACT,OAAO,EAAE,GAAI;EACb,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,oCAAY,CAAyB,EAAE,CAAC,QAAQ,CAAC,SAAS,GAChG;;AAIH,UAAU,CAAV,qBAAU;EACR,AAAA,IAAI;IACF,OAAO,EAAE,CAAE;IACX,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CHpDT,OAAO;IGqDtB,mBAAmB,EHrDJ,uBAAO;;AGyD1B,UAAU,CAAV,oBAAU;EACR,AAAA,IAAI;IACF,OAAO,EAAE,CAAE;;AAIf,AAAA,sBAAsB,CAAC;EACrB,UAAU,EAAE,MAAO;EACnB,SAAS,EAAE,GAAI;EACf,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,GAAI,GA0BlB;EA9BD,AAME,sBANoB,CAMpB,EAAE,CAAC;IACD,QAAQ,EAAE,QAAS;IACnB,OAAO,EAAE,YAAa;IACtB,WAAW,EAAE,CAAE;IACf,aAAa,EAAE,CAAE,GAClB;EAXH,AAYO,sBAZe,CAYpB,EAAE,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,MAAO,GACjB;EAdH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACV,KAAK,EAAE,IAAK;IACZ,OAAO,EAAE,QAAS;IAClB,eAAe,EAAE,IAAK;IACtB,iBAAiB,EAAE,CAAE,GAUtB;IA7BH,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAMR,MAAM,CAAC;MACN,gBAAgB,EHhGH,OAAO,GGiGrB;IAvBL,AAeY,sBAfU,CAepB,EAAE,GAAG,EAAE,GAAG,CAAC,AAUR,OAAO,CAAC;MACP,WAAW,EAAE,IAAK;MAClB,KAAK,EH7FQ,OAAO,GG8FrB;;AAIL,AACE,YADU,CACV,aAAa,CAAC;EAEZ,SAAS,EAAE,gBAAiB;EAC5B,SAAS,EAAE,gBAAiB,GAC7B;;AALH,AAOE,YAPU,CAOV,aAAa,CAAC;EACZ,KAAK,EAAE,GAAI,GACZ;;AATH,AAWE,YAXU,CAWV,eAAe,CAAC;EACd,WAAW,EAAE,IAAK,GACnB;;AAbH,AAeQ,YAfI,CAeV,KAAK,CAAC,EAAE,EAfV,AAeY,YAfA,CAeA,EAAE,CAAC;EACX,aAAa,EAAE,IAAK,GACrB;;AAjBH,AAmBE,YAnBU,CAmBV,gBAAgB,CAAC;EACf,WAAW,EAAE,IAAK,GAWnB;EA/BH,AAsBI,YAtBQ,CAmBV,gBAAgB,CAGd,KAAK,CAAC;IACJ,MAAM,EAAE,SAAU;IAClB,aAAa,EAAE,GAAI;IACnB,KAAK,EAAE,GAAI,GACZ;EA1BL,AA4BI,YA5BQ,CAmBV,gBAAgB,CASd,MAAM,CAAC;IACL,WAAW,EAAE,IAAK,GACnB;;AAIL,AAAA,yBAAyB,AACtB,cAAc,CAAC;EACd,WAAW,EAAE,GAAI;EACjB,cAAc,EAAE,GAAI,GACrB;;AAJH,AAME,yBANuB,CAMvB,QAAQ,CAAC;EACP,SAAS,EAAE,IAAK,GACjB;;AChKH,AAAA,UAAU,CAAC;EACT,KAAK,EJ4Bc,OAAO,GI3B3B;;AAED,AAAA,aAAa,CAAC;EACZ,KAAK,EJeY,OAAO,GIdzB", "names": [] } \ No newline at end of file diff --git a/dist/datasource-zabbix/css/query-editor.css b/dist/datasource-zabbix/css/query-editor.css deleted file mode 100644 index 3edd27d..0000000 --- a/dist/datasource-zabbix/css/query-editor.css +++ /dev/null @@ -1,7 +0,0 @@ -.zbx-regex { - color: #CCA300; -} - -.zbx-variable { - color: #33B5E5; -} diff --git a/dist/datasource-zabbix/module.js b/dist/datasource-zabbix/module.js index 32693a5..ba4a100 100644 --- a/dist/datasource-zabbix/module.js +++ b/dist/datasource-zabbix/module.js @@ -1,9 +1,9 @@ 'use strict'; -System.register(['./datasource', './query.controller', './config.controller'], function (_export, _context) { +System.register(['app/plugins/sdk', './datasource', './query.controller', './config.controller'], function (_export, _context) { "use strict"; - var ZabbixAPIDatasource, ZabbixQueryController, ZabbixDSConfigController, ZabbixQueryOptionsController, ZabbixAnnotationsQueryController; + var loadPluginCss, ZabbixAPIDatasource, ZabbixQueryController, ZabbixDSConfigController, ZabbixQueryOptionsController, ZabbixAnnotationsQueryController; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { @@ -12,7 +12,9 @@ System.register(['./datasource', './query.controller', './config.controller'], f } return { - setters: [function (_datasource) { + setters: [function (_appPluginsSdk) { + loadPluginCss = _appPluginsSdk.loadPluginCss; + }, function (_datasource) { ZabbixAPIDatasource = _datasource.ZabbixAPIDatasource; }, function (_queryController) { ZabbixQueryController = _queryController.ZabbixQueryController; @@ -20,6 +22,12 @@ System.register(['./datasource', './query.controller', './config.controller'], f ZabbixDSConfigController = _configController.ZabbixDSConfigController; }], execute: function () { + + loadPluginCss({ + dark: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.dark.css', + light: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.light.css' + }); + _export('QueryOptionsCtrl', ZabbixQueryOptionsController = function ZabbixQueryOptionsController() { _classCallCheck(this, ZabbixQueryOptionsController); }); diff --git a/dist/datasource-zabbix/module.js.map b/dist/datasource-zabbix/module.js.map index bf4adfe..20329e5 100644 --- a/dist/datasource-zabbix/module.js.map +++ b/dist/datasource-zabbix/module.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/datasource-zabbix/module.js"],"names":["ZabbixAPIDatasource","ZabbixQueryController","ZabbixDSConfigController","ZabbixQueryOptionsController","templateUrl","ZabbixAnnotationsQueryController"],"mappings":";;;;;;;;;;;;;;;AAAQA,yB,eAAAA,mB;;AACAC,2B,oBAAAA,qB;;AACAC,8B,qBAAAA,wB;;;kCAEFC,4B;;;;AACNA,mCAA6BC,WAA7B,GAA2C,+CAA3C;;sCAEMC,gC;;;;AACNA,uCAAiCD,WAAjC,GAA+C,oDAA/C;;4BAGEJ,mB;;4BACAE,wB;;2BACAD,qB;;kCACAE,4B;;sCACAE,gC","file":"module.js","sourcesContent":["import {ZabbixAPIDatasource} from './datasource';\nimport {ZabbixQueryController} from './query.controller';\nimport {ZabbixDSConfigController} from './config.controller';\n\nclass ZabbixQueryOptionsController {}\nZabbixQueryOptionsController.templateUrl = 'datasource-zabbix/partials/query.options.html';\n\nclass ZabbixAnnotationsQueryController {}\nZabbixAnnotationsQueryController.templateUrl = 'datasource-zabbix/partials/annotations.editor.html';\n\nexport {\n ZabbixAPIDatasource as Datasource,\n ZabbixDSConfigController as ConfigCtrl,\n ZabbixQueryController as QueryCtrl,\n ZabbixQueryOptionsController as QueryOptionsCtrl,\n ZabbixAnnotationsQueryController as AnnotationsQueryCtrl\n};\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/datasource-zabbix/module.js"],"names":["loadPluginCss","ZabbixAPIDatasource","ZabbixQueryController","ZabbixDSConfigController","dark","light","ZabbixQueryOptionsController","templateUrl","ZabbixAnnotationsQueryController"],"mappings":";;;;;;;;;;;;;;;AAAQA,mB,kBAAAA,a;;AACAC,yB,eAAAA,mB;;AACAC,2B,oBAAAA,qB;;AACAC,8B,qBAAAA,wB;;;;AAERH,oBAAc;AACZI,cAAM,gEADM;AAEZC,eAAO;AAFK,OAAd;;kCAKMC,4B;;;;AACNA,mCAA6BC,WAA7B,GAA2C,+CAA3C;;sCAEMC,gC;;;;AACNA,uCAAiCD,WAAjC,GAA+C,oDAA/C;;4BAGEN,mB;;4BACAE,wB;;2BACAD,qB;;kCACAI,4B;;sCACAE,gC","file":"module.js","sourcesContent":["import {loadPluginCss} from 'app/plugins/sdk';\nimport {ZabbixAPIDatasource} from './datasource';\nimport {ZabbixQueryController} from './query.controller';\nimport {ZabbixDSConfigController} from './config.controller';\n\nloadPluginCss({\n dark: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.dark.css',\n light: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.light.css'\n});\n\nclass ZabbixQueryOptionsController {}\nZabbixQueryOptionsController.templateUrl = 'datasource-zabbix/partials/query.options.html';\n\nclass ZabbixAnnotationsQueryController {}\nZabbixAnnotationsQueryController.templateUrl = 'datasource-zabbix/partials/annotations.editor.html';\n\nexport {\n ZabbixAPIDatasource as Datasource,\n ZabbixDSConfigController as ConfigCtrl,\n ZabbixQueryController as QueryCtrl,\n ZabbixQueryOptionsController as QueryOptionsCtrl,\n ZabbixAnnotationsQueryController as AnnotationsQueryCtrl\n};\n"]} \ No newline at end of file diff --git a/dist/datasource-zabbix/query.controller.js b/dist/datasource-zabbix/query.controller.js index 6ad953e..fe07c27 100644 --- a/dist/datasource-zabbix/query.controller.js +++ b/dist/datasource-zabbix/query.controller.js @@ -1,6 +1,6 @@ 'use strict'; -System.register(['app/plugins/sdk', 'lodash', './constants', './utils', './metricFunctions', './migrations', './add-metric-function.directive', './metric-function-editor.directive', './css/query-editor.css!'], function (_export, _context) { +System.register(['app/plugins/sdk', 'lodash', './constants', './utils', './metricFunctions', './migrations', './add-metric-function.directive', './metric-function-editor.directive'], function (_export, _context) { "use strict"; var QueryCtrl, _, c, utils, metricFunctions, migrations, _createClass, ZabbixQueryController; @@ -48,7 +48,7 @@ System.register(['app/plugins/sdk', 'lodash', './constants', './utils', './metri metricFunctions = _metricFunctions; }, function (_migrations) { migrations = _migrations; - }, function (_addMetricFunctionDirective) {}, function (_metricFunctionEditorDirective) {}, function (_cssQueryEditorCss) {}], + }, function (_addMetricFunctionDirective) {}, function (_metricFunctionEditorDirective) {}], execute: function () { _createClass = function () { function defineProperties(target, props) { diff --git a/dist/datasource-zabbix/query.controller.js.map b/dist/datasource-zabbix/query.controller.js.map index 6d57445..24aaaf2 100644 --- a/dist/datasource-zabbix/query.controller.js.map +++ b/dist/datasource-zabbix/query.controller.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/datasource-zabbix/query.controller.js"],"names":["QueryCtrl","_","c","utils","metricFunctions","migrations","ZabbixQueryController","$scope","$injector","$rootScope","$sce","templateSrv","zabbix","datasource","replaceTemplateVars","editorModes","value","text","mode","MODE_METRICS","MODE_TEXT","MODE_ITSERVICE","MODE_ITEMID","MODE_TRIGGERS","editorMode","METRICS","TEXT","ITSERVICE","ITEMID","TRIGGERS","slaPropertyList","name","property","ackFilters","triggerSeverity","TRIGGER_SEVERITY","getGroupNames","bind","getMetricNames","getHostNames","getApplicationNames","getItemNames","getITServices","getVariables","getTemplateVariables","$on","onVariableChange","onTargetBlur","init","target","migrate","scopeDefaults","metric","oldTarget","cloneDeep","queryOptionsText","renderQueryOptionsText","defaults","targetDefaults","functions","map","func","createFuncInstance","def","params","initFilters","slaProperty","suggestITServices","itemtype","find","Promise","all","suggestGroups","suggestHosts","suggestApps","suggestItems","metricList","addAllValue","metrics","uniq","forEach","variables","unshift","variable","getAllGroups","then","groupList","groups","groupFilter","group","filter","getAllHosts","hostList","hosts","hostFilter","host","getAllApps","appList","apps","appFilter","application","options","showDisabledItems","getAllItems","itemList","items","getITService","itServiceList","itservices","str","isRegex","isTemplateVariable","newTarget","isEqual","targetChanged","isContainsVariables","some","field","parseTarget","panelCtrl","refresh","funcDef","newFunc","added","push","moveAliasFuncLast","length","without","aliasFunc","showQueryOptions","optionsMap","forOwn","key","join","templateUrl"],"mappings":"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","file":"query.controller.js","sourcesContent":["import {QueryCtrl} from 'app/plugins/sdk';\nimport _ from 'lodash';\nimport * as c from './constants';\nimport * as utils from './utils';\nimport * as metricFunctions from './metricFunctions';\nimport * as migrations from './migrations';\n\nimport './add-metric-function.directive';\nimport './metric-function-editor.directive';\n\nimport './css/query-editor.css!';\n\nexport class ZabbixQueryController extends QueryCtrl {\n\n // ZabbixQueryCtrl constructor\n constructor($scope, $injector, $rootScope, $sce, templateSrv) {\n super($scope, $injector);\n this.zabbix = this.datasource.zabbix;\n\n // Use custom format for template variables\n this.replaceTemplateVars = this.datasource.replaceTemplateVars;\n this.templateSrv = templateSrv;\n\n this.editorModes = [\n {value: 'num', text: 'Metrics', mode: c.MODE_METRICS},\n {value: 'text', text: 'Text', mode: c.MODE_TEXT},\n {value: 'itservice', text: 'IT Services', mode: c.MODE_ITSERVICE},\n {value: 'itemid', text: 'Item ID', mode: c.MODE_ITEMID},\n {value: 'triggers', text: 'Triggers', mode: c.MODE_TRIGGERS}\n ];\n\n this.$scope.editorMode = {\n METRICS: c.MODE_METRICS,\n TEXT: c.MODE_TEXT,\n ITSERVICE: c.MODE_ITSERVICE,\n ITEMID: c.MODE_ITEMID,\n TRIGGERS: c.MODE_TRIGGERS\n };\n\n this.slaPropertyList = [\n {name: \"Status\", property: \"status\"},\n {name: \"SLA\", property: \"sla\"},\n {name: \"OK time\", property: \"okTime\"},\n {name: \"Problem time\", property: \"problemTime\"},\n {name: \"Down time\", property: \"downtimeTime\"}\n ];\n\n this.ackFilters = [\n {text: 'all triggers', value: 2},\n {text: 'unacknowledged', value: 0},\n {text: 'acknowledged', value: 1},\n ];\n\n this.triggerSeverity = c.TRIGGER_SEVERITY;\n\n // Map functions for bs-typeahead\n this.getGroupNames = _.bind(this.getMetricNames, this, 'groupList');\n this.getHostNames = _.bind(this.getMetricNames, this, 'hostList', true);\n this.getApplicationNames = _.bind(this.getMetricNames, this, 'appList');\n this.getItemNames = _.bind(this.getMetricNames, this, 'itemList');\n this.getITServices = _.bind(this.getMetricNames, this, 'itServiceList');\n this.getVariables = _.bind(this.getTemplateVariables, this);\n\n // Update metric suggestion when template variable was changed\n $rootScope.$on('template-variable-value-updated', () => this.onVariableChange());\n\n // Update metrics when item selected from dropdown\n $scope.$on('typeahead-updated', () => {\n this.onTargetBlur();\n });\n\n this.init = function() {\n var target = this.target;\n\n // Migrate old targets\n target = migrations.migrate(target);\n\n var scopeDefaults = {\n metric: {},\n oldTarget: _.cloneDeep(this.target),\n queryOptionsText: this.renderQueryOptionsText()\n };\n _.defaults(this, scopeDefaults);\n\n // Load default values\n var targetDefaults = {\n 'mode': c.MODE_METRICS,\n 'group': { 'filter': \"\" },\n 'host': { 'filter': \"\" },\n 'application': { 'filter': \"\" },\n 'item': { 'filter': \"\" },\n 'functions': [],\n 'triggers': {\n 'count': true,\n 'minSeverity': 3,\n 'acknowledged': 2\n },\n 'options': {\n 'showDisabledItems': false\n }\n };\n _.defaults(target, targetDefaults);\n\n // Create function instances from saved JSON\n target.functions = _.map(target.functions, function(func) {\n return metricFunctions.createFuncInstance(func.def, func.params);\n });\n\n if (target.mode === c.MODE_METRICS ||\n target.mode === c.MODE_TEXT ||\n target.mode === c.MODE_TRIGGERS) {\n this.initFilters();\n }\n else if (target.mode === c.MODE_ITSERVICE) {\n _.defaults(target, {slaProperty: {name: \"SLA\", property: \"sla\"}});\n this.suggestITServices();\n }\n };\n\n this.init();\n this.queryOptionsText = this.renderQueryOptionsText();\n }\n\n initFilters() {\n let itemtype = _.find(this.editorModes, {'mode': this.target.mode});\n itemtype = itemtype ? itemtype.value : null;\n return Promise.all([\n this.suggestGroups(),\n this.suggestHosts(),\n this.suggestApps(),\n this.suggestItems(itemtype)\n ]);\n }\n\n // Get list of metric names for bs-typeahead directive\n getMetricNames(metricList, addAllValue) {\n let metrics = _.uniq(_.map(this.metric[metricList], 'name'));\n\n // Add template variables\n _.forEach(this.templateSrv.variables, variable => {\n metrics.unshift('$' + variable.name);\n });\n\n if (addAllValue) {\n metrics.unshift('/.*/');\n }\n\n return metrics;\n }\n\n getTemplateVariables() {\n return _.map(this.templateSrv.variables, variable => {\n return '$' + variable.name;\n });\n }\n\n suggestGroups() {\n return this.zabbix.getAllGroups()\n .then(groups => {\n this.metric.groupList = groups;\n return groups;\n });\n }\n\n suggestHosts() {\n let groupFilter = this.replaceTemplateVars(this.target.group.filter);\n return this.zabbix.getAllHosts(groupFilter)\n .then(hosts => {\n this.metric.hostList = hosts;\n return hosts;\n });\n }\n\n suggestApps() {\n let groupFilter = this.replaceTemplateVars(this.target.group.filter);\n let hostFilter = this.replaceTemplateVars(this.target.host.filter);\n return this.zabbix.getAllApps(groupFilter, hostFilter)\n .then(apps => {\n this.metric.appList = apps;\n return apps;\n });\n }\n\n suggestItems(itemtype = 'num') {\n let groupFilter = this.replaceTemplateVars(this.target.group.filter);\n let hostFilter = this.replaceTemplateVars(this.target.host.filter);\n let appFilter = this.replaceTemplateVars(this.target.application.filter);\n let options = {\n itemtype: itemtype,\n showDisabledItems: this.target.options.showDisabledItems\n };\n\n return this.zabbix\n .getAllItems(groupFilter, hostFilter, appFilter, options)\n .then(items => {\n this.metric.itemList = items;\n return items;\n });\n }\n\n suggestITServices() {\n return this.zabbix.getITService()\n .then(itservices => {\n this.metric.itServiceList = itservices;\n return itservices;\n });\n }\n\n isRegex(str) {\n return utils.isRegex(str);\n }\n\n isVariable(str) {\n return utils.isTemplateVariable(str, this.templateSrv.variables);\n }\n\n onTargetBlur() {\n var newTarget = _.cloneDeep(this.target);\n if (!_.isEqual(this.oldTarget, this.target)) {\n this.oldTarget = newTarget;\n this.targetChanged();\n }\n }\n\n onVariableChange() {\n if (this.isContainsVariables()) {\n this.targetChanged();\n }\n }\n\n /**\n * Check query for template variables\n */\n isContainsVariables() {\n return _.some(['group', 'host', 'application'], field => {\n if (this.target[field] && this.target[field].filter) {\n return utils.isTemplateVariable(this.target[field].filter, this.templateSrv.variables);\n } else {\n return false;\n }\n });\n }\n\n parseTarget() {\n // Parse target\n }\n\n // Validate target and set validation info\n validateTarget() {\n // validate\n }\n\n targetChanged() {\n this.initFilters();\n this.parseTarget();\n this.panelCtrl.refresh();\n }\n\n addFunction(funcDef) {\n var newFunc = metricFunctions.createFuncInstance(funcDef);\n newFunc.added = true;\n this.target.functions.push(newFunc);\n\n this.moveAliasFuncLast();\n\n if (newFunc.params.length && newFunc.added ||\n newFunc.def.params.length === 0) {\n this.targetChanged();\n }\n }\n\n removeFunction(func) {\n this.target.functions = _.without(this.target.functions, func);\n this.targetChanged();\n }\n\n moveAliasFuncLast() {\n var aliasFunc = _.find(this.target.functions, function(func) {\n return func.def.name === 'alias' ||\n func.def.name === 'aliasByNode' ||\n func.def.name === 'aliasByMetric';\n });\n\n if (aliasFunc) {\n this.target.functions = _.without(this.target.functions, aliasFunc);\n this.target.functions.push(aliasFunc);\n }\n }\n\n toggleQueryOptions() {\n this.showQueryOptions = !this.showQueryOptions;\n }\n\n onQueryOptionChange() {\n this.queryOptionsText = this.renderQueryOptionsText();\n this.onTargetBlur();\n }\n\n renderQueryOptionsText() {\n var optionsMap = {\n showDisabledItems: \"Show disabled items\"\n };\n var options = [];\n _.forOwn(this.target.options, (value, key) => {\n if (value) {\n if (value === true) {\n // Show only option name (if enabled) for boolean options\n options.push(optionsMap[key]);\n } else {\n // Show \"option = value\" for another options\n options.push(optionsMap[key] + \" = \" + value);\n }\n }\n });\n return \"Options: \" + options.join(', ');\n }\n\n /**\n * Switch query editor to specified mode.\n * Modes:\n * 0 - items\n * 1 - IT services\n * 2 - Text metrics\n */\n switchEditorMode(mode) {\n this.target.mode = mode;\n this.init();\n this.targetChanged();\n }\n}\n\n// Set templateUrl as static property\nZabbixQueryController.templateUrl = 'datasource-zabbix/partials/query.editor.html';\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/datasource-zabbix/query.controller.js"],"names":["QueryCtrl","_","c","utils","metricFunctions","migrations","ZabbixQueryController","$scope","$injector","$rootScope","$sce","templateSrv","zabbix","datasource","replaceTemplateVars","editorModes","value","text","mode","MODE_METRICS","MODE_TEXT","MODE_ITSERVICE","MODE_ITEMID","MODE_TRIGGERS","editorMode","METRICS","TEXT","ITSERVICE","ITEMID","TRIGGERS","slaPropertyList","name","property","ackFilters","triggerSeverity","TRIGGER_SEVERITY","getGroupNames","bind","getMetricNames","getHostNames","getApplicationNames","getItemNames","getITServices","getVariables","getTemplateVariables","$on","onVariableChange","onTargetBlur","init","target","migrate","scopeDefaults","metric","oldTarget","cloneDeep","queryOptionsText","renderQueryOptionsText","defaults","targetDefaults","functions","map","func","createFuncInstance","def","params","initFilters","slaProperty","suggestITServices","itemtype","find","Promise","all","suggestGroups","suggestHosts","suggestApps","suggestItems","metricList","addAllValue","metrics","uniq","forEach","variables","unshift","variable","getAllGroups","then","groupList","groups","groupFilter","group","filter","getAllHosts","hostList","hosts","hostFilter","host","getAllApps","appList","apps","appFilter","application","options","showDisabledItems","getAllItems","itemList","items","getITService","itServiceList","itservices","str","isRegex","isTemplateVariable","newTarget","isEqual","targetChanged","isContainsVariables","some","field","parseTarget","panelCtrl","refresh","funcDef","newFunc","added","push","moveAliasFuncLast","length","without","aliasFunc","showQueryOptions","optionsMap","forOwn","key","join","templateUrl"],"mappings":"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","file":"query.controller.js","sourcesContent":["import {QueryCtrl} from 'app/plugins/sdk';\nimport _ from 'lodash';\nimport * as c from './constants';\nimport * as utils from './utils';\nimport * as metricFunctions from './metricFunctions';\nimport * as migrations from './migrations';\n\nimport './add-metric-function.directive';\nimport './metric-function-editor.directive';\n\nexport class ZabbixQueryController extends QueryCtrl {\n\n // ZabbixQueryCtrl constructor\n constructor($scope, $injector, $rootScope, $sce, templateSrv) {\n super($scope, $injector);\n this.zabbix = this.datasource.zabbix;\n\n // Use custom format for template variables\n this.replaceTemplateVars = this.datasource.replaceTemplateVars;\n this.templateSrv = templateSrv;\n\n this.editorModes = [\n {value: 'num', text: 'Metrics', mode: c.MODE_METRICS},\n {value: 'text', text: 'Text', mode: c.MODE_TEXT},\n {value: 'itservice', text: 'IT Services', mode: c.MODE_ITSERVICE},\n {value: 'itemid', text: 'Item ID', mode: c.MODE_ITEMID},\n {value: 'triggers', text: 'Triggers', mode: c.MODE_TRIGGERS}\n ];\n\n this.$scope.editorMode = {\n METRICS: c.MODE_METRICS,\n TEXT: c.MODE_TEXT,\n ITSERVICE: c.MODE_ITSERVICE,\n ITEMID: c.MODE_ITEMID,\n TRIGGERS: c.MODE_TRIGGERS\n };\n\n this.slaPropertyList = [\n {name: \"Status\", property: \"status\"},\n {name: \"SLA\", property: \"sla\"},\n {name: \"OK time\", property: \"okTime\"},\n {name: \"Problem time\", property: \"problemTime\"},\n {name: \"Down time\", property: \"downtimeTime\"}\n ];\n\n this.ackFilters = [\n {text: 'all triggers', value: 2},\n {text: 'unacknowledged', value: 0},\n {text: 'acknowledged', value: 1},\n ];\n\n this.triggerSeverity = c.TRIGGER_SEVERITY;\n\n // Map functions for bs-typeahead\n this.getGroupNames = _.bind(this.getMetricNames, this, 'groupList');\n this.getHostNames = _.bind(this.getMetricNames, this, 'hostList', true);\n this.getApplicationNames = _.bind(this.getMetricNames, this, 'appList');\n this.getItemNames = _.bind(this.getMetricNames, this, 'itemList');\n this.getITServices = _.bind(this.getMetricNames, this, 'itServiceList');\n this.getVariables = _.bind(this.getTemplateVariables, this);\n\n // Update metric suggestion when template variable was changed\n $rootScope.$on('template-variable-value-updated', () => this.onVariableChange());\n\n // Update metrics when item selected from dropdown\n $scope.$on('typeahead-updated', () => {\n this.onTargetBlur();\n });\n\n this.init = function() {\n var target = this.target;\n\n // Migrate old targets\n target = migrations.migrate(target);\n\n var scopeDefaults = {\n metric: {},\n oldTarget: _.cloneDeep(this.target),\n queryOptionsText: this.renderQueryOptionsText()\n };\n _.defaults(this, scopeDefaults);\n\n // Load default values\n var targetDefaults = {\n 'mode': c.MODE_METRICS,\n 'group': { 'filter': \"\" },\n 'host': { 'filter': \"\" },\n 'application': { 'filter': \"\" },\n 'item': { 'filter': \"\" },\n 'functions': [],\n 'triggers': {\n 'count': true,\n 'minSeverity': 3,\n 'acknowledged': 2\n },\n 'options': {\n 'showDisabledItems': false\n }\n };\n _.defaults(target, targetDefaults);\n\n // Create function instances from saved JSON\n target.functions = _.map(target.functions, function(func) {\n return metricFunctions.createFuncInstance(func.def, func.params);\n });\n\n if (target.mode === c.MODE_METRICS ||\n target.mode === c.MODE_TEXT ||\n target.mode === c.MODE_TRIGGERS) {\n this.initFilters();\n }\n else if (target.mode === c.MODE_ITSERVICE) {\n _.defaults(target, {slaProperty: {name: \"SLA\", property: \"sla\"}});\n this.suggestITServices();\n }\n };\n\n this.init();\n this.queryOptionsText = this.renderQueryOptionsText();\n }\n\n initFilters() {\n let itemtype = _.find(this.editorModes, {'mode': this.target.mode});\n itemtype = itemtype ? itemtype.value : null;\n return Promise.all([\n this.suggestGroups(),\n this.suggestHosts(),\n this.suggestApps(),\n this.suggestItems(itemtype)\n ]);\n }\n\n // Get list of metric names for bs-typeahead directive\n getMetricNames(metricList, addAllValue) {\n let metrics = _.uniq(_.map(this.metric[metricList], 'name'));\n\n // Add template variables\n _.forEach(this.templateSrv.variables, variable => {\n metrics.unshift('$' + variable.name);\n });\n\n if (addAllValue) {\n metrics.unshift('/.*/');\n }\n\n return metrics;\n }\n\n getTemplateVariables() {\n return _.map(this.templateSrv.variables, variable => {\n return '$' + variable.name;\n });\n }\n\n suggestGroups() {\n return this.zabbix.getAllGroups()\n .then(groups => {\n this.metric.groupList = groups;\n return groups;\n });\n }\n\n suggestHosts() {\n let groupFilter = this.replaceTemplateVars(this.target.group.filter);\n return this.zabbix.getAllHosts(groupFilter)\n .then(hosts => {\n this.metric.hostList = hosts;\n return hosts;\n });\n }\n\n suggestApps() {\n let groupFilter = this.replaceTemplateVars(this.target.group.filter);\n let hostFilter = this.replaceTemplateVars(this.target.host.filter);\n return this.zabbix.getAllApps(groupFilter, hostFilter)\n .then(apps => {\n this.metric.appList = apps;\n return apps;\n });\n }\n\n suggestItems(itemtype = 'num') {\n let groupFilter = this.replaceTemplateVars(this.target.group.filter);\n let hostFilter = this.replaceTemplateVars(this.target.host.filter);\n let appFilter = this.replaceTemplateVars(this.target.application.filter);\n let options = {\n itemtype: itemtype,\n showDisabledItems: this.target.options.showDisabledItems\n };\n\n return this.zabbix\n .getAllItems(groupFilter, hostFilter, appFilter, options)\n .then(items => {\n this.metric.itemList = items;\n return items;\n });\n }\n\n suggestITServices() {\n return this.zabbix.getITService()\n .then(itservices => {\n this.metric.itServiceList = itservices;\n return itservices;\n });\n }\n\n isRegex(str) {\n return utils.isRegex(str);\n }\n\n isVariable(str) {\n return utils.isTemplateVariable(str, this.templateSrv.variables);\n }\n\n onTargetBlur() {\n var newTarget = _.cloneDeep(this.target);\n if (!_.isEqual(this.oldTarget, this.target)) {\n this.oldTarget = newTarget;\n this.targetChanged();\n }\n }\n\n onVariableChange() {\n if (this.isContainsVariables()) {\n this.targetChanged();\n }\n }\n\n /**\n * Check query for template variables\n */\n isContainsVariables() {\n return _.some(['group', 'host', 'application'], field => {\n if (this.target[field] && this.target[field].filter) {\n return utils.isTemplateVariable(this.target[field].filter, this.templateSrv.variables);\n } else {\n return false;\n }\n });\n }\n\n parseTarget() {\n // Parse target\n }\n\n // Validate target and set validation info\n validateTarget() {\n // validate\n }\n\n targetChanged() {\n this.initFilters();\n this.parseTarget();\n this.panelCtrl.refresh();\n }\n\n addFunction(funcDef) {\n var newFunc = metricFunctions.createFuncInstance(funcDef);\n newFunc.added = true;\n this.target.functions.push(newFunc);\n\n this.moveAliasFuncLast();\n\n if (newFunc.params.length && newFunc.added ||\n newFunc.def.params.length === 0) {\n this.targetChanged();\n }\n }\n\n removeFunction(func) {\n this.target.functions = _.without(this.target.functions, func);\n this.targetChanged();\n }\n\n moveAliasFuncLast() {\n var aliasFunc = _.find(this.target.functions, function(func) {\n return func.def.name === 'alias' ||\n func.def.name === 'aliasByNode' ||\n func.def.name === 'aliasByMetric';\n });\n\n if (aliasFunc) {\n this.target.functions = _.without(this.target.functions, aliasFunc);\n this.target.functions.push(aliasFunc);\n }\n }\n\n toggleQueryOptions() {\n this.showQueryOptions = !this.showQueryOptions;\n }\n\n onQueryOptionChange() {\n this.queryOptionsText = this.renderQueryOptionsText();\n this.onTargetBlur();\n }\n\n renderQueryOptionsText() {\n var optionsMap = {\n showDisabledItems: \"Show disabled items\"\n };\n var options = [];\n _.forOwn(this.target.options, (value, key) => {\n if (value) {\n if (value === true) {\n // Show only option name (if enabled) for boolean options\n options.push(optionsMap[key]);\n } else {\n // Show \"option = value\" for another options\n options.push(optionsMap[key] + \" = \" + value);\n }\n }\n });\n return \"Options: \" + options.join(', ');\n }\n\n /**\n * Switch query editor to specified mode.\n * Modes:\n * 0 - items\n * 1 - IT services\n * 2 - Text metrics\n */\n switchEditorMode(mode) {\n this.target.mode = mode;\n this.init();\n this.targetChanged();\n }\n}\n\n// Set templateUrl as static property\nZabbixQueryController.templateUrl = 'datasource-zabbix/partials/query.editor.html';\n"]} \ No newline at end of file diff --git a/dist/panel-triggers/module.js b/dist/panel-triggers/module.js index be3f5da..bed75f4 100644 --- a/dist/panel-triggers/module.js +++ b/dist/panel-triggers/module.js @@ -1,6 +1,6 @@ 'use strict'; -System.register(['./triggers_panel_ctrl', 'app/plugins/sdk', './ack-tooltip.directive'], function (_export, _context) { +System.register(['./triggers_panel_ctrl', 'app/plugins/sdk', './datasource-selector.directive', './ack-tooltip.directive'], function (_export, _context) { "use strict"; var TriggerPanelCtrl, loadPluginCss; @@ -9,24 +9,25 @@ System.register(['./triggers_panel_ctrl', 'app/plugins/sdk', './ack-tooltip.dire TriggerPanelCtrl = _triggers_panel_ctrl.TriggerPanelCtrl; }, function (_appPluginsSdk) { loadPluginCss = _appPluginsSdk.loadPluginCss; - }, function (_ackTooltipDirective) {}], + }, function (_datasourceSelectorDirective) {}, function (_ackTooltipDirective) {}], execute: function () { + /** + * Grafana-Zabbix + * Zabbix plugin for Grafana. + * http://github.com/alexanderzobnin/grafana-zabbix + * + * Trigger panel. + * This feature sponsored by CORE IT + * http://www.coreit.fr + * + * Copyright 2015 Alexander Zobnin alexanderzobnin@gmail.com + * Licensed under the Apache License, Version 2.0 + */ loadPluginCss({ dark: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.dark.css', light: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.light.css' - }); /** - * Grafana-Zabbix - * Zabbix plugin for Grafana. - * http://github.com/alexanderzobnin/grafana-zabbix - * - * Trigger panel. - * This feature sponsored by CORE IT - * http://www.coreit.fr - * - * Copyright 2015 Alexander Zobnin alexanderzobnin@gmail.com - * Licensed under the Apache License, Version 2.0 - */ + }); _export('PanelCtrl', TriggerPanelCtrl); } diff --git a/dist/panel-triggers/module.js.map b/dist/panel-triggers/module.js.map index e38db54..a82ed21 100644 --- a/dist/panel-triggers/module.js.map +++ b/dist/panel-triggers/module.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/panel-triggers/module.js"],"names":["TriggerPanelCtrl","loadPluginCss","dark","light"],"mappings":";;;;;;;;AAaQA,sB,wBAAAA,gB;;AACAC,mB,kBAAAA,a;;;;AAGRA,oBAAc;AACZC,cAAM,gEADM;AAEZC,eAAO;AAFK,OAAd,E,CAjBA;;;;;;;;;;;;;2BAuBEH,gB","file":"module.js","sourcesContent":["/**\n * Grafana-Zabbix\n * Zabbix plugin for Grafana.\n * http://github.com/alexanderzobnin/grafana-zabbix\n *\n * Trigger panel.\n * This feature sponsored by CORE IT\n * http://www.coreit.fr\n *\n * Copyright 2015 Alexander Zobnin alexanderzobnin@gmail.com\n * Licensed under the Apache License, Version 2.0\n */\n\nimport {TriggerPanelCtrl} from './triggers_panel_ctrl';\nimport {loadPluginCss} from 'app/plugins/sdk';\nimport './ack-tooltip.directive';\n\nloadPluginCss({\n dark: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.dark.css',\n light: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.light.css'\n});\n\nexport {\n TriggerPanelCtrl as PanelCtrl\n};\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/panel-triggers/module.js"],"names":["TriggerPanelCtrl","loadPluginCss","dark","light"],"mappings":";;;;;;;;AAaQA,sB,wBAAAA,gB;;AACAC,mB,kBAAAA,a;;;AAdR;;;;;;;;;;;;;AAkBAA,oBAAc;AACZC,cAAM,gEADM;AAEZC,eAAO;AAFK,OAAd;;2BAMEH,gB","file":"module.js","sourcesContent":["/**\n * Grafana-Zabbix\n * Zabbix plugin for Grafana.\n * http://github.com/alexanderzobnin/grafana-zabbix\n *\n * Trigger panel.\n * This feature sponsored by CORE IT\n * http://www.coreit.fr\n *\n * Copyright 2015 Alexander Zobnin alexanderzobnin@gmail.com\n * Licensed under the Apache License, Version 2.0\n */\n\nimport {TriggerPanelCtrl} from './triggers_panel_ctrl';\nimport {loadPluginCss} from 'app/plugins/sdk';\nimport './datasource-selector.directive';\nimport './ack-tooltip.directive';\n\nloadPluginCss({\n dark: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.dark.css',\n light: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.light.css'\n});\n\nexport {\n TriggerPanelCtrl as PanelCtrl\n};\n"]} \ No newline at end of file diff --git a/dist/panel-triggers/options_tab.js b/dist/panel-triggers/options_tab.js index 74d0960..9173866 100644 --- a/dist/panel-triggers/options_tab.js +++ b/dist/panel-triggers/options_tab.js @@ -1,9 +1,9 @@ 'use strict'; -System.register(['lodash', './datasource-selector.directive', '../datasource-zabbix/css/query-editor.css!'], function (_export, _context) { +System.register([], function (_export, _context) { "use strict"; - var _, TriggerPanelOptionsCtrl; + var TriggerPanelOptionsCtrl; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { @@ -23,9 +23,7 @@ System.register(['lodash', './datasource-selector.directive', '../datasource-zab _export('triggerPanelOptionsTab', triggerPanelOptionsTab); return { - setters: [function (_lodash) { - _ = _lodash.default; - }, function (_datasourceSelectorDirective) {}, function (_datasourceZabbixCssQueryEditorCss) {}], + setters: [], execute: function () { TriggerPanelOptionsCtrl = diff --git a/dist/panel-triggers/options_tab.js.map b/dist/panel-triggers/options_tab.js.map index 033bf1d..f738708 100644 --- a/dist/panel-triggers/options_tab.js.map +++ b/dist/panel-triggers/options_tab.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/panel-triggers/options_tab.js"],"names":["triggerPanelOptionsTab","restrict","scope","templateUrl","controller","TriggerPanelOptionsCtrl","_","$scope","editor","panelCtrl","ctrl","panel","fontSizes","ackFilters","sortByFields","text","value","showEventsFields"],"mappings":";;;;;;;;;;;;;AA4CO,WAASA,sBAAT,GAAkC;AACvC,WAAO;AACLC,gBAAU,GADL;AAELC,aAAO,IAFF;AAGLC,mBAAa,oFAHR;AAILC,kBAAYC;AAJP,KAAP;AAMD;;oCAPeL,sB;;;;AA/BTM,O;;;AAKDD,6B;;AAEJ;AACA,uCAAYE,MAAZ,EAAoB;AAAA;;AAClBA,eAAOC,MAAP,GAAgB,IAAhB;AACA,aAAKC,SAAL,GAAiBF,OAAOG,IAAxB;AACA,aAAKC,KAAL,GAAa,KAAKF,SAAL,CAAeE,KAA5B;;AAEA,aAAKC,SAAL,GAAiB,CAAC,KAAD,EAAQ,KAAR,EAAe,MAAf,EAAuB,MAAvB,EAA+B,MAA/B,EAAuC,MAAvC,EAA+C,MAA/C,EAAuD,MAAvD,EAA+D,MAA/D,EAAuE,MAAvE,EAA+E,MAA/E,EAAuF,MAAvF,CAAjB;AACA,aAAKC,UAAL,GAAkB,CAChB,cADgB,EAEhB,gBAFgB,EAGhB,cAHgB,CAAlB;AAKA,aAAKC,YAAL,GAAoB,CAClB,EAAEC,MAAM,aAAR,EAAwBC,OAAO,YAA/B,EADkB,EAElB,EAAED,MAAM,UAAR,EAAwBC,OAAO,UAA/B,EAFkB,CAApB;AAIA,aAAKC,gBAAL,GAAwB,CACtB,EAAEF,MAAM,KAAR,EAAmBC,OAAO,CAAC,CAAD,EAAG,CAAH,CAA1B,EADsB,EAEtB,EAAED,MAAM,IAAR,EAAmBC,OAAO,CAAC,CAAD,CAA1B,EAFsB,EAGtB,EAAED,MAAM,UAAR,EAAoBC,OAAO,CAA3B,EAHsB,CAAxB;AAKD,O","file":"options_tab.js","sourcesContent":["/**\n * Grafana-Zabbix\n * Zabbix plugin for Grafana.\n * http://github.com/alexanderzobnin/grafana-zabbix\n *\n * Trigger panel.\n * This feature sponsored by CORE IT\n * http://www.coreit.fr\n *\n * Copyright 2015 Alexander Zobnin alexanderzobnin@gmail.com\n * Licensed under the Apache License, Version 2.0\n */\n\nimport _ from 'lodash';\nimport './datasource-selector.directive';\n\nimport '../datasource-zabbix/css/query-editor.css!';\n\nclass TriggerPanelOptionsCtrl {\n\n /** @ngInject */\n constructor($scope) {\n $scope.editor = this;\n this.panelCtrl = $scope.ctrl;\n this.panel = this.panelCtrl.panel;\n\n this.fontSizes = ['80%', '90%', '100%', '110%', '120%', '130%', '150%', '160%', '180%', '200%', '220%', '250%'];\n this.ackFilters = [\n 'all triggers',\n 'unacknowledged',\n 'acknowledged'\n ];\n this.sortByFields = [\n { text: 'last change', value: 'lastchange' },\n { text: 'severity', value: 'priority' }\n ];\n this.showEventsFields = [\n { text: 'All', value: [0,1] },\n { text: 'OK', value: [0] },\n { text: 'Problems', value: 1 }\n ];\n }\n}\n\nexport function triggerPanelOptionsTab() {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'public/plugins/alexanderzobnin-zabbix-app/panel-triggers/partials/options_tab.html',\n controller: TriggerPanelOptionsCtrl,\n };\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/panel-triggers/options_tab.js"],"names":["triggerPanelOptionsTab","restrict","scope","templateUrl","controller","TriggerPanelOptionsCtrl","$scope","editor","panelCtrl","ctrl","panel","fontSizes","ackFilters","sortByFields","text","value","showEventsFields"],"mappings":";;;;;;;;;;;;;AAuCO,WAASA,sBAAT,GAAkC;AACvC,WAAO;AACLC,gBAAU,GADL;AAELC,aAAO,IAFF;AAGLC,mBAAa,oFAHR;AAILC,kBAAYC;AAJP,KAAP;AAMD;;oCAPeL,sB;;;;;AA1BVK,6B;;AAEJ;AACA,uCAAYC,MAAZ,EAAoB;AAAA;;AAClBA,eAAOC,MAAP,GAAgB,IAAhB;AACA,aAAKC,SAAL,GAAiBF,OAAOG,IAAxB;AACA,aAAKC,KAAL,GAAa,KAAKF,SAAL,CAAeE,KAA5B;;AAEA,aAAKC,SAAL,GAAiB,CAAC,KAAD,EAAQ,KAAR,EAAe,MAAf,EAAuB,MAAvB,EAA+B,MAA/B,EAAuC,MAAvC,EAA+C,MAA/C,EAAuD,MAAvD,EAA+D,MAA/D,EAAuE,MAAvE,EAA+E,MAA/E,EAAuF,MAAvF,CAAjB;AACA,aAAKC,UAAL,GAAkB,CAChB,cADgB,EAEhB,gBAFgB,EAGhB,cAHgB,CAAlB;AAKA,aAAKC,YAAL,GAAoB,CAClB,EAAEC,MAAM,aAAR,EAAwBC,OAAO,YAA/B,EADkB,EAElB,EAAED,MAAM,UAAR,EAAwBC,OAAO,UAA/B,EAFkB,CAApB;AAIA,aAAKC,gBAAL,GAAwB,CACtB,EAAEF,MAAM,KAAR,EAAmBC,OAAO,CAAC,CAAD,EAAG,CAAH,CAA1B,EADsB,EAEtB,EAAED,MAAM,IAAR,EAAmBC,OAAO,CAAC,CAAD,CAA1B,EAFsB,EAGtB,EAAED,MAAM,UAAR,EAAoBC,OAAO,CAA3B,EAHsB,CAAxB;AAKD,O","file":"options_tab.js","sourcesContent":["/**\n * Grafana-Zabbix\n * Zabbix plugin for Grafana.\n * http://github.com/alexanderzobnin/grafana-zabbix\n *\n * Trigger panel.\n * This feature sponsored by CORE IT\n * http://www.coreit.fr\n *\n * Copyright 2015 Alexander Zobnin alexanderzobnin@gmail.com\n * Licensed under the Apache License, Version 2.0\n */\n\nclass TriggerPanelOptionsCtrl {\n\n /** @ngInject */\n constructor($scope) {\n $scope.editor = this;\n this.panelCtrl = $scope.ctrl;\n this.panel = this.panelCtrl.panel;\n\n this.fontSizes = ['80%', '90%', '100%', '110%', '120%', '130%', '150%', '160%', '180%', '200%', '220%', '250%'];\n this.ackFilters = [\n 'all triggers',\n 'unacknowledged',\n 'acknowledged'\n ];\n this.sortByFields = [\n { text: 'last change', value: 'lastchange' },\n { text: 'severity', value: 'priority' }\n ];\n this.showEventsFields = [\n { text: 'All', value: [0,1] },\n { text: 'OK', value: [0] },\n { text: 'Problems', value: 1 }\n ];\n }\n}\n\nexport function triggerPanelOptionsTab() {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'public/plugins/alexanderzobnin-zabbix-app/panel-triggers/partials/options_tab.html',\n controller: TriggerPanelOptionsCtrl,\n };\n}\n"]} \ No newline at end of file diff --git a/dist/panel-triggers/triggers_tab.js b/dist/panel-triggers/triggers_tab.js index 2a7147f..0221548 100644 --- a/dist/panel-triggers/triggers_tab.js +++ b/dist/panel-triggers/triggers_tab.js @@ -1,6 +1,6 @@ 'use strict'; -System.register(['lodash', '../datasource-zabbix/utils', './datasource-selector.directive', '../datasource-zabbix/css/query-editor.css!', './triggers_panel_ctrl'], function (_export, _context) { +System.register(['lodash', '../datasource-zabbix/utils', './triggers_panel_ctrl'], function (_export, _context) { "use strict"; var _, utils, DEFAULT_TARGET, _createClass, TriggersTabCtrl; @@ -27,7 +27,7 @@ System.register(['lodash', '../datasource-zabbix/utils', './datasource-selector. _ = _lodash.default; }, function (_datasourceZabbixUtils) { utils = _datasourceZabbixUtils; - }, function (_datasourceSelectorDirective) {}, function (_datasourceZabbixCssQueryEditorCss) {}, function (_triggers_panel_ctrl) { + }, function (_triggers_panel_ctrl) { DEFAULT_TARGET = _triggers_panel_ctrl.DEFAULT_TARGET; }], execute: function () { diff --git a/dist/panel-triggers/triggers_tab.js.map b/dist/panel-triggers/triggers_tab.js.map index f6f3e98..cbe6e1d 100644 --- a/dist/panel-triggers/triggers_tab.js.map +++ b/dist/panel-triggers/triggers_tab.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/panel-triggers/triggers_tab.js"],"names":["triggerPanelTriggersTab","restrict","scope","templateUrl","controller","TriggersTabCtrl","_","utils","DEFAULT_TARGET","$scope","$rootScope","uiSegmentSrv","templateSrv","editor","panelCtrl","ctrl","panel","datasources","scopeDefaults","getGroupNames","getHostNames","getApplicationNames","oldTarget","cloneDeep","targets","defaultsDeep","initDatasources","refresh","then","each","datasource","bindSuggestionFunctions","ds","name","bind","suggestGroups","suggestHosts","suggestApps","query","callback","zabbix","getAllGroups","map","groups","groupFilter","replaceTemplateVars","group","filter","getAllHosts","hosts","hostFilter","host","getAllApps","apps","parseTarget","newTarget","isEqual","str","isRegex","isTemplateVariable","variables"],"mappings":"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","file":"triggers_tab.js","sourcesContent":["import _ from 'lodash';\nimport * as utils from '../datasource-zabbix/utils';\nimport './datasource-selector.directive';\nimport '../datasource-zabbix/css/query-editor.css!';\nimport {DEFAULT_TARGET} from './triggers_panel_ctrl';\n\nclass TriggersTabCtrl {\n\n /** @ngInject */\n constructor($scope, $rootScope, uiSegmentSrv, templateSrv) {\n $scope.editor = this;\n this.panelCtrl = $scope.ctrl;\n this.panel = this.panelCtrl.panel;\n this.templateSrv = templateSrv;\n this.datasources = this.panelCtrl.datasources;\n\n // Load scope defaults\n var scopeDefaults = {\n getGroupNames: {},\n getHostNames: {},\n getApplicationNames: {},\n oldTarget: _.cloneDeep(this.panel.targets)\n };\n _.defaultsDeep(this, scopeDefaults);\n\n this.initDatasources();\n this.panelCtrl.refresh();\n }\n\n initDatasources() {\n return this.panelCtrl.initDatasources()\n .then((datasources) => {\n _.each(datasources, (datasource) => {\n this.bindSuggestionFunctions(datasource);\n });\n });\n }\n\n bindSuggestionFunctions(datasource) {\n // Map functions for bs-typeahead\n let ds = datasource.name;\n this.getGroupNames[ds] = _.bind(this.suggestGroups, this, datasource);\n this.getHostNames[ds] = _.bind(this.suggestHosts, this, datasource);\n this.getApplicationNames[ds] = _.bind(this.suggestApps, this, datasource);\n }\n\n suggestGroups(datasource, query, callback) {\n return datasource.zabbix.getAllGroups()\n .then(groups => {\n return _.map(groups, 'name');\n })\n .then(callback);\n }\n\n suggestHosts(datasource, query, callback) {\n let groupFilter = datasource.replaceTemplateVars(this.panel.targets[datasource.name].group.filter);\n return datasource.zabbix.getAllHosts(groupFilter)\n .then(hosts => {\n return _.map(hosts, 'name');\n })\n .then(callback);\n }\n\n suggestApps(datasource, query, callback) {\n let groupFilter = datasource.replaceTemplateVars(this.panel.targets[datasource.name].group.filter);\n let hostFilter = datasource.replaceTemplateVars(this.panel.targets[datasource.name].host.filter);\n return datasource.zabbix.getAllApps(groupFilter, hostFilter)\n .then(apps => {\n return _.map(apps, 'name');\n })\n .then(callback);\n }\n\n datasourcesChanged() {\n _.each(this.panel.datasources, (ds) => {\n if (!this.panel.targets[ds]) {\n this.panel.targets[ds] = DEFAULT_TARGET;\n }\n });\n this.parseTarget();\n }\n\n parseTarget() {\n this.initDatasources()\n .then(() => {\n var newTarget = _.cloneDeep(this.panel.targets);\n if (!_.isEqual(this.oldTarget, newTarget)) {\n this.oldTarget = newTarget;\n }\n this.panelCtrl.refresh();\n });\n }\n\n isRegex(str) {\n return utils.isRegex(str);\n }\n\n isVariable(str) {\n return utils.isTemplateVariable(str, this.templateSrv.variables);\n }\n}\n\nexport function triggerPanelTriggersTab() {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'public/plugins/alexanderzobnin-zabbix-app/panel-triggers/partials/triggers_tab.html',\n controller: TriggersTabCtrl,\n };\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../../src/panel-triggers/triggers_tab.js"],"names":["triggerPanelTriggersTab","restrict","scope","templateUrl","controller","TriggersTabCtrl","_","utils","DEFAULT_TARGET","$scope","$rootScope","uiSegmentSrv","templateSrv","editor","panelCtrl","ctrl","panel","datasources","scopeDefaults","getGroupNames","getHostNames","getApplicationNames","oldTarget","cloneDeep","targets","defaultsDeep","initDatasources","refresh","then","each","datasource","bindSuggestionFunctions","ds","name","bind","suggestGroups","suggestHosts","suggestApps","query","callback","zabbix","getAllGroups","map","groups","groupFilter","replaceTemplateVars","group","filter","getAllHosts","hosts","hostFilter","host","getAllApps","apps","parseTarget","newTarget","isEqual","str","isRegex","isTemplateVariable","variables"],"mappings":"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","file":"triggers_tab.js","sourcesContent":["import _ from 'lodash';\nimport * as utils from '../datasource-zabbix/utils';\nimport {DEFAULT_TARGET} from './triggers_panel_ctrl';\n\nclass TriggersTabCtrl {\n\n /** @ngInject */\n constructor($scope, $rootScope, uiSegmentSrv, templateSrv) {\n $scope.editor = this;\n this.panelCtrl = $scope.ctrl;\n this.panel = this.panelCtrl.panel;\n this.templateSrv = templateSrv;\n this.datasources = this.panelCtrl.datasources;\n\n // Load scope defaults\n var scopeDefaults = {\n getGroupNames: {},\n getHostNames: {},\n getApplicationNames: {},\n oldTarget: _.cloneDeep(this.panel.targets)\n };\n _.defaultsDeep(this, scopeDefaults);\n\n this.initDatasources();\n this.panelCtrl.refresh();\n }\n\n initDatasources() {\n return this.panelCtrl.initDatasources()\n .then((datasources) => {\n _.each(datasources, (datasource) => {\n this.bindSuggestionFunctions(datasource);\n });\n });\n }\n\n bindSuggestionFunctions(datasource) {\n // Map functions for bs-typeahead\n let ds = datasource.name;\n this.getGroupNames[ds] = _.bind(this.suggestGroups, this, datasource);\n this.getHostNames[ds] = _.bind(this.suggestHosts, this, datasource);\n this.getApplicationNames[ds] = _.bind(this.suggestApps, this, datasource);\n }\n\n suggestGroups(datasource, query, callback) {\n return datasource.zabbix.getAllGroups()\n .then(groups => {\n return _.map(groups, 'name');\n })\n .then(callback);\n }\n\n suggestHosts(datasource, query, callback) {\n let groupFilter = datasource.replaceTemplateVars(this.panel.targets[datasource.name].group.filter);\n return datasource.zabbix.getAllHosts(groupFilter)\n .then(hosts => {\n return _.map(hosts, 'name');\n })\n .then(callback);\n }\n\n suggestApps(datasource, query, callback) {\n let groupFilter = datasource.replaceTemplateVars(this.panel.targets[datasource.name].group.filter);\n let hostFilter = datasource.replaceTemplateVars(this.panel.targets[datasource.name].host.filter);\n return datasource.zabbix.getAllApps(groupFilter, hostFilter)\n .then(apps => {\n return _.map(apps, 'name');\n })\n .then(callback);\n }\n\n datasourcesChanged() {\n _.each(this.panel.datasources, (ds) => {\n if (!this.panel.targets[ds]) {\n this.panel.targets[ds] = DEFAULT_TARGET;\n }\n });\n this.parseTarget();\n }\n\n parseTarget() {\n this.initDatasources()\n .then(() => {\n var newTarget = _.cloneDeep(this.panel.targets);\n if (!_.isEqual(this.oldTarget, newTarget)) {\n this.oldTarget = newTarget;\n }\n this.panelCtrl.refresh();\n });\n }\n\n isRegex(str) {\n return utils.isRegex(str);\n }\n\n isVariable(str) {\n return utils.isTemplateVariable(str, this.templateSrv.variables);\n }\n}\n\nexport function triggerPanelTriggersTab() {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'public/plugins/alexanderzobnin-zabbix-app/panel-triggers/partials/triggers_tab.html',\n controller: TriggersTabCtrl,\n };\n}\n"]} \ No newline at end of file diff --git a/src/datasource-zabbix/css/query-editor.css b/src/datasource-zabbix/css/query-editor.css deleted file mode 100644 index 3edd27d..0000000 --- a/src/datasource-zabbix/css/query-editor.css +++ /dev/null @@ -1,7 +0,0 @@ -.zbx-regex { - color: #CCA300; -} - -.zbx-variable { - color: #33B5E5; -} diff --git a/src/datasource-zabbix/module.js b/src/datasource-zabbix/module.js index 2913139..248ba77 100644 --- a/src/datasource-zabbix/module.js +++ b/src/datasource-zabbix/module.js @@ -1,7 +1,13 @@ +import {loadPluginCss} from 'app/plugins/sdk'; import {ZabbixAPIDatasource} from './datasource'; import {ZabbixQueryController} from './query.controller'; import {ZabbixDSConfigController} from './config.controller'; +loadPluginCss({ + dark: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.dark.css', + light: 'plugins/alexanderzobnin-zabbix-app/css/grafana-zabbix.light.css' +}); + class ZabbixQueryOptionsController {} ZabbixQueryOptionsController.templateUrl = 'datasource-zabbix/partials/query.options.html'; diff --git a/src/datasource-zabbix/query.controller.js b/src/datasource-zabbix/query.controller.js index 405610e..afd801d 100644 --- a/src/datasource-zabbix/query.controller.js +++ b/src/datasource-zabbix/query.controller.js @@ -8,8 +8,6 @@ import * as migrations from './migrations'; import './add-metric-function.directive'; import './metric-function-editor.directive'; -import './css/query-editor.css!'; - export class ZabbixQueryController extends QueryCtrl { // ZabbixQueryCtrl constructor diff --git a/src/panel-triggers/module.js b/src/panel-triggers/module.js index 329bd74..678cd13 100644 --- a/src/panel-triggers/module.js +++ b/src/panel-triggers/module.js @@ -13,6 +13,7 @@ import {TriggerPanelCtrl} from './triggers_panel_ctrl'; import {loadPluginCss} from 'app/plugins/sdk'; +import './datasource-selector.directive'; import './ack-tooltip.directive'; loadPluginCss({ diff --git a/src/panel-triggers/options_tab.js b/src/panel-triggers/options_tab.js index 68c9304..e5ac26e 100644 --- a/src/panel-triggers/options_tab.js +++ b/src/panel-triggers/options_tab.js @@ -11,11 +11,6 @@ * Licensed under the Apache License, Version 2.0 */ -import _ from 'lodash'; -import './datasource-selector.directive'; - -import '../datasource-zabbix/css/query-editor.css!'; - class TriggerPanelOptionsCtrl { /** @ngInject */ diff --git a/src/panel-triggers/triggers_tab.js b/src/panel-triggers/triggers_tab.js index c033152..1c74d4e 100644 --- a/src/panel-triggers/triggers_tab.js +++ b/src/panel-triggers/triggers_tab.js @@ -1,7 +1,5 @@ import _ from 'lodash'; import * as utils from '../datasource-zabbix/utils'; -import './datasource-selector.directive'; -import '../datasource-zabbix/css/query-editor.css!'; import {DEFAULT_TARGET} from './triggers_panel_ctrl'; class TriggersTabCtrl { diff --git a/src/sass/_query_editor.scss b/src/sass/_query_editor.scss new file mode 100644 index 0000000..17c1099 --- /dev/null +++ b/src/sass/_query_editor.scss @@ -0,0 +1,7 @@ +.zbx-regex { + color: $regex; +} + +.zbx-variable { + color: $variable; +} diff --git a/src/sass/_variables.dark.scss b/src/sass/_variables.dark.scss index f824dbe..6fd203e 100644 --- a/src/sass/_variables.dark.scss +++ b/src/sass/_variables.dark.scss @@ -19,15 +19,16 @@ $white: #fff; // Accent colors // ------------------------- -$blue: #33B5E5; -$blue-dark: #005f81; -$green: #609000; -$red: #CC3900; -$yellow: #ECBB13; -$orange: #eb7b18; -$pink: #FF4444; -$purple: #9933CC; -$variable: #32D1DF; +$blue: #33b5e5; +$bluedark: #005f81; +$green: #299c46; +$red: #d44a3a; +$yellow: #ecbb13; +$pink: #ff4444; +$purple: #9933cc; +$orange: #eb7b18; +$variable: #32d1df; +$regex: #d69e2e; $body-bg: rgb(20,20,20); $body-color: $gray-4; diff --git a/src/sass/_variables.light.scss b/src/sass/_variables.light.scss index 7159f22..4f96466 100644 --- a/src/sass/_variables.light.scss +++ b/src/sass/_variables.light.scss @@ -18,15 +18,16 @@ $white: #fff; // Accent colors // ------------------------- -$blue: #2AB2E4; -$blue-dark: #3CAAD6; -$green: #28B62C; -$red: #FF4136; -$yellow: #FF851B; -$orange: #Ff7941; -$pink: #E671B8; -$purple: #9954BB; -$variable: #2AB2E4; +$blue: #1ca4d6; +$blue-dark: #3caad6; +$green: #3aa655; +$red: #d44939; +$yellow: #ff851b; +$orange: #ff7941; +$pink: #e671b8; +$purple: #9954bb; +$variable: $blue; +$regex: #aa7b1d; $body-bg : $white; $body-color: $gray-1; diff --git a/src/sass/grafana-zabbix.scss b/src/sass/grafana-zabbix.scss index 495c0ac..e340307 100644 --- a/src/sass/grafana-zabbix.scss +++ b/src/sass/grafana-zabbix.scss @@ -1,2 +1,3 @@ @import 'variables'; @import 'panel-triggers'; +@import 'query_editor'; diff --git a/src/test-setup/jest-setup.js b/src/test-setup/jest-setup.js index 439e185..d4202c4 100644 --- a/src/test-setup/jest-setup.js +++ b/src/test-setup/jest-setup.js @@ -41,10 +41,6 @@ jest.mock('app/core/table_model', () => { return {}; }, {virtual: true}); -jest.mock('./css/query-editor.css!', () => { - return ""; -}, {virtual: true}); - jest.mock('jquery', () => 'module not found', {virtual: true}); // Required for loading angularjs