evui 2.0.9 → 2.1.2

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 (185) hide show
  1. package/dist/0b8d1200e71cae8d747dce4e69c4efb6.png +0 -0
  2. package/dist/1.css +4 -0
  3. package/dist/1.css.map +1 -0
  4. package/dist/1.evui.min.js +2 -0
  5. package/dist/1.evui.min.js.map +1 -0
  6. package/dist/1ba679c05036b34bf359aa2e6c450faa.ttf +0 -0
  7. package/dist/2.css +4 -0
  8. package/dist/2.css.map +1 -0
  9. package/dist/2.evui.min.js +2 -0
  10. package/dist/2.evui.min.js.map +1 -0
  11. package/dist/278156e41e0ad908cf7f841b17130502.woff2 +0 -0
  12. package/dist/3.evui.min.js +2 -0
  13. package/dist/3.evui.min.js.map +1 -0
  14. package/dist/32be89b11725274cd3e801192ba88361.ttf +0 -0
  15. package/dist/38c6d8bab26db77d8c806813e1497763.woff2 +0 -0
  16. package/dist/4.evui.min.js +2 -0
  17. package/dist/4.evui.min.js.map +1 -0
  18. package/dist/425399f81e4ce7cbd967685402ba0260.woff +0 -0
  19. package/dist/4730076470a665bbc7b783c56d29a72e.svg +261 -0
  20. package/dist/52e9a7f6ff3af5ad261e5292d07ebdca.eot +0 -0
  21. package/dist/5367103510b27b78482794590e1ce3b0.ttf +0 -0
  22. package/dist/57e963e3d6dd0a9cf05150b40eebf69b.svg +1008 -0
  23. package/dist/65a2fb6d9aaa164b41a039302093995b.ttf +0 -0
  24. package/dist/687a4990ea22bb1a49d469a5d9319790.woff2 +0 -0
  25. package/dist/6c1d906bf5ba48676f65b2d65e935e1a.ttf +0 -0
  26. package/dist/6dafca5a4f1e31f2bdf11939b24ff422.ttf +0 -0
  27. package/dist/752905fa5edf21fc52a10a0c1ca9c7a4.eot +0 -0
  28. package/dist/76c05d80dda67cdc5d03f345b7bd063f.ttf +0 -0
  29. package/dist/7d62eb50e7bb05eedb2a4656f7fe8f3b.svg +366 -0
  30. package/dist/a01e3f2d6c83dc3aee175e2482b3f777.eot +0 -0
  31. package/dist/b30fd8419d7e6d5918856c7531d33482.svg +1518 -0
  32. package/dist/c57dd55fa982e8940f69ca1d69a8a999.woff +0 -0
  33. package/dist/c656b8caa454ed19b9a2ef7f4f5b8fea.ttf +0 -0
  34. package/dist/cac87dc00c87a5d74711d0276713808a.woff +0 -0
  35. package/dist/d68fa3e67dbb653a13cec44b1bcabcfe.eot +0 -0
  36. package/dist/ddae9b1ba9b0b42f58809904b0b21349.woff +0 -0
  37. package/dist/evui.min.js +19 -0
  38. package/dist/evui.min.js.gz +0 -0
  39. package/dist/evui.min.js.map +1 -0
  40. package/dist/main.css +85 -0
  41. package/dist/main.css.gz +0 -0
  42. package/dist/main.css.map +1 -0
  43. package/package.json +56 -76
  44. package/src/common/emitter.js +20 -0
  45. package/src/common/utils.debounce.js +223 -0
  46. package/src/common/utils.js +51 -17
  47. package/src/common/utils.throttle.js +83 -0
  48. package/src/common/utils.tree.js +18 -0
  49. package/src/components/button/button.vue +317 -241
  50. package/src/components/chart/chart.core.js +378 -85
  51. package/src/components/chart/chart.vue +133 -115
  52. package/src/components/chart/element/element.bar.js +219 -25
  53. package/src/components/chart/element/element.bar.time.js +115 -0
  54. package/src/components/chart/element/element.line.js +172 -21
  55. package/src/components/chart/element/element.pie.js +86 -0
  56. package/src/components/chart/element/element.scatter.js +9 -2
  57. package/src/components/chart/element/element.tip.js +356 -0
  58. package/src/components/chart/helpers/helpers.canvas.js +94 -0
  59. package/src/components/chart/helpers/helpers.constant.js +25 -6
  60. package/src/components/chart/helpers/helpers.util.js +83 -38
  61. package/src/components/chart/index.js +0 -1
  62. package/src/components/chart/model/model.series.js +43 -14
  63. package/src/components/chart/model/model.store.js +440 -46
  64. package/src/components/chart/plugins/plugins.interaction.js +324 -0
  65. package/src/components/chart/plugins/plugins.legend.js +233 -91
  66. package/src/components/chart/plugins/plugins.pie.js +179 -0
  67. package/src/components/chart/plugins/plugins.title.js +25 -2
  68. package/src/components/chart/plugins/plugins.tooltip.js +384 -0
  69. package/src/components/chart/scale/scale.js +91 -29
  70. package/src/components/chart/scale/scale.linear.js +12 -0
  71. package/src/components/chart/scale/scale.logarithmic.js +25 -0
  72. package/src/components/chart/scale/scale.step.js +89 -52
  73. package/src/components/chart/scale/scale.time.category.js +204 -0
  74. package/src/components/chart/scale/scale.time.js +19 -1
  75. package/src/components/checkbox/checkbox-group.vue +15 -11
  76. package/src/components/checkbox/checkbox.vue +210 -138
  77. package/src/components/codeview/code.vue +42 -29
  78. package/src/components/contextmenu/contextmenu.child.vue +79 -0
  79. package/src/components/contextmenu/contextmenu.vue +276 -0
  80. package/src/components/contextmenu/contextmenu.wrap.vue +189 -0
  81. package/src/components/contextmenu/index.js +3 -0
  82. package/src/components/datepicker/calendar.core.js +588 -492
  83. package/src/components/datepicker/calendar.vue +0 -3
  84. package/src/components/datepicker/datepicker.vue +43 -15
  85. package/src/components/datepicker/index.js +5 -1
  86. package/src/components/grid/grid.filter.vue +290 -0
  87. package/src/components/grid/grid.filter.window.vue +411 -0
  88. package/src/components/grid/grid.render.vue +45 -0
  89. package/src/components/grid/grid.vue +1338 -0
  90. package/src/components/icon/icon.vue +23 -7
  91. package/src/components/input/input.number.vue +309 -277
  92. package/src/components/label/label.vue +2 -2
  93. package/src/components/loadingmask/loadingmask.vue +6 -13
  94. package/src/components/loginfield/loginfield.vue +46 -37
  95. package/src/components/markdown/index.js +3 -0
  96. package/src/components/markdown/markdown.vue +1001 -0
  97. package/src/components/menu/index.js +1 -3
  98. package/src/components/menu/menu.nav.item.vue +115 -0
  99. package/src/components/menu/menu.nav.sub.vue +42 -0
  100. package/src/components/menu/menu.nav.vue +71 -98
  101. package/src/components/message/index.js +3 -0
  102. package/src/components/message/message.js +63 -0
  103. package/src/components/message/message.vue +191 -0
  104. package/src/components/message-box/index.js +3 -0
  105. package/src/components/message-box/message-box.js +31 -0
  106. package/src/components/message-box/message-box.vue +299 -0
  107. package/src/components/notification/index.js +3 -0
  108. package/src/components/notification/notification.js +75 -0
  109. package/src/components/notification/notification.vue +242 -0
  110. package/src/components/radio/radio-group.vue +6 -2
  111. package/src/components/radio/radio.vue +156 -76
  112. package/src/components/selectbox/dropdown.vue +86 -40
  113. package/src/components/selectbox/listbox.vue +47 -18
  114. package/src/components/selectbox/option.vue +1 -1
  115. package/src/components/selectbox/selectbox.vue +304 -316
  116. package/src/components/slider/slider-tooltip.vue +7 -7
  117. package/src/components/slider/slider.vue +20 -25
  118. package/src/components/splitter/splitter.vue +104 -94
  119. package/src/components/table/table.black.css +1 -1
  120. package/src/components/table/table.filter.lite.vue +7 -7
  121. package/src/components/table/table.filter.vue +1 -1
  122. package/src/components/table/table.grey.css +5 -6
  123. package/src/components/table/table.navy.css +1 -1
  124. package/src/components/table/table.vue +55 -48
  125. package/src/components/tabs/tab-panel.vue +19 -5
  126. package/src/components/tabs/tabs.vue +182 -87
  127. package/src/components/textfield/textfield.vue +110 -87
  128. package/src/components/timepicker/index.js +2 -2
  129. package/src/components/timepicker/spinner.vue +15 -17
  130. package/src/components/timepicker/timepicker.vue +98 -53
  131. package/src/components/toggle/toggle.vue +148 -109
  132. package/src/components/tree/index.js +2 -6
  133. package/src/components/tree/render.js +17 -0
  134. package/src/components/tree/tree-node.vue +214 -0
  135. package/src/components/tree/tree.vue +296 -0
  136. package/src/components/tree-table/index.js +7 -0
  137. package/src/components/{tree → tree-table}/tree.table.black.css +0 -0
  138. package/src/components/{tree → tree-table}/tree.table.grey.css +0 -0
  139. package/src/components/{tree → tree-table}/tree.table.vue +36 -41
  140. package/src/components/{tree → tree-table}/tree.util.js +0 -0
  141. package/src/components/window/window.vue +238 -191
  142. package/src/index.js +25 -12
  143. package/src/styles/base/base.scss +50 -0
  144. package/src/styles/base/index.scss +1 -0
  145. package/src/styles/default.scss +5 -0
  146. package/src/styles/{codemirror.css → lib/codemirror.css} +0 -0
  147. package/src/styles/{all.css → lib/fontawesome.css} +1 -1
  148. package/src/styles/lib/icon.css +792 -0
  149. package/src/styles/themes/index.scss +2 -0
  150. package/src/styles/themes/mixin.scss +33 -0
  151. package/src/styles/themes/variables.scss +206 -0
  152. package/src/styles/utils/colors.scss +222 -0
  153. package/src/styles/utils/index.scss +2 -0
  154. package/src/styles/utils/mixins.scss +34 -0
  155. package/src/styles/utils/variables.scss +27 -0
  156. package/src/webfonts/EVUI.eot +0 -0
  157. package/src/webfonts/EVUI.svg +251 -173
  158. package/src/webfonts/EVUI.ttf +0 -0
  159. package/src/webfonts/EVUI.woff +0 -0
  160. package/src/webfonts/Roboto-Bold.ttf +0 -0
  161. package/src/webfonts/Roboto-Medium.ttf +0 -0
  162. package/src/webfonts/Roboto-Regular.ttf +0 -0
  163. package/src/components/chart/charts/chart.bar.js +0 -334
  164. package/src/components/chart/charts/chart.base.js +0 -1075
  165. package/src/components/chart/charts/chart.line.js +0 -262
  166. package/src/components/chart/charts/chart.pie.js +0 -383
  167. package/src/components/chart/charts/chart.scatter.js +0 -349
  168. package/src/components/chart/charts/chart.sunburst.js +0 -193
  169. package/src/components/chart/core/axis/axis.js +0 -217
  170. package/src/components/chart/core/axis/axis.scale.auto.js +0 -69
  171. package/src/components/chart/core/axis/axis.scale.fixed.js +0 -65
  172. package/src/components/chart/core/axis/axis.scale.steps.js +0 -149
  173. package/src/components/chart/core/core.constant.js +0 -116
  174. package/src/components/chart/core/core.legend.js +0 -473
  175. package/src/components/chart/core/core.util.js +0 -66
  176. package/src/components/chart/core/data/data.js +0 -412
  177. package/src/components/chart/core/data/data.pie.js +0 -70
  178. package/src/components/chart/core/data/data.stack.js +0 -222
  179. package/src/components/chart/core/data/data.sunburst.js +0 -172
  180. package/src/components/menu/menu.context.children.vue +0 -201
  181. package/src/components/menu/menu.context.vue +0 -144
  182. package/src/components/tabs/jun/tab.vue +0 -123
  183. package/src/components/tabs/jun/tabs.vue +0 -484
  184. package/src/styles/evui.css +0 -386
  185. package/src/styles/icon.css +0 -557
