@silver-formily/element-plus 3.0.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/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.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.map +1 -1
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +63 -59
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.mjs +37 -31
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +36 -33
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +39 -37
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-collapse/utils.mjs +9 -2
- package/esm/array-collapse/utils.mjs.map +1 -1
- package/esm/array-items/index.mjs +38 -34
- package/esm/array-items/index.mjs.map +1 -1
- package/esm/array-list-tabs/index.mjs +38 -36
- package/esm/array-list-tabs/index.mjs.map +1 -1
- package/esm/array-list-tabs/utils.mjs +12 -5
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/index.mjs +62 -60
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-table/utils.mjs +18 -11
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +28 -25
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/index.mjs +22 -18
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +22 -18
- package/esm/cascader/index.mjs.map +1 -1
- package/esm/checkbox/index.mjs +20 -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 +33 -30
- 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 +18 -14
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-button-group/utils.mjs +9 -2
- package/esm/form-button-group/utils.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +21 -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 +21 -18
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.mjs +55 -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 +14 -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 +30 -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 +25 -23
- 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 +30 -26
- 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 +20 -16
- package/esm/input-tag/index.mjs.map +1 -1
- package/esm/mention/index.mjs +24 -20
- 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 +31 -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 +51 -48
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form-item/index.mjs +37 -34
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/radio/index.mjs +29 -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 +16 -12
- package/esm/segmented/index.mjs.map +1 -1
- package/esm/select/index.mjs +26 -22
- package/esm/select/index.mjs.map +1 -1
- package/esm/select-table/index.mjs +16 -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.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 +33 -29
- package/esm/tree/index.mjs.map +1 -1
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +18 -14
- package/esm/tree-select/index.mjs.map +1 -1
- package/esm/upload/index.mjs +10 -7
- package/esm/upload/index.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/query-form/query-form-light.vue","../../src/query-form/query-form.vue","../../src/query-form/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Form } from '@formily/core'\r\nimport type { IQueryFormLightProps } from './types'\r\nimport { reaction, toJS } from '@formily/reactive'\r\nimport { useFieldSchema, useForm } from '@silver-formily/vue'\r\nimport { throttle } from 'lodash-es'\r\nimport { computed, onUnmounted, useSlots } from 'vue'\r\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\r\nimport { Form as FForm } from '../form'\r\nimport { useQueryFormForm, useQueryFormSchemaField } from './hooks'\r\n\r\ndefineOptions({\r\n name: 'FQueryFormLight',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<IQueryFormLightProps>(), {\r\n components: () => ({}),\r\n throttleWait: 300,\r\n})\r\nconst emit = defineEmits<{\r\n (e: 'autoSubmit', values: Form['values']): void\r\n (e: 'autoSubmitFailed', error: any): void\r\n}>()\r\n\r\nconst { props: formProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\r\nconst slots = useSlots()\r\nconst formRef = useForm()\r\nconst fieldSchemaRef = useFieldSchema()\r\nconst prefixCls = `${stylePrefix}-query-form-light`\r\n\r\nconst { externalForm, activeForm } = useQueryFormForm({\r\n formProps,\r\n fallbackForm: formRef,\r\n})\r\nconst resolvedSchema = computed(() => props.schema ?? fieldSchemaRef.value)\r\n\r\nconst innerFormProps = computed(() => ({\r\n fullness: false,\r\n ...formProps.value,\r\n form: externalForm.value,\r\n}))\r\n\r\nfunction submitByChange() {\r\n const form = activeForm.value\r\n form\r\n .submit((values) => {\r\n emit('autoSubmit', values)\r\n return formProps.value.onAutoSubmit?.(values)\r\n })\r\n .catch((error) => {\r\n emit('autoSubmitFailed', error)\r\n formProps.value.onAutoSubmitFailed?.(error)\r\n })\r\n}\r\n\r\nconst triggerSubmit = throttle(() => {\r\n submitByChange()\r\n}, props.throttleWait, {\r\n leading: false,\r\n trailing: true,\r\n})\r\n\r\nconst dispose = reaction(() => {\r\n const form = activeForm.value\r\n if (!form)\r\n return\r\n return toJS(form.values)\r\n}, () => {\r\n triggerSubmit()\r\n})\r\n\r\nonUnmounted(() => {\r\n dispose()\r\n triggerSubmit.cancel()\r\n})\r\n\r\nconst { hasDefaultSlot, schemaField } = useQueryFormSchemaField({\r\n slots,\r\n schema: resolvedSchema,\r\n schemaField: computed(() => props.schemaField),\r\n components: computed(() => props.components),\r\n})\r\n</script>\r\n\r\n<template>\r\n <FForm v-bind=\"innerFormProps\" :class=\"prefixCls\">\r\n <div :class=\"`${prefixCls}__content`\">\r\n <slot v-if=\"hasDefaultSlot\" />\r\n <component\r\n :is=\"schemaField\"\r\n v-else-if=\"schemaField\"\r\n :schema=\"resolvedSchema\"\r\n />\r\n </div>\r\n </FForm>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ISchema } from '@formily/json-schema'\nimport type { Grid, GridNode, IGridOptions } from '@silver-formily/grid'\nimport type { IQueryFormProps, SchemaEntry } from './types'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { Schema } from '@formily/json-schema'\nimport { autorun } from '@formily/reactive'\nimport { createGrid } from '@silver-formily/grid'\nimport { useFieldSchema, useForm } from '@silver-formily/vue'\nimport { ElIcon, ElLink } from 'element-plus'\nimport { computed, onUnmounted, ref, useSlots } from 'vue'\nimport { compatibleUnderlineProp, stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { Form } from '../form'\nimport { FormButtonGroup } from '../form-button-group'\nimport { FormGrid } from '../form-grid'\nimport { Reset } from '../reset'\nimport { Submit } from '../submit'\nimport { useQueryFormForm, useQueryFormSchemaField } from './hooks'\n\r\ndefineOptions({\r\n name: 'FQueryForm',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = withDefaults(defineProps<IQueryFormProps>(), {\r\n components: () => ({}),\r\n gridProps: () => ({}),\r\n defaultExpanded: false,\r\n showToggle: true,\r\n actionsAtRowEnd: false,\r\n submitText: '查询',\r\n resetText: '重置',\r\n expandText: '展开',\r\n collapseText: '收起',\r\n showSubmit: true,\r\n showReset: true,\r\n})\r\n\r\nconst { props: formProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\r\nconst slots = useSlots()\r\nconst prefixCls = `${stylePrefix}-query-form`\r\nconst FormGridColumn = FormGrid.GridColumn\r\n\r\nconst COLLAPSED_ROWS = 1\r\nconst fieldSchemaRef = useFieldSchema()\r\nconst formRef = useForm()\r\nconst { externalForm, activeForm } = useQueryFormForm({\r\n formProps,\r\n fallbackForm: formRef,\r\n})\r\nconst innerFormProps = computed(() => ({\r\n fullness: true,\r\n ...formProps.value,\r\n form: externalForm.value,\r\n}))\r\n\r\nconst schemaList = computed<SchemaEntry[]>(() => {\r\n const rawSchema = props.schema ?? fieldSchemaRef.value\r\n /* istanbul ignore next -- @preserve defensive: schema can be temporarily absent in external field-schema lifecycle */\r\n if (!rawSchema)\r\n return []\r\n const schema = rawSchema instanceof Schema ? rawSchema : new Schema(rawSchema)\r\n return schema.mapProperties((childSchema: ISchema, name: string | number) => ({\r\n name,\r\n schema: childSchema,\r\n }))\r\n})\r\n\r\nfunction resolveField(name?: string | number) {\r\n return activeForm.value?.query(name).take()\r\n}\r\n\r\nfunction createVisibleContext(\r\n node: GridNode,\r\n grid: Grid<HTMLElement>,\r\n collapsedOverride?: boolean,\r\n) {\r\n const index = node.index ?? 0\r\n const entry = schemaList.value[index]\r\n const schema = entry?.schema\r\n const name = entry?.name ?? schema?.name\r\n return {\r\n field: resolveField(name),\r\n schema,\r\n index,\r\n node,\r\n grid,\r\n collapsed: collapsedOverride ?? grid.maxRows !== Infinity,\r\n breakpoint: grid.breakpoint,\r\n }\r\n}\r\n\r\nfunction defaultVisibleWhen(context: ReturnType<typeof createVisibleContext>) {\r\n if (!context.collapsed)\r\n return true\r\n\r\n const shadowRow = context.node.shadowRow ?? 0\r\n const withinRows = shadowRow < COLLAPSED_ROWS + 1\r\n if (!withinRows)\r\n return false\r\n\r\n const isCollapsible = getFieldRowCount(context.grid) > COLLAPSED_ROWS\r\n if (!isCollapsible)\r\n return true\r\n const shadowColumn = context.node.shadowColumn ?? 1\r\n const span = context.node.span ?? 1\r\n const endColumn = shadowColumn + span - 1\r\n if (shadowRow === COLLAPSED_ROWS && endColumn === context.grid.columns)\r\n return false\r\n\r\n return true\r\n}\r\n\r\nfunction resolveVisibleWhen(context: ReturnType<typeof createVisibleContext>) {\r\n const visible = props.visibleWhen\r\n ? props.visibleWhen(context)\r\n : defaultVisibleWhen(context)\r\n return visible !== false\r\n}\r\n\r\nfunction isActionsNode(node: GridNode, grid: Grid<HTMLElement>) {\r\n if ('element' in node && node.element) {\r\n return node.element.dataset.queryFormActions !== undefined\r\n }\r\n return node.index === grid.childSize - 1\r\n}\r\n\r\nfunction getFieldRowCount(grid: Grid<HTMLElement>) {\r\n const rows = (grid.children ?? [])\r\n .filter(node => !isActionsNode(node, grid))\r\n .map(node => node.shadowRow ?? 0)\r\n return new Set(rows).size\r\n}\r\n\r\nconst defaultShouldVisible: IGridOptions['shouldVisible'] = (node, grid) => {\r\n if (isActionsNode(node, grid))\r\n return true\r\n return resolveVisibleWhen(createVisibleContext(node, grid))\r\n}\r\n\r\nconst restGridProps = props.gridProps ?? {}\r\nconst defaultGridProps: Partial<IGridOptions> = restGridProps.minColumns === undefined && restGridProps.maxColumns === undefined\r\n ? { maxColumns: 4 }\r\n : {}\r\n\r\nconst gridOptions: IGridOptions = {\n ...defaultGridProps,\n ...restGridProps,\n maxRows: (props.defaultExpanded || !props.showToggle) ? Infinity : COLLAPSED_ROWS,\n shouldVisible: defaultShouldVisible,\n}\n\nconst grid = createGrid(gridOptions)\n\r\nconst expanded = ref(grid.maxRows === Infinity)\r\nconst gridType = ref<'incomplete-wrap' | 'collapsible' | 'complete-wrap'>('complete-wrap')\r\n\r\nfunction updateType() {\r\n if (!props.showToggle) {\r\n gridType.value = 'incomplete-wrap'\r\n return\r\n }\r\n\r\n if (!props.visibleWhen) {\r\n gridType.value = getFieldRowCount(grid) > COLLAPSED_ROWS\r\n ? 'collapsible'\r\n : 'incomplete-wrap'\r\n return\r\n }\r\n\r\n const nodes = grid.children ?? []\r\n const hasHiddenInCollapsed = nodes.some((node) => {\r\n if (isActionsNode(node, grid))\r\n return false\r\n return !resolveVisibleWhen(createVisibleContext(node, grid, true))\r\n })\r\n /* istanbul ignore next -- @preserve layout branch depends on runtime grid measurement in browser */\r\n if (hasHiddenInCollapsed) {\r\n gridType.value = 'collapsible'\r\n return\r\n }\r\n const realRows = grid.shadowRows\r\n gridType.value = realRows < COLLAPSED_ROWS + 1 ? 'incomplete-wrap' : 'complete-wrap'\r\n}\r\n\r\nconst dispose = autorun(() => {\r\n expanded.value = grid.maxRows === Infinity\r\n updateType()\r\n})\r\n\r\nonUnmounted(dispose)\r\n\r\nfunction toggle() {\r\n if (!props.showToggle)\r\n return\r\n grid.maxRows = grid.maxRows === Infinity ? COLLAPSED_ROWS : Infinity\r\n}\r\n\r\nconst { hasDefaultSlot, schemaField } = useQueryFormSchemaField({\r\n slots,\r\n schema: computed(() => props.schema),\r\n schemaField: computed(() => props.schemaField),\r\n components: computed(() => props.components),\r\n scope: computed(() => props.scope),\r\n})\r\n</script>\r\n\r\n<template>\r\n <Form v-bind=\"innerFormProps\" :class=\"prefixCls\">\r\n <FormGrid :grid=\"grid\">\r\n <slot v-if=\"hasDefaultSlot\" />\r\n <component\r\n :is=\"schemaField\"\r\n v-else-if=\"schemaField\"\r\n :schema=\"props.schema\"\r\n />\r\n <FormGridColumn\r\n :grid-span=\"-1\"\r\n data-query-form-actions\r\n :class=\"[\r\n `${prefixCls}__actions`,\r\n props.actionsAtRowEnd && `${prefixCls}__actions--row-end`,\r\n ]\"\r\n >\r\n <template v-if=\"gridType === 'incomplete-wrap'\">\r\n <FormButtonGroup\r\n :align=\"props.actionsAtRowEnd ? 'right' : 'left'\"\r\n align-form-item\r\n inline\r\n :style=\"props.actionsAtRowEnd && { width: '100%' }\"\r\n >\r\n <slot\r\n name=\"actions\"\r\n :expanded=\"expanded\"\r\n :toggle=\"toggle\"\r\n :type=\"gridType\"\r\n >\r\n <Submit v-if=\"props.showSubmit\" v-bind=\"props.submitProps\">\r\n {{ props.submitText }}\r\n </Submit>\r\n <Reset v-if=\"props.showReset\" v-bind=\"props.resetProps\">\r\n {{ props.resetText }}\r\n </Reset>\r\n </slot>\r\n </FormButtonGroup>\r\n </template>\r\n <template v-else-if=\"gridType === 'collapsible' && props.showToggle\">\r\n <FormButtonGroup\r\n :align=\"props.actionsAtRowEnd ? 'right' : 'left'\"\r\n align-form-item\r\n inline\r\n :style=\"props.actionsAtRowEnd && { width: '100%' }\"\r\n >\r\n <slot\r\n name=\"actions\"\r\n :expanded=\"expanded\"\r\n :toggle=\"toggle\"\r\n :type=\"gridType\"\r\n >\r\n <Submit v-if=\"props.showSubmit\" v-bind=\"props.submitProps\">\r\n {{ props.submitText }}\r\n </Submit>\r\n <Reset v-if=\"props.showReset\" v-bind=\"props.resetProps\">\r\n {{ props.resetText }}\r\n </Reset>\r\n </slot>\r\n <slot\r\n name=\"collapse\"\r\n :expanded=\"expanded\"\r\n :toggle=\"toggle\"\r\n :type=\"gridType\"\r\n >\r\n <ElLink\r\n type=\"primary\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n :class=\"`${prefixCls}__collapse-link`\"\r\n @click=\"toggle\"\r\n >\r\n {{ expanded ? props.collapseText : props.expandText }}\r\n <ElIcon :class=\"`${prefixCls}__collapse-icon`\">\r\n <ArrowUp v-if=\"expanded\" />\r\n <ArrowDown v-else />\r\n </ElIcon>\r\n </ElLink>\r\n </slot>\r\n </FormButtonGroup>\r\n </template>\r\n <template v-else>\r\n <FormButtonGroup\r\n align=\"right\"\r\n inline\r\n style=\"display: flex; width: 100%;\"\r\n >\r\n <slot\r\n name=\"actions\"\r\n :expanded=\"expanded\"\r\n :toggle=\"toggle\"\r\n :type=\"gridType\"\r\n >\r\n <Submit v-if=\"props.showSubmit\" v-bind=\"props.submitProps\">\r\n {{ props.submitText }}\r\n </Submit>\r\n <Reset v-if=\"props.showReset\" v-bind=\"props.resetProps\">\r\n {{ props.resetText }}\r\n </Reset>\r\n </slot>\r\n </FormButtonGroup>\r\n </template>\r\n </FormGridColumn>\r\n </FormGrid>\r\n </Form>\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport QueryFormLightInner from './query-form-light.vue'\r\nimport QueryFormInner from './query-form.vue'\r\nimport './style.scss'\r\n\r\nexport type { IQueryFormLightProps, IQueryFormProps, QueryFormVisible, QueryFormVisibleContext } from './types'\r\n\r\nexport const QueryForm = composeExport(QueryFormInner, {\r\n Light: QueryFormLightInner,\r\n})\r\n\r\nexport default QueryForm\r\n"],"names":["props","__props","emit","__emit","formProps","useCleanAttrs","slots","useSlots","formRef","useForm","fieldSchemaRef","useFieldSchema","prefixCls","stylePrefix","externalForm","activeForm","useQueryFormForm","resolvedSchema","computed","innerFormProps","submitByChange","values","error","triggerSubmit","throttle","dispose","reaction","form","toJS","onUnmounted","hasDefaultSlot","schemaField","useQueryFormSchemaField","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_renderSlot","_ctx","_resolveDynamicComponent","COLLAPSED_ROWS","FormGridColumn","FormGrid","schemaList","rawSchema","Schema","childSchema","name","resolveField","createVisibleContext","node","grid","collapsedOverride","index","entry","schema","defaultVisibleWhen","context","shadowRow","getFieldRowCount","shadowColumn","span","endColumn","resolveVisibleWhen","isActionsNode","rows","defaultShouldVisible","restGridProps","gridOptions","createGrid","expanded","ref","gridType","updateType","realRows","autorun","toggle","_createVNode","_normalizeClass","FormButtonGroup","_normalizeStyle","Submit","_normalizeProps","_createTextVNode","_toDisplayString","Reset","ElLink","compatibleUnderlineProp","ElIcon","ArrowUp","ArrowDown","QueryForm","composeExport","QueryFormInner","QueryFormLightInner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/query-form/query-form-light.vue","../../src/query-form/query-form.vue","../../src/query-form/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { IQueryFormLightProps } from './types'\nimport { reaction, toJS } from '@formily/reactive'\nimport { useFieldSchema, useForm } from '@silver-formily/vue'\nimport { throttle } from 'lodash-es'\nimport { computed, onUnmounted, useSlots } from 'vue'\nimport { stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { Form as FForm } from '../form'\nimport { useQueryFormForm, useQueryFormSchemaField } from './hooks'\n\ndefineOptions({\n name: 'FQueryFormLight',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IQueryFormLightProps>(), {\n components: () => ({}),\n throttleWait: 300,\n})\nconst emit = defineEmits<{\n (e: 'autoSubmit', values: Form['values']): void\n (e: 'autoSubmitFailed', error: any): void\n}>()\n\nconst { props: formProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\nconst slots = useSlots()\nconst formRef = useForm()\nconst fieldSchemaRef = useFieldSchema()\nconst prefixCls = `${stylePrefix}-query-form-light`\n\nconst { externalForm, activeForm } = useQueryFormForm({\n formProps,\n fallbackForm: formRef,\n})\nconst resolvedSchema = computed(() => props.schema ?? fieldSchemaRef.value)\n\nconst innerFormProps = computed(() => ({\n fullness: false,\n ...formProps.value,\n form: externalForm.value,\n}))\n\nfunction submitByChange() {\n const form = activeForm.value\n form\n .submit((values) => {\n emit('autoSubmit', values)\n return formProps.value.onAutoSubmit?.(values)\n })\n .catch((error) => {\n emit('autoSubmitFailed', error)\n formProps.value.onAutoSubmitFailed?.(error)\n })\n}\n\nconst triggerSubmit = throttle(() => {\n submitByChange()\n}, props.throttleWait, {\n leading: false,\n trailing: true,\n})\n\nconst dispose = reaction(() => {\n const form = activeForm.value\n if (!form)\n return\n return toJS(form.values)\n}, () => {\n triggerSubmit()\n})\n\nonUnmounted(() => {\n dispose()\n triggerSubmit.cancel()\n})\n\nconst { hasDefaultSlot, schemaField } = useQueryFormSchemaField({\n slots,\n schema: resolvedSchema,\n schemaField: computed(() => props.schemaField),\n components: computed(() => props.components),\n})\n</script>\n\n<template>\n <FForm v-bind=\"innerFormProps\" :class=\"prefixCls\">\n <div :class=\"`${prefixCls}__content`\">\n <slot v-if=\"hasDefaultSlot\" />\n <component\n :is=\"schemaField\"\n v-else-if=\"schemaField\"\n :schema=\"resolvedSchema\"\n />\n </div>\n </FForm>\n</template>\n","<script setup lang=\"ts\">\nimport type { ISchema } from '@formily/json-schema'\nimport type { Grid, GridNode, IGridOptions } from '@silver-formily/grid'\nimport type { IQueryFormProps, SchemaEntry } from './types'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { Schema } from '@formily/json-schema'\nimport { autorun } from '@formily/reactive'\nimport { createGrid } from '@silver-formily/grid'\nimport { useFieldSchema, useForm } from '@silver-formily/vue'\nimport { ElIcon, ElLink } from 'element-plus'\nimport { computed, onUnmounted, ref, useSlots } from 'vue'\nimport { compatibleUnderlineProp, stylePrefix, useCleanAttrs } from '../__builtins__'\nimport { Form } from '../form'\nimport { FormButtonGroup } from '../form-button-group'\nimport { FormGrid } from '../form-grid'\nimport { Reset } from '../reset'\nimport { Submit } from '../submit'\nimport { useQueryFormForm, useQueryFormSchemaField } from './hooks'\n\ndefineOptions({\n name: 'FQueryForm',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<IQueryFormProps>(), {\n components: () => ({}),\n gridProps: () => ({}),\n defaultExpanded: false,\n showToggle: true,\n actionsAtRowEnd: false,\n submitText: '查询',\n resetText: '重置',\n expandText: '展开',\n collapseText: '收起',\n showSubmit: true,\n showReset: true,\n})\n\nconst { props: formProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\nconst slots = useSlots()\nconst prefixCls = `${stylePrefix}-query-form`\nconst FormGridColumn = FormGrid.GridColumn\n\nconst COLLAPSED_ROWS = 1\nconst fieldSchemaRef = useFieldSchema()\nconst formRef = useForm()\nconst { externalForm, activeForm } = useQueryFormForm({\n formProps,\n fallbackForm: formRef,\n})\nconst innerFormProps = computed(() => ({\n fullness: true,\n ...formProps.value,\n form: externalForm.value,\n}))\n\nconst schemaList = computed<SchemaEntry[]>(() => {\n const rawSchema = props.schema ?? fieldSchemaRef.value\n /* istanbul ignore next -- @preserve defensive: schema can be temporarily absent in external field-schema lifecycle */\n if (!rawSchema)\n return []\n const schema = rawSchema instanceof Schema ? rawSchema : new Schema(rawSchema)\n return schema.mapProperties((childSchema: ISchema, name: string | number) => ({\n name,\n schema: childSchema,\n }))\n})\n\nfunction resolveField(name?: string | number) {\n return activeForm.value?.query(name).take()\n}\n\nfunction createVisibleContext(\n node: GridNode,\n grid: Grid<HTMLElement>,\n collapsedOverride?: boolean,\n) {\n const index = node.index ?? 0\n const entry = schemaList.value[index]\n const schema = entry?.schema\n const name = entry?.name ?? schema?.name\n return {\n field: resolveField(name),\n schema,\n index,\n node,\n grid,\n collapsed: collapsedOverride ?? grid.maxRows !== Infinity,\n breakpoint: grid.breakpoint,\n }\n}\n\nfunction defaultVisibleWhen(context: ReturnType<typeof createVisibleContext>) {\n if (!context.collapsed)\n return true\n\n const shadowRow = context.node.shadowRow ?? 0\n const withinRows = shadowRow < COLLAPSED_ROWS + 1\n if (!withinRows)\n return false\n\n const isCollapsible = getFieldRowCount(context.grid) > COLLAPSED_ROWS\n if (!isCollapsible)\n return true\n const shadowColumn = context.node.shadowColumn ?? 1\n const span = context.node.span ?? 1\n const endColumn = shadowColumn + span - 1\n if (shadowRow === COLLAPSED_ROWS && endColumn === context.grid.columns)\n return false\n\n return true\n}\n\nfunction resolveVisibleWhen(context: ReturnType<typeof createVisibleContext>) {\n const visible = props.visibleWhen\n ? props.visibleWhen(context)\n : defaultVisibleWhen(context)\n return visible !== false\n}\n\nfunction isActionsNode(node: GridNode, grid: Grid<HTMLElement>) {\n if ('element' in node && node.element) {\n return node.element.dataset.queryFormActions !== undefined\n }\n return node.index === grid.childSize - 1\n}\n\nfunction getFieldRowCount(grid: Grid<HTMLElement>) {\n const rows = (grid.children ?? [])\n .filter(node => !isActionsNode(node, grid))\n .map(node => node.shadowRow ?? 0)\n return new Set(rows).size\n}\n\nconst defaultShouldVisible: IGridOptions['shouldVisible'] = (node, grid) => {\n if (isActionsNode(node, grid))\n return true\n return resolveVisibleWhen(createVisibleContext(node, grid))\n}\n\nconst restGridProps = props.gridProps ?? {}\nconst defaultGridProps: Partial<IGridOptions> = restGridProps.minColumns === undefined && restGridProps.maxColumns === undefined\n ? { maxColumns: 4 }\n : {}\n\nconst gridOptions: IGridOptions = {\n ...defaultGridProps,\n ...restGridProps,\n maxRows: (props.defaultExpanded || !props.showToggle) ? Infinity : COLLAPSED_ROWS,\n shouldVisible: defaultShouldVisible,\n}\n\nconst grid = createGrid(gridOptions)\n\nconst expanded = ref(grid.maxRows === Infinity)\nconst gridType = ref<'incomplete-wrap' | 'collapsible' | 'complete-wrap'>('complete-wrap')\n\nfunction updateType() {\n if (!props.showToggle) {\n gridType.value = 'incomplete-wrap'\n return\n }\n\n if (!props.visibleWhen) {\n gridType.value = getFieldRowCount(grid) > COLLAPSED_ROWS\n ? 'collapsible'\n : 'incomplete-wrap'\n return\n }\n\n const nodes = grid.children ?? []\n const hasHiddenInCollapsed = nodes.some((node) => {\n if (isActionsNode(node, grid))\n return false\n return !resolveVisibleWhen(createVisibleContext(node, grid, true))\n })\n /* istanbul ignore next -- @preserve layout branch depends on runtime grid measurement in browser */\n if (hasHiddenInCollapsed) {\n gridType.value = 'collapsible'\n return\n }\n const realRows = grid.shadowRows\n gridType.value = realRows < COLLAPSED_ROWS + 1 ? 'incomplete-wrap' : 'complete-wrap'\n}\n\nconst dispose = autorun(() => {\n expanded.value = grid.maxRows === Infinity\n updateType()\n})\n\nonUnmounted(dispose)\n\nfunction toggle() {\n if (!props.showToggle)\n return\n grid.maxRows = grid.maxRows === Infinity ? COLLAPSED_ROWS : Infinity\n}\n\nconst { hasDefaultSlot, schemaField } = useQueryFormSchemaField({\n slots,\n schema: computed(() => props.schema),\n schemaField: computed(() => props.schemaField),\n components: computed(() => props.components),\n scope: computed(() => props.scope),\n})\n</script>\n\n<template>\n <Form v-bind=\"innerFormProps\" :class=\"prefixCls\">\n <FormGrid :grid=\"grid\">\n <slot v-if=\"hasDefaultSlot\" />\n <component\n :is=\"schemaField\"\n v-else-if=\"schemaField\"\n :schema=\"props.schema\"\n />\n <FormGridColumn\n :grid-span=\"-1\"\n data-query-form-actions\n :class=\"[\n `${prefixCls}__actions`,\n props.actionsAtRowEnd && `${prefixCls}__actions--row-end`,\n ]\"\n >\n <template v-if=\"gridType === 'incomplete-wrap'\">\n <FormButtonGroup\n :align=\"props.actionsAtRowEnd ? 'right' : 'left'\"\n align-form-item\n inline\n :style=\"props.actionsAtRowEnd && { width: '100%' }\"\n >\n <slot\n name=\"actions\"\n :expanded=\"expanded\"\n :toggle=\"toggle\"\n :type=\"gridType\"\n >\n <Submit v-if=\"props.showSubmit\" v-bind=\"props.submitProps\">\n {{ props.submitText }}\n </Submit>\n <Reset v-if=\"props.showReset\" v-bind=\"props.resetProps\">\n {{ props.resetText }}\n </Reset>\n </slot>\n </FormButtonGroup>\n </template>\n <template v-else-if=\"gridType === 'collapsible' && props.showToggle\">\n <FormButtonGroup\n :align=\"props.actionsAtRowEnd ? 'right' : 'left'\"\n align-form-item\n inline\n :style=\"props.actionsAtRowEnd && { width: '100%' }\"\n >\n <slot\n name=\"actions\"\n :expanded=\"expanded\"\n :toggle=\"toggle\"\n :type=\"gridType\"\n >\n <Submit v-if=\"props.showSubmit\" v-bind=\"props.submitProps\">\n {{ props.submitText }}\n </Submit>\n <Reset v-if=\"props.showReset\" v-bind=\"props.resetProps\">\n {{ props.resetText }}\n </Reset>\n </slot>\n <slot\n name=\"collapse\"\n :expanded=\"expanded\"\n :toggle=\"toggle\"\n :type=\"gridType\"\n >\n <ElLink\n type=\"primary\"\n :underline=\"compatibleUnderlineProp()\"\n :class=\"`${prefixCls}__collapse-link`\"\n @click=\"toggle\"\n >\n {{ expanded ? props.collapseText : props.expandText }}\n <ElIcon :class=\"`${prefixCls}__collapse-icon`\">\n <ArrowUp v-if=\"expanded\" />\n <ArrowDown v-else />\n </ElIcon>\n </ElLink>\n </slot>\n </FormButtonGroup>\n </template>\n <template v-else>\n <FormButtonGroup\n align=\"right\"\n inline\n style=\"display: flex; width: 100%;\"\n >\n <slot\n name=\"actions\"\n :expanded=\"expanded\"\n :toggle=\"toggle\"\n :type=\"gridType\"\n >\n <Submit v-if=\"props.showSubmit\" v-bind=\"props.submitProps\">\n {{ props.submitText }}\n </Submit>\n <Reset v-if=\"props.showReset\" v-bind=\"props.resetProps\">\n {{ props.resetText }}\n </Reset>\n </slot>\n </FormButtonGroup>\n </template>\n </FormGridColumn>\n </FormGrid>\n </Form>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport QueryFormLightInner from './query-form-light.vue'\nimport QueryFormInner from './query-form.vue'\nimport './style.scss'\n\nexport type { IQueryFormLightProps, IQueryFormProps, QueryFormVisible, QueryFormVisibleContext } from './types'\n\nexport const QueryForm = composeExport(QueryFormInner, {\n Light: QueryFormLightInner,\n})\n\nexport default QueryForm\n"],"names":["props","__props","emit","__emit","formProps","useCleanAttrs","slots","useSlots","formRef","useForm","fieldSchemaRef","useFieldSchema","prefixCls","stylePrefix","externalForm","activeForm","useQueryFormForm","resolvedSchema","computed","innerFormProps","submitByChange","values","error","triggerSubmit","throttle","dispose","reaction","form","toJS","onUnmounted","hasDefaultSlot","schemaField","useQueryFormSchemaField","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_renderSlot","_ctx","_resolveDynamicComponent","COLLAPSED_ROWS","FormGridColumn","FormGrid","schemaList","rawSchema","Schema","childSchema","name","resolveField","createVisibleContext","node","grid","collapsedOverride","index","entry","schema","defaultVisibleWhen","context","shadowRow","getFieldRowCount","shadowColumn","span","endColumn","resolveVisibleWhen","isActionsNode","rows","defaultShouldVisible","restGridProps","gridOptions","createGrid","expanded","ref","gridType","updateType","realRows","autorun","toggle","_createVNode","_normalizeClass","FormButtonGroup","_normalizeStyle","Submit","_normalizeProps","_createTextVNode","_toDisplayString","Reset","ElLink","compatibleUnderlineProp","ElIcon","ArrowUp","ArrowDown","QueryForm","composeExport","QueryFormInner","QueryFormLightInner"],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
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
|
|
11
|
-
import
|
|
7
|
+
import { stylePrefix as R } from "../__builtins__/configs/index.mjs";
|
|
8
|
+
import "@formily/reactive";
|
|
9
|
+
import "@vueuse/core";
|
|
10
|
+
import "@silver-formily/reactive-vue";
|
|
11
|
+
import { useCleanAttrs as ee } from "../__builtins__/shared/utils.mjs";
|
|
12
|
+
import { QueryForm as k } from "../query-form/index.mjs";
|
|
13
|
+
import { useQueryFormForm as te } from "../query-form/hooks.mjs";
|
|
14
|
+
import '../styles/query-form-item/index.css';const re = /* @__PURE__ */ E({
|
|
12
15
|
name: "FQueryFormItem",
|
|
13
16
|
inheritAttrs: !1,
|
|
14
17
|
__name: "query-form-item",
|
|
@@ -46,7 +49,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
46
49
|
},
|
|
47
50
|
emits: ["requestSuccess", "requestFailed"],
|
|
48
51
|
setup(B, { emit: I }) {
|
|
49
|
-
const e = B,
|
|
52
|
+
const e = B, c = I, m = {
|
|
50
53
|
currentPage: 1,
|
|
51
54
|
pageSize: 10,
|
|
52
55
|
pageSizes: [10, 20, 50, 100],
|
|
@@ -55,17 +58,17 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
55
58
|
}, q = {
|
|
56
59
|
current: "current",
|
|
57
60
|
pageSize: "pageSize"
|
|
58
|
-
}, Q = j(), _ = X(), f = `${
|
|
61
|
+
}, Q = j(), _ = X(), f = `${R}-query-form-item`, x = `${R}-form-item--isolated`, { props: O } = ee(), M = y(() => {
|
|
59
62
|
const {
|
|
60
63
|
currentPage: t,
|
|
61
|
-
pageSize:
|
|
62
|
-
...
|
|
64
|
+
pageSize: a,
|
|
65
|
+
...r
|
|
63
66
|
} = {
|
|
64
67
|
...m,
|
|
65
68
|
...e.paginationProps
|
|
66
69
|
};
|
|
67
|
-
return
|
|
68
|
-
}), n =
|
|
70
|
+
return r;
|
|
71
|
+
}), n = p(e.paginationProps?.currentPage ?? m.currentPage), s = p(e.paginationProps?.pageSize ?? m.pageSize), d = p(0), l = p(0), { activeForm: F } = te({
|
|
69
72
|
formProps: y(() => e.queryFormProps),
|
|
70
73
|
fallbackForm: _
|
|
71
74
|
}), $ = y(() => ({
|
|
@@ -82,36 +85,36 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
82
85
|
return;
|
|
83
86
|
const t = Q.value;
|
|
84
87
|
Array.isArray(t.dataSource) || (t.dataSource = []);
|
|
85
|
-
const
|
|
88
|
+
const a = ++l.value, r = F.value?.values ?? {}, i = e.pagination ? {
|
|
86
89
|
current: n.value,
|
|
87
90
|
pageSize: s.value
|
|
88
91
|
} : void 0, v = i ? {
|
|
89
|
-
...
|
|
92
|
+
...r,
|
|
90
93
|
[e.paginationMap.current ?? q.current]: i.current,
|
|
91
94
|
[e.paginationMap.pageSize ?? q.pageSize]: i.pageSize
|
|
92
|
-
} :
|
|
95
|
+
} : r;
|
|
93
96
|
t.loading = !0;
|
|
94
97
|
try {
|
|
95
98
|
const o = await e.request(v);
|
|
96
|
-
if (
|
|
99
|
+
if (a !== l.value)
|
|
97
100
|
return;
|
|
98
101
|
if (o.success !== !0) {
|
|
99
|
-
|
|
102
|
+
c("requestFailed", o);
|
|
100
103
|
return;
|
|
101
104
|
}
|
|
102
|
-
t.dataSource = o.data, e.clearOnDataChange && t.setValue?.(void 0), d.value = Y(o.total) ? o.total : o.data.length,
|
|
103
|
-
values:
|
|
105
|
+
t.dataSource = o.data, e.clearOnDataChange && t.setValue?.(void 0), d.value = Y(o.total) ? o.total : o.data.length, c("requestSuccess", {
|
|
106
|
+
values: r,
|
|
104
107
|
pagination: i,
|
|
105
108
|
dataSource: o.data,
|
|
106
109
|
total: d.value,
|
|
107
110
|
result: o
|
|
108
111
|
});
|
|
109
112
|
} catch (o) {
|
|
110
|
-
if (
|
|
113
|
+
if (a !== l.value)
|
|
111
114
|
return;
|
|
112
|
-
|
|
115
|
+
c("requestFailed", o);
|
|
113
116
|
} finally {
|
|
114
|
-
|
|
117
|
+
a === l.value && (t.loading = !1);
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
async function z() {
|
|
@@ -122,15 +125,15 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
122
125
|
await g();
|
|
123
126
|
}
|
|
124
127
|
function A(t) {
|
|
125
|
-
const
|
|
126
|
-
return
|
|
128
|
+
const a = e.queryFormProps.resetProps?.onClick, r = a?.(t);
|
|
129
|
+
return r === !1 ? !1 : (z(), r);
|
|
127
130
|
}
|
|
128
131
|
return U(() => {
|
|
129
132
|
e.immediate && g();
|
|
130
|
-
}), L([n, s], ([t,
|
|
133
|
+
}), L([n, s], ([t, a], [r, i]) => {
|
|
131
134
|
if (!e.pagination)
|
|
132
135
|
return;
|
|
133
|
-
const v = t !==
|
|
136
|
+
const v = t !== r, o = a !== i;
|
|
134
137
|
if (!(!v && !o)) {
|
|
135
138
|
if (o && t !== 1) {
|
|
136
139
|
n.value = 1;
|
|
@@ -138,12 +141,12 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
138
141
|
}
|
|
139
142
|
g();
|
|
140
143
|
}
|
|
141
|
-
}), (t,
|
|
144
|
+
}), (t, a) => (P(), S(u(V), C(u(O), { "internal-form-item-class": x }), {
|
|
142
145
|
default: G(() => [
|
|
143
146
|
h("div", {
|
|
144
147
|
class: b(f)
|
|
145
148
|
}, [
|
|
146
|
-
(P(), S(H(e.mode === "light" ? u(
|
|
149
|
+
(P(), S(H(e.mode === "light" ? u(k).Light : u(k)), J(K($.value)), null, 16)),
|
|
147
150
|
h("div", {
|
|
148
151
|
class: b(`${f}__content`)
|
|
149
152
|
}, [
|
|
@@ -152,9 +155,9 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
152
155
|
e.pagination ? (P(), S(u(Z), C({
|
|
153
156
|
key: 0,
|
|
154
157
|
"current-page": n.value,
|
|
155
|
-
"onUpdate:currentPage":
|
|
158
|
+
"onUpdate:currentPage": a[0] || (a[0] = (r) => n.value = r),
|
|
156
159
|
"page-size": s.value,
|
|
157
|
-
"onUpdate:pageSize":
|
|
160
|
+
"onUpdate:pageSize": a[1] || (a[1] = (r) => s.value = r),
|
|
158
161
|
class: `${f}__pagination`
|
|
159
162
|
}, M.value, { total: d.value }), null, 16, ["current-page", "page-size", "class", "total"])) : W("", !0)
|
|
160
163
|
])
|
|
@@ -162,8 +165,8 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
162
165
|
_: 3
|
|
163
166
|
}, 16));
|
|
164
167
|
}
|
|
165
|
-
}),
|
|
166
|
-
|
|
168
|
+
}), ve = w(
|
|
169
|
+
re,
|
|
167
170
|
D(
|
|
168
171
|
{
|
|
169
172
|
validateStatus: !0,
|
|
@@ -175,7 +178,7 @@ import '../styles/query-form-item/index.css';const ae = /* @__PURE__ */ E({
|
|
|
175
178
|
)
|
|
176
179
|
);
|
|
177
180
|
export {
|
|
178
|
-
|
|
179
|
-
|
|
181
|
+
ve as QueryFormItem,
|
|
182
|
+
ve as default
|
|
180
183
|
};
|
|
181
184
|
//# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAMA,IAAQC,GAiCRC,IAAOC,GAKPC,IAAuD;AAAA,MAC3D,aAAa;AAAA,MACb,UAAU;AAAA,MACV,WAAW,CAAC,IAAI,IAAI,IAAI,GAAG;AAAA,MAC3B,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GAEFC,IAAwE;AAAA,MAC5E,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,GAGNC,IAAWC,EAAA,GACXC,IAAoBC,EAAA,GACpBC,IAAY,GAAGC,CAAW,oBAC1BC,IAAwB,GAAGD,CAAW,wBACtC,EAAE,OAAOE,EAAA,IAAkBC,GAAA,GAE3BC,IAAqBC,EAAS,MAAM;AACxC,YAAM;AAAA,QACJ,aAAAC;AAAA,QACA,UAAAC;AAAA,QACA,GAAGC;AAAA,MAAA,IACD;AAAA,QACF,GAAGf;AAAA,QACH,GAAGJ,EAAM;AAAA,MAAA;AAEX,aAAOmB;AAAA,IACT,CAAC,GAEKC,IAAiBC,EAAIrB,EAAM,iBAAiB,eAAeI,EAAuB,WAAW,GAC7FkB,IAAcD,EAAIrB,EAAM,iBAAiB,YAAYI,EAAuB,QAAQ,GACpFmB,IAAWF,EAAI,CAAC,GAChBG,IAAmBH,EAAI,CAAC,GAExB,EAAE,YAAYI,EAAA,IAAoBC,GAAiB;AAAA,MACvD,WAAWV,EAAS,MAAMhB,EAAM,cAAc;AAAA,MAC9C,cAAcQ;AAAA,IAAA,CACf,GAEKmB,IAAoBX,EAAS,OACzB;AAAA,MACN,GAAGhB,EAAM;AAAA,MACT,QAAQA,EAAM,eAAeA,EAAM,eAAe;AAAA,MAClD,MAAMyB,EAAgB;AAAA,MACtB,cAAcG;AAAA,MACd,YAAY;AAAA,QACV,SAASC;AAAA,MAAA;AAAA,IACX,EAEH;AAED,mBAAeC,IAAiB;AAC9B,UAAI,CAAC9B,EAAM;AACT;AAEF,YAAM+B,IAAQzB,EAAS;AACvB,MAAK,MAAM,QAAQyB,EAAM,UAAU,MACjCA,EAAM,aAAa,CAAA;AAErB,YAAMC,IAAY,EAAER,EAAiB,OAE/BS,IAAcR,EAAgB,OAAO,UAAU,CAAA,GAC/CS,IAAiBlC,EAAM,aACzB;AAAA,QACE,SAASoB,EAAe;AAAA,QACxB,UAAUE,EAAY;AAAA,MAAA,IAExB,QACEa,IAAgBD,IAClB;AAAA,QACE,GAAGD;AAAA,QACH,CAAEjC,EAAM,cAAc,WAAWK,EAAgC,OAAQ,GAAG6B,EAAe;AAAA,QAC3F,CAAElC,EAAM,cAAc,YAAYK,EAAgC,QAAS,GAAG6B,EAAe;AAAA,MAAA,IAE/FD;AAEJ,MAAAF,EAAM,UAAU;AAChB,UAAI;AACF,cAAMK,IAAS,MAAMpC,EAAM,QAAQmC,CAAa;AAEhD,YAAIH,MAAcR,EAAiB;AACjC;AAEF,YAAIY,EAAO,YAAY,IAAM;AAC3B,UAAAlC,EAAK,iBAAiBkC,CAAM;AAC5B;AAAA,QACF;AAEA,QAAAL,EAAM,aAAaK,EAAO,MACtBpC,EAAM,qBACR+B,EAAM,WAAW,MAAS,GAE5BR,EAAS,QAAQc,EAAMD,EAAO,KAAK,IAAIA,EAAO,QAAQA,EAAO,KAAK,QAElElC,EAAK,kBAAkB;AAAA,UACrB,QAAQ+B;AAAA,UACR,YAAYC;AAAA,UACZ,YAAYE,EAAO;AAAA,UACnB,OAAOb,EAAS;AAAA,UAChB,QAAAa;AAAA,QAAA,CACD;AAAA,MACH,SACOE,GAAO;AACZ,YAAIN,MAAcR,EAAiB;AACjC;AACF,QAAAtB,EAAK,iBAAiBoC,CAAK;AAAA,MAC7B,UAAA;AAEE,QAAIN,MAAcR,EAAiB,UACjCO,EAAM,UAAU;AAAA,MACpB;AAAA,IACF;AAEA,mBAAeH,IAAoB;AACjC,UAAI5B,EAAM,cAAcoB,EAAe,UAAU,GAAG;AAClD,QAAAA,EAAe,QAAQ;AACvB;AAAA,MACF;AAEA,YAAMU,EAAA;AAAA,IACR;AAEA,aAASD,EAAiBU,GAAmB;AAC3C,YAAMC,IAAcxC,EAAM,eAAe,YAAY,SAC/CoC,IAASI,IAAcD,CAAK;AAClC,aAAIH,MAAW,KACN,MAEJR,EAAA,GAEEQ;AAAA,IACT;AAEA,WAAAK,EAAU,MAAM;AACd,MAAIzC,EAAM,aACH8B,EAAA;AAAA,IACT,CAAC,GAEDY,EAAM,CAACtB,GAAgBE,CAAW,GAAG,CAAC,CAACL,GAAaC,CAAQ,GAAG,CAACyB,GAAcC,CAAgB,MAAM;AAElG,UAAI,CAAC5C,EAAM;AACT;AAEF,YAAM6C,IAAiB5B,MAAgB0B,GACjCG,IAAkB5B,MAAa0B;AAGrC,UAAI,GAACC,KAAkB,CAACC,IAGxB;AAAA,YAAIA,KAAmB7B,MAAgB,GAAG;AACxC,UAAAG,EAAe,QAAQ;AACvB;AAAA,QACF;AAEA,QAAKU,EAAA;AAAA;AAAA,IACP,CAAC,cAICiB,EAAA,GAAAC,EAqBeC,MArBfC,EAqBeD,MApBQ,EACpB,4BAA0BrC,EAAA,CAAqB,GAAA;AAAA,iBAEhD,MAgBM;AAAA,QAhBNuC,EAgBM,OAAA;AAAA,UAhBA,SAAOzC,CAAS;AAAA,QAAA;gBACpBsC,EAGEI,EAFKpD,EAAM,SAAI,UAAeiD,EAAAI,CAAA,EAAU,QAAQJ,EAAAI,CAAA,CAAS,GAAAC,EAAAC,EACjD5B,EAAA,KAAiB,CAAA,GAAA,MAAA,EAAA;AAAA,UAE3BwB,EAEM,OAAA;AAAA,YAFA,YAAUzC,CAAS,WAAA;AAAA,UAAA;YACvB8C,EAAQC,EAAA,QAAA,SAAA;AAAA,UAAA;UAGFzD,EAAM,cADd+C,EAAA,GAAAC,EAOEC,MAPFC,EAOE;AAAA;YALQ,gBAAc9B,EAAA;AAAA,2DAAAA,EAAc,QAAAsC;AAAA,YAC5B,aAAWpC,EAAA;AAAA,wDAAAA,EAAW,QAAAoC;AAAA,YAC7B,UAAUhD,CAAS;AAAA,UAAA,GACZK,EAAA,OAAkB,EACzB,OAAOQ,EAAA,MAAA,CAAQ,GAAA,MAAA,IAAA,CAAA,gBAAA,aAAA,SAAA,OAAA,CAAA;;;;;;ICnOXoC,KAAgBC;AAAA,EAC3BC;AAAAA,EACAC;AAAA,IACE;AAAA,MACE,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEfC;AAAA,EAAA;AAEJ;"}
|
|
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,16 @@
|
|
|
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 "@formily/reactive";
|
|
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 "@silver-formily/reactive-vue";
|
|
13
|
+
import '../styles/radio/index.css';const V = /* @__PURE__ */ O({
|
|
10
14
|
name: "FRadioGroup",
|
|
11
15
|
__name: "radio-group",
|
|
12
16
|
props: {
|
|
@@ -20,30 +24,30 @@ import '../styles/radio/index.css';const V = /* @__PURE__ */ x({
|
|
|
20
24
|
}
|
|
21
25
|
},
|
|
22
26
|
setup(P) {
|
|
23
|
-
const o = P, { props: R } =
|
|
24
|
-
function
|
|
25
|
-
return
|
|
27
|
+
const o = P, { props: R } = F(), s = c(() => o.optionType === "button" ? B : v), S = I(G, "2.6.0");
|
|
28
|
+
function l(e) {
|
|
29
|
+
return H(e);
|
|
26
30
|
}
|
|
27
31
|
function g(e, n) {
|
|
28
|
-
return
|
|
32
|
+
return l(o.options[n]) ? o.options[n].label : e.label;
|
|
29
33
|
}
|
|
30
|
-
const m = c(() => o.options.map((e) =>
|
|
34
|
+
const m = c(() => o.options.map((e) => l(e) ? S ? {
|
|
31
35
|
...e,
|
|
32
36
|
label: e.value
|
|
33
37
|
} : e : {
|
|
34
38
|
label: e,
|
|
35
39
|
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
|
-
|
|
40
|
+
})), k = x();
|
|
41
|
+
return (e, n) => (t(), p(u(C), A(L(u(R))), {
|
|
42
|
+
default: i(() => [
|
|
43
|
+
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), {
|
|
44
|
+
default: i(() => [
|
|
45
|
+
w(e.$slots, "option", { option: r })
|
|
42
46
|
]),
|
|
43
47
|
_: 2
|
|
44
|
-
}, 1040))), 128)) : (t(!0), f(d, { key: 0 }, _(m.value, (r, a) => (t(), p(y(
|
|
45
|
-
default:
|
|
46
|
-
j(
|
|
48
|
+
}, 1040))), 128)) : (t(!0), f(d, { key: 0 }, _(m.value, (r, a) => (t(), p(y(s.value), b({ key: a }, { ref_for: !0 }, r), {
|
|
49
|
+
default: i(() => [
|
|
50
|
+
h(j(g(r, a)), 1)
|
|
47
51
|
]),
|
|
48
52
|
_: 2
|
|
49
53
|
}, 1040))), 128))
|
|
@@ -54,12 +58,12 @@ import '../styles/radio/index.css';const V = /* @__PURE__ */ x({
|
|
|
54
58
|
}), $ = E(
|
|
55
59
|
V,
|
|
56
60
|
T({ dataSource: "options", disabled: !0 }),
|
|
57
|
-
|
|
58
|
-
),
|
|
61
|
+
D(z.Select)
|
|
62
|
+
), te = N(v, {
|
|
59
63
|
Group: $
|
|
60
64
|
});
|
|
61
65
|
export {
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
te as Radio,
|
|
67
|
+
te as default
|
|
64
68
|
};
|
|
65
69
|
//# 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 "@formily/reactive";
|
|
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,13 @@
|
|
|
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 "@formily/reactive";
|
|
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 "@silver-formily/reactive-vue";
|
|
10
|
+
import { useCleanAttrs as x } from "../__builtins__/shared/utils.mjs";
|
|
7
11
|
const C = /* @__PURE__ */ c({
|
|
8
12
|
name: "FSegmented",
|
|
9
13
|
inheritAttrs: !1,
|
|
@@ -12,8 +16,8 @@ const C = /* @__PURE__ */ c({
|
|
|
12
16
|
options: {}
|
|
13
17
|
},
|
|
14
18
|
setup(t) {
|
|
15
|
-
const o = t, r = d(), { props: s } =
|
|
16
|
-
return (n, w) => (l(), f(e(
|
|
19
|
+
const o = t, r = d(), { props: s } = x();
|
|
20
|
+
return (n, w) => (l(), f(e(a), u(e(s), {
|
|
17
21
|
options: o.options
|
|
18
22
|
}), S({ _: 2 }, [
|
|
19
23
|
e(r).default ? {
|
|
@@ -25,13 +29,13 @@ const C = /* @__PURE__ */ c({
|
|
|
25
29
|
} : void 0
|
|
26
30
|
]), 1040, ["options"]));
|
|
27
31
|
}
|
|
28
|
-
}),
|
|
32
|
+
}), j = m(
|
|
29
33
|
C,
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
i({ dataSource: "options", disabled: !0 }),
|
|
35
|
+
k(v.Select)
|
|
32
36
|
);
|
|
33
37
|
export {
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
j as Segmented,
|
|
39
|
+
j as default
|
|
36
40
|
};
|
|
37
41
|
//# 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;"}
|