resolver-egretimp-plus 0.1.113 → 0.1.115

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 (219) hide show
  1. package/dist/h5/index.js +1 -1
  2. package/dist/theme/element/index.css +1 -1
  3. package/dist/theme/element/src/components/common.scss +4 -0
  4. package/dist/theme/element/src/components/text.scss +17 -0
  5. package/dist/web/index.js +2 -2
  6. package/package.json +1 -1
  7. package/src/analysisComponent.jsx +2 -1
  8. package/src/components/helper/table.jsx +26 -23
  9. package/src/components/packages-H5/CustomComponentCollapseH5.vue +6 -2
  10. package/src/components/packages-web/ElText.jsx +0 -1
  11. package/src/theme/element/components/common.scss +4 -0
  12. package/src/theme/element/components/text.scss +17 -0
  13. package/src-bak/analysisComponent.jsx +343 -0
  14. package/src-bak/api/builtIn.js +10 -0
  15. package/src-bak/bpm/bpmInstance.js +388 -0
  16. package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +8 -0
  17. package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +97 -0
  18. package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +88 -0
  19. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +3 -0
  20. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +76 -0
  21. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +201 -0
  22. package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +69 -0
  23. package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +56 -0
  24. package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +76 -0
  25. package/src-bak/bpm/udc-sdk-esm/cjs/index.js +46 -0
  26. package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +21 -0
  27. package/src-bak/components/childDialog/index.js +39 -0
  28. package/src-bak/components/childDialog/src/index.vue +185 -0
  29. package/src-bak/components/cmiFormItem/index.js +1 -0
  30. package/src-bak/components/cmiFormItem/src/index.vue +112 -0
  31. package/src-bak/components/confirmInstance-H5/index.js +53 -0
  32. package/src-bak/components/confirmInstance-H5/src/index.vue +54 -0
  33. package/src-bak/components/helper/FormPolyfill.jsx +25 -0
  34. package/src-bak/components/helper/calcTooltip.jsx +134 -0
  35. package/src-bak/components/helper/dock.js +141 -0
  36. package/src-bak/components/helper/eventOrchestration.js +763 -0
  37. package/src-bak/components/helper/resolver.js +163 -0
  38. package/src-bak/components/helper/table.jsx +103 -0
  39. package/src-bak/components/icons/date.vue +33 -0
  40. package/src-bak/components/icons/info.vue +62 -0
  41. package/src-bak/components/icons/loading.vue +19 -0
  42. package/src-bak/components/icons/question-filled.vue +8 -0
  43. package/src-bak/components/loading/index.js +6 -0
  44. package/src-bak/components/loading/loading.js +98 -0
  45. package/src-bak/components/loading/loading.scss +74 -0
  46. package/src-bak/components/loading/loading.vue +89 -0
  47. package/src-bak/components/loadingComponent/LoadingComponent.vue +33 -0
  48. package/src-bak/components/modal/index.js +9 -0
  49. package/src-bak/components/modal/modal.scss +195 -0
  50. package/src-bak/components/modal/modal.vue +201 -0
  51. package/src-bak/components/options/OptionsDefault.vue +47 -0
  52. package/src-bak/components/packages-H5/CmiButton.vue +120 -0
  53. package/src-bak/components/packages-H5/CmiCalendar.vue +152 -0
  54. package/src-bak/components/packages-H5/CmiCell.vue +87 -0
  55. package/src-bak/components/packages-H5/CmiCheckbox.vue +82 -0
  56. package/src-bak/components/packages-H5/CmiDatetimePicker.vue +98 -0
  57. package/src-bak/components/packages-H5/CmiDivider.vue +30 -0
  58. package/src-bak/components/packages-H5/CmiDropdownMenu.vue +58 -0
  59. package/src-bak/components/packages-H5/CmiInput.vue +69 -0
  60. package/src-bak/components/packages-H5/CmiLink.vue +28 -0
  61. package/src-bak/components/packages-H5/CmiPicker.vue +229 -0
  62. package/src-bak/components/packages-H5/CmiRadio.vue +29 -0
  63. package/src-bak/components/packages-H5/CmiSearch.vue +39 -0
  64. package/src-bak/components/packages-H5/CmiSelect.vue +84 -0
  65. package/src-bak/components/packages-H5/CustomComponentCardH5.vue +129 -0
  66. package/src-bak/components/packages-H5/CustomComponentColH5.vue +8 -0
  67. package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +137 -0
  68. package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +54 -0
  69. package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +38 -0
  70. package/src-bak/components/packages-H5/CustomComponentTableH5.vue +352 -0
  71. package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +170 -0
  72. package/src-bak/components/packages-web/CustomComponentCard.vue +40 -0
  73. package/src-bak/components/packages-web/CustomComponentCol.vue +66 -0
  74. package/src-bak/components/packages-web/CustomComponentCollapse.vue +164 -0
  75. package/src-bak/components/packages-web/CustomComponentCycle.vue +95 -0
  76. package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +155 -0
  77. package/src-bak/components/packages-web/CustomComponentDialog.vue +192 -0
  78. package/src-bak/components/packages-web/CustomComponentEditor.vue +50 -0
  79. package/src-bak/components/packages-web/CustomComponentFileExport.vue +60 -0
  80. package/src-bak/components/packages-web/CustomComponentFileImport.vue +60 -0
  81. package/src-bak/components/packages-web/CustomComponentFormLayout.vue +65 -0
  82. package/src-bak/components/packages-web/CustomComponentGrid.vue +29 -0
  83. package/src-bak/components/packages-web/CustomComponentGridCol.vue +29 -0
  84. package/src-bak/components/packages-web/CustomComponentInputDialog.vue +144 -0
  85. package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +84 -0
  86. package/src-bak/components/packages-web/CustomComponentPlain.vue +243 -0
  87. package/src-bak/components/packages-web/CustomComponentRow.vue +83 -0
  88. package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +203 -0
  89. package/src-bak/components/packages-web/CustomComponentSendMail.vue +62 -0
  90. package/src-bak/components/packages-web/CustomComponentSteps.vue +41 -0
  91. package/src-bak/components/packages-web/CustomComponentTabPane.vue +20 -0
  92. package/src-bak/components/packages-web/CustomComponentTable.jsx +813 -0
  93. package/src-bak/components/packages-web/CustomComponentTabs.vue +126 -0
  94. package/src-bak/components/packages-web/CustomComponentTree.vue +28 -0
  95. package/src-bak/components/packages-web/ElButton.vue +146 -0
  96. package/src-bak/components/packages-web/ElCheckbox.vue +97 -0
  97. package/src-bak/components/packages-web/ElDatePicker.vue +93 -0
  98. package/src-bak/components/packages-web/ElInput copy.jsx +393 -0
  99. package/src-bak/components/packages-web/ElInput.jsx +312 -0
  100. package/src-bak/components/packages-web/ElInputNumber.vue +81 -0
  101. package/src-bak/components/packages-web/ElPagination.vue +61 -0
  102. package/src-bak/components/packages-web/ElRadio.vue +47 -0
  103. package/src-bak/components/packages-web/ElSelect.jsx +249 -0
  104. package/src-bak/components/packages-web/ElSelect_bak.vue +155 -0
  105. package/src-bak/components/packages-web/ElText.jsx +187 -0
  106. package/src-bak/components/packages-web/ElTextaa.vue +169 -0
  107. package/src-bak/components/packages-web/ElTimePicker.vue +39 -0
  108. package/src-bak/components/patchComponents-H5.js +46 -0
  109. package/src-bak/components/patchComponents-web.js +46 -0
  110. package/src-bak/components/simpleFormItemPc/index.js +1 -0
  111. package/src-bak/components/simpleFormItemPc/src/index.vue +94 -0
  112. package/src-bak/components/table/index.ts +29 -0
  113. package/src-bak/components/table/src/composables/use-scrollbar.ts +30 -0
  114. package/src-bak/components/table/src/config.ts +256 -0
  115. package/src-bak/components/table/src/filter-panel.vue +260 -0
  116. package/src-bak/components/table/src/h-helper.ts +34 -0
  117. package/src-bak/components/table/src/layout-observer.ts +78 -0
  118. package/src-bak/components/table/src/store/current.ts +85 -0
  119. package/src-bak/components/table/src/store/expand.ts +76 -0
  120. package/src-bak/components/table/src/store/helper.ts +74 -0
  121. package/src-bak/components/table/src/store/index.ts +246 -0
  122. package/src-bak/components/table/src/store/tree.ts +230 -0
  123. package/src-bak/components/table/src/store/watcher.ts +543 -0
  124. package/src-bak/components/table/src/table/defaults.ts +402 -0
  125. package/src-bak/components/table/src/table/key-render-helper.ts +27 -0
  126. package/src-bak/components/table/src/table/style-helper.ts +378 -0
  127. package/src-bak/components/table/src/table/utils-helper.ts +47 -0
  128. package/src-bak/components/table/src/table-body/defaults.ts +52 -0
  129. package/src-bak/components/table/src/table-body/events-helper.ts +203 -0
  130. package/src-bak/components/table/src/table-body/index.ts +119 -0
  131. package/src-bak/components/table/src/table-body/render-helper.ts +283 -0
  132. package/src-bak/components/table/src/table-body/styles-helper.ts +164 -0
  133. package/src-bak/components/table/src/table-column/defaults.ts +237 -0
  134. package/src-bak/components/table/src/table-column/index.ts +202 -0
  135. package/src-bak/components/table/src/table-column/render-helper.ts +214 -0
  136. package/src-bak/components/table/src/table-column/watcher-helper.ts +88 -0
  137. package/src-bak/components/table/src/table-footer/index.ts +128 -0
  138. package/src-bak/components/table/src/table-footer/mapState-helper.ts +33 -0
  139. package/src-bak/components/table/src/table-footer/style-helper.ts +51 -0
  140. package/src-bak/components/table/src/table-header/event-helper.ts +213 -0
  141. package/src-bak/components/table/src/table-header/index.ts +244 -0
  142. package/src-bak/components/table/src/table-header/style.helper.ts +119 -0
  143. package/src-bak/components/table/src/table-header/utils-helper.ts +94 -0
  144. package/src-bak/components/table/src/table-layout.ts +259 -0
  145. package/src-bak/components/table/src/table.vue +389 -0
  146. package/src-bak/components/table/src/tableColumn.ts +3 -0
  147. package/src-bak/components/table/src/tokens.ts +5 -0
  148. package/src-bak/components/table/src/util.ts +521 -0
  149. package/src-bak/components/table/style/css.ts +5 -0
  150. package/src-bak/components/table/style/index.ts +5 -0
  151. package/src-bak/components/tabs/index.js +8 -0
  152. package/src-bak/components/tabs/src/constants.js +23 -0
  153. package/src-bak/components/tabs/src/tab-bar.js +8 -0
  154. package/src-bak/components/tabs/src/tab-bar.vue +92 -0
  155. package/src-bak/components/tabs/src/tab-nav.jsx +424 -0
  156. package/src-bak/components/tabs/src/tab-pane.js +16 -0
  157. package/src-bak/components/tabs/src/tab-pane.vue +80 -0
  158. package/src-bak/components/tabs/src/tabs.jsx +223 -0
  159. package/src-bak/components/tabs/style/css.js +2 -0
  160. package/src-bak/components/tabs/style/index.js +2 -0
  161. package/src-bak/components/thirdPartyFrame/index.js +32 -0
  162. package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +125 -0
  163. package/src-bak/enums/index.js +16 -0
  164. package/src-bak/hooks/configLoad.js +45 -0
  165. package/src-bak/hooks/index.js +189 -0
  166. package/src-bak/hooks/mock.js +6960 -0
  167. package/src-bak/hooks/pageConfig.js +127 -0
  168. package/src-bak/index.jsx +440 -0
  169. package/src-bak/renderer.jsx +77 -0
  170. package/src-bak/resolver-H5.vue +88 -0
  171. package/src-bak/resolver-common.vue +129 -0
  172. package/src-bak/resolver-web.vue +91 -0
  173. package/src-bak/rules/eventsSupplement.js +573 -0
  174. package/src-bak/rules/parseCondition.js +378 -0
  175. package/src-bak/rules/ruleUtils.js +273 -0
  176. package/src-bak/rules/rulesDriver.js +118 -0
  177. package/src-bak/rulesImp/events.js +588 -0
  178. package/src-bak/rulesImp/index.js +33 -0
  179. package/src-bak/rulesImp/ruleInstance.js +231 -0
  180. package/src-bak/rulesImp/ruleUtils.js +124 -0
  181. package/src-bak/theme/element/components/button.scss +122 -0
  182. package/src-bak/theme/element/components/card.scss +8 -0
  183. package/src-bak/theme/element/components/checkbox.scss +19 -0
  184. package/src-bak/theme/element/components/collapse.scss +174 -0
  185. package/src-bak/theme/element/components/common.scss +30 -0
  186. package/src-bak/theme/element/components/cycle.scss +0 -0
  187. package/src-bak/theme/element/components/date.scss +13 -0
  188. package/src-bak/theme/element/components/dialog.scss +44 -0
  189. package/src-bak/theme/element/components/form.scss +104 -0
  190. package/src-bak/theme/element/components/index.scss +55 -0
  191. package/src-bak/theme/element/components/input.scss +36 -0
  192. package/src-bak/theme/element/components/message.scss +48 -0
  193. package/src-bak/theme/element/components/pagination.scss +47 -0
  194. package/src-bak/theme/element/components/popper.scss +3 -0
  195. package/src-bak/theme/element/components/radio.scss +40 -0
  196. package/src-bak/theme/element/components/scrollbar.scss +14 -0
  197. package/src-bak/theme/element/components/select.scss +82 -0
  198. package/src-bak/theme/element/components/steps.scss +6 -0
  199. package/{src/components/styles/CustomComponenTable.scss → src-bak/theme/element/components/table.scss} +90 -13
  200. package/src-bak/theme/element/components/tabs.scss +128 -0
  201. package/src-bak/theme/element/components/tag.scss +6 -0
  202. package/{src/components/styles → src-bak/theme/element/components}/text.scss +3 -3
  203. package/src-bak/theme/element/components/textarea.scss +3 -0
  204. package/src-bak/theme/element/components/tree.scss +0 -0
  205. package/src-bak/theme/element/index.scss +55 -0
  206. package/src-bak/utils/cipher.js +141 -0
  207. package/src-bak/utils/common.js +664 -0
  208. package/src-bak/utils/const.js +259 -0
  209. package/src-bak/utils/defaultVal.js +92 -0
  210. package/src-bak/utils/dom.js +36 -0
  211. package/src-bak/utils/format.js +19 -0
  212. package/src-bak/utils/index.js +4 -0
  213. package/src-bak/utils/is.js +74 -0
  214. package/src-bak/utils/loadModule.js +75 -0
  215. package/src-bak/utils/preserveFunc.js +33 -0
  216. package/src-bak/utils/render.jsx +1138 -0
  217. package/src-bak/utils/request.js +136 -0
  218. package/src-bak/utils/respone.js +70 -0
  219. package/src-bak/utils/valid.js +89 -0