@@ -1,14 +1,14 @@
1
1
  <template>
2
2
  <div
3
3
  :class="[{ disabled: disabled }, dataSize]"
4
- class="ev-checkbox-wrap"
4
+ class="ev-checkbox"
5
5
  >
6
6
  <input
7
7
  v-if="!isGroup"
8
8
  :id="`${checkboxId}_${value}`"
9
+ v-model="bindValue"
9
10
  :value="value"
10
11
  :disabled="disabled"
11
- v-model="bindValue"
12
12
  type="checkbox"
13
13
  class="ev-checkbox-input"
14
14
  @change="change"
@@ -17,19 +17,18 @@
17
17
  <input
18
18
  v-else
19
19
  :id="`${checkboxId}_${value}`"
20
+ v-model="groupBindValue"
20
21
  :value="value"
21
22
  :disabled="disabled"
22
- v-model="groupBindValue"
23
23
  type="checkbox"
24
24
  class="ev-checkbox-input group"
25
25
  @change="change"
26
26
  >
27
27
  <label
28
28
  :for="`${checkboxId}_${value}`"
29
- :class="[dataSize, dataType, dataAfterType]"
30
- class="ev-checkbox-label"
29
+ :class="checkboxClasses"
31
30
  >
32
- <slot/>
31
+ <slot />
33
32
  </label>
