@silver-formily/element-plus 2.4.0 → 3.0.1
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.
- package/esm/__builtins__/shared/transform-component.d.ts +1 -1
- package/esm/__builtins__/shared/utils.mjs +0 -2
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +11 -11
- package/esm/array-base/symbols.mjs +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.mjs +0 -1
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +1 -1
- package/esm/array-collapse/index.mjs +2 -5
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-items/index.mjs +1 -1
- package/esm/array-list-tabs/index.mjs +9 -9
- package/esm/array-table/index.mjs +7 -10
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +1 -2
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/autocomplete.d.ts +16 -16
- package/esm/autocomplete/index.d.ts +8 -8
- package/esm/autocomplete/index.mjs +2 -4
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +2 -2
- package/esm/checkbox/index.d.ts +27 -27
- package/esm/checkbox/index.mjs +7 -12
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/editable/editable.d.ts +12 -12
- package/esm/editable/index.d.ts +6 -6
- package/esm/editable/index.mjs +27 -33
- package/esm/editable/index.mjs.map +1 -1
- package/esm/env.d.d.ts +1 -0
- package/esm/form/form.mjs +5 -5
- package/esm/form-button-group/index.mjs +5 -12
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +1 -1
- package/esm/form-collapse/utils.mjs +0 -2
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.d.ts +1 -1
- package/esm/form-dialog/index.mjs +63 -70
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-dialog/types.d.ts +13 -5
- package/esm/form-drawer/index.d.ts +1 -1
- package/esm/form-drawer/index.mjs +62 -69
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +13 -5
- package/esm/form-grid/form-grid.d.ts +2 -2
- package/esm/form-grid/hooks.d.ts +1 -2
- package/esm/form-grid/hooks.mjs +4 -11
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +34 -32
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.mjs +25 -31
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/types.d.ts +8 -6
- package/esm/form-layout/form-layout.mjs +2 -2
- package/esm/form-layout/utils.mjs +2 -2
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +2 -2
- package/esm/form-step/utils.mjs +0 -3
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.d.ts +2 -1
- package/esm/form-tab/hooks.mjs +13 -20
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +39 -40
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/index.mjs +9 -9
- package/esm/input/index.mjs +2 -2
- package/esm/input-number/index.d.ts +15 -15
- package/esm/input-tag/index.mjs +2 -2
- package/esm/mention/index.mjs +2 -2
- package/esm/pagination/pagination.mjs +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/preview-text/index.mjs +2 -11
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/index.d.ts +3 -3
- package/esm/query-form/index.mjs +28 -31
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form/query-form.d.ts +1 -1
- package/esm/query-form/types.d.ts +1 -1
- package/esm/query-form-item/index.mjs +7 -11
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/radio/index.d.ts +18 -18
- package/esm/radio/index.mjs +7 -12
- package/esm/radio/index.mjs.map +1 -1
- package/esm/reset/index.mjs +2 -2
- package/esm/segmented/index.mjs +2 -2
- package/esm/select/index.d.ts +16 -16
- package/esm/select/index.mjs +1 -1
- package/esm/select-table/index.d.ts +6 -6
- package/esm/select-table/index.mjs +4 -5
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/select-table/select-table.d.ts +2 -2
- package/esm/styles/form-grid/index.css +1 -1
- package/esm/submit/index.mjs +3 -3
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.d.ts +9 -9
- package/esm/time-select/index.d.ts +12 -12
- package/esm/transfer/index.d.ts +12 -12
- package/esm/tree/index.mjs +3 -3
- package/esm/tree/utils.mjs +0 -2
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +2 -2
- package/esm/upload/index.d.ts +12 -12
- package/esm/upload/index.mjs +3 -3
- package/esm/upload/upload.d.ts +24 -24
- package/esm/vendor/icon.mjs.map +1 -1
- package/esm/vendor/lodash.mjs +111 -85
- package/esm/vendor/lodash.mjs.map +1 -1
- package/esm/vendor/runtime.mjs +23 -29
- package/esm/vendor/runtime.mjs.map +1 -1
- package/esm/vendor/shared.esm-bundler.mjs +2 -7
- package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/esm/vendor/types.mjs +5 -5
- package/esm/vendor/types.mjs.map +1 -1
- package/package.json +57 -82
- package/LICENSE +0 -21
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useField as j, connect as w, mapProps as D } from "@silver-formily/vue";
|
|
2
2
|
import { FormBaseItem as V, fieldFeedbackMapper as N } from "../form-item/index.mjs";
|
|
3
|
-
import { defineComponent as E, computed as y, ref as p, onMounted as U, watch as L,
|
|
3
|
+
import { defineComponent as E, computed as y, ref as p, onMounted as U, watch as L, openBlock as P, createBlock as S, unref as u, mergeProps as C, withCtx as G, createElementVNode as h, normalizeClass as b, resolveDynamicComponent as H, normalizeProps as J, guardReactiveProps as K, renderSlot as T, createCommentVNode as W } from "vue";
|
|
4
4
|
import { createForm as X } from "@formily/core";
|
|
5
5
|
import { isNum as Y } from "@formily/shared";
|
|
6
6
|
import { ElPagination as Z } from "element-plus";
|
|
@@ -85,9 +85,7 @@ import '../styles/query-form-item/index.css';const re = /* @__PURE__ */ E({
|
|
|
85
85
|
return;
|
|
86
86
|
const t = Q.value;
|
|
87
87
|
Array.isArray(t.dataSource) || (t.dataSource = []);
|
|
88
|
-
const a = ++l.value
|
|
89
|
-
/* istanbul ignore next -- @preserve defensive: active query form can be temporarily undefined before form injection settles */
|
|
90
|
-
const r = F.value?.values ?? {}, i = e.pagination ? {
|
|
88
|
+
const a = ++l.value, r = F.value?.values ?? {}, i = e.pagination ? {
|
|
91
89
|
current: n.value,
|
|
92
90
|
pageSize: s.value
|
|
93
91
|
} : void 0, v = i ? {
|
|
@@ -133,11 +131,9 @@ import '../styles/query-form-item/index.css';const re = /* @__PURE__ */ E({
|
|
|
133
131
|
return U(() => {
|
|
134
132
|
e.immediate && g();
|
|
135
133
|
}), L([n, s], ([t, a], [r, i]) => {
|
|
136
|
-
/* istanbul ignore if -- @preserve defensive: watcher is retained when pagination is dynamically toggled off */
|
|
137
134
|
if (!e.pagination)
|
|
138
135
|
return;
|
|
139
136
|
const v = t !== r, o = a !== i;
|
|
140
|
-
/* istanbul ignore if -- @preserve defensive: keep guard for unexpected duplicated watcher payload */
|
|
141
137
|
if (!(!v && !o)) {
|
|
142
138
|
if (o && t !== 1) {
|
|
143
139
|
n.value = 1;
|
|
@@ -145,25 +141,25 @@ import '../styles/query-form-item/index.css';const re = /* @__PURE__ */ E({
|
|
|
145
141
|
}
|
|
146
142
|
g();
|
|
147
143
|
}
|
|
148
|
-
}), (t, a) => (
|
|
144
|
+
}), (t, a) => (P(), S(u(V), C(u(O), { "internal-form-item-class": x }), {
|
|
149
145
|
default: G(() => [
|
|
150
146
|
h("div", {
|
|
151
147
|
class: b(f)
|
|
152
148
|
}, [
|
|
153
|
-
(
|
|
149
|
+
(P(), S(H(e.mode === "light" ? u(k).Light : u(k)), J(K($.value)), null, 16)),
|
|
154
150
|
h("div", {
|
|
155
151
|
class: b(`${f}__content`)
|
|
156
152
|
}, [
|
|
157
|
-
|
|
153
|
+
T(t.$slots, "default")
|
|
158
154
|
], 2),
|
|
159
|
-
e.pagination ? (
|
|
155
|
+
e.pagination ? (P(), S(u(Z), C({
|
|
160
156
|
key: 0,
|
|
161
157
|
"current-page": n.value,
|
|
162
158
|
"onUpdate:currentPage": a[0] || (a[0] = (r) => n.value = r),
|
|
163
159
|
"page-size": s.value,
|
|
164
160
|
"onUpdate:pageSize": a[1] || (a[1] = (r) => s.value = r),
|
|
165
161
|
class: `${f}__pagination`
|
|
166
|
-
}, M.value, { total: d.value }), null, 16, ["current-page", "page-size", "class", "total"])) :
|
|
162
|
+
}, M.value, { total: d.value }), null, 16, ["current-page", "page-size", "class", "total"])) : W("", !0)
|
|
167
163
|
])
|
|
168
164
|
]),
|
|
169
165
|
_: 3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/query-form-item/query-form-item.vue","../../src/query-form-item/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Field } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport type { PropType } from 'vue'\nimport type {\n QueryFormItemMode,\n QueryFormItemPaginationMap,\n QueryFormItemPaginationProps,\n QueryFormItemQueryProps,\n QueryFormItemRequest,\n QueryFormItemRequestSuccessPayload,\n} from './types'\nimport { createForm } from '@formily/core'\nimport { isNum } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport { ElPagination } from 'element-plus'\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { FormBaseItem } from '../form-item'\nimport { QueryForm } from '../query-form'\nimport { useQueryFormForm } from '../query-form/hooks'\n\ndefineOptions({\n name: 'FQueryFormItem',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n mode: {\n type: String as PropType<QueryFormItemMode>,\n default: 'default',\n },\n request: Function as PropType<QueryFormItemRequest>,\n clearOnDataChange: {\n type: Boolean,\n default: false,\n },\n querySchema: Object as PropType<ISchema>,\n queryFormProps: {\n type: Object as PropType<QueryFormItemQueryProps>,\n default: () => ({}),\n },\n pagination: {\n type: Boolean,\n default: true,\n },\n paginationProps: {\n type: Object as PropType<QueryFormItemPaginationProps>,\n default: () => ({}),\n },\n paginationMap: {\n type: Object as PropType<QueryFormItemPaginationMap>,\n default: () => ({}),\n },\n immediate: {\n type: Boolean,\n default: true,\n },\n})\n\nconst emit = defineEmits<{\n (e: 'requestSuccess', payload: QueryFormItemRequestSuccessPayload): void\n (e: 'requestFailed', error: any): void\n}>()\n\nconst defaultPaginationProps: QueryFormItemPaginationProps = {\n currentPage: 1,\n pageSize: 10,\n pageSizes: [10, 20, 50, 100],\n layout: 'total, prev, pager, next',\n size: 'small',\n}\nconst defaultPaginationRequestMapping: Required<QueryFormItemPaginationMap> = {\n current: 'current',\n pageSize: 'pageSize',\n}\n\nconst fieldRef = useField<Field>()\nconst internalQueryForm = createForm()\nconst prefixCls = `${stylePrefix}-query-form-item`\nconst formItemInternalClass = `${stylePrefix}-form-item--isolated`\nconst { props: formItemProps } = useCleanAttrs()\n\nconst paginationBindings = computed(() => {\n const {\n currentPage,\n pageSize,\n ...bindings\n } = {\n ...defaultPaginationProps,\n ...props.paginationProps,\n }\n return bindings\n})\n\nconst currentPageRef = ref(props.paginationProps?.currentPage ?? defaultPaginationProps.currentPage)\nconst pageSizeRef = ref(props.paginationProps?.pageSize ?? defaultPaginationProps.pageSize)\nconst totalRef = ref(0)\nconst currentRequestId = ref(0)\n\nconst { activeForm: activeQueryForm } = useQueryFormForm({\n formProps: computed(() => props.queryFormProps),\n fallbackForm: internalQueryForm,\n})\n\nconst queryFormBindings = computed(() => {\n return ({\n ...props.queryFormProps,\n schema: props.querySchema ?? props.queryFormProps.schema,\n form: activeQueryForm.value,\n onAutoSubmit: handleQuerySubmit,\n resetProps: {\n onClick: handleQueryReset,\n },\n })\n})\n\nasync function executeRequest() {\n if (!props.request)\n return\n\n const field = fieldRef.value\n if (!Array.isArray(field.dataSource))\n field.dataSource = []\n\n const requestId = ++currentRequestId.value\n /* istanbul ignore next -- @preserve defensive: active query form can be temporarily undefined before form injection settles */\n const queryValues = activeQueryForm.value?.values ?? {}\n const paginationData = props.pagination\n ? {\n current: currentPageRef.value,\n pageSize: pageSizeRef.value,\n }\n : undefined\n const requestParams = paginationData\n ? {\n ...queryValues,\n [(props.paginationMap.current ?? defaultPaginationRequestMapping.current)]: paginationData.current,\n [(props.paginationMap.pageSize ?? defaultPaginationRequestMapping.pageSize)]: paginationData.pageSize,\n }\n : queryValues\n\n field.loading = true\n try {\n const result = await props.request(requestParams)\n\n if (requestId !== currentRequestId.value)\n return\n\n if (result.success !== true) {\n emit('requestFailed', result)\n return\n }\n\n field.dataSource = result.data\n if (props.clearOnDataChange) {\n field.setValue?.(undefined)\n }\n totalRef.value = isNum(result.total) ? result.total : result.data.length\n\n emit('requestSuccess', {\n values: queryValues,\n pagination: paginationData,\n dataSource: result.data,\n total: totalRef.value,\n result,\n })\n }\n catch (error) {\n if (requestId !== currentRequestId.value)\n return\n emit('requestFailed', error)\n }\n finally {\n if (requestId === currentRequestId.value)\n field.loading = false\n }\n}\n\nasync function handleQuerySubmit() {\n if (props.pagination && currentPageRef.value !== 1) {\n currentPageRef.value = 1\n return\n }\n\n await executeRequest()\n}\n\nfunction handleQueryReset(event: MouseEvent) {\n const userOnClick = props.queryFormProps.resetProps?.onClick as ((event: MouseEvent) => void | boolean) | undefined\n const result = userOnClick?.(event)\n if (result === false)\n return false\n\n void handleQuerySubmit()\n\n return result\n}\n\nonMounted(() => {\n if (props.immediate)\n void executeRequest()\n})\n\nwatch([currentPageRef, pageSizeRef], ([currentPage, pageSize], [previousPage, previousPageSize]) => {\n /* istanbul ignore if -- @preserve defensive: watcher is retained when pagination is dynamically toggled off */\n if (!props.pagination)\n return\n\n const currentChanged = currentPage !== previousPage\n const pageSizeChanged = pageSize !== previousPageSize\n\n /* istanbul ignore if -- @preserve defensive: keep guard for unexpected duplicated watcher payload */\n if (!currentChanged && !pageSizeChanged)\n return\n\n if (pageSizeChanged && currentPage !== 1) {\n currentPageRef.value = 1\n return\n }\n\n void executeRequest()\n})\n</script>\n\n<template>\n <FormBaseItem\n v-bind=\"formItemProps\"\n :internal-form-item-class=\"formItemInternalClass\"\n >\n <div :class=\"prefixCls\">\n <component\n :is=\"props.mode === 'light' ? QueryForm.Light : QueryForm\"\n v-bind=\"queryFormBindings\"\n />\n <div :class=\"`${prefixCls}__content`\">\n <slot />\n </div>\n <ElPagination\n v-if=\"props.pagination\"\n v-model:current-page=\"currentPageRef\"\n v-model:page-size=\"pageSizeRef\"\n :class=\"`${prefixCls}__pagination`\"\n v-bind=\"paginationBindings\"\n :total=\"totalRef\"\n />\n </div>\n </FormBaseItem>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { fieldFeedbackMapper } from '../form-item'\nimport QueryFormItemInner from './query-form-item.vue'\nimport './style.scss'\n\nexport type {\n IQueryFormItemProps,\n QueryFormItemMode,\n QueryFormItemPagination,\n QueryFormItemPaginationMap,\n QueryFormItemPaginationProps,\n QueryFormItemQueryProps,\n QueryFormItemRequest,\n QueryFormItemRequestResultObject,\n QueryFormItemRequestSuccessPayload,\n} from './types'\n\nexport const QueryFormItem = connect<typeof QueryFormItemInner>(\n QueryFormItemInner,\n mapProps(\n {\n validateStatus: true,\n title: 'label',\n required: true,\n description: 'extra',\n },\n fieldFeedbackMapper,\n ),\n)\n\nexport default QueryFormItem\n"],"names":["props","__props","emit","__emit","defaultPaginationProps","defaultPaginationRequestMapping","fieldRef","useField","internalQueryForm","createForm","prefixCls","stylePrefix","formItemInternalClass","formItemProps","useCleanAttrs","paginationBindings","computed","currentPage","pageSize","bindings","currentPageRef","ref","pageSizeRef","totalRef","currentRequestId","activeQueryForm","useQueryFormForm","queryFormBindings","handleQuerySubmit","handleQueryReset","executeRequest","field","requestId","queryValues","paginationData","requestParams","result","isNum","error","event","userOnClick","onMounted","watch","previousPage","previousPageSize","currentChanged","pageSizeChanged","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_resolveDynamicComponent","QueryForm","_normalizeProps","_guardReactiveProps","_renderSlot","_ctx","$event","QueryFormItem","connect","QueryFormItemInner","mapProps","fieldFeedbackMapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/query-form-item/query-form-item.vue","../../src/query-form-item/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Field } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport type { PropType } from 'vue'\nimport type {\n QueryFormItemMode,\n QueryFormItemPaginationMap,\n QueryFormItemPaginationProps,\n QueryFormItemQueryProps,\n QueryFormItemRequest,\n QueryFormItemRequestSuccessPayload,\n} from './types'\nimport { createForm } from '@formily/core'\nimport { isNum } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport { ElPagination } from 'element-plus'\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { FormBaseItem } from '../form-item'\nimport { QueryForm } from '../query-form'\nimport { useQueryFormForm } from '../query-form/hooks'\n\ndefineOptions({\n name: 'FQueryFormItem',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n mode: {\n type: String as PropType<QueryFormItemMode>,\n default: 'default',\n },\n request: Function as PropType<QueryFormItemRequest>,\n clearOnDataChange: {\n type: Boolean,\n default: false,\n },\n querySchema: Object as PropType<ISchema>,\n queryFormProps: {\n type: Object as PropType<QueryFormItemQueryProps>,\n default: () => ({}),\n },\n pagination: {\n type: Boolean,\n default: true,\n },\n paginationProps: {\n type: Object as PropType<QueryFormItemPaginationProps>,\n default: () => ({}),\n },\n paginationMap: {\n type: Object as PropType<QueryFormItemPaginationMap>,\n default: () => ({}),\n },\n immediate: {\n type: Boolean,\n default: true,\n },\n})\n\nconst emit = defineEmits<{\n (e: 'requestSuccess', payload: QueryFormItemRequestSuccessPayload): void\n (e: 'requestFailed', error: any): void\n}>()\n\nconst defaultPaginationProps: QueryFormItemPaginationProps = {\n currentPage: 1,\n pageSize: 10,\n pageSizes: [10, 20, 50, 100],\n layout: 'total, prev, pager, next',\n size: 'small',\n}\nconst defaultPaginationRequestMapping: Required<QueryFormItemPaginationMap> = {\n current: 'current',\n pageSize: 'pageSize',\n}\n\nconst fieldRef = useField<Field>()\nconst internalQueryForm = createForm()\nconst prefixCls = `${stylePrefix}-query-form-item`\nconst formItemInternalClass = `${stylePrefix}-form-item--isolated`\nconst { props: formItemProps } = useCleanAttrs()\n\nconst paginationBindings = computed(() => {\n const {\n currentPage,\n pageSize,\n ...bindings\n } = {\n ...defaultPaginationProps,\n ...props.paginationProps,\n }\n return bindings\n})\n\nconst currentPageRef = ref(props.paginationProps?.currentPage ?? defaultPaginationProps.currentPage)\nconst pageSizeRef = ref(props.paginationProps?.pageSize ?? defaultPaginationProps.pageSize)\nconst totalRef = ref(0)\nconst currentRequestId = ref(0)\n\nconst { activeForm: activeQueryForm } = useQueryFormForm({\n formProps: computed(() => props.queryFormProps),\n fallbackForm: internalQueryForm,\n})\n\nconst queryFormBindings = computed(() => {\n return ({\n ...props.queryFormProps,\n schema: props.querySchema ?? props.queryFormProps.schema,\n form: activeQueryForm.value,\n onAutoSubmit: handleQuerySubmit,\n resetProps: {\n onClick: handleQueryReset,\n },\n })\n})\n\nasync function executeRequest() {\n if (!props.request)\n return\n\n const field = fieldRef.value\n if (!Array.isArray(field.dataSource))\n field.dataSource = []\n\n const requestId = ++currentRequestId.value\n /* istanbul ignore next -- @preserve defensive: active query form can be temporarily undefined before form injection settles */\n const queryValues = activeQueryForm.value?.values ?? {}\n const paginationData = props.pagination\n ? {\n current: currentPageRef.value,\n pageSize: pageSizeRef.value,\n }\n : undefined\n const requestParams = paginationData\n ? {\n ...queryValues,\n [(props.paginationMap.current ?? defaultPaginationRequestMapping.current)]: paginationData.current,\n [(props.paginationMap.pageSize ?? defaultPaginationRequestMapping.pageSize)]: paginationData.pageSize,\n }\n : queryValues\n\n field.loading = true\n try {\n const result = await props.request(requestParams)\n\n if (requestId !== currentRequestId.value)\n return\n\n if (result.success !== true) {\n emit('requestFailed', result)\n return\n }\n\n field.dataSource = result.data\n if (props.clearOnDataChange) {\n field.setValue?.(undefined)\n }\n totalRef.value = isNum(result.total) ? result.total : result.data.length\n\n emit('requestSuccess', {\n values: queryValues,\n pagination: paginationData,\n dataSource: result.data,\n total: totalRef.value,\n result,\n })\n }\n catch (error) {\n if (requestId !== currentRequestId.value)\n return\n emit('requestFailed', error)\n }\n finally {\n if (requestId === currentRequestId.value)\n field.loading = false\n }\n}\n\nasync function handleQuerySubmit() {\n if (props.pagination && currentPageRef.value !== 1) {\n currentPageRef.value = 1\n return\n }\n\n await executeRequest()\n}\n\nfunction handleQueryReset(event: MouseEvent) {\n const userOnClick = props.queryFormProps.resetProps?.onClick as ((event: MouseEvent) => void | boolean) | undefined\n const result = userOnClick?.(event)\n if (result === false)\n return false\n\n void handleQuerySubmit()\n\n return result\n}\n\nonMounted(() => {\n if (props.immediate)\n void executeRequest()\n})\n\nwatch([currentPageRef, pageSizeRef], ([currentPage, pageSize], [previousPage, previousPageSize]) => {\n /* istanbul ignore if -- @preserve defensive: watcher is retained when pagination is dynamically toggled off */\n if (!props.pagination)\n return\n\n const currentChanged = currentPage !== previousPage\n const pageSizeChanged = pageSize !== previousPageSize\n\n /* istanbul ignore if -- @preserve defensive: keep guard for unexpected duplicated watcher payload */\n if (!currentChanged && !pageSizeChanged)\n return\n\n if (pageSizeChanged && currentPage !== 1) {\n currentPageRef.value = 1\n return\n }\n\n void executeRequest()\n})\n</script>\n\n<template>\n <FormBaseItem\n v-bind=\"formItemProps\"\n :internal-form-item-class=\"formItemInternalClass\"\n >\n <div :class=\"prefixCls\">\n <component\n :is=\"props.mode === 'light' ? QueryForm.Light : QueryForm\"\n v-bind=\"queryFormBindings\"\n />\n <div :class=\"`${prefixCls}__content`\">\n <slot />\n </div>\n <ElPagination\n v-if=\"props.pagination\"\n v-model:current-page=\"currentPageRef\"\n v-model:page-size=\"pageSizeRef\"\n :class=\"`${prefixCls}__pagination`\"\n v-bind=\"paginationBindings\"\n :total=\"totalRef\"\n />\n </div>\n </FormBaseItem>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { fieldFeedbackMapper } from '../form-item'\nimport QueryFormItemInner from './query-form-item.vue'\nimport './style.scss'\n\nexport type {\n IQueryFormItemProps,\n QueryFormItemMode,\n QueryFormItemPagination,\n QueryFormItemPaginationMap,\n QueryFormItemPaginationProps,\n QueryFormItemQueryProps,\n QueryFormItemRequest,\n QueryFormItemRequestResultObject,\n QueryFormItemRequestSuccessPayload,\n} from './types'\n\nexport const QueryFormItem = connect<typeof QueryFormItemInner>(\n QueryFormItemInner,\n mapProps(\n {\n validateStatus: true,\n title: 'label',\n required: true,\n description: 'extra',\n },\n fieldFeedbackMapper,\n ),\n)\n\nexport default QueryFormItem\n"],"names":["props","__props","emit","__emit","defaultPaginationProps","defaultPaginationRequestMapping","fieldRef","useField","internalQueryForm","createForm","prefixCls","stylePrefix","formItemInternalClass","formItemProps","useCleanAttrs","paginationBindings","computed","currentPage","pageSize","bindings","currentPageRef","ref","pageSizeRef","totalRef","currentRequestId","activeQueryForm","useQueryFormForm","queryFormBindings","handleQuerySubmit","handleQueryReset","executeRequest","field","requestId","queryValues","paginationData","requestParams","result","isNum","error","event","userOnClick","onMounted","watch","previousPage","previousPageSize","currentChanged","pageSizeChanged","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_resolveDynamicComponent","QueryForm","_normalizeProps","_guardReactiveProps","_renderSlot","_ctx","$event","QueryFormItem","connect","QueryFormItemInner","mapProps","fieldFeedbackMapper"],"mappings":"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"}
|
package/esm/radio/index.d.ts
CHANGED
|
@@ -255,17 +255,17 @@ export declare const Radio: {
|
|
|
255
255
|
type: import('vue').PropType<string>;
|
|
256
256
|
default: undefined;
|
|
257
257
|
};
|
|
258
|
-
|
|
259
|
-
type: import('vue').PropType<
|
|
260
|
-
default:
|
|
258
|
+
props: {
|
|
259
|
+
type: import('vue').PropType<import('element-plus').radioOptionProp>;
|
|
260
|
+
default: () => Required<import('element-plus').radioOptionProp>;
|
|
261
261
|
};
|
|
262
262
|
disabled: {
|
|
263
263
|
type: import('vue').PropType<boolean>;
|
|
264
264
|
default: undefined;
|
|
265
265
|
};
|
|
266
|
-
|
|
267
|
-
type: import('vue').PropType<
|
|
268
|
-
default:
|
|
266
|
+
fill: {
|
|
267
|
+
type: import('vue').PropType<string>;
|
|
268
|
+
default: "";
|
|
269
269
|
};
|
|
270
270
|
id: {
|
|
271
271
|
type: import('vue').PropType<string>;
|
|
@@ -324,17 +324,17 @@ export declare const Radio: {
|
|
|
324
324
|
type: import('vue').PropType<string>;
|
|
325
325
|
default: undefined;
|
|
326
326
|
};
|
|
327
|
-
|
|
328
|
-
type: import('vue').PropType<
|
|
329
|
-
default:
|
|
327
|
+
props: {
|
|
328
|
+
type: import('vue').PropType<import('element-plus').radioOptionProp>;
|
|
329
|
+
default: () => Required<import('element-plus').radioOptionProp>;
|
|
330
330
|
};
|
|
331
331
|
disabled: {
|
|
332
332
|
type: import('vue').PropType<boolean>;
|
|
333
333
|
default: undefined;
|
|
334
334
|
};
|
|
335
|
-
|
|
336
|
-
type: import('vue').PropType<
|
|
337
|
-
default:
|
|
335
|
+
fill: {
|
|
336
|
+
type: import('vue').PropType<string>;
|
|
337
|
+
default: "";
|
|
338
338
|
};
|
|
339
339
|
id: {
|
|
340
340
|
type: import('vue').PropType<string>;
|
|
@@ -387,17 +387,17 @@ export declare const Radio: {
|
|
|
387
387
|
type: import('vue').PropType<string>;
|
|
388
388
|
default: undefined;
|
|
389
389
|
};
|
|
390
|
-
|
|
391
|
-
type: import('vue').PropType<
|
|
392
|
-
default:
|
|
390
|
+
props: {
|
|
391
|
+
type: import('vue').PropType<import('element-plus').radioOptionProp>;
|
|
392
|
+
default: () => Required<import('element-plus').radioOptionProp>;
|
|
393
393
|
};
|
|
394
394
|
disabled: {
|
|
395
395
|
type: import('vue').PropType<boolean>;
|
|
396
396
|
default: undefined;
|
|
397
397
|
};
|
|
398
|
-
|
|
399
|
-
type: import('vue').PropType<
|
|
400
|
-
default:
|
|
398
|
+
fill: {
|
|
399
|
+
type: import('vue').PropType<string>;
|
|
400
|
+
default: "";
|
|
401
401
|
};
|
|
402
402
|
id: {
|
|
403
403
|
type: import('vue').PropType<string>;
|
package/esm/radio/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { connect as E, mapProps as T } from "@silver-formily/vue";
|
|
|
2
2
|
import { ElRadioButton as B, ElRadio as v, ElRadioGroup as C, version as G } from "element-plus";
|
|
3
3
|
import "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as O, computed as c, useSlots as x,
|
|
5
|
+
import { defineComponent as O, computed as c, useSlots as x, openBlock as t, createBlock as p, unref as u, normalizeProps as A, guardReactiveProps as L, withCtx as i, createElementBlock as f, Fragment as d, renderList as _, resolveDynamicComponent as y, mergeProps as b, createTextVNode as h, toDisplayString as j, renderSlot as w } from "vue";
|
|
6
6
|
import { mapReadPretty as D } from "../__builtins__/shared/transform-component.mjs";
|
|
7
7
|
import { useCleanAttrs as F, composeExport as N } from "../__builtins__/shared/utils.mjs";
|
|
8
8
|
import { PreviewText as z } from "../preview-text/index.mjs";
|
|
@@ -31,17 +31,12 @@ import '../styles/radio/index.css';const V = /* @__PURE__ */ O({
|
|
|
31
31
|
function g(e, n) {
|
|
32
32
|
return l(o.options[n]) ? o.options[n].label : e.label;
|
|
33
33
|
}
|
|
34
|
-
const m = c(() => o.options.map((e) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/* istanbul ignore if -- @preserve */
|
|
41
|
-
return S ? {
|
|
42
|
-
...e,
|
|
43
|
-
label: e.value
|
|
44
|
-
} : e;
|
|
34
|
+
const m = c(() => o.options.map((e) => l(e) ? S ? {
|
|
35
|
+
...e,
|
|
36
|
+
label: e.value
|
|
37
|
+
} : e : {
|
|
38
|
+
label: e,
|
|
39
|
+
value: e
|
|
45
40
|
})), k = x();
|
|
46
41
|
return (e, n) => (t(), p(u(C), A(L(u(R))), {
|
|
47
42
|
default: i(() => [
|
package/esm/radio/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/radio/radio-group.vue","../../src/radio/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { RadioProps } from 'element-plus'\nimport type { PropType } from 'vue'\nimport { isPlainObj } from '@formily/shared'\nimport { ElRadio, ElRadioButton, ElRadioGroup, version } from 'element-plus'\nimport { computed, useSlots } from 'vue'\nimport { lt, useCleanAttrs } from '../__builtins__'\n\ndefineOptions({\n name: 'FRadioGroup',\n})\n\nconst props = defineProps({\n options: {\n type: Array as PropType<Array<RadioProps | string | number>>,\n default: () => [],\n },\n optionType: {\n type: String as PropType<'default' | 'button'>,\n default: 'default',\n },\n})\n\nconst { props: radioProps } = useCleanAttrs()\n\nconst OptionType = computed(() => {\n return props.optionType === 'button' ? ElRadioButton : ElRadio\n})\nconst IS_LESS_THAN_2_6_0 = lt(version, '2.6.0')\n\nfunction isRadioPropsObject(option: any): option is RadioProps {\n return isPlainObj(option)\n}\n\nfunction getOptionLabel(option: any, index: number) {\n if (isRadioPropsObject(props.options[index])) {\n return props.options[index].label\n }\n return option.label\n}\n\nconst compatiableProps = computed(() => {\n return props.options.map((option) => {\n if (!isRadioPropsObject(option)) {\n return {\n label: option,\n value: option,\n }\n }\n /* istanbul ignore if -- @preserve */\n if (IS_LESS_THAN_2_6_0) {\n return {\n ...option,\n label: option.value,\n }\n }\n return option\n })\n})\n\nconst slots = useSlots()\n</script>\n\n<template>\n <ElRadioGroup v-bind=\"radioProps\">\n <template v-if=\"!slots.option\">\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\n {{ getOptionLabel(option, index) }}\n </component>\n </template>\n <template v-else>\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\n <slot name=\"option\" :option=\"option\" />\n </component>\n </template>\n </ElRadioGroup>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { ElRadio } from 'element-plus'\nimport { composeExport, mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\nimport FRadioGroup from './radio-group.vue'\nimport './style.scss'\n\nconst RadioGroup = connect<typeof FRadioGroup>(\n FRadioGroup,\n mapProps({ dataSource: 'options', disabled: true }),\n mapReadPretty(PreviewText.Select),\n)\nexport const Radio = composeExport(ElRadio, {\n Group: RadioGroup,\n})\n\nexport default Radio\n"],"names":["props","__props","radioProps","useCleanAttrs","OptionType","computed","ElRadioButton","ElRadio","IS_LESS_THAN_2_6_0","lt","version","isRadioPropsObject","option","isPlainObj","getOptionLabel","index","compatiableProps","slots","useSlots","_openBlock","_createBlock","_unref","_createElementBlock","_Fragment","_renderList","_resolveDynamicComponent","_mergeProps","_renderSlot","_ctx","RadioGroup","connect","FRadioGroup","mapProps","mapReadPretty","PreviewText","Radio","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,UAAMA,IAAQC,GAWR,EAAE,OAAOC,EAAA,IAAeC,EAAA,GAExBC,IAAaC,EAAS,MACnBL,EAAM,eAAe,WAAWM,IAAgBC,CACxD,GACKC,IAAqBC,EAAGC,GAAS,OAAO;AAE9C,aAASC,EAAmBC,GAAmC;AAC7D,aAAOC,EAAWD,CAAM;AAAA,IAC1B;AAEA,aAASE,EAAeF,GAAaG,GAAe;AAClD,aAAIJ,EAAmBX,EAAM,QAAQe,CAAK,CAAC,IAClCf,EAAM,QAAQe,CAAK,EAAE,QAEvBH,EAAO;AAAA,IAChB;AAEA,UAAMI,IAAmBX,EAAS,MACzBL,EAAM,QAAQ,IAAI,CAACY,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/radio/radio-group.vue","../../src/radio/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { RadioProps } from 'element-plus'\nimport type { PropType } from 'vue'\nimport { isPlainObj } from '@formily/shared'\nimport { ElRadio, ElRadioButton, ElRadioGroup, version } from 'element-plus'\nimport { computed, useSlots } from 'vue'\nimport { lt, useCleanAttrs } from '../__builtins__'\n\ndefineOptions({\n name: 'FRadioGroup',\n})\n\nconst props = defineProps({\n options: {\n type: Array as PropType<Array<RadioProps | string | number>>,\n default: () => [],\n },\n optionType: {\n type: String as PropType<'default' | 'button'>,\n default: 'default',\n },\n})\n\nconst { props: radioProps } = useCleanAttrs()\n\nconst OptionType = computed(() => {\n return props.optionType === 'button' ? ElRadioButton : ElRadio\n})\nconst IS_LESS_THAN_2_6_0 = lt(version, '2.6.0')\n\nfunction isRadioPropsObject(option: any): option is RadioProps {\n return isPlainObj(option)\n}\n\nfunction getOptionLabel(option: any, index: number) {\n if (isRadioPropsObject(props.options[index])) {\n return props.options[index].label\n }\n return option.label\n}\n\nconst compatiableProps = computed(() => {\n return props.options.map((option) => {\n if (!isRadioPropsObject(option)) {\n return {\n label: option,\n value: option,\n }\n }\n /* istanbul ignore if -- @preserve */\n if (IS_LESS_THAN_2_6_0) {\n return {\n ...option,\n label: option.value,\n }\n }\n return option\n })\n})\n\nconst slots = useSlots()\n</script>\n\n<template>\n <ElRadioGroup v-bind=\"radioProps\">\n <template v-if=\"!slots.option\">\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\n {{ getOptionLabel(option, index) }}\n </component>\n </template>\n <template v-else>\n <component :is=\"OptionType\" v-for=\"(option, index) of compatiableProps\" :key=\"index\" v-bind=\"option\">\n <slot name=\"option\" :option=\"option\" />\n </component>\n </template>\n </ElRadioGroup>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { ElRadio } from 'element-plus'\nimport { composeExport, mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\nimport FRadioGroup from './radio-group.vue'\nimport './style.scss'\n\nconst RadioGroup = connect<typeof FRadioGroup>(\n FRadioGroup,\n mapProps({ dataSource: 'options', disabled: true }),\n mapReadPretty(PreviewText.Select),\n)\nexport const Radio = composeExport(ElRadio, {\n Group: RadioGroup,\n})\n\nexport default Radio\n"],"names":["props","__props","radioProps","useCleanAttrs","OptionType","computed","ElRadioButton","ElRadio","IS_LESS_THAN_2_6_0","lt","version","isRadioPropsObject","option","isPlainObj","getOptionLabel","index","compatiableProps","slots","useSlots","_openBlock","_createBlock","_unref","_createElementBlock","_Fragment","_renderList","_resolveDynamicComponent","_mergeProps","_renderSlot","_ctx","RadioGroup","connect","FRadioGroup","mapProps","mapReadPretty","PreviewText","Radio","composeExport"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,UAAMA,IAAQC,GAWR,EAAE,OAAOC,EAAA,IAAeC,EAAA,GAExBC,IAAaC,EAAS,MACnBL,EAAM,eAAe,WAAWM,IAAgBC,CACxD,GACKC,IAAqBC,EAAGC,GAAS,OAAO;AAE9C,aAASC,EAAmBC,GAAmC;AAC7D,aAAOC,EAAWD,CAAM;AAAA,IAC1B;AAEA,aAASE,EAAeF,GAAaG,GAAe;AAClD,aAAIJ,EAAmBX,EAAM,QAAQe,CAAK,CAAC,IAClCf,EAAM,QAAQe,CAAK,EAAE,QAEvBH,EAAO;AAAA,IAChB;AAEA,UAAMI,IAAmBX,EAAS,MACzBL,EAAM,QAAQ,IAAI,CAACY,MACnBD,EAAmBC,CAAM,IAO1BJ,IACK;AAAA,MACL,GAAGI;AAAA,MACH,OAAOA,EAAO;AAAA,IAAA,IAGXA,IAZE;AAAA,MACL,OAAOA;AAAA,MACP,OAAOA;AAAA,IAAA,CAWZ,CACF,GAEKK,IAAQC,EAAA;sBAIZC,EAAA,GAAAC,EAWeC,UAXOA,EAAAnB,CAAA,CAAU,CAAA,GAAA;AAAA,iBAC9B,MAIW;AAAA,QAJMmB,EAAAJ,CAAA,EAAM,UAMrBE,EAAA,EAAA,GAAAG,EAEYC,GAAA,EAAA,KAAA,KAAAC,EAF0CR,EAAA,OAAgB,CAAlCJ,GAAQG,YAA5CK,EAEYK,EAFIrB,OAAU,GAA1BsB,EAEY,EAF6D,KAAKX,KAAK,EAAA,SAAA,GAAA,GAAUH,CAAM,GAAA;AAAA,qBACjG,MAAuC;AAAA,YAAvCe,EAAuCC,EAAA,QAAA,UAAA,EAAlB,QAAAhB,GAAc;AAAA,UAAA;;6BANrCO,EAAA,EAAA,GAAAG,EAEYC,GAAA,EAAA,KAAA,KAAAC,EAF0CR,EAAA,OAAgB,CAAlCJ,GAAQG,YAA5CK,EAEYK,EAFIrB,OAAU,GAA1BsB,EAEY,EAF6D,KAAKX,KAAK,EAAA,SAAA,GAAA,GAAUH,CAAM,GAAA;AAAA,qBACjG,MAAmC;AAAA,gBAAhCE,EAAeF,GAAQG,CAAK,CAAA,GAAA,CAAA;AAAA,UAAA;;;;;;;IC5DjCc,IAAaC;AAAA,EACjBC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,UAAU,IAAM;AAAA,EAClDC,EAAcC,EAAY,MAAM;AAClC,GACaC,KAAQC,EAAc7B,GAAS;AAAA,EAC1C,OAAOsB;AACT,CAAC;"}
|
package/esm/reset/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { observer as s } from "@silver-formily/reactive-vue";
|
|
2
|
-
import { defineComponent as c,
|
|
2
|
+
import { defineComponent as c, openBlock as i, createBlock as f, unref as u, mergeProps as d, withCtx as m, renderSlot as p } from "vue";
|
|
3
3
|
import { useParentForm as C } from "@silver-formily/vue";
|
|
4
4
|
import { ElButton as k } from "element-plus";
|
|
5
5
|
const F = /* @__PURE__ */ c({
|
|
@@ -29,7 +29,7 @@ const F = /* @__PURE__ */ c({
|
|
|
29
29
|
forceClear: e.forceClear
|
|
30
30
|
}), e.validate && o?.validate().then(e.onResetValidateSuccess).catch((l) => e.onResetValidateFailed?.(l));
|
|
31
31
|
}
|
|
32
|
-
return (t, o) => (
|
|
32
|
+
return (t, o) => (i(), f(u(k), d(t.$attrs, { onClick: r }), {
|
|
33
33
|
default: m(() => [
|
|
34
34
|
p(t.$slots, "default")
|
|
35
35
|
]),
|
package/esm/segmented/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { connect as m, mapProps as i } from "@silver-formily/vue";
|
|
|
2
2
|
import { ElSegmented as a } from "element-plus";
|
|
3
3
|
import "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as c, useSlots as d,
|
|
5
|
+
import { defineComponent as c, useSlots as d, openBlock as l, createBlock as f, unref as e, mergeProps as u, createSlots as S, withCtx as g, renderSlot as P, normalizeProps as _, guardReactiveProps as h } from "vue";
|
|
6
6
|
import { mapReadPretty as k } from "../__builtins__/shared/transform-component.mjs";
|
|
7
7
|
import { PreviewText as v } from "../preview-text/index.mjs";
|
|
8
8
|
import "@formily/core";
|
|
@@ -17,7 +17,7 @@ const C = /* @__PURE__ */ c({
|
|
|
17
17
|
},
|
|
18
18
|
setup(t) {
|
|
19
19
|
const o = t, r = d(), { props: s } = x();
|
|
20
|
-
return (n, w) => (
|
|
20
|
+
return (n, w) => (l(), f(e(a), u(e(s), {
|
|
21
21
|
options: o.options
|
|
22
22
|
}), S({ _: 2 }, [
|
|
23
23
|
e(r).default ? {
|
package/esm/select/index.d.ts
CHANGED
|
@@ -4,11 +4,11 @@ export declare const Select: {
|
|
|
4
4
|
disabled: boolean;
|
|
5
5
|
created: boolean;
|
|
6
6
|
}> & Omit<{
|
|
7
|
+
readonly created: boolean;
|
|
7
8
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
8
9
|
readonly disabled: boolean;
|
|
9
|
-
readonly created: boolean;
|
|
10
10
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
11
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
11
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">) | (Partial<{
|
|
12
12
|
disabled: boolean;
|
|
13
13
|
}> & Omit<{
|
|
14
14
|
readonly disabled: boolean;
|
|
@@ -18,11 +18,11 @@ export declare const Select: {
|
|
|
18
18
|
disabled: boolean;
|
|
19
19
|
created: boolean;
|
|
20
20
|
}> & Omit<{
|
|
21
|
+
readonly created: boolean;
|
|
21
22
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
22
23
|
readonly disabled: boolean;
|
|
23
|
-
readonly created: boolean;
|
|
24
24
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
25
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
25
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">)[];
|
|
26
26
|
})>;
|
|
27
27
|
}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
28
28
|
P: {};
|
|
@@ -36,11 +36,11 @@ export declare const Select: {
|
|
|
36
36
|
disabled: boolean;
|
|
37
37
|
created: boolean;
|
|
38
38
|
}> & Omit<{
|
|
39
|
+
readonly created: boolean;
|
|
39
40
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
40
41
|
readonly disabled: boolean;
|
|
41
|
-
readonly created: boolean;
|
|
42
42
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
43
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
43
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">) | (Partial<{
|
|
44
44
|
disabled: boolean;
|
|
45
45
|
}> & Omit<{
|
|
46
46
|
readonly disabled: boolean;
|
|
@@ -50,11 +50,11 @@ export declare const Select: {
|
|
|
50
50
|
disabled: boolean;
|
|
51
51
|
created: boolean;
|
|
52
52
|
}> & Omit<{
|
|
53
|
+
readonly created: boolean;
|
|
53
54
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
54
55
|
readonly disabled: boolean;
|
|
55
|
-
readonly created: boolean;
|
|
56
56
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
57
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
57
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">)[];
|
|
58
58
|
})>;
|
|
59
59
|
}> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
60
60
|
__isFragment?: never;
|
|
@@ -65,11 +65,11 @@ export declare const Select: {
|
|
|
65
65
|
disabled: boolean;
|
|
66
66
|
created: boolean;
|
|
67
67
|
}> & Omit<{
|
|
68
|
+
readonly created: boolean;
|
|
68
69
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
69
70
|
readonly disabled: boolean;
|
|
70
|
-
readonly created: boolean;
|
|
71
71
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
72
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
72
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">) | (Partial<{
|
|
73
73
|
disabled: boolean;
|
|
74
74
|
}> & Omit<{
|
|
75
75
|
readonly disabled: boolean;
|
|
@@ -79,11 +79,11 @@ export declare const Select: {
|
|
|
79
79
|
disabled: boolean;
|
|
80
80
|
created: boolean;
|
|
81
81
|
}> & Omit<{
|
|
82
|
+
readonly created: boolean;
|
|
82
83
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
83
84
|
readonly disabled: boolean;
|
|
84
|
-
readonly created: boolean;
|
|
85
85
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
86
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
86
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">)[];
|
|
87
87
|
})>;
|
|
88
88
|
}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
89
89
|
$slots: Readonly<{
|
|
@@ -92,11 +92,11 @@ export declare const Select: {
|
|
|
92
92
|
disabled: boolean;
|
|
93
93
|
created: boolean;
|
|
94
94
|
}> & Omit<{
|
|
95
|
+
readonly created: boolean;
|
|
95
96
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
96
97
|
readonly disabled: boolean;
|
|
97
|
-
readonly created: boolean;
|
|
98
98
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
99
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
99
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">;
|
|
100
100
|
}) => any;
|
|
101
101
|
header?: () => any;
|
|
102
102
|
footer?: () => any;
|
|
@@ -111,11 +111,11 @@ export declare const Select: {
|
|
|
111
111
|
disabled: boolean;
|
|
112
112
|
created: boolean;
|
|
113
113
|
}> & Omit<{
|
|
114
|
+
readonly created: boolean;
|
|
114
115
|
readonly value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
115
116
|
readonly disabled: boolean;
|
|
116
|
-
readonly created: boolean;
|
|
117
117
|
readonly label?: import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
118
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
118
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "created" | "disabled">;
|
|
119
119
|
}) => any;
|
|
120
120
|
header?: () => any;
|
|
121
121
|
footer?: () => any;
|
package/esm/select/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { useField as S, connect as b, mapProps as P } from "@silver-formily/vue"
|
|
|
2
2
|
import { ElSelect as h, ElOptionGroup as C, ElOption as y } from "element-plus";
|
|
3
3
|
import "@formily/reactive";
|
|
4
4
|
import "@vueuse/core";
|
|
5
|
-
import { defineComponent as E, useSlots as K,
|
|
5
|
+
import { defineComponent as E, useSlots as K, openBlock as s, createBlock as p, unref as e, normalizeProps as _, guardReactiveProps as B, createSlots as F, withCtx as t, createElementBlock as m, Fragment as u, renderList as c, mergeProps as d, renderSlot as n, createCommentVNode as k } from "vue";
|
|
6
6
|
import { mapReadPretty as R } from "../__builtins__/shared/transform-component.mjs";
|
|
7
7
|
import { PreviewText as w } from "../preview-text/index.mjs";
|
|
8
8
|
import "@formily/core";
|
|
@@ -4,9 +4,9 @@ declare const SelectTable: {
|
|
|
4
4
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
5
5
|
"update:modelValue": (...args: any[]) => void;
|
|
6
6
|
}, import('vue').PublicProps, {
|
|
7
|
-
mode: "multiple" | "single";
|
|
8
|
-
loading: boolean;
|
|
9
7
|
dataSource: any[];
|
|
8
|
+
loading: boolean;
|
|
9
|
+
mode: "multiple" | "single";
|
|
10
10
|
columns: import('element-plus').Column<any>[];
|
|
11
11
|
valueType: "all" | "parent" | "child" | "path";
|
|
12
12
|
optionAsValue: boolean;
|
|
@@ -1522,9 +1522,9 @@ declare const SelectTable: {
|
|
|
1522
1522
|
}, Readonly<import('./types').ISelectTableProps> & Readonly<{
|
|
1523
1523
|
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
1524
1524
|
}>, {}, {}, {}, {}, {
|
|
1525
|
-
mode: "multiple" | "single";
|
|
1526
|
-
loading: boolean;
|
|
1527
1525
|
dataSource: any[];
|
|
1526
|
+
loading: boolean;
|
|
1527
|
+
mode: "multiple" | "single";
|
|
1528
1528
|
columns: import('element-plus').Column<any>[];
|
|
1529
1529
|
valueType: "all" | "parent" | "child" | "path";
|
|
1530
1530
|
optionAsValue: boolean;
|
|
@@ -1540,9 +1540,9 @@ declare const SelectTable: {
|
|
|
1540
1540
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
1541
1541
|
"update:modelValue": (...args: any[]) => void;
|
|
1542
1542
|
}, string, {
|
|
1543
|
-
mode: "multiple" | "single";
|
|
1544
|
-
loading: boolean;
|
|
1545
1543
|
dataSource: any[];
|
|
1544
|
+
loading: boolean;
|
|
1545
|
+
mode: "multiple" | "single";
|
|
1546
1546
|
columns: import('element-plus').Column<any>[];
|
|
1547
1547
|
valueType: "all" | "parent" | "child" | "path";
|
|
1548
1548
|
optionAsValue: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useField as W, connect as z, mapProps as G } from "@silver-formily/vue";
|
|
2
|
-
import { defineComponent as U, ref as g, computed as j, watch as R, nextTick as v,
|
|
2
|
+
import { defineComponent as U, ref as g, computed as j, watch as R, nextTick as v, openBlock as s, createElementBlock as S, normalizeClass as A, unref as n, createElementVNode as J, toDisplayString as Q, createVNode as V, withCtx as f, createTextVNode as C, createCommentVNode as X, withDirectives as Y, createBlock as y, mergeProps as w, renderSlot as Z, Fragment as ee, renderList as le } from "vue";
|
|
3
3
|
import { isValid as te, isEqual as oe, isFn as ae } from "@formily/shared";
|
|
4
4
|
import { useAttrs as re, ElLink as ne, version as E, ElTable as ue, ElTableColumn as b, ElRadioGroup as ie, ElRadio as se, vLoading as ce } from "element-plus";
|
|
5
5
|
import { stylePrefix as x } from "../__builtins__/configs/index.mjs";
|
|
@@ -80,7 +80,6 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
80
80
|
}
|
|
81
81
|
);
|
|
82
82
|
function h(l) {
|
|
83
|
-
/* istanbul ignore if -- @preserve */
|
|
84
83
|
if (!t)
|
|
85
84
|
throw new Error("rowKey is required");
|
|
86
85
|
const a = p.length > l.length ? me(
|
|
@@ -130,7 +129,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
130
129
|
key: 0,
|
|
131
130
|
class: A(`${n(x)}-select-table-alert-container`)
|
|
132
131
|
}, [
|
|
133
|
-
|
|
132
|
+
J("span", null, "已选择 " + Q(k.value) + " 项", 1),
|
|
134
133
|
V(n(ne), {
|
|
135
134
|
type: "primary",
|
|
136
135
|
underline: n(K)(n(E), "2.9.9") ? !1 : "never",
|
|
@@ -142,8 +141,8 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
142
141
|
])]),
|
|
143
142
|
_: 1
|
|
144
143
|
}, 8, ["underline"])
|
|
145
|
-
], 2)) :
|
|
146
|
-
|
|
144
|
+
], 2)) : X("", !0),
|
|
145
|
+
Y((s(), y(n(ue), w({
|
|
147
146
|
ref_key: "elTableRef",
|
|
148
147
|
ref: d
|
|
149
148
|
}, n(_), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/select-table/select-table.vue","../../src/select-table/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { TableInstance } from 'element-plus'\nimport type { ISelectTableProps } from './types'\nimport { isEqual, isFn, isValid } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport {\n ElLink,\n ElRadio,\n ElRadioGroup,\n ElTable,\n ElTableColumn,\n useAttrs,\n version,\n vLoading,\n} from 'element-plus'\nimport { differenceWith, remove, uniq, uniqWith, xor } from 'lodash-es'\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { lt, stylePrefix } from '../__builtins__'\n\ndefineOptions({\n name: 'FSelectTable',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ISelectTableProps>(), {\n columns: () => [],\n mode: 'multiple',\n dataSource: () => [],\n optionAsValue: false,\n valueType: 'all',\n loading: false,\n clickRowToSelect: true,\n showAlertToolbar: true,\n ignoreSelectable: true,\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst elTableProps = useAttrs()\nconst field = useField()\n\nfunction compatibleRadioValue(key: string) {\n return lt(version, '2.6.0') ? { label: key } : { value: key }\n}\n\nconst elTableRef = ref<TableInstance>()\nconst rowKey = props.rowKey\nfunction getInitialSelectedList() {\n if (props.mode === 'multiple') {\n return props.modelValue?.map((item) => {\n if (!props.optionAsValue) {\n return {\n [rowKey]: item,\n }\n }\n return item\n }) ?? []\n }\n else {\n return props.optionAsValue ? [props.modelValue] : [{ [rowKey]: props.modelValue }]\n }\n}\nconst initialSelectedList = getInitialSelectedList()\nconst selectedFlatDataSource = ref(initialSelectedList)\n// 为了获取移除的项而缓存的当前页面的前一次选择。由于element-plus没有获取移除项的方法,需要通过这种方式移除field中移除的项\nlet prevSelection = []\n\nconst radioSelectedKey = ref()\n\nconst currentSelectLength = computed(() => {\n if (props.mode === 'multiple') {\n return Array.isArray(props.modelValue) ? props.modelValue.length : 0\n }\n else {\n return isValid(radioSelectedKey.value) ? 1 : 0\n }\n})\n\nwatch(\n () => props.dataSource,\n async () => {\n const selectedKeys = uniq(\n selectedFlatDataSource.value.map(item => item[rowKey]),\n )\n await nextTick()\n for (const item of props.dataSource) {\n if (selectedKeys.includes(item[rowKey])) {\n if (props.mode === 'multiple') {\n elTableRef.value?.toggleRowSelection(item, true, props.ignoreSelectable)\n }\n else {\n elTableRef.value?.setCurrentRow(item)\n onRadioClick(item)\n }\n }\n await nextTick()\n prevSelection = elTableRef.value?.getSelectionRows()\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => [props.modelValue, props.loading],\n async ([value, loading]) => {\n if (loading) {\n return\n }\n if (props.mode === 'single') {\n radioSelectedKey.value = props.optionAsValue ? value[rowKey] : value\n }\n else {\n await nextTick()\n const currentDisplayDataKeys = elTableRef.value\n ?.getSelectionRows()\n .map(item => item[rowKey])\n const valueKeys = props.optionAsValue\n ? value?.map(item => item[rowKey])\n : value ?? []\n selectedFlatDataSource.value = selectedFlatDataSource.value.filter(\n item => valueKeys.includes(item[rowKey]),\n )\n if (isEqual(valueKeys, currentDisplayDataKeys)) {\n return\n }\n const diffItems = xor(valueKeys, currentDisplayDataKeys)\n for (const tableItem of props.dataSource) {\n if (diffItems.includes(tableItem[rowKey])) {\n const shouldSelect = valueKeys.includes(tableItem[rowKey])\n elTableRef.value.toggleRowSelection(tableItem, shouldSelect, props.ignoreSelectable)\n }\n }\n }\n },\n {\n immediate: true,\n },\n)\n\nfunction onSelect(newSelection: Record<string, any>[]) {\n /* istanbul ignore if -- @preserve */\n if (!rowKey) {\n throw new Error('rowKey is required')\n }\n\n const removedItemList\n = prevSelection.length > newSelection.length\n ? differenceWith(\n prevSelection,\n newSelection,\n (itemPrev, itemNext) => {\n return itemPrev[rowKey] === itemNext[rowKey]\n },\n )\n : []\n prevSelection = [...newSelection]\n selectedFlatDataSource.value = uniqWith(\n [...selectedFlatDataSource.value, ...newSelection],\n (itemPrev, itemNext) => {\n return itemPrev[rowKey] === itemNext[rowKey]\n },\n )\n if (removedItemList.length > 0) {\n const removedKeys = uniq(removedItemList.map(item => item[rowKey]))\n remove(selectedFlatDataSource.value, item =>\n removedKeys.includes(item[rowKey]))\n }\n\n if (props.optionAsValue) {\n emit('update:modelValue', selectedFlatDataSource.value)\n }\n else {\n const selectedKeys = selectedFlatDataSource.value.map(\n item => item[rowKey],\n )\n emit('update:modelValue', selectedKeys)\n }\n}\n\nfunction onRadioClick(item) {\n radioSelectedKey.value = item[rowKey]\n if (props.optionAsValue) {\n emit('update:modelValue', item)\n }\n else {\n emit('update:modelValue', item[rowKey])\n }\n}\n\nfunction onRowClick(row: Record<string, any>, _, event: Event) {\n if (!props.clickRowToSelect)\n return\n\n if (props.mode === 'multiple') {\n const checkboxDOM = (event.target as Element)\n .closest('tr')\n .querySelector('input[type=\"checkbox\"]')\n if (checkboxDOM instanceof HTMLElement) {\n checkboxDOM.click()\n }\n }\n else {\n const radioDOM = (event.target as Element)\n .closest('tr')\n .querySelector('input[type=\"radio\"]')\n if (radioDOM instanceof HTMLElement) {\n radioDOM.click()\n }\n }\n}\n\nfunction onClearSelectionClick() {\n if (props.mode === 'multiple') {\n emit('update:modelValue', [])\n selectedFlatDataSource.value = []\n }\n else {\n radioSelectedKey.value = null\n emit('update:modelValue', null)\n }\n}\n\nfunction selectable(row: Record<string, any>, index: number) {\n if (props.selectable && isFn(props.selectable)) {\n return props.selectable(row, index, field.value)\n }\n return true\n}\n</script>\n\n<template>\n <div :class=\"`${stylePrefix}-select-table`\">\n <div\n v-if=\"currentSelectLength > 0 && props.showAlertToolbar\"\n :class=\"`${stylePrefix}-select-table-alert-container`\"\n >\n <span>已选择 {{ currentSelectLength }} 项</span>\n <ElLink\n type=\"primary\"\n :underline=\"lt(version, '2.9.9') ? false : 'never'\"\n style=\"margin-left: 8px;\"\n @click=\"onClearSelectionClick\"\n >\n 取消选择\n </ElLink>\n </div>\n <ElTable\n ref=\"elTableRef\"\n v-loading=\"props.loading\"\n v-bind=\"elTableProps\"\n :row-key=\"rowKey\"\n :row-class-name=\"props.clickRowToSelect ? `--click-row-select` : ''\"\n :data=\"props.dataSource\"\n :highlight-current-row=\"props.mode === 'single'\"\n @select=\"onSelect\"\n @select-all=\"onSelect\"\n @row-click=\"onRowClick\"\n >\n <ElTableColumn\n v-if=\"props.mode === 'multiple'\"\n type=\"selection\"\n :selectable=\"selectable\"\n />\n <ElTableColumn\n v-else\n width=\"46\"\n >\n <template #default=\"{ row }\">\n <ElRadioGroup v-model=\"radioSelectedKey\" style=\"width: 100%;\">\n <ElRadio\n v-bind=\"compatibleRadioValue(row[rowKey])\"\n @change=\"() => onRadioClick(row)\"\n >\n \n </ElRadio>\n </ElRadioGroup>\n </template>\n </ElTableColumn>\n <template v-if=\"props.columns.length === 0\">\n <slot />\n </template>\n <template v-else>\n <ElTableColumn\n v-for=\"colItem of props.columns\"\n v-bind=\"colItem\"\n :key=\"colItem.prop || colItem.type\"\n />\n </template>\n </ElTable>\n </div>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport InnerSelectTable from './select-table.vue'\r\nimport './style.scss'\r\n\r\nconst SelectTable = connect<typeof InnerSelectTable>(\n InnerSelectTable,\n mapProps({ dataSource: 'dataSource', loading: 'loading' }),\r\n)\r\n\r\nexport { SelectTable }\r\n\r\nexport default SelectTable\r\n"],"names":["props","__props","emit","__emit","elTableProps","useAttrs","field","useField","compatibleRadioValue","key","lt","version","elTableRef","ref","rowKey","getInitialSelectedList","item","initialSelectedList","selectedFlatDataSource","prevSelection","radioSelectedKey","currentSelectLength","computed","isValid","watch","selectedKeys","uniq","nextTick","onRadioClick","value","loading","currentDisplayDataKeys","valueKeys","isEqual","diffItems","xor","tableItem","shouldSelect","onSelect","newSelection","removedItemList","differenceWith","itemPrev","itemNext","uniqWith","removedKeys","remove","onRowClick","row","_","event","checkboxDOM","radioDOM","onClearSelectionClick","selectable","index","isFn","_createElementBlock","_unref","stylePrefix","_createElementVNode","_toDisplayString","_createVNode","ElLink","_cache","_withDirectives","_openBlock","_createBlock","_mergeProps","ElTableColumn","_withCtx","ElRadioGroup","$event","_renderSlot","_ctx","_Fragment","_renderList","colItem","vLoading","SelectTable","connect","InnerSelectTable","mapProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/select-table/select-table.vue","../../src/select-table/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { TableInstance } from 'element-plus'\nimport type { ISelectTableProps } from './types'\nimport { isEqual, isFn, isValid } from '@formily/shared'\nimport { useField } from '@silver-formily/vue'\nimport {\n ElLink,\n ElRadio,\n ElRadioGroup,\n ElTable,\n ElTableColumn,\n useAttrs,\n version,\n vLoading,\n} from 'element-plus'\nimport { differenceWith, remove, uniq, uniqWith, xor } from 'lodash-es'\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { lt, stylePrefix } from '../__builtins__'\n\ndefineOptions({\n name: 'FSelectTable',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ISelectTableProps>(), {\n columns: () => [],\n mode: 'multiple',\n dataSource: () => [],\n optionAsValue: false,\n valueType: 'all',\n loading: false,\n clickRowToSelect: true,\n showAlertToolbar: true,\n ignoreSelectable: true,\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst elTableProps = useAttrs()\nconst field = useField()\n\nfunction compatibleRadioValue(key: string) {\n return lt(version, '2.6.0') ? { label: key } : { value: key }\n}\n\nconst elTableRef = ref<TableInstance>()\nconst rowKey = props.rowKey\nfunction getInitialSelectedList() {\n if (props.mode === 'multiple') {\n return props.modelValue?.map((item) => {\n if (!props.optionAsValue) {\n return {\n [rowKey]: item,\n }\n }\n return item\n }) ?? []\n }\n else {\n return props.optionAsValue ? [props.modelValue] : [{ [rowKey]: props.modelValue }]\n }\n}\nconst initialSelectedList = getInitialSelectedList()\nconst selectedFlatDataSource = ref(initialSelectedList)\n// 为了获取移除的项而缓存的当前页面的前一次选择。由于element-plus没有获取移除项的方法,需要通过这种方式移除field中移除的项\nlet prevSelection = []\n\nconst radioSelectedKey = ref()\n\nconst currentSelectLength = computed(() => {\n if (props.mode === 'multiple') {\n return Array.isArray(props.modelValue) ? props.modelValue.length : 0\n }\n else {\n return isValid(radioSelectedKey.value) ? 1 : 0\n }\n})\n\nwatch(\n () => props.dataSource,\n async () => {\n const selectedKeys = uniq(\n selectedFlatDataSource.value.map(item => item[rowKey]),\n )\n await nextTick()\n for (const item of props.dataSource) {\n if (selectedKeys.includes(item[rowKey])) {\n if (props.mode === 'multiple') {\n elTableRef.value?.toggleRowSelection(item, true, props.ignoreSelectable)\n }\n else {\n elTableRef.value?.setCurrentRow(item)\n onRadioClick(item)\n }\n }\n await nextTick()\n prevSelection = elTableRef.value?.getSelectionRows()\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => [props.modelValue, props.loading],\n async ([value, loading]) => {\n if (loading) {\n return\n }\n if (props.mode === 'single') {\n radioSelectedKey.value = props.optionAsValue ? value[rowKey] : value\n }\n else {\n await nextTick()\n const currentDisplayDataKeys = elTableRef.value\n ?.getSelectionRows()\n .map(item => item[rowKey])\n const valueKeys = props.optionAsValue\n ? value?.map(item => item[rowKey])\n : value ?? []\n selectedFlatDataSource.value = selectedFlatDataSource.value.filter(\n item => valueKeys.includes(item[rowKey]),\n )\n if (isEqual(valueKeys, currentDisplayDataKeys)) {\n return\n }\n const diffItems = xor(valueKeys, currentDisplayDataKeys)\n for (const tableItem of props.dataSource) {\n if (diffItems.includes(tableItem[rowKey])) {\n const shouldSelect = valueKeys.includes(tableItem[rowKey])\n elTableRef.value.toggleRowSelection(tableItem, shouldSelect, props.ignoreSelectable)\n }\n }\n }\n },\n {\n immediate: true,\n },\n)\n\nfunction onSelect(newSelection: Record<string, any>[]) {\n /* istanbul ignore if -- @preserve */\n if (!rowKey) {\n throw new Error('rowKey is required')\n }\n\n const removedItemList\n = prevSelection.length > newSelection.length\n ? differenceWith(\n prevSelection,\n newSelection,\n (itemPrev, itemNext) => {\n return itemPrev[rowKey] === itemNext[rowKey]\n },\n )\n : []\n prevSelection = [...newSelection]\n selectedFlatDataSource.value = uniqWith(\n [...selectedFlatDataSource.value, ...newSelection],\n (itemPrev, itemNext) => {\n return itemPrev[rowKey] === itemNext[rowKey]\n },\n )\n if (removedItemList.length > 0) {\n const removedKeys = uniq(removedItemList.map(item => item[rowKey]))\n remove(selectedFlatDataSource.value, item =>\n removedKeys.includes(item[rowKey]))\n }\n\n if (props.optionAsValue) {\n emit('update:modelValue', selectedFlatDataSource.value)\n }\n else {\n const selectedKeys = selectedFlatDataSource.value.map(\n item => item[rowKey],\n )\n emit('update:modelValue', selectedKeys)\n }\n}\n\nfunction onRadioClick(item) {\n radioSelectedKey.value = item[rowKey]\n if (props.optionAsValue) {\n emit('update:modelValue', item)\n }\n else {\n emit('update:modelValue', item[rowKey])\n }\n}\n\nfunction onRowClick(row: Record<string, any>, _, event: Event) {\n if (!props.clickRowToSelect)\n return\n\n if (props.mode === 'multiple') {\n const checkboxDOM = (event.target as Element)\n .closest('tr')\n .querySelector('input[type=\"checkbox\"]')\n if (checkboxDOM instanceof HTMLElement) {\n checkboxDOM.click()\n }\n }\n else {\n const radioDOM = (event.target as Element)\n .closest('tr')\n .querySelector('input[type=\"radio\"]')\n if (radioDOM instanceof HTMLElement) {\n radioDOM.click()\n }\n }\n}\n\nfunction onClearSelectionClick() {\n if (props.mode === 'multiple') {\n emit('update:modelValue', [])\n selectedFlatDataSource.value = []\n }\n else {\n radioSelectedKey.value = null\n emit('update:modelValue', null)\n }\n}\n\nfunction selectable(row: Record<string, any>, index: number) {\n if (props.selectable && isFn(props.selectable)) {\n return props.selectable(row, index, field.value)\n }\n return true\n}\n</script>\n\n<template>\n <div :class=\"`${stylePrefix}-select-table`\">\n <div\n v-if=\"currentSelectLength > 0 && props.showAlertToolbar\"\n :class=\"`${stylePrefix}-select-table-alert-container`\"\n >\n <span>已选择 {{ currentSelectLength }} 项</span>\n <ElLink\n type=\"primary\"\n :underline=\"lt(version, '2.9.9') ? false : 'never'\"\n style=\"margin-left: 8px;\"\n @click=\"onClearSelectionClick\"\n >\n 取消选择\n </ElLink>\n </div>\n <ElTable\n ref=\"elTableRef\"\n v-loading=\"props.loading\"\n v-bind=\"elTableProps\"\n :row-key=\"rowKey\"\n :row-class-name=\"props.clickRowToSelect ? `--click-row-select` : ''\"\n :data=\"props.dataSource\"\n :highlight-current-row=\"props.mode === 'single'\"\n @select=\"onSelect\"\n @select-all=\"onSelect\"\n @row-click=\"onRowClick\"\n >\n <ElTableColumn\n v-if=\"props.mode === 'multiple'\"\n type=\"selection\"\n :selectable=\"selectable\"\n />\n <ElTableColumn\n v-else\n width=\"46\"\n >\n <template #default=\"{ row }\">\n <ElRadioGroup v-model=\"radioSelectedKey\" style=\"width: 100%;\">\n <ElRadio\n v-bind=\"compatibleRadioValue(row[rowKey])\"\n @change=\"() => onRadioClick(row)\"\n >\n \n </ElRadio>\n </ElRadioGroup>\n </template>\n </ElTableColumn>\n <template v-if=\"props.columns.length === 0\">\n <slot />\n </template>\n <template v-else>\n <ElTableColumn\n v-for=\"colItem of props.columns\"\n v-bind=\"colItem\"\n :key=\"colItem.prop || colItem.type\"\n />\n </template>\n </ElTable>\n </div>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport InnerSelectTable from './select-table.vue'\r\nimport './style.scss'\r\n\r\nconst SelectTable = connect<typeof InnerSelectTable>(\n InnerSelectTable,\n mapProps({ dataSource: 'dataSource', loading: 'loading' }),\r\n)\r\n\r\nexport { SelectTable }\r\n\r\nexport default SelectTable\r\n"],"names":["props","__props","emit","__emit","elTableProps","useAttrs","field","useField","compatibleRadioValue","key","lt","version","elTableRef","ref","rowKey","getInitialSelectedList","item","initialSelectedList","selectedFlatDataSource","prevSelection","radioSelectedKey","currentSelectLength","computed","isValid","watch","selectedKeys","uniq","nextTick","onRadioClick","value","loading","currentDisplayDataKeys","valueKeys","isEqual","diffItems","xor","tableItem","shouldSelect","onSelect","newSelection","removedItemList","differenceWith","itemPrev","itemNext","uniqWith","removedKeys","remove","onRowClick","row","_","event","checkboxDOM","radioDOM","onClearSelectionClick","selectable","index","isFn","_createElementBlock","_unref","stylePrefix","_createElementVNode","_toDisplayString","_createVNode","ElLink","_cache","_withDirectives","_openBlock","_createBlock","_mergeProps","ElTableColumn","_withCtx","ElRadioGroup","$event","_renderSlot","_ctx","_Fragment","_renderList","colItem","vLoading","SelectTable","connect","InnerSelectTable","mapProps"],"mappings":"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"}
|
|
@@ -1512,9 +1512,9 @@ declare const __VLS_component: import('vue').DefineComponent<ISelectTableProps,
|
|
|
1512
1512
|
}, string, import('vue').PublicProps, Readonly<ISelectTableProps> & Readonly<{
|
|
1513
1513
|
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
1514
1514
|
}>, {
|
|
1515
|
-
mode: "multiple" | "single";
|
|
1516
|
-
loading: boolean;
|
|
1517
1515
|
dataSource: any[];
|
|
1516
|
+
loading: boolean;
|
|
1517
|
+
mode: "multiple" | "single";
|
|
1518
1518
|
columns: import('element-plus').Column<any>[];
|
|
1519
1519
|
valueType: "all" | "parent" | "child" | "path";
|
|
1520
1520
|
optionAsValue: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.formily-element-plus-form-grid{display:grid}
|
|
1
|
+
.formily-element-plus-form-grid{display:grid}.formily-element-plus-form-grid>[data-grid-span="-1"],.formily-element-plus-form-grid>[gridspan="-1"],.formily-element-plus-form-grid>[gridspan="span -1"]{grid-column:1/-1}.formily-element-plus-form-grid>[data-grid-span="1"],.formily-element-plus-form-grid>[gridspan="1"],.formily-element-plus-form-grid>[gridspan="span 1"]{grid-column:span 1/auto}.formily-element-plus-form-grid>[data-grid-span="2"],.formily-element-plus-form-grid>[gridspan="2"],.formily-element-plus-form-grid>[gridspan="span 2"]{grid-column:span 2/auto}.formily-element-plus-form-grid>[data-grid-span="3"],.formily-element-plus-form-grid>[gridspan="3"],.formily-element-plus-form-grid>[gridspan="span 3"]{grid-column:span 3/auto}.formily-element-plus-form-grid>[data-grid-span="4"],.formily-element-plus-form-grid>[gridspan="4"],.formily-element-plus-form-grid>[gridspan="span 4"]{grid-column:span 4/auto}.formily-element-plus-form-grid>[data-grid-span="5"],.formily-element-plus-form-grid>[gridspan="5"],.formily-element-plus-form-grid>[gridspan="span 5"]{grid-column:span 5/auto}.formily-element-plus-form-grid>[data-grid-span="6"],.formily-element-plus-form-grid>[gridspan="6"],.formily-element-plus-form-grid>[gridspan="span 6"]{grid-column:span 6/auto}.formily-element-plus-form-grid>[data-grid-span="7"],.formily-element-plus-form-grid>[gridspan="7"],.formily-element-plus-form-grid>[gridspan="span 7"]{grid-column:span 7/auto}.formily-element-plus-form-grid>[data-grid-span="8"],.formily-element-plus-form-grid>[gridspan="8"],.formily-element-plus-form-grid>[gridspan="span 8"]{grid-column:span 8/auto}.formily-element-plus-form-grid>[data-grid-span="9"],.formily-element-plus-form-grid>[gridspan="9"],.formily-element-plus-form-grid>[gridspan="span 9"]{grid-column:span 9/auto}.formily-element-plus-form-grid>[data-grid-span="10"],.formily-element-plus-form-grid>[gridspan="10"],.formily-element-plus-form-grid>[gridspan="span 10"]{grid-column:span 10/auto}.formily-element-plus-form-grid>[data-grid-span="11"],.formily-element-plus-form-grid>[gridspan="11"],.formily-element-plus-form-grid>[gridspan="span 11"]{grid-column:span 11/auto}.formily-element-plus-form-grid>[data-grid-span="12"],.formily-element-plus-form-grid>[gridspan="12"],.formily-element-plus-form-grid>[gridspan="span 12"]{grid-column:span 12/auto}.formily-element-plus-form-grid>[data-grid-span="13"],.formily-element-plus-form-grid>[gridspan="13"],.formily-element-plus-form-grid>[gridspan="span 13"]{grid-column:span 13/auto}.formily-element-plus-form-grid>[data-grid-span="14"],.formily-element-plus-form-grid>[gridspan="14"],.formily-element-plus-form-grid>[gridspan="span 14"]{grid-column:span 14/auto}.formily-element-plus-form-grid>[data-grid-span="15"],.formily-element-plus-form-grid>[gridspan="15"],.formily-element-plus-form-grid>[gridspan="span 15"]{grid-column:span 15/auto}.formily-element-plus-form-grid>[data-grid-span="16"],.formily-element-plus-form-grid>[gridspan="16"],.formily-element-plus-form-grid>[gridspan="span 16"]{grid-column:span 16/auto}.formily-element-plus-form-grid>[data-grid-span="17"],.formily-element-plus-form-grid>[gridspan="17"],.formily-element-plus-form-grid>[gridspan="span 17"]{grid-column:span 17/auto}.formily-element-plus-form-grid>[data-grid-span="18"],.formily-element-plus-form-grid>[gridspan="18"],.formily-element-plus-form-grid>[gridspan="span 18"]{grid-column:span 18/auto}.formily-element-plus-form-grid>[data-grid-span="19"],.formily-element-plus-form-grid>[gridspan="19"],.formily-element-plus-form-grid>[gridspan="span 19"]{grid-column:span 19/auto}.formily-element-plus-form-grid>[data-grid-span="20"],.formily-element-plus-form-grid>[gridspan="20"],.formily-element-plus-form-grid>[gridspan="span 20"]{grid-column:span 20/auto}.formily-element-plus-form-grid>[data-grid-span="21"],.formily-element-plus-form-grid>[gridspan="21"],.formily-element-plus-form-grid>[gridspan="span 21"]{grid-column:span 21/auto}.formily-element-plus-form-grid>[data-grid-span="22"],.formily-element-plus-form-grid>[gridspan="22"],.formily-element-plus-form-grid>[gridspan="span 22"]{grid-column:span 22/auto}.formily-element-plus-form-grid>[data-grid-span="23"],.formily-element-plus-form-grid>[gridspan="23"],.formily-element-plus-form-grid>[gridspan="span 23"]{grid-column:span 23/auto}.formily-element-plus-form-grid>[data-grid-span="24"],.formily-element-plus-form-grid>[gridspan="24"],.formily-element-plus-form-grid>[gridspan="span 24"]{grid-column:span 24/auto}
|