@dt-frames/ui 1.0.11 → 1.0.15

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/es/components/curd/src/components/dialog.d.ts +34 -25
  2. package/es/components/curd/src/components/props.d.ts +6 -5
  3. package/es/components/curd/src/hooks/useCurd.d.ts +1 -0
  4. package/es/components/curd/src/types/curd.type.d.ts +4 -3
  5. package/es/components/forms/src/components/formButton.d.ts +1 -2
  6. package/es/components/forms/src/components/formIcon.d.ts +16 -11
  7. package/es/components/forms/src/components/formInputUseDialog.d.ts +903 -0
  8. package/es/components/forms/src/hooks/useFormActions.d.ts +2 -2
  9. package/es/components/forms/src/index.d.ts +2 -2
  10. package/es/components/forms/src/types/form.type.d.ts +6 -18
  11. package/es/components/index.d.ts +2 -2
  12. package/es/components/modal/src/components/modal.d.ts +2 -2
  13. package/es/components/modal/src/components/modalFooter.d.ts +10 -5
  14. package/es/components/modal/src/index.d.ts +16 -11
  15. package/es/components/modal/src/props.d.ts +2 -1
  16. package/es/components/modal/src/types/modal.type.d.ts +4 -1
  17. package/es/components/source/src/hooks/useFetch.d.ts +1 -1
  18. package/es/components/table/src/hooks/useCustomRow.d.ts +19 -0
  19. package/es/components/table/src/hooks/useTable.d.ts +2 -2
  20. package/es/components/table/src/index.d.ts +24 -5
  21. package/es/components/table/src/props.d.ts +5 -2
  22. package/es/components/table/src/types/table.type.d.ts +2 -2
  23. package/es/components/tree/src/props.d.ts +8 -1
  24. package/es/components/upload/index.d.ts +1 -2
  25. package/es/components/upload/src/helper.d.ts +1 -0
  26. package/es/components/upload/src/index.d.ts +34 -11
  27. package/es/components/upload/src/props.d.ts +4 -1
  28. package/es/components/upload/src/upload.d.ts +42 -11
  29. package/es/index.js +356 -200
  30. package/es/style/components/forms/index.less +23 -0
  31. package/es/style/components/icons/index.less +1 -1
  32. package/es/style/components/upload/index.less +3 -11
  33. package/package.json +1 -10
  34. package/vite.config.js +10 -0
  35. package/src/assets/data/icons/actions.ts +0 -427
  36. package/src/assets/data/icons/code.ts +0 -10
  37. package/src/assets/data/icons/commuticate.ts +0 -190
  38. package/src/assets/data/icons/currency.ts +0 -46
  39. package/src/assets/data/icons/devices.ts +0 -128
  40. package/src/assets/data/icons/edit.ts +0 -165
  41. package/src/assets/data/icons/file.ts +0 -104
  42. package/src/assets/data/icons/math.ts +0 -53
  43. package/src/assets/data/icons/message.ts +0 -75
  44. package/src/assets/data/icons/navigate.ts +0 -181
  45. package/src/assets/data/icons/other.ts +0 -333
  46. package/src/assets/data/icons.ts +0 -58
  47. package/src/assets/imgs/header/avatar.png +0 -0
  48. package/src/assets/imgs/logo/logo.png +0 -0
  49. package/src/assets/locales/en_US.json +0 -3
  50. package/src/assets/locales/zh_CN.json +0 -3
  51. package/src/assets/style/index.less +0 -10
  52. package/src/assets/style/reset.less +0 -17
  53. package/src/components/container/index.less +0 -85
  54. package/src/components/container/index.ts +0 -8
  55. package/src/components/container/src/bar.ts +0 -107
  56. package/src/components/container/src/lazy-container.vue +0 -9
  57. package/src/components/container/src/scroll-bar.vue +0 -117
  58. package/src/components/container/src/scroll-container.vue +0 -61
  59. package/src/components/curd/index.ts +0 -5
  60. package/src/components/curd/src/components/dialog.vue +0 -73
  61. package/src/components/curd/src/components/props.ts +0 -32
  62. package/src/components/curd/src/hooks/useCurd.tsx +0 -87
  63. package/src/components/curd/src/types/curd.type.ts +0 -31
  64. package/src/components/excel/index.ts +0 -6
  65. package/src/components/excel/src/export2Excel.ts +0 -44
  66. package/src/components/forms/index.less +0 -84
  67. package/src/components/forms/index.ts +0 -11
  68. package/src/components/forms/src/componentMap.ts +0 -44
  69. package/src/components/forms/src/components/formButton.vue +0 -150
  70. package/src/components/forms/src/components/formIcon.vue +0 -51
  71. package/src/components/forms/src/components/formItem.vue +0 -420
  72. package/src/components/forms/src/components/radioButton.vue +0 -58
  73. package/src/components/forms/src/const/form.const.ts +0 -7
  74. package/src/components/forms/src/hooks/helper.ts +0 -70
  75. package/src/components/forms/src/hooks/useForm.ts +0 -130
  76. package/src/components/forms/src/hooks/useFormActions.ts +0 -63
  77. package/src/components/forms/src/hooks/useFormEvents.ts +0 -248
  78. package/src/components/forms/src/hooks/useFormValue.ts +0 -49
  79. package/src/components/forms/src/hooks/useFormValues.ts +0 -131
  80. package/src/components/forms/src/hooks/useLabelWidth.ts +0 -57
  81. package/src/components/forms/src/index.vue +0 -310
  82. package/src/components/forms/src/prop.ts +0 -80
  83. package/src/components/forms/src/types/form.type.ts +0 -269
  84. package/src/components/icons/index.less +0 -101
  85. package/src/components/icons/index.ts +0 -7
  86. package/src/components/icons/src/pick-icon.vue +0 -119
  87. package/src/components/icons/src/svg-icon.vue +0 -117
  88. package/src/components/iframe/index.less +0 -3
  89. package/src/components/iframe/index.ts +0 -5
  90. package/src/components/iframe/src/index.less +0 -3
  91. package/src/components/iframe/src/index.vue +0 -38
  92. package/src/components/index.ts +0 -54
  93. package/src/components/modal/index.less +0 -60
  94. package/src/components/modal/index.ts +0 -8
  95. package/src/components/modal/src/components/close-icon.vue +0 -46
  96. package/src/components/modal/src/components/modal-wrap.vue +0 -128
  97. package/src/components/modal/src/components/modal.tsx +0 -30
  98. package/src/components/modal/src/components/modalFooter.vue +0 -38
  99. package/src/components/modal/src/hooks/useDrag.ts +0 -107
  100. package/src/components/modal/src/hooks/useFullScreen.ts +0 -29
  101. package/src/components/modal/src/hooks/useModal.ts +0 -194
  102. package/src/components/modal/src/index.vue +0 -173
  103. package/src/components/modal/src/props.ts +0 -43
  104. package/src/components/modal/src/types/modal.type.ts +0 -27
  105. package/src/components/router/base-router.vue +0 -11
  106. package/src/components/router/index.ts +0 -3
  107. package/src/components/source/index.ts +0 -1
  108. package/src/components/source/src/hooks/useFetch.ts +0 -42
  109. package/src/components/source/src/hooks/usePage.ts +0 -3
  110. package/src/components/source/src/hooks/useSource.ts +0 -214
  111. package/src/components/source/src/index.ts +0 -5
  112. package/src/components/source/src/types/source.type.ts +0 -58
  113. package/src/components/source/src/types/table.type.ts +0 -8
  114. package/src/components/table/index.less +0 -179
  115. package/src/components/table/index.ts +0 -7
  116. package/src/components/table/src/components/TableActions.vue +0 -108
  117. package/src/components/table/src/components/TableHeader.vue +0 -78
  118. package/src/components/table/src/components/TableRender.vue +0 -76
  119. package/src/components/table/src/components/editable/CellComponent.ts +0 -57
  120. package/src/components/table/src/components/editable/EditTableCell.vue +0 -181
  121. package/src/components/table/src/components/editable/componentMap.ts +0 -18
  122. package/src/components/table/src/components/editable/index.ts +0 -58
  123. package/src/components/table/src/components/setting/Column.vue +0 -354
  124. package/src/components/table/src/components/setting/Download.vue +0 -55
  125. package/src/components/table/src/components/setting/Fullscreen.vue +0 -43
  126. package/src/components/table/src/components/setting/Size.vue +0 -42
  127. package/src/components/table/src/components/setting/index.vue +0 -64
  128. package/src/components/table/src/const.ts +0 -13
  129. package/src/components/table/src/hooks/useColumns.ts +0 -326
  130. package/src/components/table/src/hooks/useCustomRow.ts +0 -0
  131. package/src/components/table/src/hooks/useDataSource.ts +0 -97
  132. package/src/components/table/src/hooks/useHeaderCode.ts +0 -89
  133. package/src/components/table/src/hooks/useLoading.ts +0 -29
  134. package/src/components/table/src/hooks/usePagination.ts +0 -76
  135. package/src/components/table/src/hooks/useRowSelection.ts +0 -145
  136. package/src/components/table/src/hooks/useRows.ts +0 -30
  137. package/src/components/table/src/hooks/useTable.ts +0 -90
  138. package/src/components/table/src/hooks/useTableHeader.ts +0 -48
  139. package/src/components/table/src/hooks/useTableInstance.ts +0 -29
  140. package/src/components/table/src/hooks/useTableScroll.ts +0 -229
  141. package/src/components/table/src/index.vue +0 -200
  142. package/src/components/table/src/props.ts +0 -157
  143. package/src/components/table/src/types/table.type.ts +0 -160
  144. package/src/components/table/src/types/tableHeader.type.ts +0 -27
  145. package/src/components/tree/index.less +0 -41
  146. package/src/components/tree/index.ts +0 -5
  147. package/src/components/tree/src/components/TreeHeader.vue +0 -97
  148. package/src/components/tree/src/hooks/useTree.ts +0 -239
  149. package/src/components/tree/src/index.vue +0 -392
  150. package/src/components/tree/src/props.ts +0 -133
  151. package/src/components/tree/src/type/tree.ts +0 -105
  152. package/src/components/tree/src/utils/tree.ts +0 -73
  153. package/src/components/type.ts +0 -0
  154. package/src/components/upload/index.less +0 -43
  155. package/src/components/upload/index.ts +0 -7
  156. package/src/components/upload/src/helper.ts +0 -32
  157. package/src/components/upload/src/index.vue +0 -38
  158. package/src/components/upload/src/props.ts +0 -48
  159. package/src/components/upload/src/upload.vue +0 -166
  160. package/src/directives/icon.ts +0 -36
  161. package/src/directives/index.ts +0 -26
  162. package/src/directives/permission.ts +0 -20
  163. package/src/global.d.ts +0 -8
  164. package/src/index.ts +0 -4
  165. package/src/theme/content/index.vue +0 -37
  166. package/src/theme/feature/back-top.vue +0 -11
  167. package/src/theme/feature/index.vue +0 -7
  168. package/src/theme/footer/index.less +0 -16
  169. package/src/theme/footer/index.vue +0 -24
  170. package/src/theme/header/components/bread-crumb.vue +0 -26
  171. package/src/theme/header/components/fullscreen.vue +0 -12
  172. package/src/theme/header/components/handler.ts +0 -81
  173. package/src/theme/header/components/index.ts +0 -21
  174. package/src/theme/header/components/lang-picker.vue +0 -36
  175. package/src/theme/header/components/logo.vue +0 -35
  176. package/src/theme/header/components/menu-search.vue +0 -62
  177. package/src/theme/header/components/notify.vue +0 -22
  178. package/src/theme/header/components/setting-theme.vue +0 -123
  179. package/src/theme/header/components/theme-drawer/enum.ts +0 -12
  180. package/src/theme/header/components/theme-drawer/feature.vue +0 -75
  181. package/src/theme/header/components/theme-drawer/index.ts +0 -7
  182. package/src/theme/header/components/theme-drawer/menu-type.vue +0 -40
  183. package/src/theme/header/components/theme-drawer/select-item.vue +0 -46
  184. package/src/theme/header/components/theme-drawer/switch-item.vue +0 -39
  185. package/src/theme/header/components/theme-drawer/theme-color.vue +0 -26
  186. package/src/theme/header/components/trigger.vue +0 -14
  187. package/src/theme/header/components/user-info.vue +0 -60
  188. package/src/theme/header/const/index.ts +0 -40
  189. package/src/theme/header/helper/menu-tree.ts +0 -64
  190. package/src/theme/header/index.less +0 -442
  191. package/src/theme/header/index.ts +0 -0
  192. package/src/theme/header/index.vue +0 -96
  193. package/src/theme/header/multiple-header.vue +0 -67
  194. package/src/theme/header/set-theme.less +0 -68
  195. package/src/theme/index.ts +0 -3
  196. package/src/theme/sider/components/basic-menu/basic-menu-item.vue +0 -14
  197. package/src/theme/sider/components/basic-menu/basic-menu.vue +0 -122
  198. package/src/theme/sider/components/basic-menu/basic-sub-menu-item.vue +0 -46
  199. package/src/theme/sider/components/basic-menu/menu-item-content.vue +0 -13
  200. package/src/theme/sider/components/drag-bar.vue +0 -26
  201. package/src/theme/sider/components/layout-menu.vue +0 -132
  202. package/src/theme/sider/components/props.ts +0 -97
  203. package/src/theme/sider/components/sider-trigger.vue +0 -24
  204. package/src/theme/sider/helper/sider.ts +0 -52
  205. package/src/theme/sider/helper/split-menu.ts +0 -146
  206. package/src/theme/sider/hooks/useDragLine.ts +0 -86
  207. package/src/theme/sider/hooks/useOpenKeys.ts +0 -57
  208. package/src/theme/sider/index.less +0 -203
  209. package/src/theme/sider/index.vue +0 -88
  210. package/src/theme/tabs/components/TabContent.vue +0 -36
  211. package/src/theme/tabs/components/TabRedo.vue +0 -18
  212. package/src/theme/tabs/hooks/useMultifyTabs.ts +0 -96
  213. package/src/theme/tabs/hooks/useTabDropdown.ts +0 -89
  214. package/src/theme/tabs/index.less +0 -165
  215. package/src/theme/tabs/index.vue +0 -98
  216. package/src/theme/tabs/types/tabs.type.ts +0 -8
  217. package/src/theme/theme.less +0 -67
  218. package/src/theme/theme.vue +0 -90
  219. package/src/theme/transition.less +0 -99