34
33
  </div>
35
34
  </template>
@@ -41,8 +40,8 @@
41
40
  },
42
41
  props: {
43
42
  value: {
44
- type: String,
45
- default: '',
43
+ type: [String, Number],
44
+ default: null,
46
45
  },
47
46
  disabled: {
48
47
  type: Boolean,
@@ -64,6 +63,11 @@
64
63
  type: String,
65
64
  default: '',
66
65
  },
66
+ // afterType: 'minus'랑 동일 속성으로 추후 afterType 삭제 필요
67
+ indeterminate: {
68
+ type: Boolean,
69
+ default: false,
70
+ },
67
71
  },
68
72
  data() {
69
73
  return {
@@ -72,7 +76,6 @@
72
76
  groupBindValue: [],
73
77
  dataSize: this.size,
74
78
  dataType: this.type,
75
- // dataAfterType: this.afterType,
76
79
  };
77
80
  },
78
81
  computed: {
@@ -100,8 +103,16 @@
100
103
  this.dataType = size;
101
104
  },
102
105
  },
103
- dataAfterType() {
104
- return this.afterType;
106
+ checkboxClasses() {
107
+ return [
108
+ 'ev-checkbox-label',
109
+ this.dataSize,
110
+ this.dataType,
111
+ this.afterType,
112
+ {
113
+ indeterminate: this.indeterminate,
114
+ },
115
+ ];
105
116
  },
106
117
  },
