evui 3.3.36 → 3.3.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +40 -40
  3. package/dist/evui.common.js +1907 -1832
  4. package/dist/evui.common.js.map +1 -1
  5. package/dist/evui.umd.js +1907 -1832
  6. package/dist/evui.umd.js.map +1 -1
  7. package/dist/evui.umd.min.js +1 -1
  8. package/dist/evui.umd.min.js.map +1 -1
  9. package/dist/img/{EVUI.7f3588fb.svg → EVUI.b82ee81a.svg} +292 -292
  10. package/dist/img/{icon_mysql.7ea26d5d.svg → icon_mysql.1085fdc9.svg} +78 -78
  11. package/dist/img/{icon_oracle.9009b108.svg → icon_oracle.0572d3ee.svg} +13 -13
  12. package/dist/img/{icon_postgresql.f8fffba9.svg → icon_postgresql.ee12bde8.svg} +58 -58
  13. package/package.json +61 -61
  14. package/src/common/emitter.js +20 -20
  15. package/src/common/utils.debounce.js +223 -223
  16. package/src/common/utils.js +134 -134
  17. package/src/common/utils.table.js +78 -78
  18. package/src/common/utils.throttle.js +83 -83
  19. package/src/common/utils.tree.js +18 -18
  20. package/src/components/button/Button.vue +198 -198
  21. package/src/components/button/index.js +7 -7
  22. package/src/components/buttonGroup/ButtonGroup.vue +11 -11
  23. package/src/components/buttonGroup/index.js +7 -7
  24. package/src/components/calendar/Calendar.vue +661 -661
  25. package/src/components/calendar/index.js +7 -7
  26. package/src/components/calendar/uses.js +1272 -1272
  27. package/src/components/chart/Chart.vue +189 -192
  28. package/src/components/chart/chart.core.js +870 -870
  29. package/src/components/chart/element/element.bar.js +524 -524
  30. package/src/components/chart/element/element.bar.time.js +156 -156
  31. package/src/components/chart/element/element.heatmap.js +533 -533
  32. package/src/components/chart/element/element.line.js +339 -339
  33. package/src/components/chart/element/element.pie.js +197 -197
  34. package/src/components/chart/element/element.scatter.js +184 -184
  35. package/src/components/chart/element/element.tip.js +550 -542
  36. package/src/components/chart/helpers/helpers.canvas.js +265 -265
  37. package/src/components/chart/helpers/helpers.constant.js +206 -206
  38. package/src/components/chart/helpers/helpers.util.js +346 -338
  39. package/src/components/chart/index.js +9 -9
  40. package/src/components/chart/model/index.js +4 -4
  41. package/src/components/chart/model/model.series.js +93 -93
  42. package/src/components/chart/model/model.store.js +977 -967
  43. package/src/components/chart/plugins/plugins.interaction.js +769 -769
  44. package/src/components/chart/plugins/plugins.legend.gradient.js +602 -602
  45. package/src/components/chart/plugins/plugins.legend.js +1155 -1151
  46. package/src/components/chart/plugins/plugins.pie.js +254 -254
  47. package/src/components/chart/plugins/plugins.title.js +56 -56
  48. package/src/components/chart/plugins/plugins.tooltip.js +692 -692
  49. package/src/components/chart/scale/scale.js +848 -848
  50. package/src/components/chart/scale/scale.linear.js +38 -38
  51. package/src/components/chart/scale/scale.logarithmic.js +128 -128
  52. package/src/components/chart/scale/scale.step.js +336 -336
  53. package/src/components/chart/scale/scale.time.category.js +277 -277
  54. package/src/components/chart/scale/scale.time.js +48 -48
  55. package/src/components/chart/style/chart.scss +312 -312
  56. package/src/components/chart/uses.js +264 -252
  57. package/src/components/checkbox/Checkbox.vue +200 -200
  58. package/src/components/checkbox/index.js +7 -7
  59. package/src/components/checkboxGroup/CheckboxGroup.vue +44 -44
  60. package/src/components/checkboxGroup/index.js +7 -7
  61. package/src/components/contextMenu/ContextMenu.vue +80 -80
  62. package/src/components/contextMenu/MenuList.vue +149 -149
  63. package/src/components/contextMenu/index.js +7 -7
  64. package/src/components/contextMenu/uses.js +203 -203
  65. package/src/components/datePicker/DatePicker.vue +437 -437
  66. package/src/components/datePicker/index.js +7 -7
  67. package/src/components/datePicker/uses.js +419 -419
  68. package/src/components/grid/Grid.vue +827 -827
  69. package/src/components/grid/grid.filter.window.vue +493 -493
  70. package/src/components/grid/grid.pagination.vue +75 -75
  71. package/src/components/grid/grid.summary.vue +265 -265
  72. package/src/components/grid/grid.toolbar.vue +26 -26
  73. package/src/components/grid/index.js +11 -11
  74. package/src/components/grid/style/grid.scss +263 -263
  75. package/src/components/grid/uses.js +1002 -1007
  76. package/src/components/icon/Icon.vue +49 -49
  77. package/src/components/icon/index.js +8 -8
  78. package/src/components/inputNumber/InputNumber.vue +212 -212
  79. package/src/components/inputNumber/index.js +7 -7
  80. package/src/components/inputNumber/uses.js +217 -217
  81. package/src/components/loading/Loading.vue +125 -125
  82. package/src/components/loading/index.js +7 -7
  83. package/src/components/menu/Menu.vue +68 -68
  84. package/src/components/menu/MenuItem.vue +187 -187
  85. package/src/components/menu/index.js +7 -7
  86. package/src/components/message/Message.vue +223 -223
  87. package/src/components/message/index.js +31 -31
  88. package/src/components/messageBox/MessageBox.vue +358 -358
  89. package/src/components/messageBox/index.js +22 -22
  90. package/src/components/notification/Notification.vue +316 -316
  91. package/src/components/notification/index.js +49 -49
  92. package/src/components/pagination/Pagination.vue +271 -271
  93. package/src/components/pagination/index.js +7 -7
  94. package/src/components/pagination/pageButton.vue +30 -30
  95. package/src/components/progress/Progress.vue +139 -139
  96. package/src/components/progress/index.js +7 -7
  97. package/src/components/radio/Radio.vue +159 -159
  98. package/src/components/radio/index.js +7 -7
  99. package/src/components/radioGroup/RadioGroup.vue +41 -41
  100. package/src/components/radioGroup/index.js +7 -7
  101. package/src/components/scheduler/Scheduler.vue +149 -149
  102. package/src/components/scheduler/index.js +7 -7
  103. package/src/components/scheduler/uses.js +183 -183
  104. package/src/components/select/Select.vue +440 -440
  105. package/src/components/select/index.js +7 -7
  106. package/src/components/select/uses.js +270 -270
  107. package/src/components/slider/Slider.vue +505 -505
  108. package/src/components/slider/index.js +7 -7
  109. package/src/components/slider/uses.js +390 -390
  110. package/src/components/tabPanel/TabPanel.vue +74 -74
  111. package/src/components/tabPanel/index.js +7 -7
  112. package/src/components/tabs/Tabs.vue +517 -517
  113. package/src/components/tabs/index.js +7 -7
  114. package/src/components/textField/TextField.vue +375 -375
  115. package/src/components/textField/index.js +7 -7
  116. package/src/components/timePicker/TimePicker.vue +352 -352
  117. package/src/components/timePicker/index.js +7 -7
  118. package/src/components/toggle/Toggle.vue +115 -115
  119. package/src/components/toggle/index.js +7 -7
  120. package/src/components/tree/Tree.vue +313 -313
  121. package/src/components/tree/TreeNode.vue +293 -293
  122. package/src/components/tree/index.js +7 -7
  123. package/src/components/treeGrid/TreeGrid.vue +758 -758
  124. package/src/components/treeGrid/TreeGridNode.vue +275 -275
  125. package/src/components/treeGrid/index.js +9 -9
  126. package/src/components/treeGrid/style/treeGrid.scss +261 -261
  127. package/src/components/treeGrid/treeGrid.toolbar.vue +26 -26
  128. package/src/components/treeGrid/uses.js +867 -867
  129. package/src/components/window/Window.vue +329 -329
  130. package/src/components/window/index.js +7 -7
  131. package/src/components/window/uses.js +899 -899
  132. package/src/directives/clickoutside.js +90 -90
  133. package/src/main.js +116 -116
  134. package/src/style/components/input.scss +108 -108
  135. package/src/style/functions.scss +3 -3
  136. package/src/style/index.scss +6 -6
  137. package/src/style/lib/fonts/EVUI.svg +292 -292
  138. package/src/style/lib/icon.css +888 -888
  139. package/src/style/mixins.scss +94 -94
  140. package/src/style/themes.scss +67 -67
  141. package/src/style/variables.scss +22 -22
