cy-element-ui 1.0.57 → 1.0.59

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 (291) hide show
  1. package/lib/autocomplete.js +25 -25
  2. package/lib/calendar.js +12 -12
  3. package/lib/carousel-item.js +4 -4
  4. package/lib/carousel.js +4 -4
  5. package/lib/cascader-panel.js +23 -23
  6. package/lib/cascader.js +32 -32
  7. package/lib/checkbox-button.js +4 -4
  8. package/lib/checkbox-group.js +4 -4
  9. package/lib/checkbox.js +4 -4
  10. package/lib/collapse-item.js +8 -8
  11. package/lib/color-picker.js +21 -21
  12. package/lib/date-picker.js +78 -78
  13. package/lib/descriptions.js +2 -2
  14. package/lib/dialog.js +8 -8
  15. package/lib/directives/repeat-click.js +2 -2
  16. package/lib/drawer.js +6 -6
  17. package/lib/dropdown-item.js +4 -4
  18. package/lib/dropdown-menu.js +4 -4
  19. package/lib/dropdown.js +12 -12
  20. package/lib/element-ui.common.js +598 -916
  21. package/lib/empty.js +4 -4
  22. package/lib/fileUpload.js +30 -30
  23. package/lib/form-item.js +8 -8
  24. package/lib/form.js +4 -4
  25. package/lib/image.js +19 -19
  26. package/lib/index.js +1 -1
  27. package/lib/infinite-scroll.js +4 -4
  28. package/lib/input-number.js +15 -15
  29. package/lib/input.js +10 -10
  30. package/lib/loading.js +8 -8
  31. package/lib/locale/format.js +1 -1
  32. package/lib/locale/index.js +1 -1
  33. package/lib/menu-item.js +6 -6
  34. package/lib/menu.js +6 -6
  35. package/lib/message-box.js +20 -20
  36. package/lib/message.js +6 -6
  37. package/lib/mixins/locale.js +1 -1
  38. package/lib/mixins/migrating.js +2 -2
  39. package/lib/notification.js +6 -6
  40. package/lib/option-group.js +4 -4
  41. package/lib/option.js +6 -6
  42. package/lib/page-header.js +4 -4
  43. package/lib/pagination.js +10 -10
  44. package/lib/popconfirm.js +8 -8
  45. package/lib/popover.js +8 -8
  46. package/lib/radio-button.js +4 -4
  47. package/lib/radio-group.js +4 -4
  48. package/lib/radio.js +4 -4
  49. package/lib/rate.js +8 -8
  50. package/lib/scrollbar.js +8 -8
  51. package/lib/select.js +37 -37
  52. package/lib/slider.js +15 -15
  53. package/lib/statistic.js +4 -4
  54. package/lib/steps.js +4 -4
  55. package/lib/submenu.js +6 -6
  56. package/lib/switch.js +8 -8
  57. package/lib/tabDialog.js +6 -6
  58. package/lib/table-column.js +8 -8
  59. package/lib/table.js +41 -41
  60. package/lib/tabs.js +6 -6
  61. package/lib/theme-chalk/alert.css +1 -0
  62. package/lib/theme-chalk/aside.css +1 -0
  63. package/lib/theme-chalk/autocomplete.css +1 -0
  64. package/lib/theme-chalk/avatar.css +1 -0
  65. package/lib/theme-chalk/backtop.css +1 -0
  66. package/lib/theme-chalk/badge.css +1 -0
  67. package/lib/theme-chalk/base.css +1 -1
  68. package/lib/theme-chalk/breadcrumb-item.css +0 -0
  69. package/lib/theme-chalk/breadcrumb.css +1 -0
  70. package/lib/theme-chalk/button-group.css +0 -0
  71. package/lib/theme-chalk/button.css +1 -0
  72. package/lib/theme-chalk/calendar.css +1 -0
  73. package/lib/theme-chalk/card.css +1 -0
  74. package/lib/theme-chalk/carousel-item.css +1 -0
  75. package/lib/theme-chalk/carousel.css +1 -0
  76. package/lib/theme-chalk/cascader-panel.css +1 -0
  77. package/lib/theme-chalk/cascader.css +1 -0
  78. package/lib/theme-chalk/checkbox-button.css +0 -0
  79. package/lib/theme-chalk/checkbox-group.css +0 -0
  80. package/lib/theme-chalk/checkbox.css +1 -0
  81. package/lib/theme-chalk/col.css +1 -0
  82. package/lib/theme-chalk/collapse-item.css +0 -0
  83. package/lib/theme-chalk/collapse.css +1 -0
  84. package/lib/theme-chalk/color-picker.css +1 -0
  85. package/lib/theme-chalk/container.css +1 -0
  86. package/lib/theme-chalk/date-picker.css +1 -0
  87. package/lib/theme-chalk/descriptions-item.css +1 -0
  88. package/lib/theme-chalk/descriptions.css +1 -0
  89. package/lib/theme-chalk/dialog.css +1 -0
  90. package/lib/theme-chalk/display.css +1 -0
  91. package/lib/theme-chalk/divider.css +1 -0
  92. package/lib/theme-chalk/drawer.css +1 -0
  93. package/lib/theme-chalk/dropdown-item.css +0 -0
  94. package/lib/theme-chalk/dropdown-menu.css +0 -0
  95. package/lib/theme-chalk/dropdown.css +1 -0
  96. package/lib/theme-chalk/element.css +1 -1
  97. package/lib/theme-chalk/empty.css +1 -0
  98. package/lib/theme-chalk/fileUpload.css +1 -1
  99. package/lib/theme-chalk/fonts/element-icons.ttf +0 -0
  100. package/lib/theme-chalk/fonts/element-icons.woff +0 -0
  101. package/lib/theme-chalk/footer.css +1 -0
  102. package/lib/theme-chalk/form-item.css +0 -0
  103. package/lib/theme-chalk/form.css +1 -0
  104. package/lib/theme-chalk/header.css +1 -0
  105. package/lib/theme-chalk/icon.css +1 -0
  106. package/lib/theme-chalk/image.css +1 -0
  107. package/lib/theme-chalk/index.css +1 -1
  108. package/lib/theme-chalk/infinite-scroll.css +0 -0
  109. package/lib/theme-chalk/infiniteScroll.css +0 -0
  110. package/lib/theme-chalk/input-number.css +1 -0
  111. package/lib/theme-chalk/input.css +1 -0
  112. package/lib/theme-chalk/link.css +1 -0
  113. package/lib/theme-chalk/loading.css +1 -0
  114. package/lib/theme-chalk/main.css +1 -0
  115. package/lib/theme-chalk/menu-item-group.css +0 -0
  116. package/lib/theme-chalk/menu-item.css +0 -0
  117. package/lib/theme-chalk/menu.css +1 -0
  118. package/lib/theme-chalk/message-box.css +1 -0
  119. package/lib/theme-chalk/message.css +1 -0
  120. package/lib/theme-chalk/notification.css +1 -0
  121. package/lib/theme-chalk/option-group.css +1 -0
  122. package/lib/theme-chalk/option.css +1 -0
  123. package/lib/theme-chalk/page-header.css +1 -0
  124. package/lib/theme-chalk/pagination.css +1 -0
  125. package/lib/theme-chalk/popconfirm.css +1 -0
  126. package/lib/theme-chalk/popover.css +1 -0
  127. package/lib/theme-chalk/popper.css +1 -0
  128. package/lib/theme-chalk/progress.css +1 -0
  129. package/lib/theme-chalk/radio-button.css +1 -0
  130. package/lib/theme-chalk/radio-group.css +1 -0
  131. package/lib/theme-chalk/radio.css +1 -0
  132. package/lib/theme-chalk/rate.css +1 -0
  133. package/lib/theme-chalk/reset.css +1 -0
  134. package/lib/theme-chalk/result.css +1 -0
  135. package/lib/theme-chalk/row.css +1 -0
  136. package/lib/theme-chalk/scrollbar.css +1 -0
  137. package/lib/theme-chalk/select-dropdown.css +1 -0
  138. package/lib/theme-chalk/select.css +1 -0
  139. package/lib/theme-chalk/selectDisplayInput.css +1 -1
  140. package/lib/theme-chalk/skeleton-item.css +1 -0
  141. package/lib/theme-chalk/skeleton.css +1 -0
  142. package/lib/theme-chalk/slider.css +1 -0
  143. package/lib/theme-chalk/spinner.css +1 -0
  144. package/lib/theme-chalk/statistic.css +1 -0
  145. package/lib/theme-chalk/step.css +1 -0
  146. package/lib/theme-chalk/steps.css +1 -0
  147. package/lib/theme-chalk/subTitle.css +1 -1
  148. package/lib/theme-chalk/submenu.css +0 -0
  149. package/lib/theme-chalk/switch.css +1 -0
  150. package/lib/theme-chalk/tab-pane.css +0 -0
  151. package/lib/theme-chalk/tabDialog.css +1 -1
  152. package/lib/theme-chalk/table-column.css +1 -0
  153. package/lib/theme-chalk/table.css +1 -0
  154. package/lib/theme-chalk/tabs.css +1 -0
  155. package/lib/theme-chalk/tag.css +1 -0
  156. package/lib/theme-chalk/time-picker.css +1 -0
  157. package/lib/theme-chalk/time-select.css +1 -0
  158. package/lib/theme-chalk/timeline-item.css +1 -0
  159. package/lib/theme-chalk/timeline.css +1 -0
  160. package/lib/theme-chalk/tooltip.css +1 -0
  161. package/lib/theme-chalk/transfer.css +1 -0
  162. package/lib/theme-chalk/tree.css +1 -0
  163. package/lib/theme-chalk/treeSelect.css +1 -1
  164. package/lib/theme-chalk/upload.css +1 -0
  165. package/lib/time-picker.js +37 -37
  166. package/lib/time-select.js +20 -20
  167. package/lib/tooltip.js +6 -6
  168. package/lib/transfer.js +23 -23
  169. package/lib/transitions/collapse-transition.js +1 -1
  170. package/lib/tree.js +23 -23
  171. package/lib/treeSelect.js +20 -20
  172. package/lib/upload.js +11 -11
  173. package/lib/utils/clickoutside.js +1 -1
  174. package/lib/utils/date-util.js +2 -2
  175. package/lib/utils/popup/index.js +2 -2
  176. package/lib/utils/popup/popup-manager.js +1 -1
  177. package/lib/utils/util.js +1 -1
  178. package/lib/utils/vdom.js +1 -1
  179. package/lib/utils/vue-popper.js +1 -1
  180. package/package.json +2 -2
  181. package/packages/autocomplete/src/autocomplete-suggestions.vue +3 -3
  182. package/packages/autocomplete/src/autocomplete.vue +6 -6
  183. package/packages/calendar/src/date-table.vue +2 -2
  184. package/packages/calendar/src/main.vue +5 -5
  185. package/packages/carousel/src/item.vue +1 -1
  186. package/packages/carousel/src/main.vue +1 -1
  187. package/packages/cascader/src/cascader.vue +15 -15
  188. package/packages/cascader-panel/src/cascader-menu.vue +3 -3
  189. package/packages/cascader-panel/src/cascader-node.vue +3 -3
  190. package/packages/cascader-panel/src/cascader-panel.vue +4 -4
  191. package/packages/cascader-panel/src/node.js +2 -2
  192. package/packages/cascader-panel/src/store.js +1 -1
  193. package/packages/checkbox/src/checkbox-button.vue +1 -1
  194. package/packages/checkbox/src/checkbox-group.vue +1 -1
  195. package/packages/checkbox/src/checkbox.vue +1 -1
  196. package/packages/collapse/src/collapse-item.vue +3 -3
  197. package/packages/color-picker/src/components/picker-dropdown.vue +4 -4
  198. package/packages/color-picker/src/main.vue +2 -2
  199. package/packages/date-picker/src/basic/date-table.vue +3 -3
  200. package/packages/date-picker/src/basic/month-table.vue +4 -4
  201. package/packages/date-picker/src/basic/time-spinner.vue +3 -3
  202. package/packages/date-picker/src/basic/year-table.vue +3 -3
  203. package/packages/date-picker/src/panel/date-range.vue +5 -5
  204. package/packages/date-picker/src/panel/date.vue +5 -5
  205. package/packages/date-picker/src/panel/month-range.vue +5 -5
  206. package/packages/date-picker/src/panel/time-range.vue +2 -2
  207. package/packages/date-picker/src/panel/time-select.vue +2 -2
  208. package/packages/date-picker/src/panel/time.vue +2 -2
  209. package/packages/date-picker/src/picker.vue +6 -6
  210. package/packages/descriptions/src/index.js +1 -1
  211. package/packages/dialog/src/component.vue +3 -3
  212. package/packages/drawer/src/main.vue +2 -2
  213. package/packages/dropdown/src/dropdown-item.vue +1 -1
  214. package/packages/dropdown/src/dropdown-menu.vue +1 -1
  215. package/packages/dropdown/src/dropdown.vue +6 -6
  216. package/packages/empty/src/index.vue +1 -1
  217. package/packages/fileUpload/src/main.vue +430 -430
  218. package/packages/form/src/form-item.vue +3 -3
  219. package/packages/form/src/form.vue +1 -1
  220. package/packages/image/src/image-viewer.vue +3 -3
  221. package/packages/image/src/main.vue +3 -3
  222. package/packages/infinite-scroll/src/main.js +2 -2
  223. package/packages/input/src/input.vue +4 -4
  224. package/packages/input-number/src/input-number.vue +3 -3
  225. package/packages/loading/src/directive.js +3 -3
  226. package/packages/loading/src/index.js +4 -4
  227. package/packages/menu/src/menu-item.vue +2 -2
  228. package/packages/menu/src/menu.vue +4 -4
  229. package/packages/menu/src/submenu.vue +3 -3
  230. package/packages/message/src/main.js +3 -3
  231. package/packages/message-box/src/main.js +2 -2
  232. package/packages/message-box/src/main.vue +7 -7
  233. package/packages/notification/src/main.js +3 -3
  234. package/packages/page-header/src/main.vue +1 -1
  235. package/packages/pagination/src/pagination.js +5 -5
  236. package/packages/popconfirm/src/main.vue +3 -3
  237. package/packages/popover/src/main.vue +4 -4
  238. package/packages/radio/src/radio-button.vue +1 -1
  239. package/packages/radio/src/radio-group.vue +1 -1
  240. package/packages/radio/src/radio.vue +1 -1
  241. package/packages/rate/src/main.vue +3 -3
  242. package/packages/scrollbar/src/bar.js +1 -1
  243. package/packages/scrollbar/src/main.js +3 -3
  244. package/packages/select/src/option-group.vue +1 -1
  245. package/packages/select/src/option.vue +2 -2
  246. package/packages/select/src/select-dropdown.vue +1 -1
  247. package/packages/select/src/select.vue +11 -11
  248. package/packages/selectDisplayInput/src/main.vue +75 -75
  249. package/packages/slider/src/button.vue +1 -1
  250. package/packages/slider/src/main.vue +2 -2
  251. package/packages/statistic/src/main.vue +1 -1
  252. package/packages/steps/src/steps.vue +1 -1
  253. package/packages/switch/src/component.vue +3 -3
  254. package/packages/tabDialog/src/main.vue +277 -277
  255. package/packages/table/src/config.js +1 -1
  256. package/packages/table/src/filter-panel.vue +7 -7
  257. package/packages/table/src/store/current.js +1 -1
  258. package/packages/table/src/store/index.js +1 -1
  259. package/packages/table/src/store/watcher.js +1 -1
  260. package/packages/table/src/table-body.js +4 -4
  261. package/packages/table/src/table-column.js +1 -1
  262. package/packages/table/src/table-header.js +2 -2
  263. package/packages/table/src/table-layout.js +1 -1
  264. package/packages/table/src/table-row.js +1 -1
  265. package/packages/table/src/table.vue +5 -5
  266. package/packages/table/src/util.js +1 -1
  267. package/packages/tabs/src/tab-bar.vue +1 -1
  268. package/packages/tabs/src/tab-nav.vue +1 -1
  269. package/packages/tooltip/src/main.js +3 -3
  270. package/packages/transfer/src/main.vue +4 -4
  271. package/packages/transfer/src/transfer-panel.vue +4 -4
  272. package/packages/tree/src/model/node.js +2 -2
  273. package/packages/tree/src/tree-node.vue +3 -3
  274. package/packages/tree/src/tree.vue +3 -3
  275. package/packages/treeSelect/src/main.vue +325 -325
  276. package/packages/upload/src/index.vue +2 -2
  277. package/packages/upload/src/upload-list.vue +2 -2
  278. package/src/directives/repeat-click.js +2 -2
  279. package/src/index.js +1 -1
  280. package/src/locale/format.js +1 -1
  281. package/src/locale/index.js +1 -1
  282. package/src/mixins/locale.js +1 -1
  283. package/src/mixins/migrating.js +2 -2
  284. package/src/transitions/collapse-transition.js +1 -1
  285. package/src/utils/clickoutside.js +1 -1
  286. package/src/utils/date-util.js +2 -2
  287. package/src/utils/popup/index.js +2 -2
  288. package/src/utils/popup/popup-manager.js +1 -1
  289. package/src/utils/util.js +1 -1
  290. package/src/utils/vdom.js +1 -1
  291. package/src/utils/vue-popper.js +1 -1