107
118
  created() {
@@ -110,74 +121,112 @@
110
121
  methods: {
111
122
  change(e) {
112
123
  if (this.isGroup) {
113
- this.$parent.$emit('change-event', e);
124
+ this.$parent.$emit('on-change', e);
114
125
  } else {
115
- this.$emit('change-event', e);
116
126
  this.$emit('input', e.target.checked);
127
+ this.$emit('on-change', e);
117
128
  }
118
129
  },
119
130
  click(e) {
120
131
  if (this.isGroup) {
121
- this.$parent.$emit('click-event', e);
132
+ this.$parent.$emit('on-click', e);
122
133
  } else {
123
- this.$emit('click-event', e);
124
134
  this.$emit('input', e.target.checked);
135
+ this.$emit('on-click', e);
125
136
  }
126
137
  },
127
138
  },
128
139
  };
129
140
  </script>
130
141
 
131
- <style scoped>
132
- .ev-checkbox-wrap {
142
+ <style lang="scss">
143
+ @import '~@/styles/default';
144
+
145
+ .ev-checkbox {
133
146
  height: 19px;
147
+ line-height: 19px;
134
148
  float: left;
135
149
  user-select: none;
150
+ font-size: $font-size-base;
151
+
152
+ &.small {
153
+ height: 16px;
154
+ line-height: 16px;
155
+ }
136
156
  }
137
- .ev-checkbox-wrap.small{
138
- height: 16px;
139
- }
140
- .ev-checkbox-wrap.disabled {
141
- color: #C0C4CC;
142
- }
157
+
143
158
  .ev-checkbox-label {
144
159
  position: relative;
160
+ display: inline-flex;
145
161
  height: 100%;
146
- display: inline-block;
147
162
  padding-left: 25px;
148
- line-height: 19px;
149
163
  cursor: pointer;
164
+
165
+ @include evThemify() {
166
+ color: evThemed('checkbox');
167
+ }
168
+
169
+ &:before {
170
+ position: absolute;
171
+ top: 50%;
172
+ left: 2px;
173
+ width: 16px;
174
+ height: 16px;
175
+ background-color: transparent;
176
+ border-radius: 50%;
177
+ text-align: center;
178
+ transform: translateY(-50%);
179
+ content: '';
180
+
181
+ @include evThemify() {
182
+ border: $border-solid evThemed('checkbox-border');
183
+ }
184
+ }
185
+
186
+ &:after {
187
+ display: block;
188
+ content: '';
189
+ }
190
+
191
+ /* unchecked -- type: small */
192
+ &.small {
193
+ padding-left: 23px;
194
+
195
+ &:before {
196
+ width: 12px;
197
+ height: 12px;
198
+ }
199
+ }
200
+
201
+ /* unchecked -- type: square */
202
+ &.square:before {
203
+ border-radius: 0;
204
+ }
205
+ &.indeterminate:before {
206
+ @include evThemify() {
207
+ border-color: evThemed('color-primary');
208
+ }
209
+ }
210
+
211
+ &.indeterminate:after {
212
+ left: 5px;
213
+ width: 12px;
214
+ height: 4px;
215
+ border-radius: 0;
216
+ }
217
+ &.small.indeterminate:after {
218
+ width: 8px;
219
+ height: 2px;
220
+ display: block;
221
+ position: absolute;
222
+ top: 50%;
223
+ transform: translateY(-50%);
224
+ @include evThemify() {
225
+ background-color: evThemed('color-primary');
226
+ }
227
+ }
150
228
  }
151
- .ev-checkbox-label.small {
152
- padding-left: 23px;
153
- line-height: 16px;
154
- }
155
- .ev-checkbox-label:before {
156
- position: absolute;
157
- top: 50%;
158
- left: 2px;
159
- width: 16px;
160
- height: 16px;
161
- background: transparent;
162
- border: 1px solid #B0B3B7;
163
- border-radius: 100%;
164
- text-align: center;
165
- transform: translateY(-50%);
166
- content: '';
167
- }
168
- .ev-checkbox-label.square:before {
169
- border-radius: 0;
170
- }
171
- .ev-checkbox-label.small:before {
172
- width: 12px;
173
- height: 12px;
174
- }
175
- .ev-checkbox-wrap.disabled .ev-checkbox-label {
176
- cursor: not-allowed;
177
- }
178
- .ev-checkbox-wrap.disabled .ev-checkbox-label:before {
179
- border: 1px solid #B01012;
180
- }
229
+
181
230
  .ev-checkbox-input {
182
231
  position: absolute;
183
232
  width: 1px;
@@ -188,89 +237,112 @@
188
237
  overflow: hidden;
189
238
  cursor: inherit;
190
239
  clip: rect(0, 0, 0, 0);
240
+
241
+ /* checked */
242
+ &:checked + .ev-checkbox-label:before {
243
+ @include evThemify() {
244
+ border-color: evThemed('color-primary');
245
+ }
246
+ }
247
+
248
+ &:checked + .ev-checkbox-label:after {
249
+ content: '';
250
+ display: block;
251
+ position: absolute;
252
+ top: 50%;
253
+ left: 7px;
254
+ width: 8px;
255
+ height: 8px;
256
+ border-radius: 100%;
257
+ transform: translateY(-50%);
258
+
259
+ @include evThemify() {
260
+ background-color: evThemed('color-primary');
261
+ }
262
+ }
263
+
264
+ /* checked -- type: check */
265
+ &:checked + .ev-checkbox-label.check:before {
266
+ @include evThemify() {
267
+ background-color: evThemed('color-primary');
268
+ }
269
+ }
270
+
271
+ &:checked + .ev-checkbox-label.check:after {
272
+ position: absolute;
273
+ top: 4px;
274
+ left: 8px;
275
+ width: 5px;
276
+ height: 8px;
277
+ border: solid $color-white;
278
+ border-radius: 0;
279
+ border-width: 0 1px 1px 0;
280
+ transform: rotate(45deg);
281
+ content: '';
282
+ }
283
+
284
+ /* checked -- type: square */
285
+ &:checked + .ev-checkbox-label.square:after {
286
+ border-radius: 0;
287
+ }
288
+
289
+ /* checked -- type: small */
290
+ &:checked + .ev-checkbox-label.small:after {
291
+ left: 6px;
292
+ width: 6px;
293
+ height: 6px;
294
+ }
295
+
296
+ /* checked -- type: minus */
297
+ &:checked + .ev-checkbox-label.minus:after {
298
+ left: 5px;
299
+ width: 12px;
300
+ height: 4px;
301
+ border-radius: 0;
302
+ }
303
+
304
+ /* checked -- type: minus + small */
305
+ &:checked + .ev-checkbox-label.minus.small:after {
306
+ width: 8px;
307
+ height: 2px;
308
+ }
309
+
310
+ /* checked -- type: check + small */
311
+ &:checked + .ev-checkbox-label.check.small:after {
312
+ top: 3px;
313
+ left: 6px;
314
+ width: 4px;
315
+ height: 6px;
316
+ background: none;
317
+ }
191
318
  }
192
- .ev-checkbox-input:checked + .ev-checkbox-label:before {
193
- border: 1px solid #41B7FD;
194
- }
195
- .ev-checkbox-wrap.disabled .ev-checkbox-input:checked + .ev-checkbox-label:before {
196
- border: 1px solid #B01012;
197
- }
198
- .ev-checkbox-input:checked + .ev-checkbox-label:after {
199
- position: absolute;
200
- top: 50%;
201
- left: 7px;
202
- width: 8px;
203
- height: 8px;
204
- border-radius: 100%;
205
- transform: translateY(-50%);
206
- content: '';
207
- }
208
- .ev-checkbox-input:checked + .ev-checkbox-label:after {
209
- background: #41B7FD;
210
- }
211
- .ev-checkbox-input:checked + .ev-checkbox-label.check:after {
212
- border: solid #41B7FD;
213
- border-radius: 0;
214
- border-width: 0 2px 2px 0;
215
- transform: rotate(45deg);
216
- }
217
- .ev-checkbox-input:checked + .ev-checkbox-label.check.small:after {
218
- border: solid #41B7FD;
219
- border-radius: 0;
220
- border-width: 0 1.5px 1.5px 0;
221
- transform: rotate(45deg);
222
- }
223
- .ev-checkbox-wrap.disabled .ev-checkbox-input:checked + .ev-checkbox-label:after {
224
- background: #B01012;
225
- }
226
- .ev-checkbox-wrap.disabled .ev-checkbox-input:checked + .ev-checkbox-label.check:after {
227
- border: solid #B01012;
228
- border-radius: 0;
229
- border-width: 0 2px 2px 0;
230
- transform: rotate(45deg);
231
- }
232
- .ev-checkbox-wrap.disabled .ev-checkbox-input:checked + .ev-checkbox-label.check.small:after {
233
- border: solid #B01012;
234
- border-radius: 0;
235
- border-width: 0 1.5px 1.5px 0;
236
- transform: rotate(45deg);
237
- }
238
- .ev-checkbox-input:checked + .ev-checkbox-label.square:after {
239
- border-radius: 0;
240
- }
241
- .ev-checkbox-input:checked + .ev-checkbox-label.check:after {
242
- background: none;
243
- border-radius: 0;
244
- }
245
- .ev-checkbox-input:checked + .ev-checkbox-label.small:after {
246
- left: 6px;
247
- width: 6px;
248
- height: 6px;
249
- }
250
- .ev-checkbox-input:checked + .ev-checkbox-label.minus:after {
251
- left: 5px;
252
- width: 12px;
253
- height: 4px;
254
- border-radius: 0;
255
- }
256
- .ev-checkbox-input:checked + .ev-checkbox-label.minus.small:after {
257
- width: 8px;
258
- height: 2px;
259
- }
260
- .ev-checkbox-input:checked + .ev-checkbox-label.check:after {
261
- display: block;
262
- top: 4px;
263
- left: 7px;
264
- width: 5px;
265
- height: 8px;
266
- background: none;
267
- content: '';
268
- }
269
- .ev-checkbox-input:checked + .ev-checkbox-label.check.small:after {
270
- top: 3px;
271
- left: 6px;
272
- width: 4px;
273
- height: 6px;
274
- background: none;
319
+
320
+
321
+ /* disabled */
322
+ .disabled {
323
+ .ev-checkbox-label {
324
+ cursor: not-allowed;
325
+
326
+ @include evThemify() {
327
+ color: evThemed('checkbox-disabled');
328
+ }
329
+
330
+ &:before {
331
+ border: $border-solid $color-not-allow;
332
+ }
333
+ }
334
+
335
+ .ev-checkbox-input:checked + .ev-checkbox-label:before {
336
+ border-color: $color-not-allow;
337
+ }
338
+
339
+ .ev-checkbox-input:checked + .ev-checkbox-label:after {
340
+ background-color: $color-not-allow;
341
+ }
342
+
343
+ /* checked -- type: check */
344
+ .ev-checkbox-input:checked + .ev-checkbox-label.check:before {
345
+ background-color: $color-not-allow;
346
+ }
275
347
  }
276
348
  </style>
@@ -15,7 +15,7 @@
15
15
  ref="exampleLayer"
16
16
  class="evui-codeview-example-layer"
17
17
  >
18
- <slot/>
18
+ <slot />
19
19
  <div
20
20
  v-if="description && isBottom"
21
21
  ref="descriptionLayer"
@@ -25,7 +25,7 @@
25
25
  </div>
26
26
  </div>
27
27
  <div>
28
- <div class="evui-codeview-split-layer"/>
28
+ <div class="evui-codeview-split-layer" />
29
29
  <div
30
30
  ref="codeLayer"
31
31
  class="evui-codeview-code-layer"
@@ -43,7 +43,7 @@
43
43
  :class="selectIconClasses"
44
44
  class="evui-codeview-example-bar-icon"
45
45
  >
46
- <icon class="fa-sort-down"/>
46
+ <icon class="fa-sort-down" />
47
47
  <span
48
48
  class="evui-codeview-example-bar-span"
49
49
  >{{ txtBottomBar }}</span>
@@ -114,8 +114,8 @@
114
114
  },
115
115
  },