@@ -1,192 +1,189 @@
1
- <template>
2
- <div
3
- ref="wrapper"
4
- v-resize="onResize"
5
- :style="wrapperStyle"
6
- class="ev-chart"
7
- />
8
- </template>
9
-
10
- <script>
11
- import { onMounted, onBeforeUnmount, watch, onDeactivated } from 'vue';
12
- import { cloneDeep, isEqual, debounce } from 'lodash-es';
13
- import EvChart from './chart.core';
14
- import { useModel, useWrapper } from './uses';
15
-
16
- export default {
17
- name: 'EvChart',
18
- props: {
19
- selectedItem: {
20
- type: Object,
21
- default: null,
22
- },
23
- selectedLabel: {
24
- type: Object,
25
- default: null,
26
- },
27
- selectedSeries: {
28
- type: Object,
29
- default: null,
30
- },
31
- options: {
32
- type: Object,
33
- default: () => ({}),
34
- },
35
- data: {
36
- type: Object,
37
- default: () => ({}),
38
- },
39
- resizeTimeout: {
40
- type: Number,
41
- default: 0,
42
- },
43
- },
44
- emits: [
45
- 'click',
46
- 'dbl-click',
47
- 'drag-select',
48
- 'update:selectedItem',
49
- 'update:selectedLabel',
50
- 'update:selectedSeries',
51
- ],
52
- setup(props) {
53
- let evChart = {};
54
- let isInit = false;
55
-
56
- const {
57
- eventListeners,
58
- selectItemInfo,
59
- selectLabelInfo,
60
- selectSeriesInfo,
61
- getNormalizedData,
62
- getNormalizedOptions,
63
- } = useModel();
64
-
65
- const normalizedData = getNormalizedData(props.data);
66
- const normalizedOptions = getNormalizedOptions(props.options);
67
-
68
- const {
69
- wrapper,
70
- wrapperStyle,
71
- } = useWrapper(
72
- normalizedOptions,
73
- );
74
-
75
- const createChart = () => {
76
- let selected;
77
- if (normalizedOptions.selectLabel.use) {
78
- selected = selectLabelInfo;
79
- } else if (normalizedOptions.selectSeries.use) {
80
- selected = selectSeriesInfo;
81
- }
82
-
83
- evChart = new EvChart(
84
- wrapper.value,
85
- normalizedData,
86
- normalizedOptions,
87
- eventListeners,
88
- selectItemInfo,
89
- selected,
90
- );
91
- };
92
-
93
- const drawChart = () => {
94
- if (evChart) {
95
- evChart.init();
96
- isInit = true;
97
- }
98
- };
99
-
100
- watch(() => props.options, (chartOpt) => {
101
- const newOpt = getNormalizedOptions(chartOpt);
102
-
103
- const isUpdateLegendType = !isEqual(newOpt.legend.table, evChart.options.legend.table);
104
-
105
- evChart.options = cloneDeep(newOpt);
106
-
107
- evChart.update({
108
- updateSeries: false,
109
- updateSelTip: { update: false, keepDomain: false },
110
- updateLegend: isUpdateLegendType,
111
- });
112
- }, { deep: true });
113
-
114
- watch(() => props.data, (chartData) => {
115
- const newData = getNormalizedData(chartData);
116
-
117
- const isUpdateSeries = !isEqual(newData.series, evChart.data.series)
118
- || !isEqual(newData.groups, evChart.data.groups)
119
- || props.options.type === 'heatMap';
120
-
121
- const isUpdateData = !isEqual(newData.data, evChart.data);
122
-
123
- evChart.data = cloneDeep(newData);
124
-
125
- evChart.update({
126
- updateSeries: isUpdateSeries,
127
- updateSelTip: { update: true, keepDomain: false },
128
- updateData: isUpdateData,
129
- });
130
- }, { deep: true });
131
-
132
- watch(() => props.selectedItem, (newValue) => {
133
- const chartType = props.options?.type;
134
-
135
- evChart.selectItemByData(newValue, chartType);
136
- }, { deep: true });
137
-
138
- watch(() => props.selectedLabel, (newValue) => {
139
- if (newValue.dataIndex) {
140
- evChart.renderWithSelected(newValue.dataIndex);
141
- }
142
- }, { deep: true });
143
-
144
- watch(() => props.selectedSeries, (newValue) => {
145
- if (newValue.seriesId) {
146
- evChart.renderWithSelected(newValue.seriesId);
147
- }
148
- }, { deep: true });
149
-
150
- onMounted(async () => {
151
- await createChart();
152
- await drawChart();
153
- });
154
-
155
- onBeforeUnmount(() => {
156
- evChart.destroy();
157
- });
158
-
159
- onDeactivated(() => {
160
- if (evChart && 'hideTooltip' in evChart) {
161
- evChart.hideTooltip();
162
- }
163
- });
164
-
165
- const redraw = () => {
166
- if (evChart && isInit) {
167
- evChart.update({
168
- updateSeries: true,
169
- updateSelTip: { update: true, keepDomain: false },
170
- });
171
- }
172
- };
173
-
174
- const onResize = debounce(() => {
175
- if (evChart && 'resize' in evChart && isInit) {
176
- evChart.resize();
177
- }
178
- }, props.resizeTimeout);
179
-
180
- return {
181
- wrapper,
182
- wrapperStyle,
183
- onResize,
184
- redraw,
185
- };
186
- },
187
- };
188
- </script>
189
-
190
- <style lang="scss">
191
- @import 'style/chart.scss';
192
- </style>
1
+ <template>
2
+ <div
3
+ ref="wrapper"
4
+ v-resize="onResize"
5
+ :style="wrapperStyle"
6
+ class="ev-chart"
7
+ />
8
+ </template>
9
+
10
+ <script>
11
+ import { onMounted, onBeforeUnmount, watch, onDeactivated } from 'vue';
12
+ import { cloneDeep, isEqual, debounce } from 'lodash-es';
13
+ import EvChart from './chart.core';
14
+ import { useModel, useWrapper } from './uses';
15
+
16
+ export default {
17
+ name: 'EvChart',
18
+ props: {
19
+ selectedItem: {
20
+ type: Object,
21
+ default: null,
22
+ },
23
+ selectedLabel: {
24
+ type: Object,
25
+ default: null,
26
+ },
27
+ selectedSeries: {
28
+ type: Object,
29
+ default: null,
30
+ },
31
+ options: {
32
+ type: Object,
33
+ default: () => ({}),
34
+ },
35
+ data: {
36
+ type: Object,
37
+ default: () => ({}),
38
+ },
39
+ resizeTimeout: {
40
+ type: Number,
41
+ default: 0,
42
+ },
43
+ },
44
+ emits: [
45
+ 'click',
46
+ 'dbl-click',
47
+ 'drag-select',
48
+ 'update:selectedItem',
49
+ 'update:selectedLabel',
50
+ 'update:selectedSeries',
51
+ ],
52
+ setup(props) {
53
+ let evChart = null;
54
+
55
+ const {
56
+ eventListeners,
57
+ selectItemInfo,
58
+ selectLabelInfo,
59
+ selectSeriesInfo,
60
+ getNormalizedData,
61
+ getNormalizedOptions,
62
+ } = useModel();
63
+
64
+ const normalizedData = getNormalizedData(props.data);
65
+ const normalizedOptions = getNormalizedOptions(props.options);
66
+
67
+ const {
68
+ wrapper,
69
+ wrapperStyle,
70
+ } = useWrapper(
71
+ normalizedOptions,
72
+ );
73
+
74
+ const createChart = () => {
75
+ let selected;
76
+ if (normalizedOptions.selectLabel.use) {
77
+ selected = selectLabelInfo;
78
+ } else if (normalizedOptions.selectSeries.use) {
79
+ selected = selectSeriesInfo;
80
+ }
81
+
82
+ evChart = new EvChart(
83
+ wrapper.value,
84
+ normalizedData,
85
+ normalizedOptions,
86
+ eventListeners,
87
+ selectItemInfo,
88
+ selected,
89
+ );
90
+ };
91
+
92
+ const drawChart = () => {
93
+ if (evChart) {
94
+ evChart.init();
95
+ }
96
+ };
97
+
98
+ watch(() => props.options, (chartOpt) => {
99
+ const newOpt = getNormalizedOptions(chartOpt);
100
+ const isUpdateLegendType = !isEqual(newOpt.legend.table, evChart.options.legend.table);
101
+
102
+ evChart.options = cloneDeep(newOpt);
103
+
104
+ evChart.update({
105
+ updateSeries: false,
106
+ updateSelTip: { update: false, keepDomain: false },
107
+ updateLegend: isUpdateLegendType,
108
+ });
109
+ }, { deep: true, flush: 'post' });
110
+
111
+ watch(() => props.data, (chartData) => {
112
+ const newData = getNormalizedData(chartData);
113
+ const isUpdateSeries = !isEqual(newData.series, evChart.data.series)
114
+ || !isEqual(newData.groups, evChart.data.groups)
115
+ || props.options.type === 'heatMap';
116
+
117
+ const isUpdateData = !isEqual(newData.data, evChart.data);
118
+
119
+ evChart.data = cloneDeep(newData);
120
+
121
+ evChart.update({
122
+ updateSeries: isUpdateSeries,
123
+ updateSelTip: { update: true, keepDomain: false },
124
+ updateData: isUpdateData,
125
+ });
126
+ }, { deep: true, flush: 'post' });
127
+
128
+ watch(() => props.selectedItem, (newValue) => {
129
+ const chartType = props.options.type;
130
+ evChart.selectItemByData(newValue, chartType);
131
+ }, { deep: true, flush: 'post' });
132
+
133
+ watch(() => props.selectedLabel, (newValue) => {
134
+ if (newValue.dataIndex) {
135
+ evChart.renderWithSelected(newValue.dataIndex);
136
+ }
137
+ }, { deep: true, flush: 'post' });
138
+
139
+ watch(() => props.selectedSeries, (newValue) => {
140
+ if (newValue.seriesId) {
141
+ evChart.renderWithSelected(newValue.seriesId);
142
+ }
143
+ }, { deep: true, flush: 'post' });
144
+
145
+ onMounted(async () => {
146
+ await createChart();
147
+ await drawChart();
148
+ });
149
+
150
+ onBeforeUnmount(() => {
151
+ if (evChart && 'destroy' in evChart) {
152
+ evChart.destroy();
153
+ }
154
+ });
155
+
156
+ onDeactivated(() => {
157
+ if (evChart && 'hideTooltip' in evChart) {
158
+ evChart.hideTooltip();
159
+ }
160
+ });
161
+
162
+ const redraw = () => {
163
+ if (evChart && 'update' in evChart) {
164
+ evChart.update({
165
+ updateSeries: true,
166
+ updateSelTip: { update: true, keepDomain: false },
167
+ });
168
+ }
169
+ };
170
+
171
+ const onResize = debounce(() => {
172
+ if (evChart && 'resize' in evChart) {
173
+ evChart.resize();
174
+ }
175
+ }, props.resizeTimeout);
176
+
177
+ return {
178
+ wrapper,
179
+ wrapperStyle,
180
+ onResize,
181
+ redraw,
182
+ };
183
+ },
184
+ };
185
+ </script>
186
+
187
+ <style lang="scss">
188
+ @import 'style/chart.scss';
189
+ </style>