@@ -1,277 +1,277 @@
1
- <template>
2
- <div class="cy-tab-dialog">
3
- <div
4
- v-show="visible && modal"
5
- contenteditable="false"
6
- class="cy-tab-dialog-modal"
7
- :style="{ zIndex: modelZIndex, height: modelHeight ? modelHeight : '100%' }"
8
- @click="closeOnClickModal && handleClose"
9
- ></div>
10
-
11
- <el-dialog
12
- :visible="visible"
13
- :title="title"
14
- :width="width"
15
- :fullscreen="fullscreen"
16
- :modal="false"
17
- :modal-append-to-body="false"
18
- :append-to-body="false"
19
- :lock-scroll="true"
20
- :custom-class="customClass"
21
- :close-on-click-modal="appendToTagsView ? false : closeOnClickModal"
22
- :close-on-press-escape="appendToTagsView ? false : closeOnPressEscape"
23
- :show-close="showClose"
24
- :center="center"
25
- :destroy-on-close="destroyOnClose"
26
- contenteditable="false"
27
- v-dialog-drag="isDrag"
28
- v-dialog-drag-width="isDrag"
29
- v-dialog-drag-height="isDrag"
30
- :before-close="beforeClose"
31
- @open="handleOpen"
32
- @opened="handleOpened"
33
- @close="handleClose"
34
- @closed="handleClosed"
35
- >
36
- <template v-if="$slots.title" slot="title">
37
- <slot name="title"></slot>
38
- </template>
39
-
40
- <slot></slot>
41
-
42
- <template v-if="$slots.footer" slot="footer">
43
- <slot name="footer"></slot>
44
- </template>
45
- </el-dialog>
46
- </div>
47
- </template>
48
-
49
- <script>
50
- import ElDialog from 'cy-element-ui/packages/dialog';
51
- import Vue from 'vue';
52
-
53
- export default {
54
- name: 'CyTabDialog',
55
- component: [
56
- ElDialog
57
- ],
58
- props: {
59
- // 是否显示 Dialog,支持 .sync 修饰符
60
- visible: {
61
- type: Boolean,
62
- default: false,
63
- },
64
- // Dialog 的标题,也可通过具名 slot
65
- title: {
66
- type: String,
67
- default: '',
68
- },
69
- // Dialog 的宽度
70
- width: {
71
- type: String,
72
- default: '50%',
73
- },
74
- // 是否为全屏 Dialog
75
- fullscreen: {
76
- type: Boolean,
77
- default: false,
78
- },
79
- // Dialog CSS 中的 margin-top 值
80
- top: {
81
- type: String,
82
- default: '6vh',
83
- },
84
- // 是否需要遮罩层
85
- modal: {
86
- type: Boolean,
87
- default: true,
88
- },
89
- // 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上
90
- appendToBody: {
91
- type: Boolean,
92
- default: false,
93
- },
94
- // 是否在 Dialog 出现时将 body或上层 滚动锁定
95
- lockScroll: {
96
- type: Boolean,
97
- default: true,
98
- },
99
- // Dialog 的自定义类名
100
- customClass: {
101
- type: String,
102
- default: '',
103
- },
104
- // 是否可以通过点击 modal 关闭 Dialog
105
- closeOnClickModal: {
106
- type: Boolean,
107
- default: false,
108
- },
109
- // 是否可以通过按下 ESC 关闭 Dialog
110
- closeOnPressEscape: {
111
- type: Boolean,
112
- default: true,
113
- },
114
- // 是否显示关闭按钮
115
- showClose: {
116
- type: Boolean,
117
- default: true,
118
- },
119
- // 是否对头部和底部采用居中布局
120
- center: {
121
- type: Boolean,
122
- default: false,
123
- },
124
- // 关闭时销毁 Dialog 中的元素
125
- destroyOnClose: {
126
- type: Boolean,
127
- default: false,
128
- },
129
- // 是否放到tagsView中,即当前app-views下面,此属性true时,appendToBody无效
130
- appendToTagsView: {
131
- type: Boolean,
132
- default: false,
133
- },
134
- // 对话框是否可拖拽
135
- isDrag: {
136
- type: Boolean,
137
- default: true,
138
- },
139
- // 关闭前的回调,会暂停 Dialog 的关闭
140
- beforeClose: {
141
- type: Function,
142
- },
143
- },
144
- data() {
145
- return {
146
- rendered: false, // 判断dialog是否已经放到对应的div下
147
- modelZIndex: 1000,
148
- modelHeight: 0,
149
-
150
- parentDom: null, // 当前app-views的dom元素
151
- elDialogDom: null, // 当前el-dialog的dom元素
152
- }
153
- },
154
- watch: {
155
- visible: {
156
- immediate: true,
157
- handler(val) {
158
- if (val) {
159
- this.$emit('open');
160
- Vue.nextTick(() => {
161
- const dom = this.$el;
162
- // 首次打开
163
- if (!this.rendered) {
164
- this.rendered = true;
165
- if (this.appendToTagsView) {
166
- // 将当前dialog挪到当前app-views里面 app-container
167
- this.parentDom = dom.closest('.app-container');
168
- if (!this.parentDom) this.parentDom = document.body;
169
- this.parentDom.append(dom);
170
- } else if (this.appendToBody) {
171
- // 将当前dialog挪到当前body里面
172
- this.parentDom = document.body;
173
- this.parentDom.append(dom);
174
- }
175
- // 添加键盘监听事件
176
- if (this.closeOnPressEscape) {
177
- document.addEventListener('keydown', this.escKeyDown);
178
- }
179
- }
180
-
181
- setTimeout(() => {
182
- if (this.parentDom) this.modelHeight = this.parentDom.scrollHeight + 'px';
183
- // 当前VDialog不在body中时
184
- if (!this.parentDom || this.parentDom.tagName.toUpperCase() !== 'BODY') {
185
- // 获取el-dialog的宽度,如果大于app-views的宽度,则el-dialog不居中显示
186
- let elDialogWidth = dom.getElementsByClassName('el-dialog')[0].clientWidth;
187
- if (!this.parentDom || elDialogWidth < this.parentDom.clientWidth) {
188
- dom.getElementsByClassName('el-dialog')[0].style.left = '50%';
189
- dom.getElementsByClassName('el-dialog')[0].style.transform = 'translateX(-50%)';
190
- } else {
191
- dom.getElementsByClassName('el-dialog')[0].style.left = '0';
192
- }
193
- }
194
- dom.getElementsByClassName('el-dialog')[0].style.marginTop = this.top;
195
- }, 50)
196
-
197
- // 获取el-dialog的z-index,赋值给model,用于处理model的层级问题
198
- this.elDialogDom = dom.children[1];
199
- setTimeout(() => {
200
- this.modelZIndex = this.elDialogDom.style.zIndex;
201
- }, 50)
202
- });
203
- } else {
204
- // immediate=true时,首次打开不需要触发close事件
205
- if (this.rendered) this.$emit('close');
206
- }
207
- }
208
- }
209
- },
210
- methods: {
211
- handleOpen() {
212
- this.$emit('open');
213
- },
214
-
215
- handleOpened() {
216
- this.$emit('opened');
217
- },
218
-
219
- handleClose() {
220
- this.$emit('update:visible', false);
221
- this.$emit('close');
222
- },
223
-
224
- handleClosed() {
225
- this.$emit('closed');
226
- },
227
-
228
- /**
229
- * 监听esc键
230
- */
231
- escKeyDown(event) {
232
- if (event.keyCode === 27) {
233
- // 获取body下的直接子节点中的已打开的vDialog
234
- let bodyVDialogDomArr = [];
235
- let bodyChildrenArr = document.body.childNodes;
236
- for (let i = 0; i < bodyChildrenArr.length; i++) {
237
- let item = bodyChildrenArr[i];
238
- if (item.tagName && item.tagName.toUpperCase() === 'DIV' && item.className && item.className.split(' ').includes('cy-tab-dialog-opened')) {
239
- bodyVDialogDomArr.push(item)
240
- }
241
- }
242
- // 判断body中是否有已打开的vDialog,如果有,优先关闭body下的vDialog
243
- if (bodyVDialogDomArr.length > 0) {
244
- // 获取当前cy-tab-dialog在当前body中的下标
245
- let curDomIndex = [].indexOf.call(bodyVDialogDomArr, this.$el);
246
- if (curDomIndex === bodyVDialogDomArr.length - 1) {
247
- this.handleClose();
248
- }
249
- } else if (document.getElementById('tags-view-container') && this.parentDom.parentElement.getAttribute('include_name')) {
250
- // 获取当前app-views对应的include_name值
251
-
252
- let includeName = this.parentDom.parentElement.getAttribute('include_name');
253
- // 根据includeName获取tagsView中的tag标签页
254
- let tagDom = document.getElementById('tags-view-container').querySelectorAll(`[include_name=${ includeName }]`);
255
- if (tagDom && tagDom[0]) {
256
- // 判断此标签页是否为选中状态,只有选中状态中的vDialog才可以进行关闭
257
- if (tagDom[0].className.split(' ').includes('active')) {
258
- // 获取当前app-views下的所有已打开的vDialog
259
- let vDialogList = this.parentDom.getElementsByClassName('cy-tab-dialog-opened');
260
- // 获取当前cy-tab-dialog在当前app-views中的下标
261
- let curDomIndex = [].indexOf.call(vDialogList, this.$el);
262
- if (curDomIndex === vDialogList.length - 1) {
263
- this.handleClose();
264
- }
265
- }
266
- }
267
- } else {
268
- this.handleClose();
269
- }
270
- }
271
- },
272
- },
273
- beforeDestroy() {
274
- document.removeEventListener('keydown', this.escKeyDown);
275
- }
276
- };
277
- </script>
1
+ <template>
2
+ <div class="cy-tab-dialog">
3
+ <div
4
+ v-show="visible && modal"
5
+ contenteditable="false"
6
+ class="cy-tab-dialog-modal"
7
+ :style="{ zIndex: modelZIndex, height: modelHeight ? modelHeight : '100%' }"
8
+ @click="closeOnClickModal && handleClose"
9
+ ></div>
10
+
11
+ <el-dialog
12
+ :visible="visible"
13
+ :title="title"
14
+ :width="width"
15
+ :fullscreen="fullscreen"
16
+ :modal="false"
17
+ :modal-append-to-body="false"
18
+ :append-to-body="false"
19
+ :lock-scroll="true"
20
+ :custom-class="customClass"
21
+ :close-on-click-modal="appendToTagsView ? false : closeOnClickModal"
22
+ :close-on-press-escape="appendToTagsView ? false : closeOnPressEscape"
23
+ :show-close="showClose"
24
+ :center="center"
25
+ :destroy-on-close="destroyOnClose"
26
+ contenteditable="false"
27
+ v-dialog-drag="isDrag"
28
+ v-dialog-drag-width="isDrag"
29
+ v-dialog-drag-height="isDrag"
30
+ :before-close="beforeClose"
31
+ @open="handleOpen"
32
+ @opened="handleOpened"
33
+ @close="handleClose"
34
+ @closed="handleClosed"
35
+ >
36
+ <template v-if="$slots.title" slot="title">
37
+ <slot name="title"></slot>
38
+ </template>
39
+
40
+ <slot></slot>
41
+
42
+ <template v-if="$slots.footer" slot="footer">
43
+ <slot name="footer"></slot>
44
+ </template>
45
+ </el-dialog>
46
+ </div>
47
+ </template>
48
+
49
+ <script>
50
+ import ElDialog from 'element-ui/packages/dialog';
51
+ import Vue from 'vue';
52
+
53
+ export default {
54
+ name: 'CyTabDialog',
55
+ component: [
56
+ ElDialog
57
+ ],
58
+ props: {
59
+ // 是否显示 Dialog,支持 .sync 修饰符
60
+ visible: {
61
+ type: Boolean,
62
+ default: false,
63
+ },
64
+ // Dialog 的标题,也可通过具名 slot
65
+ title: {
66
+ type: String,
67
+ default: '',
68
+ },
69
+ // Dialog 的宽度
70
+ width: {
71
+ type: String,
72
+ default: '50%',
73
+ },
74
+ // 是否为全屏 Dialog
75
+ fullscreen: {
76
+ type: Boolean,
77
+ default: false,
78
+ },
79
+ // Dialog CSS 中的 margin-top 值
80
+ top: {
81
+ type: String,
82
+ default: '6vh',
83
+ },
84
+ // 是否需要遮罩层
85
+ modal: {
86
+ type: Boolean,
87
+ default: true,
88
+ },
89
+ // 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上
90
+ appendToBody: {
91
+ type: Boolean,
92
+ default: false,
93
+ },
94
+ // 是否在 Dialog 出现时将 body或上层 滚动锁定
95
+ lockScroll: {
96
+ type: Boolean,
97
+ default: true,
98
+ },
99
+ // Dialog 的自定义类名
100
+ customClass: {
101
+ type: String,
102
+ default: '',
103
+ },
104
+ // 是否可以通过点击 modal 关闭 Dialog
105
+ closeOnClickModal: {
106
+ type: Boolean,
107
+ default: false,
108
+ },
109
+ // 是否可以通过按下 ESC 关闭 Dialog
110
+ closeOnPressEscape: {
111
+ type: Boolean,
112
+ default: true,
113
+ },
114
+ // 是否显示关闭按钮
115
+ showClose: {
116
+ type: Boolean,
117
+ default: true,
118
+ },
119
+ // 是否对头部和底部采用居中布局
120
+ center: {
121
+ type: Boolean,
122
+ default: false,
123
+ },
124
+ // 关闭时销毁 Dialog 中的元素
125
+ destroyOnClose: {
126
+ type: Boolean,
127
+ default: false,
128
+ },
129
+ // 是否放到tagsView中,即当前app-views下面,此属性true时,appendToBody无效
130
+ appendToTagsView: {
131
+ type: Boolean,
132
+ default: false,
133
+ },
134
+ // 对话框是否可拖拽
135
+ isDrag: {
136
+ type: Boolean,
137
+ default: true,
138
+ },
139
+ // 关闭前的回调,会暂停 Dialog 的关闭
140
+ beforeClose: {
141
+ type: Function,
142
+ },
143
+ },
144
+ data() {
145
+ return {
146
+ rendered: false, // 判断dialog是否已经放到对应的div下
147
+ modelZIndex: 1000,
148
+ modelHeight: 0,
149
+
150
+ parentDom: null, // 当前app-views的dom元素
151
+ elDialogDom: null, // 当前el-dialog的dom元素
152
+ }
153
+ },
154
+ watch: {
155
+ visible: {
156
+ immediate: true,
157
+ handler(val) {
158
+ if (val) {
159
+ this.$emit('open');
160
+ Vue.nextTick(() => {
161
+ const dom = this.$el;
162
+ // 首次打开
163
+ if (!this.rendered) {
164
+ this.rendered = true;
165
+ if (this.appendToTagsView) {
166
+ // 将当前dialog挪到当前app-views里面 app-container
167
+ this.parentDom = dom.closest('.app-container');
168
+ if (!this.parentDom) this.parentDom = document.body;
169
+ this.parentDom.append(dom);
170
+ } else if (this.appendToBody) {
171
+ // 将当前dialog挪到当前body里面
172
+ this.parentDom = document.body;
173
+ this.parentDom.append(dom);
174
+ }
175
+ // 添加键盘监听事件
176
+ if (this.closeOnPressEscape) {
177
+ document.addEventListener('keydown', this.escKeyDown);
178
+ }
179
+ }
180
+
181
+ setTimeout(() => {
182
+ if (this.parentDom) this.modelHeight = this.parentDom.scrollHeight + 'px';
183
+ // 当前VDialog不在body中时
184
+ if (!this.parentDom || this.parentDom.tagName.toUpperCase() !== 'BODY') {
185
+ // 获取el-dialog的宽度,如果大于app-views的宽度,则el-dialog不居中显示
186
+ let elDialogWidth = dom.getElementsByClassName('el-dialog')[0].clientWidth;
187
+ if (!this.parentDom || elDialogWidth < this.parentDom.clientWidth) {
188
+ dom.getElementsByClassName('el-dialog')[0].style.left = '50%';
189
+ dom.getElementsByClassName('el-dialog')[0].style.transform = 'translateX(-50%)';
190
+ } else {
191
+ dom.getElementsByClassName('el-dialog')[0].style.left = '0';
192
+ }
193
+ }
194
+ dom.getElementsByClassName('el-dialog')[0].style.marginTop = this.top;
195
+ }, 50)
196
+
197
+ // 获取el-dialog的z-index,赋值给model,用于处理model的层级问题
198
+ this.elDialogDom = dom.children[1];
199
+ setTimeout(() => {
200
+ this.modelZIndex = this.elDialogDom.style.zIndex;
201
+ }, 50)
202
+ });
203
+ } else {
204
+ // immediate=true时,首次打开不需要触发close事件
205
+ if (this.rendered) this.$emit('close');
206
+ }
207
+ }
208
+ }
209
+ },
210
+ methods: {
211
+ handleOpen() {
212
+ this.$emit('open');
213
+ },
214
+
215
+ handleOpened() {
216
+ this.$emit('opened');
217
+ },
218
+
219
+ handleClose() {
220
+ this.$emit('update:visible', false);
221
+ this.$emit('close');
222
+ },
223
+
224
+ handleClosed() {
225
+ this.$emit('closed');
226
+ },
227
+
228
+ /**
229
+ * 监听esc键
230
+ */
231
+ escKeyDown(event) {
232
+ if (event.keyCode === 27) {
233
+ // 获取body下的直接子节点中的已打开的vDialog
234
+ let bodyVDialogDomArr = [];
235
+ let bodyChildrenArr = document.body.childNodes;
236
+ for (let i = 0; i < bodyChildrenArr.length; i++) {
237
+ let item = bodyChildrenArr[i];
238
+ if (item.tagName && item.tagName.toUpperCase() === 'DIV' && item.className && item.className.split(' ').includes('cy-tab-dialog-opened')) {
239
+ bodyVDialogDomArr.push(item)
240
+ }
241
+ }
242
+ // 判断body中是否有已打开的vDialog,如果有,优先关闭body下的vDialog
243
+ if (bodyVDialogDomArr.length > 0) {
244
+ // 获取当前cy-tab-dialog在当前body中的下标
245
+ let curDomIndex = [].indexOf.call(bodyVDialogDomArr, this.$el);
246
+ if (curDomIndex === bodyVDialogDomArr.length - 1) {
247
+ this.handleClose();
248
+ }
249
+ } else if (document.getElementById('tags-view-container') && this.parentDom.parentElement.getAttribute('include_name')) {
250
+ // 获取当前app-views对应的include_name值
251
+
252
+ let includeName = this.parentDom.parentElement.getAttribute('include_name');
253
+ // 根据includeName获取tagsView中的tag标签页
254
+ let tagDom = document.getElementById('tags-view-container').querySelectorAll(`[include_name=${ includeName }]`);
255
+ if (tagDom && tagDom[0]) {
256
+ // 判断此标签页是否为选中状态,只有选中状态中的vDialog才可以进行关闭
257
+ if (tagDom[0].className.split(' ').includes('active')) {
258
+ // 获取当前app-views下的所有已打开的vDialog
259
+ let vDialogList = this.parentDom.getElementsByClassName('cy-tab-dialog-opened');
260
+ // 获取当前cy-tab-dialog在当前app-views中的下标
261
+ let curDomIndex = [].indexOf.call(vDialogList, this.$el);
262
+ if (curDomIndex === vDialogList.length - 1) {
263
+ this.handleClose();
264
+ }
265
+ }
266
+ }
267
+ } else {
268
+ this.handleClose();
269
+ }
270
+ }
271
+ },
272
+ },
273
+ beforeDestroy() {
274
+ document.removeEventListener('keydown', this.escKeyDown);
275
+ }
276
+ };
277
+ </script>
@@ -1,4 +1,4 @@
1
- import { getPropByPath } from 'cy-element-ui/src/utils/util';
1
+ import { getPropByPath } from 'element-ui/src/utils/util';
2
2
 
