yy-vue-easytable 2.27.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 (205) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +187 -0
  3. package/libs/font/demo.css +539 -0
  4. package/libs/font/demo_index.html +400 -0
  5. package/libs/font/iconfont.css +57 -0
  6. package/libs/font/iconfont.eot +0 -0
  7. package/libs/font/iconfont.js +1 -0
  8. package/libs/font/iconfont.json +79 -0
  9. package/libs/font/iconfont.svg +56 -0
  10. package/libs/font/iconfont.ttf +0 -0
  11. package/libs/font/iconfont.woff +0 -0
  12. package/libs/font/iconfont.woff2 +0 -0
  13. package/libs/locale/lang/af-ZA.js +48 -0
  14. package/libs/locale/lang/en-US.js +48 -0
  15. package/libs/locale/lang/fr-FR.js +48 -0
  16. package/libs/locale/lang/ko-KR.js +48 -0
  17. package/libs/locale/lang/pt-BR.js +48 -0
  18. package/libs/locale/lang/ru-RU.js +48 -0
  19. package/libs/locale/lang/zh-CN.js +48 -0
  20. package/libs/locale/lang/zh-TW.js +48 -0
  21. package/libs/locale/lang/zu-ZA.js +48 -0
  22. package/libs/main.js +1 -0
  23. package/libs/theme-dark/base.css +1 -0
  24. package/libs/theme-dark/index.css +1253 -0
  25. package/libs/theme-dark/var.css +7 -0
  26. package/libs/theme-dark/ve-checkbox.css +150 -0
  27. package/libs/theme-dark/ve-contextmenu.css +71 -0
  28. package/libs/theme-dark/ve-dropdown.css +177 -0
  29. package/libs/theme-dark/ve-icon.css +10 -0
  30. package/libs/theme-dark/ve-loading.css +218 -0
  31. package/libs/theme-dark/ve-pagination.css +136 -0
  32. package/libs/theme-dark/ve-radio.css +111 -0
  33. package/libs/theme-dark/ve-select.css +50 -0
  34. package/libs/theme-dark/ve-table.css +385 -0
  35. package/libs/theme-default/base.css +1 -0
  36. package/libs/theme-default/index.css +1253 -0
  37. package/libs/theme-default/var.css +7 -0
  38. package/libs/theme-default/ve-checkbox.css +150 -0
  39. package/libs/theme-default/ve-contextmenu.css +71 -0
  40. package/libs/theme-default/ve-dropdown.css +177 -0
  41. package/libs/theme-default/ve-icon.css +10 -0
  42. package/libs/theme-default/ve-loading.css +218 -0
  43. package/libs/theme-default/ve-pagination.css +136 -0
  44. package/libs/theme-default/ve-radio.css +111 -0
  45. package/libs/theme-default/ve-select.css +50 -0
  46. package/libs/theme-default/ve-table.css +385 -0
  47. package/libs/umd/index.js +9 -0
  48. package/libs/ve-checkbox-group.js +1 -0
  49. package/libs/ve-checkbox.js +1 -0
  50. package/libs/ve-contextmenu.js +1 -0
  51. package/libs/ve-dropdown.js +1 -0
  52. package/libs/ve-icon.js +1 -0
  53. package/libs/ve-loading.js +1 -0
  54. package/libs/ve-locale.js +1 -0
  55. package/libs/ve-pagination.js +1 -0
  56. package/libs/ve-radio.js +1 -0
  57. package/libs/ve-select.js +1 -0
  58. package/libs/ve-table.js +1 -0
  59. package/package.json +142 -0
  60. package/packages/font/demo.css +539 -0
  61. package/packages/font/demo_index.html +400 -0
  62. package/packages/font/iconfont.css +57 -0
  63. package/packages/font/iconfont.eot +0 -0
  64. package/packages/font/iconfont.js +1 -0
  65. package/packages/font/iconfont.json +79 -0
  66. package/packages/font/iconfont.svg +56 -0
  67. package/packages/font/iconfont.ttf +0 -0
  68. package/packages/font/iconfont.woff +0 -0
  69. package/packages/font/iconfont.woff2 +0 -0
  70. package/packages/index.js +75 -0
  71. package/packages/src/comps/resize-observer/index.js +2 -0
  72. package/packages/src/comps/resize-observer/src/index.jsx +38 -0
  73. package/packages/src/directives/clickoutside.js +31 -0
  74. package/packages/src/directives/events-outside.js +79 -0
  75. package/packages/src/directives/focus.js +28 -0
  76. package/packages/src/locale/index.js +27 -0
  77. package/packages/src/locale/lang/af-ZA.js +29 -0
  78. package/packages/src/locale/lang/en-US.js +30 -0
  79. package/packages/src/locale/lang/fr-FR.js +29 -0
  80. package/packages/src/locale/lang/ko-KR.js +29 -0
  81. package/packages/src/locale/lang/pt-BR.js +29 -0
  82. package/packages/src/locale/lang/ru-RU.js +29 -0
  83. package/packages/src/locale/lang/zh-CN.js +30 -0
  84. package/packages/src/locale/lang/zh-TW.js +29 -0
  85. package/packages/src/locale/lang/zu-ZA.js +29 -0
  86. package/packages/src/mixins/emitter.js +39 -0
  87. package/packages/src/utils/animation-frame.js +39 -0
  88. package/packages/src/utils/auto-resize.js +179 -0
  89. package/packages/src/utils/constant.js +42 -0
  90. package/packages/src/utils/dom.js +239 -0
  91. package/packages/src/utils/event-key-codes.js +53 -0
  92. package/packages/src/utils/hooks-manager.js +76 -0
  93. package/packages/src/utils/index.js +161 -0
  94. package/packages/src/utils/mouse-event.js +24 -0
  95. package/packages/src/utils/random.js +6 -0
  96. package/packages/src/utils/request-animation-timeout.js +36 -0
  97. package/packages/src/utils/resize-event.js +40 -0
  98. package/packages/src/utils/scroll-bar.js +27 -0
  99. package/packages/style/ve-checkbox.less +179 -0
  100. package/packages/style/ve-contextmenu.less +76 -0
  101. package/packages/style/ve-dropdown.less +204 -0
  102. package/packages/style/ve-icon.less +3 -0
  103. package/packages/style/ve-loading.less +242 -0
  104. package/packages/style/ve-pagination.less +153 -0
  105. package/packages/style/ve-radio.less +126 -0
  106. package/packages/style/ve-select.less +48 -0
  107. package/packages/style/ve-table.less +539 -0
  108. package/packages/theme-dark/base.less +1 -0
  109. package/packages/theme-dark/index.less +12 -0
  110. package/packages/theme-dark/var.less +111 -0
  111. package/packages/theme-dark/ve-checkbox.less +2 -0
  112. package/packages/theme-dark/ve-contextmenu.less +2 -0
  113. package/packages/theme-dark/ve-dropdown.less +2 -0
  114. package/packages/theme-dark/ve-icon.less +2 -0
  115. package/packages/theme-dark/ve-loading.less +2 -0
  116. package/packages/theme-dark/ve-pagination.less +2 -0
  117. package/packages/theme-dark/ve-radio.less +2 -0
  118. package/packages/theme-dark/ve-select.less +2 -0
  119. package/packages/theme-dark/ve-table.less +2 -0
  120. package/packages/theme-default/base.less +1 -0
  121. package/packages/theme-default/index.less +12 -0
  122. package/packages/theme-default/var.less +111 -0
  123. package/packages/theme-default/ve-checkbox.less +2 -0
  124. package/packages/theme-default/ve-contextmenu.less +2 -0
  125. package/packages/theme-default/ve-dropdown.less +2 -0
  126. package/packages/theme-default/ve-icon.less +2 -0
  127. package/packages/theme-default/ve-loading.less +2 -0
  128. package/packages/theme-default/ve-pagination.less +2 -0
  129. package/packages/theme-default/ve-radio.less +2 -0
  130. package/packages/theme-default/ve-select.less +2 -0
  131. package/packages/theme-default/ve-table.less +2 -0
  132. package/packages/ve-checkbox/index.js +7 -0
  133. package/packages/ve-checkbox/src/index.jsx +175 -0
  134. package/packages/ve-checkbox/src/util/constant.js +14 -0
  135. package/packages/ve-checkbox/src/util/index.js +10 -0
  136. package/packages/ve-checkbox-group/index.js +7 -0
  137. package/packages/ve-checkbox-group/src/index.jsx +53 -0
  138. package/packages/ve-checkbox-group/src/util/constant.js +14 -0
  139. package/packages/ve-checkbox-group/src/util/index.js +10 -0
  140. package/packages/ve-contextmenu/index.js +7 -0
  141. package/packages/ve-contextmenu/src/index.jsx +731 -0
  142. package/packages/ve-contextmenu/src/util/constant.js +29 -0
  143. package/packages/ve-contextmenu/src/util/index.js +10 -0
  144. package/packages/ve-dropdown/index.js +7 -0
  145. package/packages/ve-dropdown/src/index.jsx +720 -0
  146. package/packages/ve-dropdown/src/util/constant.js +15 -0
  147. package/packages/ve-dropdown/src/util/index.js +10 -0
  148. package/packages/ve-icon/index.js +7 -0
  149. package/packages/ve-icon/src/index.jsx +52 -0
  150. package/packages/ve-icon/src/util/constant.js +10 -0
  151. package/packages/ve-icon/src/util/index.js +10 -0
  152. package/packages/ve-loading/index.js +8 -0
  153. package/packages/ve-loading/src/bounce.jsx +50 -0
  154. package/packages/ve-loading/src/flow.jsx +51 -0
  155. package/packages/ve-loading/src/grid.jsx +57 -0
  156. package/packages/ve-loading/src/index.js +106 -0
  157. package/packages/ve-loading/src/loading.jsx +63 -0
  158. package/packages/ve-loading/src/plane.jsx +38 -0
  159. package/packages/ve-loading/src/pulse.jsx +38 -0
  160. package/packages/ve-loading/src/util/constant.js +31 -0
  161. package/packages/ve-loading/src/util/index.js +10 -0
  162. package/packages/ve-loading/src/wave.jsx +53 -0
  163. package/packages/ve-locale/index.js +28 -0
  164. package/packages/ve-pagination/index.js +7 -0
  165. package/packages/ve-pagination/src/index.jsx +304 -0
  166. package/packages/ve-pagination/src/pager.jsx +166 -0
  167. package/packages/ve-pagination/src/util/constant.js +16 -0
  168. package/packages/ve-pagination/src/util/index.js +10 -0
  169. package/packages/ve-radio/index.js +7 -0
  170. package/packages/ve-radio/src/index.jsx +121 -0
  171. package/packages/ve-radio/src/util/constant.js +13 -0
  172. package/packages/ve-radio/src/util/index.js +10 -0
  173. package/packages/ve-select/index.js +7 -0
  174. package/packages/ve-select/src/index.jsx +193 -0
  175. package/packages/ve-select/src/util/constant.js +13 -0
  176. package/packages/ve-select/src/util/index.js +10 -0
  177. package/packages/ve-table/index.js +7 -0
  178. package/packages/ve-table/src/body/body-checkbox-content.jsx +126 -0
  179. package/packages/ve-table/src/body/body-radio-content.jsx +113 -0
  180. package/packages/ve-table/src/body/body-td.jsx +671 -0
  181. package/packages/ve-table/src/body/body-tr-scrolling.jsx +38 -0
  182. package/packages/ve-table/src/body/body-tr.jsx +383 -0
  183. package/packages/ve-table/src/body/expand-tr-icon.jsx +80 -0
  184. package/packages/ve-table/src/body/expand-tr.jsx +147 -0
  185. package/packages/ve-table/src/body/index.jsx +943 -0
  186. package/packages/ve-table/src/colgroup/index.jsx +48 -0
  187. package/packages/ve-table/src/column-resizer/index.jsx +318 -0
  188. package/packages/ve-table/src/editor/constant.js +5 -0
  189. package/packages/ve-table/src/editor/index.jsx +533 -0
  190. package/packages/ve-table/src/footer/footer-td.jsx +396 -0
  191. package/packages/ve-table/src/footer/footer-tr.jsx +249 -0
  192. package/packages/ve-table/src/footer/index.jsx +108 -0
  193. package/packages/ve-table/src/header/header-checkbox-content.jsx +69 -0
  194. package/packages/ve-table/src/header/header-filter-content.jsx +100 -0
  195. package/packages/ve-table/src/header/header-filter-custom-content.jsx +110 -0
  196. package/packages/ve-table/src/header/header-th.jsx +664 -0
  197. package/packages/ve-table/src/header/header-tr.jsx +255 -0
  198. package/packages/ve-table/src/header/index.jsx +195 -0
  199. package/packages/ve-table/src/index.jsx +4196 -0
  200. package/packages/ve-table/src/selection/constant.js +5 -0
  201. package/packages/ve-table/src/selection/index.jsx +1643 -0
  202. package/packages/ve-table/src/util/clipboard.js +428 -0
  203. package/packages/ve-table/src/util/constant.js +269 -0
  204. package/packages/ve-table/src/util/index.js +1585 -0
  205. package/packages/ve-table/src/util/store.js +14 -0
