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,223 +1,223 @@
1
- <template>
2
- <teleport to="#ev-message-modal">
3
- <transition
4
- name="ev-message-fade"
5
- appear
6
- >
7
- <div
8
- v-show="isShow"
9
- ref="msgRef"
10
- class="ev-message"
11
- :class="{
12
- [`type-${type}`]: !!type,
13
- 'show-close': showClose,
14
- 'has-icon': !!iconClass,
15
- }"
16
- @mouseenter="clearTimer"
17
- @mouseleave="startTimer"
18
- >
19
- <span
20
- v-if="iconClass"
21
- class="ev-message-icon"
22
- >
23
- <i
24
- :class="iconClass"
25
- />
26
- </span>
27
- <div
28
- v-if="useHTML"
29
- class="ev-message-content"
30
- v-html="message"
31
- />
32
- <div
33
- v-else
34
- class="ev-message-content"
35
- >
36
- {{ message }}
37
- </div>
38
- <span
39
- v-if="showClose"
40
- class="ev-message-close"
41
- @click="closeMsg"
42
- >
43
- <i class="ev-icon-close" />
44
- </span>
45
- </div>
46
- </transition>
47
- </teleport>
48
- </template>
49
-
50
- <script>
51
- import { reactive, toRefs, onMounted, onBeforeUnmount } from 'vue';
52
-
53
- export default {
54
- name: 'EvMessage',
55
- props: {
56
- type: {
57
- type: String,
58
- default: 'info',
59
- validator: val => ['info', 'success', 'warning', 'error'].includes(val),
60
- },
61
- message: {
62
- type: String,
63
- default: '',
64
- },
65
- duration: {
66
- type: Number,
67
- default: 3000,
68
- },
69
- showClose: {
70
- type: Boolean,
71
- default: false,
72
- },
73
- iconClass: {
74
- type: String,
75
- default: '',
76
- },
77
- onClose: {
78
- type: Function,
79
- default: null,
80
- },
81
- useHTML: {
82
- type: Boolean,
83
- default: false,
84
- },
85
- unmount: {
86
- type: Function,
87
- default: null,
88
- },
89
- },
90
- setup(props) {
91
- const state = reactive({
92
- timer: null,
93
- isShow: true,
94
- });
95
- const clearTimer = () => {
96
- clearTimeout(state.timer);
97
- state.timer = null;
98
- };
99
- const closeMsg = () => {
100
- state.isShow = false;
101
- if (props.onClose) {
102
- props.onClose();
103
- }
104
- clearTimer();
105
- if (props.unmount) {
106
- setTimeout(props.unmount, 1000);
107
- }
108
- };
109
- const startTimer = () => {
110
- if (props.duration > 0) {
111
- state.timer = setTimeout(() => {
112
- if (state.isShow) {
113
- closeMsg();
114
- }
115
- }, props.duration);
116
- }
117
- };
118
- const keydown = (e) => {
119
- if (e.keyCode === 27 && state.isShow) {
120
- closeMsg();
121
- }
122
- };
123
-
124
- onMounted(() => {
125
- startTimer();
126
- document.addEventListener('keydown', keydown);
127
- });
128
- onBeforeUnmount(() => {
129
- document.removeEventListener('keydown', keydown);
130
- clearTimer();
131
- });
132
- return {
133
- startTimer,
134
- clearTimer,
135
- closeMsg,
136
- ...toRefs(state),
137
- };
138
- },
139
- };
140
- </script>
141
-
142
- <style lang="scss">
143
- @import '../../style/index.scss';
144
-
145
- #ev-message-modal {
146
- position: fixed;
147
- top: 0;
148
- left: 50%;
149
- z-index: 900;
150
- max-height: 100vh;
151
- padding-top: 20px;
152
- overflow: hidden;
153
- transform: translateX(-50%);
154
- }
155
- .ev-message {
156
- $padding-vertical: 20px;
157
- $padding-horizontal: 17px;
158
-
159
- display: flex;
160
- position: relative;
161
- width: 400px;
162
- padding: $padding-vertical $padding-horizontal;
163
- margin-bottom: 10px;
164
- align-items: center;
165
- box-sizing: border-box;
166
- border-radius: $default-radius;
167
- border: 1px solid #EBEEF5;
168
- background-color: #EDF2FC;
169
- transition: opacity .4s ease-in-out, transform .3s ease-in-out;
170
- font-size: $font-size-medium;
171
- line-height: 1.5em;
172
-
173
- &-fade-enter-active,
174
- &-fade-leave-active {
175
- opacity: 0;
176
- transform: translateY(-100%);
177
- }
178
- &-icon {
179
- position: absolute;
180
- top: $padding-vertical;
181
- left: $padding-horizontal;
182
- }
183
- &-close {
184
- position: absolute;
185
- top: $padding-vertical;
186
- right: $padding-horizontal;
187
- font-size: $font-size-small;
188
- cursor: pointer;
189
- transition: opacity $animate-base;
190
-
191
- &:hover {
192
- opacity: 0.5;
193
- }
194
- }
195
-
196
- @include state('show-close') {
197
- .ev-message-content {
198
- margin-right: 20px;
199
- }
200
- }
201
- @include state('has-icon') {
202
- .ev-message-content {
203
- margin-left: 23px;
204
- }
205
- }
206
-
207
- @each $type, $color-list in (
208
- 'info': (#FDFDFD, #EEEEEE, #111111),
209
- 'success': (#F0F9EB, #E1F3D8, #67C23A),
210
- 'warning': (#FDF6EC, #FAECD8, #E6A23C),
211
- 'error': (#FEF0F0, #FDE2E2, #F56C6C),
212
- ) {
213
- &.type-#{$type} {
214
- background-color: nth($color-list, 1);
215
- border-color: nth($color-list, 2);
216
- .ev-message-icon,
217
- .ev-message-content {
218
- color: nth($color-list, 3);
219
- }
220
- }
221
- }
222
- }
223
- </style>
1
+ <template>
2
+ <teleport to="#ev-message-modal">
3
+ <transition
4
+ name="ev-message-fade"
5
+ appear
6
+ >
7
+ <div
8
+ v-show="isShow"
9
+ ref="msgRef"
10
+ class="ev-message"
11
+ :class="{
12
+ [`type-${type}`]: !!type,
13
+ 'show-close': showClose,
14
+ 'has-icon': !!iconClass,
15
+ }"
16
+ @mouseenter="clearTimer"
17
+ @mouseleave="startTimer"
18
+ >
19
+ <span
20
+ v-if="iconClass"
21
+ class="ev-message-icon"
22
+ >
23
+ <i
24
+ :class="iconClass"
25
+ />
26
+ </span>
27
+ <div
28
+ v-if="useHTML"
29
+ class="ev-message-content"
30
+ v-html="message"
31
+ />
32
+ <div
33
+ v-else
34
+ class="ev-message-content"
35
+ >
36
+ {{ message }}
37
+ </div>
38
+ <span
39
+ v-if="showClose"
40
+ class="ev-message-close"
41
+ @click="closeMsg"
42
+ >
43
+ <i class="ev-icon-close" />
44
+ </span>
45
+ </div>
46
+ </transition>
47
+ </teleport>
48
+ </template>
49
+
50
+ <script>
51
+ import { reactive, toRefs, onMounted, onBeforeUnmount } from 'vue';
52
+
53
+ export default {
54
+ name: 'EvMessage',
55
+ props: {
56
+ type: {
57
+ type: String,
58
+ default: 'info',
59
+ validator: val => ['info', 'success', 'warning', 'error'].includes(val),
60
+ },
61
+ message: {
62
+ type: String,
63
+ default: '',
64
+ },
65
+ duration: {
66
+ type: Number,
67
+ default: 3000,
68
+ },
69
+ showClose: {
70
+ type: Boolean,
71
+ default: false,
72
+ },
73
+ iconClass: {
74
+ type: String,
75
+ default: '',
76
+ },
77
+ onClose: {
78
+ type: Function,
79
+ default: null,
80
+ },
81
+ useHTML: {
82
+ type: Boolean,
83
+ default: false,
84
+ },
85
+ unmount: {
86
+ type: Function,
87
+ default: null,
88
+ },
89
+ },
90
+ setup(props) {
91
+ const state = reactive({
92
+ timer: null,
93
+ isShow: true,
94
+ });
95
+ const clearTimer = () => {
96
+ clearTimeout(state.timer);
97
+ state.timer = null;
98
+ };
99
+ const closeMsg = () => {
100
+ state.isShow = false;
101
+ if (props.onClose) {
102
+ props.onClose();
103
+ }
104
+ clearTimer();
105
+ if (props.unmount) {
106
+ setTimeout(props.unmount, 1000);
107
+ }
108
+ };
109
+ const startTimer = () => {
110
+ if (props.duration > 0) {
111
+ state.timer = setTimeout(() => {
112
+ if (state.isShow) {
113
+ closeMsg();
114
+ }
115
+ }, props.duration);
116
+ }
117
+ };
118
+ const keydown = (e) => {
119
+ if (e.keyCode === 27 && state.isShow) {
120
+ closeMsg();
121
+ }
122
+ };
123
+
124
+ onMounted(() => {
125
+ startTimer();
126
+ document.addEventListener('keydown', keydown);
127
+ });
128
+ onBeforeUnmount(() => {
129
+ document.removeEventListener('keydown', keydown);
130
+ clearTimer();
131
+ });
132
+ return {
133
+ startTimer,
134
+ clearTimer,
135
+ closeMsg,
136
+ ...toRefs(state),
137
+ };
138
+ },
139
+ };
140
+ </script>
141
+
142
+ <style lang="scss">
143
+ @import '../../style/index.scss';
144
+
145
+ #ev-message-modal {
146
+ position: fixed;
147
+ top: 0;
148
+ left: 50%;
149
+ z-index: 900;
150
+ max-height: 100vh;
151
+ padding-top: 20px;
152
+ overflow: hidden;
153
+ transform: translateX(-50%);
154
+ }
155
+ .ev-message {
156
+ $padding-vertical: 20px;
157
+ $padding-horizontal: 17px;
158
+
159
+ display: flex;
160
+ position: relative;
161
+ width: 400px;
162
+ padding: $padding-vertical $padding-horizontal;
163
+ margin-bottom: 10px;
164
+ align-items: center;
165
+ box-sizing: border-box;
166
+ border-radius: $default-radius;
167
+ border: 1px solid #EBEEF5;
168
+ background-color: #EDF2FC;
169
+ transition: opacity .4s ease-in-out, transform .3s ease-in-out;
170
+ font-size: $font-size-medium;
171
+ line-height: 1.5em;
172
+
173
+ &-fade-enter-active,
174
+ &-fade-leave-active {
175
+ opacity: 0;
176
+ transform: translateY(-100%);
177
+ }
178
+ &-icon {
179
+ position: absolute;
180
+ top: $padding-vertical;
181
+ left: $padding-horizontal;
182
+ }
183
+ &-close {
184
+ position: absolute;
185
+ top: $padding-vertical;
186
+ right: $padding-horizontal;
187
+ font-size: $font-size-small;
188
+ cursor: pointer;
189
+ transition: opacity $animate-base;
190
+
191
+ &:hover {
192
+ opacity: 0.5;
193
+ }
194
+ }
195
+
196
+ @include state('show-close') {
197
+ .ev-message-content {
198
+ margin-right: 20px;
199
+ }
200
+ }
201
+ @include state('has-icon') {
202
+ .ev-message-content {
203
+ margin-left: 23px;
204
+ }
205
+ }
206
+
207
+ @each $type, $color-list in (
208
+ 'info': (#FDFDFD, #EEEEEE, #111111),
209
+ 'success': (#F0F9EB, #E1F3D8, #67C23A),
210
+ 'warning': (#FDF6EC, #FAECD8, #E6A23C),
211
+ 'error': (#FEF0F0, #FDE2E2, #F56C6C),
212
+ ) {
213
+ &.type-#{$type} {
214
+ background-color: nth($color-list, 1);
215
+ border-color: nth($color-list, 2);
216
+ .ev-message-icon,
217
+ .ev-message-content {
218
+ color: nth($color-list, 3);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ </style>
@@ -1,31 +1,31 @@
1
- import { defineComponent, h, render } from 'vue';
2
- import Component from './Message.vue';
3
-
4
- const componentObj = defineComponent(Component);
5
-
6
- const rootId = 'ev-message-modal';
7
- const root = document.createElement('div');
8
- root.id = rootId;
9
-
10
- const message = (options = {}) => {
11
- const hasRoot = document.getElementById(rootId);
12
- if (!hasRoot) {
13
- document.body.appendChild(root);
14
- }
15
-
16
- const container = document.createElement('div');
17
- const unmount = () => render(null, container);
18
- const msgOption = (typeof options === 'string') ? { message: options, unmount } : { ...options, unmount };
19
- const instance = h(
20
- componentObj,
21
- msgOption,
22
- );
23
- render(instance, container);
24
- };
25
-
26
- message.install = (app) => {
27
- const global = app.config.globalProperties;
28
- global.$message = message;
29
- };
30
-
31
- export default message;
1
+ import { defineComponent, h, render } from 'vue';
2
+ import Component from './Message.vue';
3
+
4
+ const componentObj = defineComponent(Component);
5
+
6
+ const rootId = 'ev-message-modal';
7
+ const root = document.createElement('div');
8
+ root.id = rootId;
9
+
10
+ const message = (options = {}) => {
11
+ const hasRoot = document.getElementById(rootId);
12
+ if (!hasRoot) {
13
+ document.body.appendChild(root);
14
+ }
15
+
16
+ const container = document.createElement('div');
17
+ const unmount = () => render(null, container);
18
+ const msgOption = (typeof options === 'string') ? { message: options, unmount } : { ...options, unmount };
19
+ const instance = h(
20
+ componentObj,
21
+ msgOption,
22
+ );
23
+ render(instance, container);
24
+ };
25
+
26
+ message.install = (app) => {
27
+ const global = app.config.globalProperties;
28
+ global.$message = message;
29
+ };
30
+
31
+ export default message;