3
3
  export const cellStarts = {
4
4
  default: {
@@ -43,14 +43,14 @@
43
43
  </template>
44
44
 
45
45
  <script type="text/babel">
46
- import Popper from 'cy-element-ui/src/utils/vue-popper';
47
- import { PopupManager } from 'cy-element-ui/src/utils/popup';
48
- import Locale from 'cy-element-ui/src/mixins/locale';
49
- import Clickoutside from 'cy-element-ui/src/utils/clickoutside';
46
+ import Popper from 'element-ui/src/utils/vue-popper';
47
+ import { PopupManager } from 'element-ui/src/utils/popup';
48
+ import Locale from 'element-ui/src/mixins/locale';
49
+ import Clickoutside from 'element-ui/src/utils/clickoutside';
50
50
  import Dropdown from './dropdown';
51
- import ElCheckbox from 'cy-element-ui/packages/checkbox';
52
- import ElCheckboxGroup from 'cy-element-ui/packages/checkbox-group';
53
- import ElScrollbar from 'cy-element-ui/packages/scrollbar';
51
+ import ElCheckbox from 'element-ui/packages/checkbox';
52
+ import ElCheckboxGroup from 'element-ui/packages/checkbox-group';
53
+ import ElScrollbar from 'element-ui/packages/scrollbar';
54
54
 
55
55
  export default {
56
56
  name: 'ElTableFilterPanel',
@@ -1,4 +1,4 @@
1
- import { arrayFind } from 'cy-element-ui/src/utils/util';
1
+ import { arrayFind } from 'element-ui/src/utils/util';
2
2
  import { getRowIdentity } from '../util';
3
3
 
4
4
  export default {
@@ -1,6 +1,6 @@
1
1
  import Vue from 'vue';
2
2
  import Watcher from './watcher';
3
- import { arrayFind } from 'cy-element-ui/src/utils/util';
3
+ import { arrayFind } from 'element-ui/src/utils/util';
4
4
 
5
5
  Watcher.prototype.mutations = {
6
6
  setData(states, data) {
@@ -1,5 +1,5 @@
1
1
  import Vue from 'vue';
2
- import merge from 'cy-element-ui/src/utils/merge';
2
+ import merge from 'element-ui/src/utils/merge';
3
3
  import { getKeysMap, getRowIdentity, getColumnById, getColumnByKey, orderBy, toggleRowStatus } from '../util';
4
4
  import expand from './expand';
5
5
  import current from './current';
@@ -1,8 +1,8 @@
1
- import { arrayFindIndex } from 'cy-element-ui/src/utils/util';
1
+ import { arrayFindIndex } from 'element-ui/src/utils/util';
2
2
  import { getCell, getColumnByCell, getRowIdentity, objectEquals } from './util';
3
- import { getStyle, hasClass, removeClass, addClass } from 'cy-element-ui/src/utils/dom';
4
- import ElCheckbox from 'cy-element-ui/packages/checkbox';
5
- import ElTooltip from 'cy-element-ui/packages/tooltip';
3
+ import { getStyle, hasClass, removeClass, addClass } from 'element-ui/src/utils/dom';
4
+ import ElCheckbox from 'element-ui/packages/checkbox';
5
+ import ElTooltip from 'element-ui/packages/tooltip';
6
6
  import debounce from 'throttle-debounce/debounce';
7
7
  import LayoutObserver from './layout-observer';
8
8
  import { mapStates } from './store/helper';
@@ -1,6 +1,6 @@
1
1
  import { cellStarts, cellForced, defaultRenderCell, treeCellPrefix } from './config';
2
2
  import { mergeOptions, parseWidth, parseMinWidth, compose } from './util';
3
- import ElCheckbox from 'cy-element-ui/packages/checkbox';
3
+ import ElCheckbox from 'element-ui/packages/checkbox';
4
4
 
5
5
  let columnIdSeed = 1;
6
6
 
@@ -1,6 +1,6 @@
1
1
  import Vue from 'vue';
2
- import { hasClass, addClass, removeClass } from 'cy-element-ui/src/utils/dom';
3
- import ElCheckbox from 'cy-element-ui/packages/checkbox';
2
+ import { hasClass, addClass, removeClass } from 'element-ui/src/utils/dom';
3
+ import ElCheckbox from 'element-ui/packages/checkbox';
4
4
  import FilterPanel from './filter-panel.vue';
5
5
  import LayoutObserver from './layout-observer';
6
6
  import { mapStates } from './store/helper';
@@ -1,5 +1,5 @@
1
1
  import Vue from 'vue';
2
- import scrollbarWidth from 'cy-element-ui/src/utils/scrollbar-width';
2
+ import scrollbarWidth from 'element-ui/src/utils/scrollbar-width';
3
3
  import { parseHeight } from './util';
4
4
 
5
5
  class TableLayout {
@@ -1,4 +1,4 @@
1
- import ElCheckbox from 'cy-element-ui/packages/checkbox';
1
+ import ElCheckbox from 'element-ui/packages/checkbox';
2
2
  export default {
3
3
  name: 'ElTableRow',
4
4
  props: [