mirror of
https://github.com/alerta/alerta-webui.git
synced 2025-03-16 21:43:29 +00:00
1 line
No EOL
10 KiB
Text
1 line
No EOL
10 KiB
Text
{"version":3,"sources":["webpack:///./src/components/AlertIndicator.vue?8412","webpack:///./src/components/AlertIndicator.vue","webpack:///src/components/AlertIndicator.vue","webpack:///./src/components/AlertIndicator.vue?f008","webpack:///./src/components/AlertIndicator.vue?0bfc"],"names":["staticClass","style","attrs","$config","severity","_vm","staticRenderFns","props","title","type","String","default","query","Array","Object","data","counts","openCounts","maxSeverity","timer","computed","isDark","$store","getters","getPreference","refresh","state","refreshInterval","getConfig","watch","val","getMostSevere","getCounts","created","cancelTimer","refreshCounts","beforeDestroy","methods","selectAsi","setSearch","URLSearchParams","setFilter","refreshList","dispatch","filter","environment","get","text","status","has","getAll","customer","service","group","severityColor","_this","AlertsApi","then","response","severityCounts","_this2","paramsWithOpenStatus","append","alarm_model","defaults","normal_severity","_step","_iterator","_createForOfIteratorHelper","indicators","s","n","done","sev","value","err","e","f","_this3","setTimeout","_this4","clearTimeout","component"],"mappings":"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","file":"js/chunk-5f0ed7a2.df606ab9.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertIndicator.vue?vue&type=style&index=0&id=2fffb3c6&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"alert-indicator\",on:{\"click\":function($event){return _vm.selectAsi()}}},[_c('v-card-text',{staticClass:\"pa-0\",style:({ 'background-color': _vm.severityColor(_vm.maxSeverity) })},[_c('div',{staticClass:\"text-uppercase text-xs-center py-2\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])]),_c('v-card-actions',{staticClass:\"pa-0 mx-0\",style:({ 'background-color': _vm.isDark ? '' : '#F5F5F5' })},[_c('v-layout',[_c('v-flex',[_c('div',{staticClass:\"counts-container\"},[(_vm.counts)?_c('v-layout',{attrs:{\"align-start\":\"\",\"justify-space-between\":\"\"}},_vm._l((_vm.$config.indicators.severity),function(severity){return _c('div',{key:severity,staticClass:\"count text-xs-center py-2\",style:({ 'background-color': _vm.severityColor(severity) })},[_vm._v(\" \"+_vm._s(_vm.counts[severity] || 0)+\" \")])}),0):_vm._e()],1)])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <v-card\n class=\"alert-indicator\"\n @click=\"selectAsi()\"\n >\n <v-card-text\n class=\"pa-0\"\n :style=\"{ 'background-color': severityColor(maxSeverity) }\"\n >\n <div\n class=\"text-uppercase text-xs-center py-2\"\n >\n {{ title }}\n </div>\n </v-card-text>\n\n <v-card-actions\n class=\"pa-0 mx-0\"\n :style=\"{ 'background-color': isDark ? '' : '#F5F5F5' }\"\n >\n <v-layout>\n <v-flex>\n <div\n class=\"counts-container\"\n >\n <v-layout\n v-if=\"counts\"\n align-start\n justify-space-between\n >\n <div\n v-for=\"severity in $config.indicators.severity\"\n :key=\"severity\"\n class=\"count text-xs-center py-2\"\n :style=\"{ 'background-color': severityColor(severity) }\"\n >\n {{ counts[severity] || 0 }}\n </div>\n </v-layout>\n </div>\n </v-flex>\n </v-layout>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport AlertsApi from '../services/api/alert.service'\n\nexport default {\n props: {\n title: {\n type: String,\n default: ''\n },\n query: {\n type: [ String, Array, Object ], // URLSearchParams\n default: ''\n }\n },\n data: () => ({\n counts: null,\n openCounts: null,\n maxSeverity: null,\n timer: null\n }),\n computed: {\n isDark() {\n return this.$store.getters.getPreference('isDark')\n },\n refresh() {\n return this.$store.state.refresh\n },\n refreshInterval() {\n return (\n this.$store.getters.getPreference('refreshInterval') ||\n this.$store.getters.getConfig('refresh_interval')\n )\n }\n },\n watch: {\n refresh(val) {\n if (val) {\n this.getMostSevere()\n this.getCounts()\n }\n }\n },\n created() {\n this.cancelTimer()\n this.refreshCounts()\n },\n beforeDestroy() {\n this.cancelTimer()\n },\n methods: {\n selectAsi() {\n this.setSearch(new URLSearchParams(this.query))\n this.setFilter(new URLSearchParams(this.query))\n this.refreshList()\n },\n setSearch(query) {\n this.$store.dispatch('alerts/updateQuery', query)\n },\n setFilter(filter) {\n this.$store.dispatch('alerts/setFilter', {\n environment: filter.get('environment'),\n text: filter.get('text'),\n status: filter.has('status') ? filter.getAll('status') : null,\n customer: filter.has('customer') ? filter.getAll('customer') : null,\n service: filter.has('service') ? filter.getAll('service') : null,\n group: filter.has('group') ? filter.getAll('group') : null\n })\n },\n severityColor(severity) {\n return this.counts && this.counts[severity] > 0 ? this.$store.getters.getConfig('colors').severity[severity] : 'transparent'\n },\n getCounts() {\n return AlertsApi.getCounts(new URLSearchParams(this.query))\n .then(response => (this.counts = response.severityCounts))\n },\n getMostSevere() {\n let paramsWithOpenStatus = new URLSearchParams(this.query)\n paramsWithOpenStatus.append('status', 'open')\n\n AlertsApi.getCounts(paramsWithOpenStatus)\n .then(response => {\n this.maxSeverity = this.$config.alarm_model.defaults.normal_severity\n for (let sev of this.$config.indicators.severity) {\n if (response.severityCounts[sev] > 0) {\n this.maxSeverity = sev\n break\n }\n }\n })\n },\n refreshCounts() {\n this.getMostSevere()\n this.getCounts()\n .then(() => this.timer = setTimeout(() => this.refreshCounts(), this.refreshInterval))\n },\n refreshList() {\n this.$store.dispatch('set', ['refresh', true])\n setTimeout(() => {\n this.$store.dispatch('set', ['refresh', false])\n }, 300)\n },\n cancelTimer() {\n if (this.timer) {\n clearTimeout(this.timer)\n this.timer = null\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.alert-indicator .v-card__text div {\n height: 34px;\n font-weight: bold;\n font-family: 'Sintony', sans-serif;\n font-size: 14px;\n vertical-align: middle;\n}\n.alert-indicator .v-card__actions div {\n height: 34px;\n font-family: 'Sintony', sans-serif;\n font-size: 14px;\n vertical-align: middle;\n}\n\n.count {\n min-width: 16%;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AlertIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AlertIndicator.vue?vue&type=template&id=2fffb3c6&scoped=true&\"\nimport script from \"./AlertIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./AlertIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AlertIndicator.vue?vue&type=style&index=0&id=2fffb3c6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2fffb3c6\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} |