@@ -0,0 +1,111 @@
1
+ @ve-primary-color: #121212;
2
+ @ve-secondary-color: #363636;
3
+ @ve-dark-text-color: #ffffffd9;
4
+ @ve-default-font-size: 14px;
5
+
6
+ /* ve-table */
7
+ @ve-fixed-body-cell-index: 10;
8
+ @ve-fixed-cell-selection-border-index: 10;
9
+ @ve-fixed-cell-selection-corner-index: 11;
10
+ @ve-fixed-header-index: 20;
11
+ @ve-fixed-foot-index: 20;
12
+ @ve-fixed-header-cell-index: 30;
13
+ @ve-fixed-foot-cell-index: 30;
14
+ @ve-table-head-row-height: 40px;
15
+ @ve-table-body-row-height: 40px;
16
+ @ve-table-foot-row-height: 40px;
17
+ @ve-table-td-editing-line-height: 30px;
18
+ @ve-table-head-row-td-padding: 10px;
19
+ @ve-table-body-row-td-padding: 10px;
20
+ @ve-table-body-row-expand-content-padding: 0 10px;
21
+ @ve-table-foot-row-td-padding: 10px;
22
+ @ve-table-border-color: #000;
23
+ @ve-table-column-fixed-border-color: #434343;
24
+ @ve-table-td-editing-font-color: #fff;
25
+ @ve-table-td-editing-border-color: #2196f3;
26
+ @ve-table-td-editing-background-color: #434343;
27
+ @ve-table-td-editing-box-shadow-color: #5e5c5c;
28
+ @ve-table-selection-border-color: #4b89ff;
29
+ @ve-table-selection-autofill-border-color: #ff000085;
30
+ @ve-table-selection-corner-border-color: #ffffff;
31
+ @ve-table-selection-corner-background-color: #4b89ff;
32
+ @ve-table-selection-area-layer-background-color: #0d65eb;
33
+ @ve-table-td-operation-column-background-color: #1d1d1d;
34
+ @ve-table-body-background-color: #141414;
35
+ @ve-table-body-row-stripe-background-color: @ve-primary-color;
36
+ @ve-table-body-row-hover-background-color: @ve-primary-color;
37
+ @ve-table-body-row-highlight-background-color: #000;
38
+ @ve-table-body-row-row-scrolling-background-color: #141414;
39
+ @ve-table-header-background-color: #1d1d1d;
40
+ @ve-table-head-text-color: @ve-dark-text-color;
41
+ @ve-table-head-indicator-active-text-color: #fff;
42
+ @ve-table-body-text-color: @ve-dark-text-color;
43
+ @ve-table-body-indicator-active-text-color: #fff;
44
+ @ve-table-foot-background-color: #1d1d1d;
45
+ @ve-table-foot-text-color: @ve-dark-text-color;
46
+ @ve-table-sort-icon-default-color: #bfbfbf;
47
+ @ve-table-sort-icon-active-color: #108ee9;
48
+ @ve-table-head-text-font-size: @ve-default-font-size;
49
+ @ve-table-body-text-font-size: @ve-default-font-size;
50
+ @ve-table-foot-text-font-size: @ve-default-font-size;
51
+ @ve-table-header-filter-icon-color: #eee;
52
+ @ve-table-header-cell-indicator-background-color: #434343;
53
+ @ve-table-header-cell-indicator-active-background-color: #666;
54
+ @ve-table-body-cell-indicator-background-color: #434343;
55
+ @ve-table-body-cell-indicator-active-background-color: #666;
56
+ @ve-table-column-resizer-handler-background-color: #4d90fe;
57
+ @ve-table-column-resizer-line-background-color: #4d90fe;
58
+
59
+ /* ve-pagination */
60
+ @ve-pagination-background-color: @ve-primary-color;
61
+ @ve-pagination-item-border-color: #434343;
62
+ @ve-pagination-item-background-color: @ve-primary-color;
63
+ @ve-pagination-item-text-color: @ve-dark-text-color;
64
+ @ve-pagination-li-color: @ve-dark-text-color;
65
+ @ve-pagination-jump-hover-color: @ve-dark-text-color;
66
+ @ve-pagination-goto-background-color: #141414;
67
+ @ve-pagination-goto-input-color: @ve-dark-text-color;
68
+ @ve-pagination-goto-input-hover-color: @ve-dark-text-color;
69
+
70
+ /* ve-checkbox */
71
+ @ve-checkbox-checked-background-color: #108ee9;
72
+ @ve-checkbox-checked-border-color: #108ee9;
73
+ @ve-checkbox-label-text-color: @ve-dark-text-color;
74
+
75
+ /* ve-radio */
76
+ @ve-radio-checked-background-color: #108ee9;
77
+ @ve-radio-checked-border-color: #108ee9;
78
+ @ve-radio-label-text-color: @ve-dark-text-color;
79
+
80
+ /* ve-select */
81
+ @ve-select-text-color: @ve-dark-text-color;
82
+
83
+ /* ve-dropdown */
84
+ @ve-dropdown-z-index: 999;
85
+ @ve-dropdown-background-color: @ve-secondary-color;
86
+ @ve-dropdown-border-color: #434343;
87
+ @ve-dropdown-text-color: @ve-dark-text-color;
88
+ @ve-dropdown-item-background-color: @ve-secondary-color;
89
+ @ve-dropdown-item-border-color: @ve-secondary-color;
90
+ @ve-dropdown-item-active-background-color: #666666;
91
+ @ve-dropdown-item-hover-background-color: #464646;
92
+ @ve-dropdown-item-hover-text-color: @ve-dark-text-color;
93
+ @ve-dropdown-active-text-color: @ve-dark-text-color;
94
+ @ve-dropdown-operation-item-text-color: @ve-dark-text-color;
95
+ @ve-dropdown-operation-item-hover-text-color: #2196f3;
96
+
97
+ /* ve-contextmenu */
98
+ @ve-contextmenu-background-color: @ve-secondary-color;
99
+ @ve-contextmenu-border-color: @ve-secondary-color;
100
+ @ve-contextmenu-border-radius: 4px;
101
+ @ve-contextmenu-box-shadow-color: #0000001a;
102
+ @ve-contextmenu-min-width: 180px;
103
+ @ve-contextmenu-min-height: 50px;
104
+ @ve-contextmenu-node-separator-line-color: hsla(0, 0%, 100%, 0.12);
105
+ @ve-contextmenu-node-hover-background-color: #666666;
106
+ @ve-contextmenu-node-text-color: @ve-dark-text-color;
107
+ @ve-contextmenu-node-hover-text-color: @ve-dark-text-color;
108
+ @ve-contextmenu-node-active-text-color: @ve-dark-text-color;
109
+ @ve-contextmenu-node-disabled-text-color: #c0c4cc;
110
+ @ve-contextmenu-node-icon-postfix-color: @ve-dark-text-color;
111
+ @ve-contextmenu-node-disabled-icon-postfix-color: #c0c4cc;
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-checkbox.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-contextmenu.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-dropdown.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-icon.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-loading.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-pagination.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-radio.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-select.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-table.less";
@@ -0,0 +1 @@
1
+ @import "../font/iconfont.css";
@@ -0,0 +1,12 @@
1
+ // This file is auto gererated by build/build-entry.js
2
+ @import "./base.less";
3
+ @import "./ve-checkbox.less";
4
+ @import "./ve-contextmenu.less";
5
+ @import "./ve-dropdown.less";
6
+ @import "./ve-icon.less";
7
+ @import "./ve-loading.less";
8
+ @import "./ve-pagination.less";
9
+ @import "./ve-radio.less";
10
+ @import "./ve-select.less";
11
+ @import "./ve-table.less";
12
+
@@ -0,0 +1,111 @@
1
+ @ve-primary-color: #108ee9;
2
+ @ve-default-text-color: #000000d9;
3
+ @ve-default-font-size: 14px;
4
+
5
+ /* ve-table */
6
+ @ve-fixed-body-cell-index: 10;
7
+ @ve-fixed-cell-selection-border-index: 10;
8
+ @ve-fixed-cell-selection-corner-index: 11;
9
+ @ve-fixed-header-index: 20;
10
+ @ve-fixed-foot-index: 20;
11
+ @ve-fixed-header-cell-index: 30;
12
+ @ve-fixed-foot-cell-index: 30;
13
+ @ve-table-head-row-height: 40px;
14
+ @ve-table-body-row-height: 40px;
15
+ @ve-table-foot-row-height: 40px;
16
+ @ve-table-td-editing-line-height: 30px;
17
+ @ve-table-head-row-td-padding: 10px;
18
+ @ve-table-body-row-td-padding: 10px;
19
+ @ve-table-body-row-expand-content-padding: 0 10px;
20
+ @ve-table-foot-row-td-padding: 10px;
21
+ @ve-table-border-color: #eee;
22
+ @ve-table-column-fixed-border-color: #ddd;
23
+ @ve-table-td-editing-font-color: #000;
24
+ @ve-table-td-editing-border-color: #2196f3;
25
+ @ve-table-td-editing-background-color: #fff;
26
+ @ve-table-td-editing-box-shadow-color: #1f232966;
27
+ @ve-table-selection-border-color: #4b89ff;
28
+ @ve-table-selection-autofill-border-color: #ff000085;
29
+ @ve-table-selection-corner-border-color: #ffffff;
30
+ @ve-table-selection-corner-background-color: #4b89ff;
31
+ @ve-table-selection-area-layer-background-color: #0d65eb;
32
+ @ve-table-td-operation-column-background-color: #fafafa;
33
+ @ve-table-body-background-color: #fff;
34
+ @ve-table-body-row-stripe-background-color: #fafafa;
35
+ @ve-table-body-row-hover-background-color: #f5f7fa;
36
+ @ve-table-body-row-highlight-background-color: #e0f3ff;
37
+ @ve-table-body-row-row-scrolling-background-color: #fff;
38
+ @ve-table-header-background-color: #fafafa;
39
+ @ve-table-head-text-color: @ve-default-text-color;
40
+ @ve-table-head-indicator-active-text-color: #fff;
41
+ @ve-table-body-text-color: @ve-default-text-color;
42
+ @ve-table-body-indicator-active-text-color: #fff;
43
+ @ve-table-foot-background-color: #fafafa;
44
+ @ve-table-foot-text-color: @ve-default-text-color;
45
+ @ve-table-sort-icon-default-color: #bfbfbf;
46
+ @ve-table-sort-icon-active-color: @ve-primary-color;
47
+ @ve-table-head-text-font-size: @ve-default-font-size;
48
+ @ve-table-body-text-font-size: @ve-default-font-size;
49
+ @ve-table-foot-text-font-size: @ve-default-font-size;
50
+ @ve-table-header-filter-icon-color: #000;
51
+ @ve-table-header-cell-indicator-background-color: #eaebec;
52
+ @ve-table-header-cell-indicator-active-background-color: #5f6266;
53
+ @ve-table-body-cell-indicator-background-color: #eaebec;
54
+ @ve-table-body-cell-indicator-active-background-color: #5f6266;
55
+ @ve-table-column-resizer-handler-background-color: #4d90fe;
56
+ @ve-table-column-resizer-line-background-color: #4d90fe;
57
+
58
+ /* ve-pagination */
59
+ @ve-pagination-background-color: #fff;
60
+ @ve-pagination-item-border-color: #c8cdd4;
61
+ @ve-pagination-item-background-color: #fff;
62
+ @ve-pagination-li-color: @ve-primary-color;
63
+ @ve-pagination-jump-hover-color: @ve-primary-color;
64
+ @ve-pagination-item-text-color: @ve-default-text-color;
65
+ @ve-pagination-goto-background-color: #fff;
66
+ @ve-pagination-goto-input-color: @ve-default-text-color;
67
+ @ve-pagination-goto-input-hover-color: @ve-primary-color;
68
+
69
+ /* ve-checkbox */
70
+ @ve-checkbox-checked-background-color: @ve-primary-color;
71
+ @ve-checkbox-checked-border-color: @ve-primary-color;
72
+ @ve-checkbox-label-text-color: @ve-default-text-color;
73
+
74
+ /* ve-radio */
75
+ @ve-radio-checked-background-color: @ve-primary-color;
76
+ @ve-radio-checked-border-color: @ve-primary-color;
77
+ @ve-radio-label-text-color: @ve-default-text-color;
78
+
79
+ /* ve-select */
80
+ @ve-select-text-color: @ve-default-text-color;
81
+
82
+ /* ve-dropdown */
83
+ @ve-dropdown-z-index: 999;
84
+ @ve-dropdown-background-color: #fff;
85
+ @ve-dropdown-border-color: #c8cdd4;
86
+ @ve-dropdown-text-color: @ve-default-text-color;
87
+ @ve-dropdown-item-background-color: #fff;
88
+ @ve-dropdown-item-border-color: #d1dbe5;
89
+ @ve-dropdown-item-active-background-color: #e6f7ff;
90
+ @ve-dropdown-item-hover-background-color: #f3f3f3;
91
+ @ve-dropdown-item-hover-text-color: @ve-primary-color;
92
+ @ve-dropdown-active-text-color: @ve-primary-color;
93
+ @ve-dropdown-operation-item-text-color: #495060;
94
+ @ve-dropdown-operation-item-hover-text-color: @ve-primary-color;
95
+
96
+ /* ve-contextmenu */
97
+ @ve-contextmenu-background-color: #fff;
98
+ @ve-contextmenu-border-color: #e4e7ed;
99
+ @ve-contextmenu-border-radius: 4px;
100
+ @ve-contextmenu-box-shadow-color: #0000001a;
101
+ @ve-contextmenu-min-width: 180px;
102
+ @ve-contextmenu-min-height: 50px;
103
+ @ve-contextmenu-node-label-text-color: @ve-primary-color;
104
+ @ve-contextmenu-node-hover-background-color: #f5f7fa;
105
+ @ve-contextmenu-node-text-color: @ve-default-text-color;
106
+ @ve-contextmenu-node-hover-text-color: #409eff;
107
+ @ve-contextmenu-node-active-text-color: #409eff;
108
+ @ve-contextmenu-node-disabled-text-color: #c0c4cc;
109
+ @ve-contextmenu-node-icon-postfix-color: #666;
110
+ @ve-contextmenu-node-disabled-icon-postfix-color: #c0c4cc;
111
+ @ve-contextmenu-node-separator-line-color: #eee;
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-checkbox.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-contextmenu.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-dropdown.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-icon.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-loading.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-pagination.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-radio.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-select.less";
@@ -0,0 +1,2 @@
1
+ @import "./var.less";
2
+ @import "../style/ve-table.less";
@@ -0,0 +1,7 @@
1
+ import VeCheckbox from "./src/index";
2
+
3
+ VeCheckbox.install = function (Vue) {
4
+ Vue.component(VeCheckbox.name, VeCheckbox);
5
+ };
6
+
7
+ export default VeCheckbox;
@@ -0,0 +1,175 @@
1
+ import { getParentCompByName } from "../../src/utils";
2
+ import { clsName } from "./util";
3
+ import { COMPS_NAME, EMIT_EVENTS } from "./util/constant";
4
+
5
+ export default {
6
+ name: COMPS_NAME.VE_CHECKBOX,
7
+ props: {
8
+ // 当前checkbox 选中状态,实现 v-model
9
+ value: {
10
+ type: [String, Number, Boolean],
11
+ default: null,
12
+ },
13
+ label: {
14
+ type: [String],
15
+ default: null,
16
+ },
17
+ // is disabled checked
18
+ disabled: Boolean,
19
+ // partial selection effect
20
+ indeterminate: Boolean,
21
+ // 是否是可控组件
22
+ isControlled: {
23
+ type: Boolean,
24
+ default: false,
25
+ },
26
+ // isControlled 为true 时生效
27
+ isSelected: {
28
+ type: Boolean,
29
+ default: false,
30
+ },
31
+ },
32
+ data() {
33
+ return {
34
+ // 当前checkbox 选中状态
35
+ model: this.value,
36
+ checkboxGroup: {},
37
+ };
38
+ },
39
+
40
+ computed: {
41
+ checkboxClass() {
42
+ return [
43
+ clsName("content"),
44
+ {
45
+ [clsName("checked")]: this.internalIsSelected,
46
+ [clsName("disabled")]: this.disabled,
47
+ [clsName("indeterminate")]: this.indeterminate,
48
+ },
49
+ ];
50
+ },
51
+
52
+ // 是否横向显示还是纵向显示
53
+ checkboxStyle() {
54
+ return {
55
+ display:
56
+ this.checkboxGroup && this.checkboxGroup.isVerticalShow
57
+ ? "block"
58
+ : "inline-block",
59
+ };
60
+ },
61
+ // 是否选中
62
+ internalIsSelected() {
63
+ return this.isControlled ? this.isSelected : this.model;
64
+ },
65
+ },
66
+
67
+ watch: {
68
+ value() {
69
+ this.updateModelBySingle();
70
+ },
71
+ },
72
+
73
+ methods: {
74
+ // checkbox change
75
+ checkboxChange(event) {
76
+ if (this.disabled) {
77
+ return false;
78
+ }
79
+ const isChecked = event.target.checked;
80
+
81
+ if (!this.isControlled) {
82
+ this.$emit("input", isChecked);
83
+ }
84
+ this.$emit(EMIT_EVENTS.ON_CHECKED_CHANGE, isChecked);
85
+
86
+ if (this.isCheckBoxGroup()) {
87
+ //update parent comp:checkbox-group
88
+ this.checkboxGroup.updateModel(this.label, isChecked);
89
+ }
90
+ },
91
+
92
+ // is checkbox group
93
+ isCheckBoxGroup() {
94
+ this.checkboxGroup = getParentCompByName(
95
+ this,
96
+ COMPS_NAME.VE_CHECKBOX_GROUP,
97
+ );
98
+ return this.checkboxGroup ? true : false;
99
+ },
100
+
101
+ // get label content
102
+ getLabelContent() {
103
+ const { label, $slots } = this;
104
+
105
+ return label ? label : $slots.default;
106
+ },
107
+
108
+ initModel() {
109
+ if (this.isCheckBoxGroup()) {
110
+ let checkboxGroup = this.checkboxGroup;
111
+ if (
112
+ Array.isArray(checkboxGroup.value) &&
113
+ checkboxGroup.value.length > 0
114
+ ) {
115
+ if (checkboxGroup.value.indexOf(this.label) > -1) {
116
+ this.model = true;
117
+ }
118
+ }
119
+ } else {
120
+ this.model = this.value;
121
+ }
122
+ },
123
+
124
+ // 通过单选更新 model
125
+ updateModelBySingle() {
126
+ if (!this.disabled) {
127
+ this.model = this.value;
128
+ }
129
+ },
130
+
131
+ // 父组件调用更新 model
132
+ updateModelByGroup(checkBoxGroup) {
133
+ if (checkBoxGroup.indexOf(this.label) > -1) {
134
+ if (!this.disabled) {
135
+ this.model = true;
136
+ }
137
+ } else {
138
+ if (!this.disabled) {
139
+ this.model = false;
140
+ }
141
+ }
142
+ },
143
+ },
144
+
145
+ created() {
146
+ this.initModel();
147
+ },
148
+ render() {
149
+ const {
150
+ checkboxStyle,
151
+ label,
152
+ checkboxClass,
153
+ checkboxChange,
154
+ getLabelContent,
155
+ internalIsSelected,
156
+ } = this;
157
+
158
+ return (
159
+ <label class={"ve-checkbox"} style={checkboxStyle}>
160
+ <span class={checkboxClass}>
161
+ <input
162
+ checked={internalIsSelected}
163
+ class={clsName("input")}
164
+ type="checkbox"
165
+ value={label}
166
+ on-change={checkboxChange}
167
+ />
168
+
169
+ <span class={clsName("inner")}></span>
170
+ </span>
171
+ <span class={clsName("label")}>{getLabelContent()}</span>
172
+ </label>
173
+ );
174
+ },
175
+ };
@@ -0,0 +1,14 @@
1
+ // prefix
2
+ export const PREFIX_CLS = "ve-checkbox-";
3
+
4
+ // emit events
5
+ export const EMIT_EVENTS = {
6
+ // on checked change
7
+ ON_CHECKED_CHANGE: "on-checked-change",
8
+ };
9
+
10
+ // comps name
11
+ export const COMPS_NAME = {
12
+ VE_CHECKBOX: "VeCheckbox",
13
+ VE_CHECKBOX_GROUP: "VeCheckboxGroup",
14
+ };
@@ -0,0 +1,10 @@
1
+ import { PREFIX_CLS } from "./constant";
2
+
3
+ /*
4
+ * @clsName
5
+ * @desc get class name
6
+ * @param {string} cls - class
7
+ */
8
+ export function clsName(cls) {
9
+ return PREFIX_CLS + cls;
10
+ }
@@ -0,0 +1,7 @@
1
+ import VeCheckboxGroup from "./src/index";
2
+
3
+ VeCheckboxGroup.install = function (Vue) {
4
+ Vue.component(VeCheckboxGroup.name, VeCheckboxGroup);
5
+ };
6
+
7
+ export default VeCheckboxGroup;
@@ -0,0 +1,53 @@
1
+ import { getChildCompsByName } from "../../src/utils";
2
+ import { COMPS_NAME, EMIT_EVENTS } from "./util/constant";
3
+
4
+ export default {
5
+ name: COMPS_NAME.VE_CHECKBOX_GROUP,
6
+ props: {
7
+ value: {
8
+ type: Array,
9
+ default() {
10
+ return [];
11
+ },
12
+ },
13
+ // 是否垂直排列显示(当时checkbox组时生效)
14
+ isVerticalShow: {
15
+ type: Boolean,
16
+ default: false,
17
+ },
18
+ },
19
+
20
+ watch: {
21
+ // 更新子组件选中状态
22
+ value(newVal) {
23
+ let children = getChildCompsByName(this, COMPS_NAME.VE_CHECKBOX);
24
+
25
+ if (children.length > 0) {
26
+ children.forEach((child) => {
27
+ child.updateModelByGroup(newVal);
28
+ });
29
+ }
30
+ },
31
+ },
32
+
33
+ methods: {
34
+ updateModel(label, checkedVal) {
35
+ let index = this.value.indexOf(label);
36
+ if (index > -1) {
37
+ if (!checkedVal) {
38
+ this.value.splice(index, 1);
39
+ }
40
+ } else {
41
+ if (checkedVal) {
42
+ this.value.push(label);
43
+ }
44
+ }
45
+
46
+ this.$emit("input", this.value);
47
+ this.$emit(EMIT_EVENTS.ON_CHECKED_CHANGE, this.value);
48
+ },
49
+ },
50
+ render() {
51
+ return <div class="ve-checkbox-group">{this.$slots.default}</div>;
52
+ },
53
+ };
@@ -0,0 +1,14 @@
1
+ // prefix
2
+ export const PREFIX_CLS = "ve-checkbox-group-";
3
+
4
+ // emit events
5
+ export const EMIT_EVENTS = {
6
+ // on checked change
7
+ ON_CHECKED_CHANGE: "on-checked-change",
8
+ };
9
+
10
+ // comps name
11
+ export const COMPS_NAME = {
12
+ VE_CHECKBOX: "VeCheckbox",
13
+ VE_CHECKBOX_GROUP: "VeCheckboxGroup",
14
+ };
@@ -0,0 +1,10 @@
1
+ import { PREFIX_CLS } from "./constant";
2
+
3
+ /*
4
+ * @clsName
5
+ * @desc get class name
6
+ * @param {string} cls - class
7
+ */
8
+ export function clsName(cls) {
9
+ return PREFIX_CLS + cls;
10
+ }
@@ -0,0 +1,7 @@
1
+ import VeContextmenu from "./src/index.jsx";
2
+
3
+ VeContextmenu.install = function (Vue) {
4
+ Vue.component(VeContextmenu.name, VeContextmenu);
5
+ };
6
+
7
+ export default VeContextmenu;