116
116
  mounted() {
117
- const descriptionLayerHeight = this.$refs.descriptionLayer ?
118
- this.$refs.descriptionLayer.getBoundingClientRect().height + 14.5 : 0;
117
+ const descriptionLayerHeight = this.$refs.descriptionLayer
118
+ ? this.$refs.descriptionLayer.getBoundingClientRect().height + 14.5 : 0;
119
119
  const exampleLayerHeight = this.$refs.exampleLayer.getBoundingClientRect().height;
120
120
 
121
121
  this.boxHeight = exampleLayerHeight + descriptionLayerHeight + 50;
@@ -134,8 +134,8 @@
134
134
  onBottomClick: function onBottomClick() {
135
135
  const codeLayerHeight = this.$refs.codeLayer.getBoundingClientRect().height;
136
136
  const exampleLayerHeight = this.$refs.exampleLayer.getBoundingClientRect().height;
137
- const descriptionLayerHeight = this.$refs.descriptionLayer ?
138
- this.$refs.descriptionLayer.getBoundingClientRect().height + 14.5 : 0;
137
+ const descriptionLayerHeight = this.$refs.descriptionLayer
138
+ ? this.$refs.descriptionLayer.getBoundingClientRect().height + 14.5 : 0;
139
139
  if (this.txtBottomBar === 'Expand') {
140
140
  this.txtBottomBar = 'Hide';
141
141
  this.boxHeight = codeLayerHeight + exampleLayerHeight + descriptionLayerHeight + 33;
@@ -149,64 +149,73 @@
149
149
  };
150
150
  </script>
151
151
  <style scoped>
152
- .evui-codeview{
152
+ .evui-codeview {
153
153
  position: relative;
154
154
  width: 100%;
155
- border: 1px solid #dfe6e9;
155
+ border: 1px solid #DFE6E9;
156
156
  margin: 5px;
157
157
  padding: 10px 10px 20px 10px;
158
158
  border-radius: 6px;
159
159
  overflow: hidden;
160
- z-index: 1;
161
160
  transition: height .3s ease-in-out;
162
161
  }
163
- .evui-codeview.expand{
162
+
163
+ .evui-codeview.expand {
164
164
  transition: height .3s ease-in-out;
165
165
  }
166
- .evui-codeview-example-layer{
166
+
167
+ .evui-codeview-example-layer {
167
168
  position: relative;
168
- padding: 0px 0px 8px 0px;
169
+ padding: 0 0 8px 0;
169
170
  }
170
- .evui-codeview-split-layer{
171
+
172
+ .evui-codeview-split-layer {
171
173
  position: relative;
172
- border-bottom: 1px solid #dfe6e9;
174
+ border-bottom: 1px solid #DFE6E9;
173
175
  }
174
- .evui-codeview-code-layer{
176
+
177
+ .evui-codeview-code-layer {
175
178
  position: relative;
176
179
  width: 100%;
177
180
  font-size: 8px;
178
181
  }
179
- .evui-codeview-example-bar{
182
+
183
+ .evui-codeview-example-bar {
180
184
  position: absolute;
181
- left: 0px;
182
- bottom: 0px;
185
+ left: 0;
186
+ bottom: 0;
183
187
  width: 100%;
184
188
  height: 37px;
185
189
  z-index: 10;
186
- background-color: #ffffff;
190
+ background-color: #FFFFFF;
187
191
  transition: background-color .2s ease-in-out;
188
192
  }
189
- .evui-codeview-example-bar:hover{
193
+
194
+ .evui-codeview-example-bar:hover {
190
195
  cursor: pointer;
191
196
  background-color: rgba(255, 255, 255, 0.4);
192
197
  }
193
- .evui-codeview-example:hover{
198
+
199
+ .evui-codeview-example:hover {
194
200
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
195
201
  }
196
- .evui-codeview-example-bar-icon{
202
+
203
+ .evui-codeview-example-bar-icon {
197
204
  width: 100%;
198
205
  height: 100%;
199
206
  line-height: 25px;
200
207
  text-align: center;
201
208
  }
202
- .evui-codeview-example-bar-icon i{
209
+
210
+ .evui-codeview-example-bar-icon i {
203
211
  height: 100%;
204
212
  line-height: 30px;
205
213
  font-size: 16px;
206
214
  color: rgba(30, 101, 188, 0.5);
207
215
  transition: all .3s ease-in-out;
208
216
  }
209
- .evui-codeview-example-bar-icon span{
217
+
218
+ .evui-codeview-example-bar-icon span {
210
219
  line-height: 30px;
211
220
  font-size: 13px;
212
221
  font-weight: bold;
@@ -214,21 +223,24 @@
214
223
  transition: all .3s ease-in-out;
215
224
  }
216
225
 
217
- .evui-codeview-example-bar-icon:hover i, .evui-codeview-example-bar-icon:hover span{
226
+ .evui-codeview-example-bar-icon:hover i, .evui-codeview-example-bar-icon:hover span {
218
227
  color: rgb(30, 101, 188);
219
228
  opacity: 1;
220
229
  transform: translateX(-6px);
221
230
  transition: all .3s ease-out;
222
231
  }
223
- .evui-codeview-example-bar-icon.select-down i{
232
+
233
+ .evui-codeview-example-bar-icon.select-down i {
224
234
  transform: rotate(180deg);
225
235
  transition: transform .4s ease-out;
226
236
  }
237
+
227
238
  .evui-codeview-example-bar-icon, .evui-codeview-example-bar-icon-span {
228
239
  user-select: none;
229
240
  }
241
+
230
242
  .evui-codeview-description {
231
- border: 1px solid #dfe6e9;
243
+ border: 1px solid #DFE6E9;
232
244
  border-radius: 2px;
233
245
  padding: 5px 10px 8px 10px;
234
246
  margin: 5px 3px 5px 3px;
@@ -236,7 +248,8 @@
236
248
  text-align: left;
237
249
  line-height: 1.5;
238
250
  }
239
- .evui-codeview-description span{
251
+
252
+ .evui-codeview-description span {
240
253
  font-size: 13px;
241
254
  }
242
255
  </style>
@@ -0,0 +1,79 @@
1
+ <template>
2
+ <div
3
+ :class="prefixEvui"
4
+ >
5
+ <context-menu
6
+ :depth="depth"
7
+ :visibility="visibility"
8
+ :row-index="rowIndex"
9
+ :items="items"
10
+ @click="onClick"
11
+ />
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ export default {
17
+ components: {
18
+ ContextMenu: () => import('./contextmenu'),
19
+ },
20
+ props: {
21
+ depth: {
22
+ type: Number,
23
+ default: 0,
24
+ },
25
+ rowKey: {
26
+ type: String,
27
+ default: '',
28
+ },
29
+ rowIndex: {
30
+ type: Number,
31
+ default: 0,
32
+ },
33
+ focusedRowKey: {
34
+ type: String,
35
+ default: '',
36
+ },
37
+ items: {
38
+ type: Array,
39
+ default() {
40
+ return [];
41
+ },
42
+ validator(value) {
43
+ return value != null && value.constructor === Array;
44
+ },
45
+ },
46
+ },
47
+ data() {
48
+ return {
49
+ prefixEvui: 'contextmenu-child',
50
+ visibility: 'hidden',
51
+ };
52
+ },
53
+ watch: {
54
+ focusedRowKey(value) {
55
+ if (value === this.rowKey) {
56
+ this.visibility = 'visible';
57
+ } else {
58
+ this.visibility = 'hidden';
59
+ }
60
+ },
61
+ },
62
+ methods: {
63
+ onClick(item) {
64
+ if (!item.disabled) {
65
+ this.$emit('click', item);
66
+ }
67
+ },
68
+ },
69
+ };
70
+ </script>
71
+
72
+ <style lang="scss">
73
+ .contextmenu-child {
74
+ position: absolute;
75
+ top: 0;
76
+ left: 0;
77
+ z-index: 850;
78
+ }
79
+ </style>