@@ -1,76 +0,0 @@
1
- <script lang="tsx">
2
- import { getDictValueByCode, isFunction, isObject, Recordable, formatNumber, isVnode } from '@dt-frames/core'
3
- import dayjs from 'dayjs'
4
- import { defineComponent, PropType, unref, ref, render as render1, createVNode, computed } from 'vue'
5
- import { BasicColumn } from '../types/table.type'
6
-
7
- export default defineComponent({
8
- name: 'TableFormat',
9
- props: {
10
- column: {
11
- type: Object as PropType<BasicColumn>
12
- },
13
- record: {
14
- type: Object as PropType<Recordable>
15
- },
16
- index: {
17
- type: Number
18
- }
19
- },
20
- setup(props: {
21
- column: BasicColumn,
22
- record: Recordable,
23
- index: number
24
- }) {
25
- let renderText = ref()
26
-
27
- function renderCell() {
28
- const { column, record, index } = props
29
- const { render, dataIndex } = column
30
- const text = record[dataIndex.toString()]
31
-
32
- if( isObject(render) ) {
33
- const { dict, date, number, percent } = render as Recordable
34
-
35
- if( dict ) {
36
- renderText = getDictValueByCode(text, dict)
37
- }
38
-
39
- if( date ) {
40
- renderText.value = dayjs(text).format(date || 'YYYY-MM-DD')
41
- }
42
-
43
- if( number ) {
44
- renderText.value = formatNumber(text, number)
45
- }
46
-
47
- if( percent ) {
48
- renderText.value = formatNumber((text || 0) * 100, percent) + '%'
49
- }
50
-
51
- if( isVnode(render) ) {
52
- renderText.value = ( <> { render } </> )
53
- }
54
-
55
- if( render['setup'] ) {
56
- renderText.value = createVNode(render as any, { text })
57
- }
58
-
59
-
60
- } else {
61
- renderText.value = text
62
- }
63
-
64
- if( isFunction(render) ) {
65
- let afterRenderData = render(record, index, text)
66
- renderText.value = isVnode(afterRenderData) ? ( <>{ afterRenderData }</> ) : afterRenderData
67
- }
68
- }
69
-
70
- renderCell()
71
-
72
- return () => <span>{unref(renderText)}</span>
73
- }
74
- })
75
-
76
- </script>
@@ -1,57 +0,0 @@
1
- import { Recordable } from "@dt-frames/core"
2
- import { Popover } from "ant-design-vue"
3
- import { DefineComponent, FunctionalComponent, h, Ref } from "vue"
4
- import { ComponentType } from "../../types/table.type"
5
- import { componentMap } from "./componentMap"
6
-
7
-
8
- type ComponentProps = {
9
- component: ComponentType
10
- rule: boolean
11
- popoverVisible: boolean
12
- ruleMessage: string
13
- getPopupContainer?: any
14
- }
15
-
16
- export type EditRecordRow<T = Recordable> = Partial<
17
- {
18
- onEdit: (editable: boolean, submit?: boolean) => Promise<boolean>;
19
- onValid: () => Promise<boolean>;
20
- editable: boolean;
21
- onCancel: Function;
22
- onSubmit: Function;
23
- submitCbs: Function[];
24
- cancelCbs: Function[];
25
- validCbs: Function[];
26
- editValueRefs: Recordable<Ref>;
27
- } & T
28
- >
29
-
30
- export const CellComponent: FunctionalComponent = ({
31
- component = 'Input',
32
- rule = true,
33
- ruleMessage,
34
- popoverVisible,
35
- getPopupContainer
36
- }: ComponentProps,
37
- { attrs }
38
- ) => {
39
- const Comp = componentMap.get(component) as DefineComponent
40
-
41
- const DefaultComp = h(Comp, attrs)
42
-
43
- if (!rule) return DefaultComp
44
-
45
- return h(
46
- Popover,
47
- {
48
- overlayClassName: 'edit-cell-rule-popover',
49
- visible: !!popoverVisible,
50
- ...(getPopupContainer ? { getPopupContainer } : {}),
51
- },
52
- {
53
- default: () => DefaultComp,
54
- content: () => ruleMessage,
55
- },
56
- )
57
- }
@@ -1,181 +0,0 @@
1
- <template>
2
- <div class="editable-cell">
3
- <CellComponent
4
- ref="elRef"
5
- v-bind="getComponentProps"
6
- :component = "column?.editComponent"
7
- :popoverVisible = "getRuleVisible"
8
- :rule = "editRule"
9
- :ruleMessage = "ruleMessage"
10
- :class = "getWrapperClass"
11
- :onChange = "handleChange"
12
- :onOptionsChange = "handleOptionsChange"
13
- >
14
- </CellComponent>
15
- </div>
16
- </template>
17
-
18
- <script lang="tsx">
19
- import { DtEvent, isBoolean, isNumber, isString, Recordable } from "@dt-frames/core"
20
- import { isFunction } from "@vueuse/core"
21
- import { omit } from 'lodash-es'
22
- import { Spin } from "ant-design-vue"
23
- import { defineComponent, PropType, ref, unref, computed, toRaw } from "vue"
24
- import { BasicColumn, ComponentType, LableValOptions } from "../../types/table.type"
25
- import { CellComponent, EditRecordRow } from "./CellComponent"
26
- import { getTableInstance } from "../../hooks/useTableInstance"
27
-
28
-
29
- export default defineComponent({
30
- name: 'EditableCell',
31
- components: {
32
- Spin,
33
- CellComponent
34
- },
35
- props: {
36
- value: {
37
- type: [String, Number, Boolean, Object] as PropType<string | number | boolean | Recordable>,
38
- default: ''
39
- },
40
- record: {
41
- type: Object as PropType<EditRecordRow>,
42
- },
43
- column: {
44
- type: Object as PropType<BasicColumn>,
45
- default: ():BasicColumn => ({}),
46
- },
47
- index: Number
48
- },
49
- setup(props) {
50
- const table = getTableInstance()
51
- const elRef = ref()
52
-
53
- const { editRule, align = 'left' } = props.column
54
-
55
- const ruleMessage = ref('')
56
- const ruleVisible = ref(false)
57
-
58
- const optionsRef = ref<LableValOptions>([])
59
- const currentValueRef = ref<any>(props.value)
60
-
61
- const getComponent = computed(() => props.column?.editComponent || 'Input')
62
-
63
- // 提示信息是否可见
64
- const getRuleVisible = computed(() => {
65
- return unref( ruleMessage ) && unref( ruleVisible )
66
- })
67
-
68
- const getWrapperClass = computed(() => {
69
- return `edit-cell-align-${align}`
70
- })
71
-
72
- const getIsCheckComp = computed(() => {
73
- const component = unref(getComponent);
74
- return ['Checkbox', 'Switch'].includes(component);
75
- })
76
-
77
- const createPlaceholderMessage = ( component: ComponentType ) => {
78
- if( component.includes('Input') ) {
79
- return '请输入'
80
- }
81
-
82
- return '请选择'
83
- }
84
-
85
- // 设置表格属性
86
- const getComponentProps = computed(() => {
87
- const isCheckValue = unref(getIsCheckComp)
88
- const valueField = isCheckValue ? 'checked' : 'value'
89
-
90
- const val = unref(currentValueRef)
91
- const value = isCheckValue ? (isNumber(val) && isBoolean(val) ? val : !!val) : val
92
-
93
- let compProps = props.column?.editComponentProps ?? {}
94
-
95
- const { record, column, index } = props
96
- if (isFunction(compProps)) {
97
- compProps = compProps({ text: val, record, column, index }) ?? {}
98
- }
99
-
100
- return {
101
- size: 'small',
102
- getPopupContainer: () => document.body,
103
- placeholder: createPlaceholderMessage(unref(getComponent)),
104
- ...omit(compProps, 'onChange'),
105
- [valueField]: value
106
- }
107
- })
108
-
109
-
110
- async function handleChange( e: any ) {
111
- const component = unref(getComponent)
112
-
113
- if( !e ) {
114
- currentValueRef.value = e
115
- } else if (component === 'Checkbox') {
116
- currentValueRef.value = (e as DtEvent).target.checked
117
- } else if (component === 'Switch') {
118
- currentValueRef.value = e
119
- } else if (e?.target && Reflect.has(e.target, 'value')) {
120
- currentValueRef.value = (e as DtEvent).target.value
121
- } else if (isString(e) || isBoolean(e) || isNumber(e)) {
122
- currentValueRef.value = e
123
- }
124
- const onChange = unref(getComponentProps)?.onChange
125
- if (onChange && isFunction(onChange)) onChange(...arguments)
126
-
127
- table.emit?.('edit-change', {
128
- column: props.column,
129
- value: unref(currentValueRef),
130
- record: toRaw(props.record),
131
- })
132
-
133
- handleSubmitRule()
134
- }
135
-
136
-
137
- async function handleSubmitRule() {
138
- const { column, record } = props
139
- const { editRule } = column
140
- const currentValue = unref(currentValueRef)
141
-
142
- if ( editRule ) {
143
- if( isBoolean(editRule) && !currentValue && !isNumber(currentValue) ) {
144
- ruleVisible.value = true
145
- const component = unref(getComponent)
146
- ruleMessage.value = createPlaceholderMessage(component)
147
- return false
148
- }
149
-
150
- if( isFunction(editRule) ) {
151
- const res = await editRule(currentValue, record as Recordable)
152
-
153
- if (!!res) {
154
- ruleMessage.value = res;
155
- ruleVisible.value = true;
156
- return false;
157
- }
158
- }
159
- }
160
-
161
- ruleMessage.value = ''
162
- return true
163
- }
164
-
165
- function handleOptionsChange(options: LableValOptions) {
166
- optionsRef.value = options
167
- }
168
-
169
- return {
170
- props,
171
- getComponentProps,
172
- getRuleVisible,
173
- editRule,
174
- ruleMessage,
175
- getWrapperClass,
176
- handleChange,
177
- handleOptionsChange
178
- }
179
- }
180
- })
181
- </script>
@@ -1,18 +0,0 @@
1
- import { Input, Select, Checkbox, DatePicker, InputNumber, Switch, TimePicker, TreeSelect } from 'ant-design-vue'
2
- import { Component } from 'vue'
3
- import { ComponentType } from '../../types/table.type'
4
-
5
- const componentMap = new Map<ComponentType, Component>()
6
-
7
- componentMap.set('Input', Input)
8
- componentMap.set('InputNumber', InputNumber)
9
- componentMap.set('Select', Select)
10
- componentMap.set('TreeSelect', TreeSelect)
11
- componentMap.set('Switch', Switch)
12
- componentMap.set('Checkbox', Checkbox)
13
- componentMap.set('DatePicker', DatePicker)
14
- componentMap.set('TimePicker', TimePicker)
15
-
16
- export {
17
- componentMap
18
- }
@@ -1,58 +0,0 @@
1
- import { isArray } from '@dt-frames/core'
2
- import { h } from 'vue'
3
- import { BasicColumn } from "../../types/table.type"
4
- import EditableCell from './EditTableCell.vue'
5
-
6
- function renderEditCell(column: BasicColumn) {
7
- return ({text: value, record, index}) => {
8
- // 触发校验
9
- record.onValid = async () => {
10
- if ( isArray( record?.validCbs ) ) {
11
- const validFns = (record?.validCbs || []).map((fn) => fn())
12
- const res = await Promise.all( validFns )
13
- return res.every((item) => !!item)
14
- }
15
-
16
- return false
17
- }
18
-
19
- // 触发修改
20
- record.onEdit = async (edit: boolean, submit = false) => {
21
- if (!submit) {
22
- record.editable = edit;
23
- }
24
-
25
- // 提交
26
- if (!edit && submit) {
27
- if ( !(await record.onValid()) ) return false
28
-
29
- const res = await record.onSubmitEdit?.()
30
-
31
- if (res) {
32
- record.editable = false
33
- return true
34
- }
35
-
36
- return false
37
- }
38
-
39
- // 取消
40
- if (!edit && !submit) {
41
- record.onCancelEdit?.()
42
- }
43
-
44
- return true
45
- }
46
-
47
- return h(EditableCell, {
48
- value,
49
- record,
50
- column,
51
- index,
52
- })
53
- }
54
- }
55
-
56
- export {
57
- renderEditCell
58
- }