@silver-formily/element-plus 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en-US.md +32 -32
- package/README.md +32 -32
- package/esm/__builtins__/configs/index.mjs.map +1 -1
- package/esm/__builtins__/index.mjs +18 -18
- package/esm/__builtins__/shared/loading.mjs +1 -1
- package/esm/__builtins__/shared/loading.mjs.map +1 -1
- package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
- package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
- package/esm/__builtins__/shared/use-enter-submit.mjs +57 -16
- package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +45 -42
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.mjs +36 -31
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +34 -32
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +29 -28
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-collapse/utils.mjs +8 -2
- package/esm/array-collapse/utils.mjs.map +1 -1
- package/esm/array-items/index.mjs +34 -31
- package/esm/array-items/index.mjs.map +1 -1
- package/esm/array-list-tabs/index.mjs +51 -50
- package/esm/array-list-tabs/index.mjs.map +1 -1
- package/esm/array-list-tabs/utils.mjs +11 -5
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/index.mjs +47 -46
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-table/utils.mjs +18 -12
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +27 -27
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/index.mjs +21 -18
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +18 -15
- package/esm/cascader/index.mjs.map +1 -1
- package/esm/checkbox/index.mjs +19 -16
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/color-picker/index.mjs +9 -6
- package/esm/color-picker/index.mjs.map +1 -1
- package/esm/color-picker-panel/index.mjs +9 -6
- package/esm/color-picker-panel/index.mjs.map +1 -1
- package/esm/date-picker/index.mjs +14 -11
- package/esm/date-picker/index.mjs.map +1 -1
- package/esm/date-picker/utils.mjs.map +1 -1
- package/esm/date-picker-panel/index.mjs +14 -11
- package/esm/date-picker-panel/index.mjs.map +1 -1
- package/esm/editable/index.mjs +34 -32
- package/esm/editable/index.mjs.map +1 -1
- package/esm/form/form.mjs +6 -6
- package/esm/form/form.mjs.map +1 -1
- package/esm/form-button-group/index.mjs +17 -14
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-button-group/utils.mjs +8 -2
- package/esm/form-button-group/utils.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +20 -18
- package/esm/form-collapse/index.mjs.map +1 -1
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.d.ts +1 -1
- package/esm/form-dialog/index.mjs +22 -22
- 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 +21 -21
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +13 -5
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +20 -18
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.mjs +54 -53
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/utils.mjs.map +1 -1
- package/esm/form-layout/form-layout.mjs +13 -10
- package/esm/form-layout/form-layout.mjs.map +1 -1
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +29 -27
- package/esm/form-step/index.mjs.map +1 -1
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +22 -21
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/form-tab/utils.mjs.map +1 -1
- package/esm/index.mjs +72 -72
- package/esm/input/index.mjs +25 -22
- package/esm/input/index.mjs.map +1 -1
- package/esm/input-number/index.mjs +11 -8
- package/esm/input-number/index.mjs.map +1 -1
- package/esm/input-tag/index.mjs +16 -13
- package/esm/input-tag/index.mjs.map +1 -1
- package/esm/mention/index.mjs +20 -17
- package/esm/mention/index.mjs.map +1 -1
- package/esm/pagination/components/jumper.mjs.map +1 -1
- package/esm/pagination/components/next.mjs.map +1 -1
- package/esm/pagination/components/pager.mjs.map +1 -1
- package/esm/pagination/components/prev.mjs.map +1 -1
- package/esm/pagination/components/total.mjs.map +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/password/index.mjs.map +1 -1
- package/esm/preview-text/index.mjs +30 -27
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/default-components.mjs.map +1 -1
- package/esm/query-form/hooks.mjs.map +1 -1
- package/esm/query-form/index.mjs +142 -140
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form-item/index.mjs +17 -15
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/radio/index.mjs +28 -25
- package/esm/radio/index.mjs.map +1 -1
- package/esm/rate/index.mjs +13 -10
- package/esm/rate/index.mjs.map +1 -1
- package/esm/reset/index.mjs.map +1 -1
- package/esm/segmented/index.mjs +15 -12
- package/esm/segmented/index.mjs.map +1 -1
- package/esm/select/index.mjs +22 -19
- package/esm/select/index.mjs.map +1 -1
- package/esm/select-table/index.mjs +15 -12
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/shared/overlay-elements.mjs.map +1 -1
- package/esm/slider/index.mjs +13 -10
- package/esm/slider/index.mjs.map +1 -1
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.mjs.map +1 -1
- package/esm/time-picker/index.mjs +9 -6
- package/esm/time-picker/index.mjs.map +1 -1
- package/esm/time-select/index.d.ts +8 -8
- package/esm/time-select/index.mjs +9 -6
- package/esm/time-select/index.mjs.map +1 -1
- package/esm/transfer/index.mjs.map +1 -1
- package/esm/tree/index.mjs +31 -28
- package/esm/tree/index.mjs.map +1 -1
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +17 -14
- package/esm/tree-select/index.mjs.map +1 -1
- package/esm/upload/index.mjs +36 -37
- package/esm/upload/index.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/package.json +12 -11
|
@@ -1,13 +1,15 @@
|
|
|
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
|
|
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";
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
7
|
+
import { stylePrefix as R } from "../__builtins__/configs/index.mjs";
|
|
8
|
+
import "@silver-formily/reactive-vue";
|
|
9
|
+
import "@vueuse/core";
|
|
10
|
+
import { useCleanAttrs as ee } from "../__builtins__/shared/utils.mjs";
|
|
11
|
+
import { QueryForm as k } from "../query-form/index.mjs";
|
|
12
|
+
import { useQueryFormForm as te } from "../query-form/hooks.mjs";
|
|
11
13
|
import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
12
14
|
name: "FQueryFormItem",
|
|
13
15
|
inheritAttrs: !1,
|
|
@@ -46,7 +48,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
46
48
|
},
|
|
47
49
|
emits: ["requestSuccess", "requestFailed"],
|
|
48
50
|
setup(B, { emit: I }) {
|
|
49
|
-
const e = B,
|
|
51
|
+
const e = B, c = I, m = {
|
|
50
52
|
currentPage: 1,
|
|
51
53
|
pageSize: 10,
|
|
52
54
|
pageSizes: [10, 20, 50, 100],
|
|
@@ -55,7 +57,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
55
57
|
}, q = {
|
|
56
58
|
current: "current",
|
|
57
59
|
pageSize: "pageSize"
|
|
58
|
-
}, Q = j(), _ = X(), f = `${
|
|
60
|
+
}, Q = j(), _ = X(), f = `${R}-query-form-item`, x = `${R}-form-item--isolated`, { props: O } = ee(), M = y(() => {
|
|
59
61
|
const {
|
|
60
62
|
currentPage: t,
|
|
61
63
|
pageSize: r,
|
|
@@ -65,7 +67,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
65
67
|
...e.paginationProps
|
|
66
68
|
};
|
|
67
69
|
return a;
|
|
68
|
-
}), n =
|
|
70
|
+
}), n = p(e.paginationProps?.currentPage ?? m.currentPage), s = p(e.paginationProps?.pageSize ?? m.pageSize), d = p(0), l = p(0), { activeForm: F } = te({
|
|
69
71
|
formProps: y(() => e.queryFormProps),
|
|
70
72
|
fallbackForm: _
|
|
71
73
|
}), $ = y(() => ({
|
|
@@ -96,10 +98,10 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
96
98
|
if (r !== l.value)
|
|
97
99
|
return;
|
|
98
100
|
if (o.success !== !0) {
|
|
99
|
-
|
|
101
|
+
c("requestFailed", o);
|
|
100
102
|
return;
|
|
101
103
|
}
|
|
102
|
-
t.dataSource = o.data, e.clearOnDataChange && t.setValue?.(void 0), d.value = Y(o.total) ? o.total : o.data.length,
|
|
104
|
+
t.dataSource = o.data, e.clearOnDataChange && t.setValue?.(void 0), d.value = Y(o.total) ? o.total : o.data.length, c("requestSuccess", {
|
|
103
105
|
values: a,
|
|
104
106
|
pagination: i,
|
|
105
107
|
dataSource: o.data,
|
|
@@ -109,7 +111,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
109
111
|
} catch (o) {
|
|
110
112
|
if (r !== l.value)
|
|
111
113
|
return;
|
|
112
|
-
|
|
114
|
+
c("requestFailed", o);
|
|
113
115
|
} finally {
|
|
114
116
|
r === l.value && (t.loading = !1);
|
|
115
117
|
}
|
|
@@ -143,7 +145,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
143
145
|
h("div", {
|
|
144
146
|
class: b(f)
|
|
145
147
|
}, [
|
|
146
|
-
(P(), S(H(e.mode === "light" ? u(
|
|
148
|
+
(P(), S(H(e.mode === "light" ? u(k).Light : u(k)), J(K($.value)), null, 16)),
|
|
147
149
|
h("div", {
|
|
148
150
|
class: b(`${f}__content`)
|
|
149
151
|
}, [
|
|
@@ -162,7 +164,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
162
164
|
_: 3
|
|
163
165
|
}, 16));
|
|
164
166
|
}
|
|
165
|
-
}),
|
|
167
|
+
}), ge = w(
|
|
166
168
|
ae,
|
|
167
169
|
D(
|
|
168
170
|
{
|
|
@@ -175,7 +177,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
175
177
|
)
|
|
176
178
|
);
|
|
177
179
|
export {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
+
ge as QueryFormItem,
|
|
181
|
+
ge as default
|
|
180
182
|
};
|
|
181
183
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -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\">\r\nimport type { Field } from '@formily/core'\r\nimport type { ISchema } from '@formily/json-schema'\r\nimport type { PropType } from 'vue'\r\nimport type {\r\n QueryFormItemMode,\r\n QueryFormItemPaginationMap,\r\n QueryFormItemPaginationProps,\r\n QueryFormItemQueryProps,\r\n QueryFormItemRequest,\r\n QueryFormItemRequestSuccessPayload,\r\n} from './types'\r\nimport { createForm } from '@formily/core'\r\nimport { isNum } from '@formily/shared'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElPagination } from 'element-plus'\r\nimport { computed, onMounted, ref, watch } from 'vue'\r\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\r\nimport { FormBaseItem } from '../form-item'\r\nimport { QueryForm } from '../query-form'\r\nimport { useQueryFormForm } from '../query-form/hooks'\r\n\r\ndefineOptions({\r\n name: 'FQueryFormItem',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n mode: {\r\n type: String as PropType<QueryFormItemMode>,\r\n default: 'default',\r\n },\r\n request: Function as PropType<QueryFormItemRequest>,\r\n clearOnDataChange: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n querySchema: Object as PropType<ISchema>,\r\n queryFormProps: {\r\n type: Object as PropType<QueryFormItemQueryProps>,\r\n default: () => ({}),\r\n },\r\n pagination: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n paginationProps: {\r\n type: Object as PropType<QueryFormItemPaginationProps>,\r\n default: () => ({}),\r\n },\r\n paginationMap: {\r\n type: Object as PropType<QueryFormItemPaginationMap>,\r\n default: () => ({}),\r\n },\r\n immediate: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n})\r\n\r\nconst emit = defineEmits<{\r\n (e: 'requestSuccess', payload: QueryFormItemRequestSuccessPayload): void\r\n (e: 'requestFailed', error: any): void\r\n}>()\r\n\r\nconst defaultPaginationProps: QueryFormItemPaginationProps = {\r\n currentPage: 1,\r\n pageSize: 10,\r\n pageSizes: [10, 20, 50, 100],\r\n layout: 'total, prev, pager, next',\r\n size: 'small',\r\n}\r\nconst defaultPaginationRequestMapping: Required<QueryFormItemPaginationMap> = {\r\n current: 'current',\r\n pageSize: 'pageSize',\r\n}\r\n\r\nconst fieldRef = useField<Field>()\r\nconst internalQueryForm = createForm()\r\nconst prefixCls = `${stylePrefix}-query-form-item`\r\nconst formItemInternalClass = `${stylePrefix}-form-item--isolated`\r\nconst { props: formItemProps } = useCleanAttrs()\r\n\r\nconst paginationBindings = computed(() => {\r\n const {\r\n currentPage,\r\n pageSize,\r\n ...bindings\r\n } = {\r\n ...defaultPaginationProps,\r\n ...props.paginationProps,\r\n }\r\n return bindings\r\n})\r\n\r\nconst currentPageRef = ref(props.paginationProps?.currentPage ?? defaultPaginationProps.currentPage)\r\nconst pageSizeRef = ref(props.paginationProps?.pageSize ?? defaultPaginationProps.pageSize)\r\nconst totalRef = ref(0)\r\nconst currentRequestId = ref(0)\r\n\r\nconst { activeForm: activeQueryForm } = useQueryFormForm({\r\n formProps: computed(() => props.queryFormProps),\r\n fallbackForm: internalQueryForm,\r\n})\r\n\r\nconst queryFormBindings = computed(() => {\r\n return ({\r\n ...props.queryFormProps,\r\n schema: props.querySchema ?? props.queryFormProps.schema,\r\n form: activeQueryForm.value,\r\n onAutoSubmit: handleQuerySubmit,\r\n resetProps: {\r\n onClick: handleQueryReset,\r\n },\r\n })\r\n})\r\n\r\nasync function executeRequest() {\r\n if (!props.request)\r\n return\r\n\r\n const field = fieldRef.value\r\n if (!Array.isArray(field.dataSource))\r\n field.dataSource = []\r\n\r\n const requestId = ++currentRequestId.value\r\n /* istanbul ignore next -- @preserve defensive: active query form can be temporarily undefined before form injection settles */\r\n const queryValues = activeQueryForm.value?.values ?? {}\r\n const paginationData = props.pagination\r\n ? {\r\n current: currentPageRef.value,\r\n pageSize: pageSizeRef.value,\r\n }\r\n : undefined\r\n const requestParams = paginationData\r\n ? {\r\n ...queryValues,\r\n [(props.paginationMap.current ?? defaultPaginationRequestMapping.current)]: paginationData.current,\r\n [(props.paginationMap.pageSize ?? defaultPaginationRequestMapping.pageSize)]: paginationData.pageSize,\r\n }\r\n : queryValues\r\n\r\n field.loading = true\r\n try {\r\n const result = await props.request(requestParams)\r\n\r\n if (requestId !== currentRequestId.value)\r\n return\r\n\r\n if (result.success !== true) {\r\n emit('requestFailed', result)\r\n return\r\n }\r\n\r\n field.dataSource = result.data\r\n if (props.clearOnDataChange) {\r\n field.setValue?.(undefined)\r\n }\r\n totalRef.value = isNum(result.total) ? result.total : result.data.length\r\n\r\n emit('requestSuccess', {\r\n values: queryValues,\r\n pagination: paginationData,\r\n dataSource: result.data,\r\n total: totalRef.value,\r\n result,\r\n })\r\n }\r\n catch (error) {\r\n if (requestId !== currentRequestId.value)\r\n return\r\n emit('requestFailed', error)\r\n }\r\n finally {\r\n if (requestId === currentRequestId.value)\r\n field.loading = false\r\n }\r\n}\r\n\r\nasync function handleQuerySubmit() {\r\n if (props.pagination && currentPageRef.value !== 1) {\r\n currentPageRef.value = 1\r\n return\r\n }\r\n\r\n await executeRequest()\r\n}\r\n\r\nfunction handleQueryReset(event: MouseEvent) {\r\n const userOnClick = props.queryFormProps.resetProps?.onClick as ((event: MouseEvent) => void | boolean) | undefined\r\n const result = userOnClick?.(event)\r\n if (result === false)\r\n return false\r\n\r\n void handleQuerySubmit()\r\n\r\n return result\r\n}\r\n\r\nonMounted(() => {\r\n if (props.immediate)\r\n void executeRequest()\r\n})\r\n\r\nwatch([currentPageRef, pageSizeRef], ([currentPage, pageSize], [previousPage, previousPageSize]) => {\r\n /* istanbul ignore if -- @preserve defensive: watcher is retained when pagination is dynamically toggled off */\r\n if (!props.pagination)\r\n return\r\n\r\n const currentChanged = currentPage !== previousPage\r\n const pageSizeChanged = pageSize !== previousPageSize\r\n\r\n /* istanbul ignore if -- @preserve defensive: keep guard for unexpected duplicated watcher payload */\r\n if (!currentChanged && !pageSizeChanged)\r\n return\r\n\r\n if (pageSizeChanged && currentPage !== 1) {\r\n currentPageRef.value = 1\r\n return\r\n }\r\n\r\n void executeRequest()\r\n})\r\n</script>\r\n\r\n<template>\r\n <FormBaseItem\r\n v-bind=\"formItemProps\"\r\n :internal-form-item-class=\"formItemInternalClass\"\r\n >\r\n <div :class=\"prefixCls\">\r\n <component\r\n :is=\"props.mode === 'light' ? QueryForm.Light : QueryForm\"\r\n v-bind=\"queryFormBindings\"\r\n />\r\n <div :class=\"`${prefixCls}__content`\">\r\n <slot />\r\n </div>\r\n <ElPagination\r\n v-if=\"props.pagination\"\r\n v-model:current-page=\"currentPageRef\"\r\n v-model:page-size=\"pageSizeRef\"\r\n :class=\"`${prefixCls}__pagination`\"\r\n v-bind=\"paginationBindings\"\r\n :total=\"totalRef\"\r\n />\r\n </div>\r\n </FormBaseItem>\r\n</template>\r\n","import { connect, mapProps } from '@silver-formily/vue'\r\nimport { fieldFeedbackMapper } from '../form-item'\r\nimport QueryFormItemInner from './query-form-item.vue'\r\nimport './style.scss'\r\n\r\nexport type {\r\n IQueryFormItemProps,\r\n QueryFormItemMode,\r\n QueryFormItemPagination,\r\n QueryFormItemPaginationMap,\r\n QueryFormItemPaginationProps,\r\n QueryFormItemQueryProps,\r\n QueryFormItemRequest,\r\n QueryFormItemRequestResultObject,\r\n QueryFormItemRequestSuccessPayload,\r\n} from './types'\r\n\r\nexport const QueryFormItem = connect<typeof QueryFormItemInner>(\r\n QueryFormItemInner,\r\n mapProps(\r\n {\r\n validateStatus: true,\r\n title: 'label',\r\n required: true,\r\n description: 'extra',\r\n },\r\n fieldFeedbackMapper,\r\n ),\r\n)\r\n\r\nexport default QueryFormItem\r\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.mjs
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
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
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
3
|
+
import "@silver-formily/reactive-vue";
|
|
4
|
+
import "@vueuse/core";
|
|
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
|
+
import { mapReadPretty as D } from "../__builtins__/shared/transform-component.mjs";
|
|
7
|
+
import { useCleanAttrs as F, composeExport as N } from "../__builtins__/shared/utils.mjs";
|
|
8
|
+
import { PreviewText as z } from "../preview-text/index.mjs";
|
|
9
|
+
import { isPlainObj as H } from "@formily/shared";
|
|
10
|
+
import { lt as I } from "../__builtins__/shared/simple-version-compare.mjs";
|
|
11
|
+
import "@formily/core";
|
|
12
|
+
import '../styles/radio/index.css';const V = /* @__PURE__ */ O({
|
|
10
13
|
name: "FRadioGroup",
|
|
11
14
|
__name: "radio-group",
|
|
12
15
|
props: {
|
|
@@ -20,30 +23,30 @@ import '../styles/radio/index.css';const V = /* @__PURE__ */ x({
|
|
|
20
23
|
}
|
|
21
24
|
},
|
|
22
25
|
setup(P) {
|
|
23
|
-
const o = P, { props: R } =
|
|
24
|
-
function
|
|
25
|
-
return
|
|
26
|
+
const o = P, { props: R } = F(), s = c(() => o.optionType === "button" ? B : v), S = I(G, "2.6.0");
|
|
27
|
+
function l(e) {
|
|
28
|
+
return H(e);
|
|
26
29
|
}
|
|
27
30
|
function g(e, n) {
|
|
28
|
-
return
|
|
31
|
+
return l(o.options[n]) ? o.options[n].label : e.label;
|
|
29
32
|
}
|
|
30
|
-
const m = c(() => o.options.map((e) =>
|
|
33
|
+
const m = c(() => o.options.map((e) => l(e) ? S ? {
|
|
31
34
|
...e,
|
|
32
35
|
label: e.value
|
|
33
36
|
} : e : {
|
|
34
37
|
label: e,
|
|
35
38
|
value: e
|
|
36
|
-
})), k =
|
|
37
|
-
return (e, n) => (t(), p(u(C), L(
|
|
38
|
-
default:
|
|
39
|
-
u(k).option ? (t(!0), f(d, { key: 1 }, _(m.value, (r, a) => (t(), p(y(
|
|
40
|
-
default:
|
|
41
|
-
|
|
39
|
+
})), k = x();
|
|
40
|
+
return (e, n) => (t(), p(u(C), A(L(u(R))), {
|
|
41
|
+
default: i(() => [
|
|
42
|
+
u(k).option ? (t(!0), f(d, { key: 1 }, _(m.value, (r, a) => (t(), p(y(s.value), b({ key: a }, { ref_for: !0 }, r), {
|
|
43
|
+
default: i(() => [
|
|
44
|
+
w(e.$slots, "option", { option: r })
|
|
42
45
|
]),
|
|
43
46
|
_: 2
|
|
44
|
-
}, 1040))), 128)) : (t(!0), f(d, { key: 0 }, _(m.value, (r, a) => (t(), p(y(
|
|
45
|
-
default:
|
|
46
|
-
j(
|
|
47
|
+
}, 1040))), 128)) : (t(!0), f(d, { key: 0 }, _(m.value, (r, a) => (t(), p(y(s.value), b({ key: a }, { ref_for: !0 }, r), {
|
|
48
|
+
default: i(() => [
|
|
49
|
+
h(j(g(r, a)), 1)
|
|
47
50
|
]),
|
|
48
51
|
_: 2
|
|
49
52
|
}, 1040))), 128))
|
|
@@ -54,12 +57,12 @@ import '../styles/radio/index.css';const V = /* @__PURE__ */ x({
|
|
|
54
57
|
}), $ = E(
|
|
55
58
|
V,
|
|
56
59
|
T({ dataSource: "options", disabled: !0 }),
|
|
57
|
-
|
|
58
|
-
),
|
|
60
|
+
D(z.Select)
|
|
61
|
+
), re = N(v, {
|
|
59
62
|
Group: $
|
|
60
63
|
});
|
|
61
64
|
export {
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
re as Radio,
|
|
66
|
+
re as default
|
|
64
67
|
};
|
|
65
68
|
//# sourceMappingURL=index.mjs.map
|
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\">\
|
|
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/rate/index.mjs
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { connect as
|
|
2
|
-
import { ElRate as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { connect as r, mapProps as t } from "@silver-formily/vue";
|
|
2
|
+
import { ElRate as o } from "element-plus";
|
|
3
|
+
import "@silver-formily/reactive-vue";
|
|
4
|
+
import "@vueuse/core";
|
|
5
|
+
import "vue";
|
|
6
|
+
import { mapReadPretty as e } from "../__builtins__/shared/transform-component.mjs";
|
|
7
|
+
import { PreviewText as m } from "../preview-text/index.mjs";
|
|
8
|
+
const s = r(
|
|
9
|
+
o,
|
|
10
|
+
t({ readOnly: "readonly", disabled: !0 }),
|
|
11
|
+
e(m.Rate)
|
|
9
12
|
);
|
|
10
13
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
s as Rate,
|
|
15
|
+
s as default
|
|
13
16
|
};
|
|
14
17
|
//# sourceMappingURL=index.mjs.map
|
package/esm/rate/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/rate/index.ts"],"sourcesContent":["import { connect, mapProps } from '@silver-formily/vue'\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/rate/index.ts"],"sourcesContent":["import { connect, mapProps } from '@silver-formily/vue'\nimport { ElRate } from 'element-plus'\nimport { mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\n\nexport type RateProps = typeof ElRate\n\nexport const Rate = connect<typeof ElRate>(\n ElRate,\n mapProps({ readOnly: 'readonly', disabled: true }),\n mapReadPretty(PreviewText.Rate),\n)\n\nexport default Rate\n"],"names":["Rate","connect","ElRate","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;AAOO,MAAMA,IAAOC;AAAA,EAClBC;AAAA,EACAC,EAAS,EAAE,UAAU,YAAY,UAAU,IAAM;AAAA,EACjDC,EAAcC,EAAY,IAAI;AAChC;"}
|
package/esm/reset/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/reset/reset.vue","../../src/reset/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/reset/reset.vue","../../src/reset/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PropType } from 'vue'\nimport { useParentForm } from '@silver-formily/vue'\nimport { ElButton } from 'element-plus'\n\ndefineOptions({\n name: 'FReset',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n onClick: Function as PropType<(e: MouseEvent) => void | boolean>,\n forceClear: {\n type: Boolean,\n default: false,\n },\n validate: {\n type: Boolean,\n default: false,\n },\n onResetValidateSuccess: Function as PropType<(payload: any) => void>,\n onResetValidateFailed: Function as PropType<(error: any) => void>,\n})\n\nconst formRef = useParentForm()\n\nfunction handleClick(e: MouseEvent) {\n if (props.onClick && (props.onClick)?.(e) === false)\n return\n\n const form = formRef?.value\n form?.reset('*', {\n forceClear: props.forceClear,\n })\n props.validate && form?.validate()\n .then(props.onResetValidateSuccess)\n .catch(error => props.onResetValidateFailed?.(error))\n}\n</script>\n\n<template>\n <ElButton v-bind=\"$attrs\" @click=\"handleClick\">\n <slot />\n </ElButton>\n</template>\n","import { observer } from '@silver-formily/reactive-vue'\nimport FReset from './reset.vue'\n\nexport const Reset = observer(FReset)\n\nexport default Reset\n"],"names":["props","__props","formRef","useParentForm","handleClick","e","form","error","_openBlock","_createBlock","_unref","_mergeProps","_ctx","_renderSlot","Reset","observer","FReset"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUA,UAAMA,IAAQC,GAcRC,IAAUC,EAAA;AAEhB,aAASC,EAAYC,GAAe;AAClC,UAAIL,EAAM,WAAYA,EAAM,UAAWK,CAAC,MAAM;AAC5C;AAEF,YAAMC,IAAOJ,GAAS;AACtB,MAAAI,GAAM,MAAM,KAAK;AAAA,QACf,YAAYN,EAAM;AAAA,MAAA,CACnB,GACDA,EAAM,YAAYM,GAAM,SAAA,EACrB,KAAKN,EAAM,sBAAsB,EACjC,MAAM,CAAAO,MAASP,EAAM,wBAAwBO,CAAK,CAAC;AAAA,IACxD;sBAIEC,EAAA,GAAAC,EAEWC,MAFXC,EAEWC,UAFa,EAAG,SAAOR,EAAA,CAAW,GAAA;AAAA,iBAC3C,MAAQ;AAAA,QAARS,EAAQD,EAAA,QAAA,SAAA;AAAA,MAAA;;;;ICvCCE,IAAQC,EAASC,CAAM;"}
|
package/esm/segmented/index.mjs
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { connect as m, mapProps as
|
|
2
|
-
import {
|
|
1
|
+
import { connect as m, mapProps as i } from "@silver-formily/vue";
|
|
2
|
+
import { ElSegmented as a } from "element-plus";
|
|
3
|
+
import "@silver-formily/reactive-vue";
|
|
4
|
+
import "@vueuse/core";
|
|
3
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";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
6
|
+
import { mapReadPretty as k } from "../__builtins__/shared/transform-component.mjs";
|
|
7
|
+
import { PreviewText as v } from "../preview-text/index.mjs";
|
|
8
|
+
import "@formily/core";
|
|
9
|
+
import { useCleanAttrs as x } from "../__builtins__/shared/utils.mjs";
|
|
7
10
|
const C = /* @__PURE__ */ c({
|
|
8
11
|
name: "FSegmented",
|
|
9
12
|
inheritAttrs: !1,
|
|
@@ -12,8 +15,8 @@ const C = /* @__PURE__ */ c({
|
|
|
12
15
|
options: {}
|
|
13
16
|
},
|
|
14
17
|
setup(t) {
|
|
15
|
-
const o = t, r = d(), { props: s } =
|
|
16
|
-
return (n, w) => (l(), f(e(
|
|
18
|
+
const o = t, r = d(), { props: s } = x();
|
|
19
|
+
return (n, w) => (l(), f(e(a), u(e(s), {
|
|
17
20
|
options: o.options
|
|
18
21
|
}), S({ _: 2 }, [
|
|
19
22
|
e(r).default ? {
|
|
@@ -25,13 +28,13 @@ const C = /* @__PURE__ */ c({
|
|
|
25
28
|
} : void 0
|
|
26
29
|
]), 1040, ["options"]));
|
|
27
30
|
}
|
|
28
|
-
}),
|
|
31
|
+
}), $ = m(
|
|
29
32
|
C,
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
i({ dataSource: "options", disabled: !0 }),
|
|
34
|
+
k(v.Select)
|
|
32
35
|
);
|
|
33
36
|
export {
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
$ as Segmented,
|
|
38
|
+
$ as default
|
|
36
39
|
};
|
|
37
40
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/segmented/segmented.vue","../../src/segmented/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/segmented/segmented.vue","../../src/segmented/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ElSegmented } from 'element-plus'\nimport { useSlots } from 'vue'\nimport { useCleanAttrs } from '../__builtins__'\n\ndefineOptions({\n name: 'FSegmented',\n inheritAttrs: false,\n})\n\nconst props = defineProps<{\n options?: SegmentedOptions\n}>()\n\ntype SegmentedOption = NonNullable<InstanceType<typeof ElSegmented>['$props']['options']>[number]\n\ntype SegmentedOptions = SegmentedOption[]\n\nconst slots = useSlots()\nconst { props: segmentedProps } = useCleanAttrs()\n</script>\n\n<template>\n <ElSegmented v-bind=\"segmentedProps\" :options=\"props.options\">\n <template v-if=\"slots.default\" #default=\"slotData\">\n <slot v-bind=\"slotData\" />\n </template>\n </ElSegmented>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\nimport FSegmented from './segmented.vue'\n\nexport const Segmented = connect<typeof FSegmented>(\n FSegmented,\n mapProps({ dataSource: 'options', disabled: true }),\n mapReadPretty(PreviewText.Select),\n)\n\nexport default Segmented\n"],"names":["props","__props","slots","useSlots","segmentedProps","useCleanAttrs","_createBlock","_unref","ElSegmented","_mergeProps","_withCtx","slotData","_renderSlot","_ctx","Segmented","connect","FSegmented","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;;;;;;;;;;;AAUA,UAAMA,IAAQC,GAQRC,IAAQC,EAAA,GACR,EAAE,OAAOC,EAAA,IAAmBC,EAAA;2BAIhCC,EAIcC,EAAAC,CAAA,GAJdC,EAIcF,EAAAH,CAAA,GAJqB;AAAA,MAAG,SAASJ,EAAM;AAAA,IAAA;MACnCO,EAAAL,CAAA,EAAM;cAAU;AAAA,QAC9B,IAAAQ,EAAA,CADuCC,MAAQ;AAAA,UAC/CC,EAA0BC,yBAAZF,CAAQ,CAAA,CAAA;AAAA,QAAA;;;;;ICpBfG,IAAYC;AAAA,EACvBC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,UAAU,IAAM;AAAA,EAClDC,EAAcC,EAAY,MAAM;AAClC;"}
|
package/esm/select/index.mjs
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { useField as S, connect as b, mapProps as P } from "@silver-formily/vue";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
2
|
+
import { ElSelect as h, ElOptionGroup as C, ElOption as y } from "element-plus";
|
|
3
|
+
import "@silver-formily/reactive-vue";
|
|
4
|
+
import "@vueuse/core";
|
|
5
|
+
import { defineComponent as E, useSlots as K, openBlock as s, createBlock as f, 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
|
+
import { mapReadPretty as R } from "../__builtins__/shared/transform-component.mjs";
|
|
7
|
+
import { PreviewText as w } from "../preview-text/index.mjs";
|
|
8
|
+
import "@formily/core";
|
|
6
9
|
import { useCleanAttrs as A } from "../__builtins__/shared/utils.mjs";
|
|
7
|
-
import {
|
|
8
|
-
const O = /* @__PURE__ */
|
|
10
|
+
import { o as G } from "../vendor/lodash.mjs";
|
|
11
|
+
const O = /* @__PURE__ */ E({
|
|
9
12
|
name: "FSelect",
|
|
10
13
|
inheritAttrs: !1,
|
|
11
14
|
__name: "select",
|
|
@@ -13,34 +16,34 @@ const O = /* @__PURE__ */ C({
|
|
|
13
16
|
options: {}
|
|
14
17
|
},
|
|
15
18
|
setup(v) {
|
|
16
|
-
const g = v, l =
|
|
19
|
+
const g = v, l = K(), { props: i } = A(), p = S();
|
|
17
20
|
function $(o) {
|
|
18
21
|
return o.options !== void 0;
|
|
19
22
|
}
|
|
20
|
-
return (o, z) => (s(), f(e(
|
|
23
|
+
return (o, z) => (s(), f(e(h), _(B(e(i))), F({
|
|
21
24
|
default: t(() => [
|
|
22
|
-
(s(!0), u
|
|
23
|
-
$(r) ? (s(), f(e(
|
|
25
|
+
(s(!0), m(u, null, c(g.options, (r) => (s(), m(u, null, [
|
|
26
|
+
$(r) ? (s(), f(e(C), d({
|
|
24
27
|
key: 0,
|
|
25
28
|
ref_for: !0
|
|
26
|
-
}, e(
|
|
29
|
+
}, e(G)(r, "options"), {
|
|
27
30
|
key: r.label
|
|
28
31
|
}), {
|
|
29
32
|
default: t(() => [
|
|
30
|
-
(s(!0), u
|
|
33
|
+
(s(!0), m(u, null, c(r.options, (a) => (s(), f(e(y), d({
|
|
31
34
|
key: e(i).valueKey ? a[e(i).valueKey] : a.label
|
|
32
35
|
}, { ref_for: !0 }, a), {
|
|
33
36
|
default: t(() => [
|
|
34
37
|
l.option ? n(o.$slots, "option", {
|
|
35
38
|
key: 0,
|
|
36
39
|
option: a
|
|
37
|
-
}) :
|
|
40
|
+
}) : k("", !0)
|
|
38
41
|
]),
|
|
39
42
|
_: 2
|
|
40
43
|
}, 1040))), 128))
|
|
41
44
|
]),
|
|
42
45
|
_: 2
|
|
43
|
-
}, 1040)) : (s(), f(e(
|
|
46
|
+
}, 1040)) : (s(), f(e(y), d({
|
|
44
47
|
key: 1,
|
|
45
48
|
ref_for: !0
|
|
46
49
|
}, r, {
|
|
@@ -50,7 +53,7 @@ const O = /* @__PURE__ */ C({
|
|
|
50
53
|
l.option ? n(o.$slots, "option", {
|
|
51
54
|
key: 0,
|
|
52
55
|
option: r
|
|
53
|
-
}) :
|
|
56
|
+
}) : k("", !0)
|
|
54
57
|
]),
|
|
55
58
|
_: 2
|
|
56
59
|
}, 1040))
|
|
@@ -112,13 +115,13 @@ const O = /* @__PURE__ */ C({
|
|
|
112
115
|
} : void 0
|
|
113
116
|
]), 1040));
|
|
114
117
|
}
|
|
115
|
-
}),
|
|
118
|
+
}), M = b(
|
|
116
119
|
O,
|
|
117
120
|
P({ dataSource: "options", loading: !0, disabled: !0 }),
|
|
118
|
-
|
|
121
|
+
R(w.Select)
|
|
119
122
|
);
|
|
120
123
|
export {
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
M as Select,
|
|
125
|
+
M as default
|
|
123
126
|
};
|
|
124
127
|
//# sourceMappingURL=index.mjs.map
|
package/esm/select/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/select/select.vue","../../src/select/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/select/select.vue","../../src/select/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useField } from '@silver-formily/vue'\nimport { ElOption, ElOptionGroup, ElSelect } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { useCleanAttrs } from '../__builtins__'\n\ndefineOptions({\n name: 'FSelect',\n inheritAttrs: false,\n})\n\nconst props = defineProps<{\n options?: Array<OptionType | OptionGroupType>\n}>()\n\nconst slots = defineSlots<{\n option?: (props: { option: OptionType }) => any\n header?: () => any\n footer?: () => any\n prefix?: () => any\n empty?: () => any\n tag?: () => any\n loading?: () => any\n label?: () => any\n}>()\n\ntype OptionType = InstanceType<typeof ElOption>['$props']\ntype OptionGroupType = InstanceType<typeof ElOptionGroup>['$props'] & {\n options: OptionType[]\n}\n\nconst { props: selectProps } = useCleanAttrs()\n\nconst fieldRef = useField()\n\nfunction isGroup(option: OptionType | OptionGroupType): option is OptionGroupType {\n return (option as OptionGroupType).options !== undefined\n}\n</script>\n\n<template>\n <ElSelect v-bind=\"selectProps\">\n <template v-for=\"option of props.options\">\n <template v-if=\"isGroup(option)\">\n <ElOptionGroup v-bind=\"omit(option, 'options')\" :key=\"option.label\">\n <ElOption v-for=\"i of option.options\" :key=\"selectProps.valueKey ? i[selectProps.valueKey] : i.label\" v-bind=\"i\">\n <slot v-if=\"slots.option\" name=\"option\" :option=\"i\" />\n </ElOption>\n </ElOptionGroup>\n </template>\n <ElOption v-else v-bind=\"option\" :key=\"selectProps.valueKey ? option[selectProps.valueKey] : option.label\">\n <slot v-if=\"slots.option\" name=\"option\" :option=\"option\" />\n </ElOption>\n </template>\n <template v-if=\"slots.header\" #header>\n <slot name=\"header\" :field=\"fieldRef\" />\n </template>\n <template v-if=\"slots.footer\" #footer>\n <slot name=\"footer\" :field=\"fieldRef\" />\n </template>\n <template v-if=\"slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"slots.empty\" #empty>\n <slot name=\"empty\" />\n </template>\n <template v-if=\"slots.tag\" #tag>\n <slot name=\"tag\" :field=\"fieldRef\" />\n </template>\n <template v-if=\"slots.loading\" #loading>\n <slot name=\"loading\" />\n </template>\n <template v-if=\"slots.label\" #label=\"{ label, value: labelValue }\">\n <slot name=\"label\" :label=\"label\" :value=\"labelValue\" />\n </template>\n </ElSelect>\n</template>\n","import { connect, mapProps } from '@silver-formily/vue'\nimport { mapReadPretty } from '../__builtins__'\nimport { PreviewText } from '../preview-text'\nimport FSelect from './select.vue'\n\nexport const Select = connect<typeof FSelect>(\n FSelect,\n mapProps({ dataSource: 'options', loading: true, disabled: true }),\n mapReadPretty(PreviewText.Select),\n)\n\nexport default Select\n"],"names":["props","__props","slots","_useSlots","selectProps","useCleanAttrs","fieldRef","useField","isGroup","option","_openBlock","_createBlock","_unref","_createSlots","_createElementBlock","_Fragment","_renderList","_mergeProps","omit","i","_renderSlot","_ctx","label","labelValue","Select","connect","FSelect","mapProps","mapReadPretty","PreviewText"],"mappings":";;;;;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAgBR,EAAE,OAAOC,EAAA,IAAgBC,EAAA,GAEzBC,IAAWC,EAAA;AAEjB,aAASC,EAAQC,GAAiE;AAChF,aAAQA,EAA2B,YAAY;AAAA,IACjD;sBAIEC,EAAA,GAAAC,EAkCWC,UAlCOA,EAAAR,CAAA,CAAW,CAAA,GAAAS,EAAA;AAAA,iBACjB,MAA+B;AAAA,SAAzCH,EAAA,EAAA,GAAAI,EAWWC,GAAA,MAAAC,EAXgBhB,EAAM,UAAhBS;UACCD,EAAQC,CAAM,KAC5BC,EAAA,GAAAC,EAIgBC,MAJhBK,EAIgB;AAAA;;aAJOL,EAAAM,CAAA,EAAKT,GAAM,SAAA,GAAA;AAAA,YAAe,KAAKA,EAAO;AAAA,UAAA;uBACjD,MAA2B;AAAA,eAArCC,EAAA,EAAA,GAAAI,EAEWC,GAAA,MAAAC,EAFWP,EAAO,UAAZU,OAAjBT,KAAAC,EAEWC,MAFXK,EAEW;AAAA,gBAF4B,KAAKL,EAAAR,CAAA,EAAY,WAAWe,EAAEP,EAAAR,CAAA,EAAY,QAAQ,IAAIe,EAAE;AAAA,cAAA,oBAAeA,CAAC,GAAA;AAAA,2BAC7G,MAAsD;AAAA,kBAA1CjB,EAAM,SAAlBkB,EAAsDC,EAAA,QAAA,UAAA;AAAA;oBAAb,QAAQF;AAAA,kBAAA;;;;;;uBAIvDT,EAAA,GAAAC,EAEWC,MAFXK,EAEW;AAAA;;aAFcR,GAAM;AAAA,YAAG,KAAKG,EAAAR,CAAA,EAAY,WAAWK,EAAOG,EAAAR,CAAA,EAAY,QAAQ,IAAIK,EAAO;AAAA,UAAA;uBAClG,MAA2D;AAAA,cAA/CP,EAAM,SAAlBkB,EAA2DC,EAAA,QAAA,UAAA;AAAA;gBAAlB,QAAAZ;AAAA,cAAA;;;;;;;;MAG7BP,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxCkB,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAwC;AAAA,UAAxCkB,EAAwCC,EAAA,QAAA,UAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEtBJ,EAAM;cAAS;AAAA,cAC7B,MAAsB;AAAA,UAAtBkB,EAAsBC,EAAA,QAAA,QAAA;AAAA,QAAA;;;MAERnB,EAAM;cAAQ;AAAA,cAC5B,MAAqB;AAAA,UAArBkB,EAAqBC,EAAA,QAAA,OAAA;AAAA,QAAA;;;MAEPnB,EAAM;cAAM;AAAA,cAC1B,MAAqC;AAAA,UAArCkB,EAAqCC,EAAA,QAAA,OAAA,EAAnB,OAAOT,EAAAN,CAAA,EAAA,CAAQ;AAAA,QAAA;;;MAEnBJ,EAAM;cAAU;AAAA,cAC9B,MAAuB;AAAA,UAAvBkB,EAAuBC,EAAA,QAAA,SAAA;AAAA,QAAA;;;MAETnB,EAAM;cAAQ;AAAA,cAC5B,CAAwD,EADnB,OAAAoB,GAAK,OAASC,QAAU;AAAA,UAC7DH,EAAwDC,EAAA,QAAA,SAAA;AAAA,YAApC,OAAAC;AAAA,YAAe,OAAOC;AAAA,UAAA;;;;;;ICpEnCC,IAASC;AAAA,EACpBC;AAAAA,EACAC,EAAS,EAAE,YAAY,WAAW,SAAS,IAAM,UAAU,IAAM;AAAA,EACjEC,EAAcC,EAAY,MAAM;AAClC;"}
|
|
@@ -2,9 +2,12 @@ import { useField as W, connect as z, mapProps as G } from "@silver-formily/vue"
|
|
|
2
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
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
5
|
+
import { stylePrefix as x } from "../__builtins__/configs/index.mjs";
|
|
6
|
+
import "@silver-formily/reactive-vue";
|
|
7
|
+
import "@vueuse/core";
|
|
8
|
+
import { lt as K } from "../__builtins__/shared/simple-version-compare.mjs";
|
|
9
|
+
import "@formily/core";
|
|
10
|
+
import { u as L, x as de, d as me, a as fe, r as pe } from "../vendor/lodash.mjs";
|
|
8
11
|
import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
9
12
|
name: "FSelectTable",
|
|
10
13
|
inheritAttrs: !1,
|
|
@@ -28,7 +31,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
28
31
|
setup(B, { emit: D }) {
|
|
29
32
|
const e = B, c = D, _ = re(), q = W();
|
|
30
33
|
function F(l) {
|
|
31
|
-
return
|
|
34
|
+
return K(E, "2.6.0") ? { label: l } : { value: l };
|
|
32
35
|
}
|
|
33
36
|
const d = g(), t = e.rowKey;
|
|
34
37
|
function M() {
|
|
@@ -42,7 +45,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
42
45
|
R(
|
|
43
46
|
() => e.dataSource,
|
|
44
47
|
async () => {
|
|
45
|
-
const l =
|
|
48
|
+
const l = L(
|
|
46
49
|
u.value.map((a) => a[t])
|
|
47
50
|
);
|
|
48
51
|
await v();
|
|
@@ -87,7 +90,7 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
87
90
|
[...u.value, ...l],
|
|
88
91
|
(r, o) => r[t] === o[t]
|
|
89
92
|
), a.length > 0) {
|
|
90
|
-
const r =
|
|
93
|
+
const r = L(a.map((o) => o[t]));
|
|
91
94
|
pe(u.value, (o) => r.includes(o[t]));
|
|
92
95
|
}
|
|
93
96
|
if (e.optionAsValue)
|
|
@@ -119,16 +122,16 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
119
122
|
return e.selectable && ae(e.selectable) ? e.selectable(l, a, q.value) : !0;
|
|
120
123
|
}
|
|
121
124
|
return (l, a) => (s(), S("div", {
|
|
122
|
-
class: A(`${n(
|
|
125
|
+
class: A(`${n(x)}-select-table`)
|
|
123
126
|
}, [
|
|
124
127
|
k.value > 0 && e.showAlertToolbar ? (s(), S("div", {
|
|
125
128
|
key: 0,
|
|
126
|
-
class: A(`${n(
|
|
129
|
+
class: A(`${n(x)}-select-table-alert-container`)
|
|
127
130
|
}, [
|
|
128
131
|
J("span", null, "已选择 " + Q(k.value) + " 项", 1),
|
|
129
132
|
V(n(ne), {
|
|
130
133
|
type: "primary",
|
|
131
|
-
underline: n(
|
|
134
|
+
underline: n(K)(n(E), "2.9.9") ? !1 : "never",
|
|
132
135
|
style: { "margin-left": "8px" },
|
|
133
136
|
onClick: $
|
|
134
137
|
}, {
|
|
@@ -190,12 +193,12 @@ import '../styles/select-table/index.css';const ye = /* @__PURE__ */ U({
|
|
|
190
193
|
])
|
|
191
194
|
], 2));
|
|
192
195
|
}
|
|
193
|
-
}),
|
|
196
|
+
}), Ae = z(
|
|
194
197
|
ye,
|
|
195
198
|
G({ dataSource: "dataSource", loading: "loading" })
|
|
196
199
|
);
|
|
197
200
|
export {
|
|
198
|
-
|
|
199
|
-
|
|
201
|
+
Ae as SelectTable,
|
|
202
|
+
Ae as default
|
|
200
203
|
};
|
|
201
204
|
//# sourceMappingURL=index.mjs.map
|