{"version":3,"sources":["webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./src/chartcomponents/doughnutcomponent/DoughnutComponent.vue","webpack:///src/chartcomponents/doughnutcomponent/DoughnutComponent.vue","webpack:///./src/chartcomponents/doughnutcomponent/DoughnutComponent.vue?4099","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js"],"names":["generateChart","chartId","chartType","render","createElement","style","this","styles","class","cssClasses","attrs","id","width","height","ref","props","default","type","String","Number","Object","plugins","Array","data","_chart","_plugins","methods","addPlugin","plugin","$data","push","generateLegend","renderChart","options","destroy","$refs","canvas","getContext","beforeDestroy","Bar","Doughnut","Line","classof","module","exports","value","TypeError","staticRenderFns","extends","name","mounted","labels","datasets","label","borderWidth","weight","backgroundColor","showPercentage","isMobileWidth","modifier","chartData","beforeDraw","ctx","APP_CONST","centerTextName","centerTextDataHeight","centerTextValueWidth","centerTextValueHeight","responsive","rotation","maintainAspectRatio","cutoutPercentage","legend","display","tooltips","enabled","displayColors","titleFontStyle","titleFontFamily","component","$","toInteger","thisNumberValue","repeat","fails","nativeToFixed","toFixed","floor","Math","pow","x","n","acc","log","x2","FORCED","call","target","proto","forced","fractionDigits","e","z","j","k","number","fractDigits","sign","result","multiply","c","index","c2","divide","dataToString","s","t","length","RangeError","slice"],"mappings":"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","file":"js/chunk-a50d0688.1683d168c98b0af28d58.1732066582532.min.js","sourcesContent":["function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var render, staticRenderFns\nimport script from \"./DoughnutComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./DoughnutComponent.vue?vue&type=script&lang=js&\"\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 null,\n null\n \n)\n\nexport default component.exports","","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoughnutComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoughnutComponent.vue?vue&type=script&lang=js&\"","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n"],"sourceRoot":""}