![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/frontend/node_modules/vue-chartjs/es/mixins/ |
function dataHandler(newData, oldData) { if (oldData) { var chart = this.$data._chart; var newDatasetLabels = newData.datasets.map(function (dataset) { return dataset.label; }); var oldDatasetLabels = oldData.datasets.map(function (dataset) { return dataset.label; }); var oldLabels = JSON.stringify(oldDatasetLabels); var newLabels = JSON.stringify(newDatasetLabels); if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) { newData.datasets.forEach(function (dataset, i) { var oldDatasetKeys = Object.keys(oldData.datasets[i]); var newDatasetKeys = Object.keys(dataset); var deletionKeys = oldDatasetKeys.filter(function (key) { return key !== '_meta' && newDatasetKeys.indexOf(key) === -1; }); deletionKeys.forEach(function (deletionKey) { delete chart.data.datasets[i][deletionKey]; }); for (var attribute in dataset) { if (dataset.hasOwnProperty(attribute)) { chart.data.datasets[i][attribute] = dataset[attribute]; } } }); if (newData.hasOwnProperty('labels')) { chart.data.labels = newData.labels; this.$emit('labels:update'); } if (newData.hasOwnProperty('xLabels')) { chart.data.xLabels = newData.xLabels; this.$emit('xlabels:update'); } if (newData.hasOwnProperty('yLabels')) { chart.data.yLabels = newData.yLabels; this.$emit('ylabels:update'); } chart.update(); this.$emit('chart:update'); } else { if (chart) { chart.destroy(); this.$emit('chart:destroy'); } this.renderChart(this.chartData, this.options); this.$emit('chart:render'); } } else { if (this.$data._chart) { this.$data._chart.destroy(); this.$emit('chart:destroy'); } this.renderChart(this.chartData, this.options); this.$emit('chart:render'); } } export var reactiveData = { data: function data() { return { chartData: null }; }, watch: { 'chartData': dataHandler } }; export var reactiveProp = { props: { chartData: { type: Object, required: true, default: function _default() {} } }, watch: { 'chartData': dataHandler } }; export default { reactiveData: reactiveData, reactiveProp: reactiveProp };