@@ -0,0 +1,389 @@
1
+ <template>
2
+ <div
3
+ ref="tableWrapper"
4
+ :class="[
5
+ {
6
+ [ns.m('fit')]: fit,
7
+ [ns.m('striped')]: stripe,
8
+ [ns.m('border')]: border || isGroup,
9
+ [ns.m('hidden')]: isHidden,
10
+ [ns.m('group')]: isGroup,
11
+ [ns.m('fluid-height')]: maxHeight,
12
+ [ns.m('scrollable-x')]: layout.scrollX.value,
13
+ [ns.m('scrollable-y')]: layout.scrollY.value,
14
+ [ns.m('enable-row-hover')]: !store.states.isComplex.value,
15
+ [ns.m('enable-row-transition')]:
16
+ (store.states.data.value || []).length !== 0 &&
17
+ (store.states.data.value || []).length < 100,
18
+ 'has-footer': showSummary,
19
+ },
20
+ ns.m(tableSize),
21
+ className,
22
+ ns.b(),
23
+ ns.m(`layout-${tableLayout}`),
24
+ ]"
25
+ :style="style"
26
+ :data-prefix="ns.namespace.value"
27
+ @mouseleave="handleMouseLeave"
28
+ >
29
+ <div :class="ns.e('inner-wrapper')" :style="tableInnerStyle">
30
+ <div ref="hiddenColumns" class="hidden-columns">
31
+ <slot />
32
+ </div>
33
+ <div
34
+ v-if="showHeader && tableLayout === 'fixed'"
35
+ ref="headerWrapper"
36
+ v-mousewheel="handleHeaderFooterMousewheel"
37
+ :class="ns.e('header-wrapper')"
38
+ >
39
+ <table
40
+ ref="tableHeader"
41
+ :class="ns.e('header')"
42
+ :style="tableBodyStyles"
43
+ border="0"
44
+ cellpadding="0"
45
+ cellspacing="0"
46
+ >
47
+ <hColgroup
48
+ :columns="store.states.columns.value"
49
+ :table-layout="tableLayout"
50
+ />
51
+ <table-header
52
+ ref="tableHeaderRef"
53
+ :border="border"
54
+ :default-sort="defaultSort"
55
+ :store="store"
56
+ @set-drag-visible="setDragVisible"
57
+ />
58
+ </table>
59
+ </div>
60
+ <div ref="bodyWrapper" :class="ns.e('body-wrapper')">
61
+ <el-scrollbar
62
+ ref="scrollBarRef"
63
+ :view-style="scrollbarViewStyle"
64
+ :wrap-style="scrollbarStyle"
65
+ :always="scrollbarAlwaysOn"
66
+ >
67
+ <table
68
+ ref="tableBody"
69
+ :class="ns.e('body')"
70
+ cellspacing="0"
71
+ cellpadding="0"
72
+ border="0"
73
+ :style="{
74
+ width: bodyWidth,
75
+ tableLayout,
76
+ }"
77
+ >
78
+ <hColgroup
79
+ :columns="store.states.columns.value"
80
+ :table-layout="tableLayout"
81
+ />
82
+ <table-header
83
+ v-if="showHeader && tableLayout === 'auto'"
84
+ ref="tableHeaderRef"
85
+ :class="ns.e('body-header')"
86
+ :border="border"
87
+ :default-sort="defaultSort"
88
+ :store="store"
89
+ @set-drag-visible="setDragVisible"
90
+ />
91
+ <table-body
92
+ :context="context"
93
+ :highlight="highlightCurrentRow"
94
+ :row-class-name="rowClassName"
95
+ :tooltip-effect="tooltipEffect"
96
+ :tooltip-options="tooltipOptions"
97
+ :row-style="rowStyle"
98
+ :store="store"
99
+ :stripe="stripe"
100
+ />
101
+ <table-footer
102
+ v-if="showSummary && tableLayout === 'auto'"
103
+ :class="ns.e('body-footer')"
104
+ :border="border"
105
+ :default-sort="defaultSort"
106
+ :store="store"
107
+ :sum-text="computedSumText"
108
+ :summary-method="summaryMethod"
109
+ />
110
+ </table>
111
+ <div
112
+ v-if="isEmpty"
113
+ ref="emptyBlock"
114
+ :style="emptyBlockStyle"
115
+ :class="ns.e('empty-block')"
116
+ >
117
+ <span :class="ns.e('empty-text')">
118
+ <slot name="empty">{{ computedEmptyText }}</slot>
119
+ </span>
120
+ </div>
121
+ <div
122
+ v-if="$slots.append"
123
+ ref="appendWrapper"
124
+ :class="ns.e('append-wrapper')"
125
+ >
126
+ <slot name="append" />
127
+ </div>
128
+ </el-scrollbar>
129
+ </div>
130
+ <div
131
+ v-if="showSummary && tableLayout === 'fixed'"
132
+ v-show="!isEmpty"
133
+ ref="footerWrapper"
134
+ v-mousewheel="handleHeaderFooterMousewheel"
135
+ :class="ns.e('footer-wrapper')"
136
+ >
137
+ <table
138
+ :class="ns.e('footer')"
139
+ cellspacing="0"
140
+ cellpadding="0"
141
+ border="0"
142
+ :style="tableBodyStyles"
143
+ >
144
+ <hColgroup
145
+ :columns="store.states.columns.value"
146
+ :table-layout="tableLayout"
147
+ />
148
+ <table-footer
149
+ :border="border"
150
+ :default-sort="defaultSort"
151
+ :store="store"
152
+ :sum-text="computedSumText"
153
+ :summary-method="summaryMethod"
154
+ />
155
+ </table>
156
+ </div>
157
+ <div v-if="border || isGroup" :class="ns.e('border-left-patch')" />
158
+ </div>
159
+ <div
160
+ v-show="resizeProxyVisible"
161
+ ref="resizeProxy"
162
+ :class="ns.e('column-resize-proxy')"
163
+ />
164
+ </div>
165
+ </template>
166
+
167
+ <script lang="ts">
168
+ // @ts-nocheck
169
+ import { computed, defineComponent, getCurrentInstance, provide } from 'vue'
170
+ import { debounce } from 'lodash-unified'
171
+ import { Mousewheel } from 'element-plus/es/directives/index.mjs'
172
+ import { useLocale, useNamespace } from 'element-plus/es/hooks/index.mjs'
173
+ import ElScrollbar from 'element-plus/es/components/scrollbar/index.mjs'
174
+ import { createStore } from './store/helper'
175
+ import TableLayout from './table-layout'
176
+ import TableHeader from './table-header'
177
+ import TableBody from './table-body'
178
+ import TableFooter from './table-footer'
179
+ import useUtils from './table/utils-helper'
180
+ import { convertToRows } from './table-header/utils-helper'
181
+ import useStyle from './table/style-helper'
182
+ import useKeyRender from './table/key-render-helper'
183
+ import defaultProps from './table/defaults'
184
+ import { TABLE_INJECTION_KEY } from './tokens'
185
+ import { hColgroup } from './h-helper'
186
+ import { useScrollbar } from './composables/use-scrollbar'
187
+
188
+ import type { Table } from './table/defaults'
189
+
190
+ let tableIdSeed = 1
191
+ export default defineComponent({
192
+ name: 'ElTable',
193
+ directives: {
194
+ Mousewheel,
195
+ },
196
+ components: {
197
+ TableHeader,
198
+ TableBody,
199
+ TableFooter,
200
+ ElScrollbar,
201
+ hColgroup,
202
+ },
203
+ props: defaultProps,
204
+ emits: [
205
+ 'select',
206
+ 'select-all',
207
+ 'selection-change',
208
+ 'cell-mouse-enter',
209
+ 'cell-mouse-leave',
210
+ 'cell-contextmenu',
211
+ 'cell-click',
212
+ 'cell-dblclick',
213
+ 'row-click',
214
+ 'row-contextmenu',
215
+ 'row-dblclick',
216
+ 'header-click',
217
+ 'header-contextmenu',
218
+ 'sort-change',
219
+ 'filter-change',
220
+ 'current-change',
221
+ 'header-dragend',
222
+ 'expand-change',
223
+ ],
224
+ setup(props) {
225
+ type Row = typeof props.data[number]
226
+ const { t } = useLocale()
227
+ const ns = useNamespace('table')
228
+ const table = getCurrentInstance() as Table<Row>
229
+ provide(TABLE_INJECTION_KEY, table)
230
+ const store = createStore<Row>(table, props)
231
+ table.store = store
232
+ const layout = new TableLayout<Row>({
233
+ store: table.store,
234
+ table,
235
+ fit: props.fit,
236
+ showHeader: props.showHeader,
237
+ })
238
+ table.layout = layout
239
+
240
+ const isEmpty = computed(() => (store.states.data.value || []).length === 0)
241
+
242
+ /**
243
+ * open functions
244
+ */
245
+ const {
246
+ setCurrentRow,
247
+ getSelectionRows,
248
+ toggleRowSelection,
249
+ clearSelection,
250
+ clearFilter,
251
+ toggleAllSelection,
252
+ toggleRowExpansion,
253
+ clearSort,
254
+ sort,
255
+ } = useUtils<Row>(store)
256
+ const {
257
+ isHidden,
258
+ renderExpanded,
259
+ setDragVisible,
260
+ isGroup,
261
+ handleMouseLeave,
262
+ handleHeaderFooterMousewheel,
263
+ tableSize,
264
+ emptyBlockStyle,
265
+ handleFixedMousewheel,
266
+ resizeProxyVisible,
267
+ bodyWidth,
268
+ resizeState,
269
+ doLayout,
270
+ tableBodyStyles,
271
+ tableLayout,
272
+ scrollbarViewStyle,
273
+ tableInnerStyle,
274
+ scrollbarStyle,
275
+ } = useStyle<Row>(props, layout, store, table)
276
+
277
+ const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =
278
+ useScrollbar()
279
+
280
+ const debouncedUpdateLayout = debounce(doLayout, 50)
281
+
282
+ const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`
283
+ table.tableId = tableId
284
+ table.state = {
285
+ isGroup,
286
+ resizeState,
287
+ doLayout,
288
+ debouncedUpdateLayout,
289
+ }
290
+ const computedSumText = computed(
291
+ () => props.sumText || t('el.table.sumText')
292
+ )
293
+
294
+ const computedEmptyText = computed(() => {
295
+ return props.emptyText || t('el.table.emptyText')
296
+ })
297
+
298
+ const columns = computed(() => {
299
+ return convertToRows(store.states.originColumns.value)[0]
300
+ })
301
+
302
+ useKeyRender(table)
303
+
304
+ return {
305
+ ns,
306
+ layout,
307
+ store,
308
+ columns,
309
+ handleHeaderFooterMousewheel,
310
+ handleMouseLeave,
311
+ tableId,
312
+ tableSize,
313
+ isHidden,
314
+ isEmpty,
315
+ renderExpanded,
316
+ resizeProxyVisible,
317
+ resizeState,
318
+ isGroup,
319
+ bodyWidth,
320
+ tableBodyStyles,
321
+ emptyBlockStyle,
322
+ debouncedUpdateLayout,
323
+ handleFixedMousewheel,
324
+ /**
325
+ * @description used in single selection Table, set a certain row selected. If called without any parameter, it will clear selection
326
+ */
327
+ setCurrentRow,
328
+ /**
329
+ * @description returns the currently selected rows
330
+ */
331
+ getSelectionRows,
332
+ /**
333
+ * @description used in multiple selection Table, toggle if a certain row is selected. With the second parameter, you can directly set if this row is selected
334
+ */
335
+ toggleRowSelection,
336
+ /**
337
+ * @description used in multiple selection Table, clear user selection
338
+ */
339
+ clearSelection,
340
+ /**
341
+ * @description clear filters of the columns whose `columnKey` are passed in. If no params, clear all filters
342
+ */
343
+ clearFilter,
344
+ /**
345
+ * @description used in multiple selection Table, toggle select all and deselect all
346
+ */
347
+ toggleAllSelection,
348
+ /**
349
+ * @description used in expandable Table or tree Table, toggle if a certain row is expanded. With the second parameter, you can directly set if this row is expanded or collapsed
350
+ */
351
+ toggleRowExpansion,
352
+ /**
353
+ * @description clear sorting, restore data to the original order
354
+ */
355
+ clearSort,
356
+ /**
357
+ * @description refresh the layout of Table. When the visibility of Table changes, you may need to call this method to get a correct layout
358
+ */
359
+ doLayout,
360
+ /**
361
+ * @description sort Table manually. Property `prop` is used to set sort column, property `order` is used to set sort order
362
+ */
363
+ sort,
364
+ t,
365
+ setDragVisible,
366
+ context: table,
367
+ computedSumText,
368
+ computedEmptyText,
369
+ tableLayout,
370
+ scrollbarViewStyle,
371
+ tableInnerStyle,
372
+ scrollbarStyle,
373
+ scrollBarRef,
374
+ /**
375
+ * @description scrolls to a particular set of coordinates
376
+ */
377
+ scrollTo,
378
+ /**
379
+ * @description set horizontal scroll position
380
+ */
381
+ setScrollLeft,
382
+ /**
383
+ * @description set vertical scroll position
384
+ */
385
+ setScrollTop,
386
+ }
387
+ },
388
+ })
389
+ </script>
@@ -0,0 +1,3 @@
1
+ import ElTableColumn from './table-column'
2
+
3
+ export default ElTableColumn
@@ -0,0 +1,5 @@
1
+ import type { InjectionKey } from 'vue'
2
+ import type { DefaultRow, Table } from './table/defaults'
3
+
4
+ export const TABLE_INJECTION_KEY: InjectionKey<Table<DefaultRow>> =
5
+ Symbol('ElTable')