@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { IArrayBaseAdditionProps } from './types'\r\nimport { Plus } from '@element-plus/icons-vue'\r\nimport { useField } from '@silver-formily/vue'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp } from '../__builtins__'\r\nimport { getDefaultValue, prefixCls, useArray } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseAddition',\r\n})\r\n\r\nconst props = withDefaults(defineProps<IArrayBaseAdditionProps>(), {\r\n method: 'push',\r\n})\r\n\r\nconst self = useField()\r\nconst base = useArray()\r\n\r\nfunction onAddItemClick() {\r\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\r\n if (props.method === 'unshift') {\r\n base?.field?.value.unshift(defaultValue)\r\n base.attrs?.add?.(0)\r\n }\r\n else {\r\n base?.field?.value.push(defaultValue)\r\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-addition`\"\r\n :icon=\"Plus\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"添加条目\"\r\n @click=\"onAddItemClick\"\r\n >\r\n {{ self.title || props.title }}\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport { prefixCls, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseIndex',\r\n})\r\n\r\nconst index = useIndex()\r\n</script>\r\n\r\n<template>\r\n <span :class=\"`${prefixCls}-index`\">\r\n <slot :index=\"index\">\r\n #{{ index + 1 }}.\r\n </slot>\r\n </span>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { IArrayBaseProps } from './types'\r\nimport { useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { provide, useAttrs } from 'vue'\r\nimport { ArrayBaseSymbol } from './symbols'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseInner',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps<IArrayBaseProps>()\r\n\r\nconst field = useField<ArrayField>()\r\nconst schema = useFieldSchema()\r\n\r\nprovide(ArrayBaseSymbol, {\r\n field,\r\n schema,\r\n props,\r\n attrs: useAttrs(),\r\n keyMap: props.keyMap,\r\n})\r\n</script>\r\n\r\n<template>\r\n <slot />\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseItemProps } from './types'\r\nimport { provide } from 'vue'\r\nimport { ItemSymbol } from './symbols'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseItem',\r\n})\r\n\r\nconst props = defineProps<IArrayBaseItemProps>()\r\n\r\nprovide(ItemSymbol, props)\r\n</script>\r\n\r\n<template>\r\n <slot />\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { ArrowDown } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp } from '../__builtins__'\r\nimport { prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseMoveDown',\r\n})\r\n\r\nconst props = defineProps<IArrayBaseOperationProps>()\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base.keyMap.splice(\r\n indexRef.value + 1,\r\n 0,\r\n base.keyMap.splice(indexRef.value, 1)[0],\r\n )\r\n }\r\n base?.field.value.moveDown(indexRef.value as number)\r\n base?.attrs?.moveDown?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-move-down`\"\r\n size=\"small\"\r\n :icon=\"ArrowDown\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"下移条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { ArrowUp } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp } from '../__builtins__'\r\nimport { prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseMoveUp',\r\n})\r\n\r\nconst props = defineProps<IArrayBaseOperationProps>()\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base.keyMap.splice(\r\n indexRef.value - 1,\r\n 0,\r\n base.keyMap.splice(indexRef.value, 1)[0],\r\n )\r\n }\r\n base?.field.value.moveUp(indexRef.value as number)\r\n base?.attrs?.moveUp?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-move-up`\"\r\n size=\"small\"\r\n :icon=\"ArrowUp\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"上移条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IArrayBaseOperationProps } from './types'\r\nimport { Delete } from '@element-plus/icons-vue'\r\nimport { isArr } from '@formily/shared'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp } from '../__builtins__'\r\nimport { prefixCls, useArray, useIndex } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseRemove',\r\n})\r\n\r\nconst props = defineProps<IArrayBaseOperationProps>()\r\n\r\nconst indexRef = useIndex()\r\nconst base = useArray()\r\n\r\nfunction handleClick() {\r\n if (isArr(base?.keyMap)) {\r\n base?.keyMap?.splice(indexRef.value, 1)\r\n }\r\n\r\n base?.field.value.remove(indexRef.value as number)\r\n base?.attrs?.remove?.(indexRef.value as number)\r\n}\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"base?.field.value.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-remove`\"\r\n size=\"small\"\r\n :icon=\"Delete\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"移除条目\"\r\n @click.stop=\"handleClick\"\r\n >\r\n <slot>\r\n {{ props.title }}\r\n </slot>\r\n </ElLink>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport { Rank } from '@element-plus/icons-vue'\r\nimport { ElLink } from 'element-plus'\r\nimport { compatibleUnderlineProp } from '../__builtins__'\r\nimport { prefixCls, useArray } from './utils'\r\n\r\ndefineOptions({\r\n name: 'ArrayBaseSortHandle',\r\n})\r\n\r\nconst array = useArray()\r\n</script>\r\n\r\n<template>\r\n <ElLink\r\n v-if=\"array.field.value?.pattern === 'editable'\"\r\n :class=\"`${prefixCls}-sort-handle`\"\r\n size=\"small\"\r\n :icon=\"Rank\"\r\n :underline=\"compatibleUnderlineProp()\"\r\n role=\"button\"\r\n aria-label=\"拖拽排序\"\r\n aria-dropeffect=\"move\"\r\n />\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport ArrayBaseAddition from './array-base-addition.vue'\r\nimport ArrayBaseIndex from './array-base-index.vue'\r\nimport ArrayBaseInner from './array-base-inner.vue'\r\nimport ArrayBaseItem from './array-base-item.vue'\r\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\r\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\r\nimport ArrayBaseRemove from './array-base-remove.vue'\r\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\r\nimport { useArray, useIndex, useKey, useRecord } from './utils'\r\nimport './style.scss'\r\n\r\nexport const ArrayBase = composeExport(ArrayBaseInner, {\r\n Index: ArrayBaseIndex,\r\n Item: ArrayBaseItem,\r\n SortHandle: ArrayBaseSortHandle,\r\n Addition: ArrayBaseAddition,\r\n Remove: ArrayBaseRemove,\r\n MoveDown: ArrayBaseMoveDown,\r\n MoveUp: ArrayBaseMoveUp,\r\n useArray,\r\n useIndex,\r\n useKey,\r\n useRecord,\r\n})\r\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseAdditionProps } from './types'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useField } from '@silver-formily/vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { getDefaultValue, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseAddition',\n})\n\nconst props = withDefaults(defineProps<IArrayBaseAdditionProps>(), {\n method: 'push',\n})\n\nconst self = useField()\nconst base = useArray()\n\nfunction onAddItemClick() {\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\n if (props.method === 'unshift') {\n base?.field?.value.unshift(defaultValue)\n base.attrs?.add?.(0)\n }\n else {\n base?.field?.value.push(defaultValue)\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\n }\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-addition`\"\n :icon=\"Plus\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"添加条目\"\n @click=\"onAddItemClick\"\n >\n {{ self.title || props.title }}\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { prefixCls, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseIndex',\n})\n\nconst index = useIndex()\n</script>\n\n<template>\n <span :class=\"`${prefixCls}-index`\">\n <slot :index=\"index\">\n #{{ index + 1 }}.\n </slot>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { IArrayBaseProps } from './types'\nimport { useField, useFieldSchema } from '@silver-formily/vue'\nimport { provide, useAttrs } from 'vue'\nimport { ArrayBaseSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseInner',\n inheritAttrs: false,\n})\n\nconst props = defineProps<IArrayBaseProps>()\n\nconst field = useField<ArrayField>()\nconst schema = useFieldSchema()\n\nprovide(ArrayBaseSymbol, {\n field,\n schema,\n props,\n attrs: useAttrs(),\n keyMap: props.keyMap,\n})\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseItemProps } from './types'\nimport { provide } from 'vue'\nimport { ItemSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseItem',\n})\n\nconst props = defineProps<IArrayBaseItemProps>()\n\nprovide(ItemSymbol, props)\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveDown',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value + 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveDown(indexRef.value as number)\n base?.attrs?.moveDown?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-down`\"\n size=\"small\"\n :icon=\"ArrowDown\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"下移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowUp } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveUp',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value - 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveUp(indexRef.value as number)\n base?.attrs?.moveUp?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-up`\"\n size=\"small\"\n :icon=\"ArrowUp\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"上移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { Delete } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseRemove',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base?.keyMap?.splice(indexRef.value, 1)\n }\n\n base?.field.value.remove(indexRef.value as number)\n base?.attrs?.remove?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-remove`\"\n size=\"small\"\n :icon=\"Delete\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"移除条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { Rank } from '@element-plus/icons-vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseSortHandle',\n})\n\nconst array = useArray()\n</script>\n\n<template>\n <ElLink\n v-if=\"array.field.value?.pattern === 'editable'\"\n :class=\"`${prefixCls}-sort-handle`\"\n size=\"small\"\n :icon=\"Rank\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"拖拽排序\"\n aria-dropeffect=\"move\"\n />\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport ArrayBaseAddition from './array-base-addition.vue'\nimport ArrayBaseIndex from './array-base-index.vue'\nimport ArrayBaseInner from './array-base-inner.vue'\nimport ArrayBaseItem from './array-base-item.vue'\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\nimport ArrayBaseRemove from './array-base-remove.vue'\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\nimport { useArray, useIndex, useKey, useRecord } from './utils'\nimport './style.scss'\n\nexport const ArrayBase = composeExport(ArrayBaseInner, {\n Index: ArrayBaseIndex,\n Item: ArrayBaseItem,\n SortHandle: ArrayBaseSortHandle,\n Addition: ArrayBaseAddition,\n Remove: ArrayBaseRemove,\n MoveDown: ArrayBaseMoveDown,\n MoveUp: ArrayBaseMoveUp,\n useArray,\n useIndex,\n useKey,\n useRecord,\n})\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.mjs","sources":["../../src/array-base/symbols.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\
|
|
1
|
+
{"version":3,"file":"symbols.mjs","sources":["../../src/array-base/symbols.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { IArrayBaseContext, IArrayBaseItemProps } from './types'\n\nexport const ArrayBaseSymbol: InjectionKey<IArrayBaseContext> = Symbol('ArrayBaseContext')\nexport const ItemSymbol: InjectionKey<IArrayBaseItemProps> = Symbol('ItemContext')\n"],"names":["ArrayBaseSymbol","ItemSymbol"],"mappings":"AAGO,MAAMA,2BAA0D,kBAAkB,GAC5EC,2BAAuD,aAAa;"}
|
package/esm/array-base/utils.mjs
CHANGED
|
@@ -1,40 +1,45 @@
|
|
|
1
|
-
import { isArr as
|
|
1
|
+
import { isArr as s, uid as u, isValid as c, clone as y } from "@formily/shared";
|
|
2
2
|
import { toRefs as f, inject as i } from "vue";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { stylePrefix as x } from "../__builtins__/configs/index.mjs";
|
|
4
|
+
import "element-plus";
|
|
5
|
+
import "@silver-formily/reactive-vue";
|
|
6
|
+
import "@vueuse/core";
|
|
7
|
+
import "@formily/core";
|
|
8
|
+
import "@silver-formily/vue";
|
|
9
|
+
import { ItemSymbol as m, ArrayBaseSymbol as d } from "./symbols.mjs";
|
|
10
|
+
const D = `${x}-array-base`;
|
|
11
|
+
function S() {
|
|
12
|
+
return i(d, null);
|
|
8
13
|
}
|
|
9
|
-
function
|
|
10
|
-
const { index: n } = f(i(
|
|
14
|
+
function $() {
|
|
15
|
+
const { index: n } = f(i(m));
|
|
11
16
|
return n;
|
|
12
17
|
}
|
|
13
|
-
function
|
|
18
|
+
function K() {
|
|
14
19
|
const { record: n } = f(
|
|
15
|
-
i(
|
|
20
|
+
i(m)
|
|
16
21
|
);
|
|
17
22
|
return n;
|
|
18
23
|
}
|
|
19
|
-
const
|
|
20
|
-
function
|
|
21
|
-
const
|
|
22
|
-
let
|
|
23
|
-
return
|
|
24
|
-
keyMap:
|
|
25
|
-
getKey: (r, o) =>
|
|
24
|
+
const p = (n) => Array.isArray(n?.items) ? p(n.items[0]) : n?.items?.type === "array" || n?.items?.type === "object";
|
|
25
|
+
function U(n) {
|
|
26
|
+
const e = p(n);
|
|
27
|
+
let t = null;
|
|
28
|
+
return t = e ? /* @__PURE__ */ new WeakMap() : [], {
|
|
29
|
+
keyMap: t,
|
|
30
|
+
getKey: (r, o) => t instanceof WeakMap ? (t.has(r) || t.set(r, u()), `${t.get(r)}`) : (t && !t[o] && (t[o] = u()), `${t[o]}`)
|
|
26
31
|
};
|
|
27
32
|
}
|
|
28
|
-
function l(n,
|
|
29
|
-
return c(n) ? y(n) : Array.isArray(
|
|
33
|
+
function l(n, e) {
|
|
34
|
+
return c(n) ? y(n) : Array.isArray(e?.items) ? l(n, e.items[0]) : e?.items?.type === "object" ? {} : null;
|
|
30
35
|
}
|
|
31
|
-
function
|
|
32
|
-
return
|
|
36
|
+
function W(n, e) {
|
|
37
|
+
return s(n.items) ? n.items[e] ?? n.items[0] : n.items;
|
|
33
38
|
}
|
|
34
39
|
function a(n) {
|
|
35
40
|
return n["x-component"]?.indexOf("Addition") > -1;
|
|
36
41
|
}
|
|
37
|
-
function
|
|
42
|
+
function B(n) {
|
|
38
43
|
return n["x-component"]?.indexOf("Index") > -1;
|
|
39
44
|
}
|
|
40
45
|
function A(n) {
|
|
@@ -46,22 +51,22 @@ function O(n) {
|
|
|
46
51
|
function b(n) {
|
|
47
52
|
return n["x-component"]?.indexOf("MoveDown") > -1;
|
|
48
53
|
}
|
|
49
|
-
function
|
|
54
|
+
function P(n) {
|
|
50
55
|
return a(n) || A(n) || b(n) || O(n);
|
|
51
56
|
}
|
|
52
57
|
export {
|
|
53
|
-
|
|
58
|
+
W as getArrayItemSchema,
|
|
54
59
|
l as getDefaultValue,
|
|
55
60
|
a as isAdditionComponent,
|
|
56
|
-
|
|
61
|
+
B as isIndexComponent,
|
|
57
62
|
b as isMoveDownComponent,
|
|
58
63
|
O as isMoveUpComponent,
|
|
59
|
-
|
|
64
|
+
P as isOperationComponent,
|
|
60
65
|
A as isRemoveComponent,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
D as prefixCls,
|
|
67
|
+
S as useArray,
|
|
68
|
+
$ as useIndex,
|
|
69
|
+
U as useKey,
|
|
70
|
+
K as useRecord
|
|
66
71
|
};
|
|
67
72
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@formily/json-schema'\
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@formily/json-schema'\nimport type { IArrayBaseItemProps } from './types'\nimport { clone, isArr, isValid, uid } from '@formily/shared'\nimport { inject, toRefs } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { ArrayBaseSymbol, ItemSymbol } from './symbols'\n\nexport const prefixCls = `${stylePrefix}-array-base`\n\nexport function useArray() {\n return inject(ArrayBaseSymbol, null)\n}\n\nexport function useIndex() {\n const { index: indexRef } = toRefs(inject(ItemSymbol) as IArrayBaseItemProps)\n return indexRef\n}\n\n/* istanbul ignore next -- @preserve */\nexport function useRecord() {\n const { record: recordRef } = toRefs(\n inject(ItemSymbol) as IArrayBaseItemProps,\n )\n return recordRef\n}\n\nconst isObjectValue: (schema: Schema) => boolean = (schema: Schema) => {\n if (Array.isArray(schema?.items))\n return isObjectValue(schema.items[0])\n\n if (schema?.items?.type === 'array' || schema?.items?.type === 'object') {\n return true\n }\n return false\n}\n\nexport function useKey(schema: Schema) {\n const isObject = isObjectValue(schema)\n let keyMap: WeakMap<Record<string, unknown>, string> | string[] | null = null\n\n keyMap = isObject ? new WeakMap() : []\n\n return {\n keyMap,\n getKey: (record: any, index?: number) => {\n if (keyMap instanceof WeakMap) {\n if (!keyMap.has(record)) {\n keyMap.set(record, uid())\n }\n return `${keyMap.get(record)}`\n }\n\n if (keyMap && !keyMap[index]) {\n keyMap[index] = uid()\n }\n return `${keyMap[index]}`\n },\n }\n}\n\nexport function getDefaultValue(defaultValue: any, schema: Schema): any {\n if (isValid(defaultValue))\n return clone(defaultValue)\n if (Array.isArray(schema?.items))\n return getDefaultValue(defaultValue, schema.items[0])\n if (schema?.items?.type === 'object')\n return {}\n return null\n}\n\nexport function getArrayItemSchema(schema: ISchema, index: number): ISchema {\n return isArr(schema.items) ? schema.items[index] ?? schema.items[0] : schema.items\n}\n\nexport function isAdditionComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Addition') > -1\n}\n\nexport function isIndexComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Index') > -1\n}\n\nexport function isRemoveComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Remove') > -1\n}\n\nexport function isMoveUpComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveUp') > -1\n}\n\nexport function isMoveDownComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveDown') > -1\n}\n\nexport function isOperationComponent(schema: ISchema) {\n return (\n isAdditionComponent(schema)\n || isRemoveComponent(schema)\n || isMoveDownComponent(schema)\n || isMoveUpComponent(schema)\n )\n}\n"],"names":["prefixCls","stylePrefix","useArray","inject","ArrayBaseSymbol","useIndex","indexRef","toRefs","ItemSymbol","useRecord","recordRef","isObjectValue","schema","useKey","isObject","keyMap","record","index","uid","getDefaultValue","defaultValue","isValid","clone","getArrayItemSchema","isArr","isAdditionComponent","isIndexComponent","isRemoveComponent","isMoveUpComponent","isMoveDownComponent","isOperationComponent"],"mappings":";;;;;;;;;AAOO,MAAMA,IAAY,GAAGC,CAAW;AAEhC,SAASC,IAAW;AACzB,SAAOC,EAAOC,GAAiB,IAAI;AACrC;AAEO,SAASC,IAAW;AACzB,QAAM,EAAE,OAAOC,EAAA,IAAaC,EAAOJ,EAAOK,CAAU,CAAwB;AAC5E,SAAOF;AACT;AAGO,SAASG,IAAY;AAC1B,QAAM,EAAE,QAAQC,EAAA,IAAcH;AAAA,IAC5BJ,EAAOK,CAAU;AAAA,EAAA;AAEnB,SAAOE;AACT;AAEA,MAAMC,IAA6C,CAACC,MAC9C,MAAM,QAAQA,GAAQ,KAAK,IACtBD,EAAcC,EAAO,MAAM,CAAC,CAAC,IAElCA,GAAQ,OAAO,SAAS,WAAWA,GAAQ,OAAO,SAAS;AAM1D,SAASC,EAAOD,GAAgB;AACrC,QAAME,IAAWH,EAAcC,CAAM;AACrC,MAAIG,IAAqE;AAEzE,SAAAA,IAASD,IAAW,oBAAI,QAAA,IAAY,CAAA,GAE7B;AAAA,IACL,QAAAC;AAAA,IACA,QAAQ,CAACC,GAAaC,MAChBF,aAAkB,WACfA,EAAO,IAAIC,CAAM,KACpBD,EAAO,IAAIC,GAAQE,GAAK,GAEnB,GAAGH,EAAO,IAAIC,CAAM,CAAC,OAG1BD,KAAU,CAACA,EAAOE,CAAK,MACzBF,EAAOE,CAAK,IAAIC,EAAA,IAEX,GAAGH,EAAOE,CAAK,CAAC;AAAA,EACzB;AAEJ;AAEO,SAASE,EAAgBC,GAAmBR,GAAqB;AACtE,SAAIS,EAAQD,CAAY,IACfE,EAAMF,CAAY,IACvB,MAAM,QAAQR,GAAQ,KAAK,IACtBO,EAAgBC,GAAcR,EAAO,MAAM,CAAC,CAAC,IAClDA,GAAQ,OAAO,SAAS,WACnB,CAAA,IACF;AACT;AAEO,SAASW,EAAmBX,GAAiBK,GAAwB;AAC1E,SAAOO,EAAMZ,EAAO,KAAK,IAAIA,EAAO,MAAMK,CAAK,KAAKL,EAAO,MAAM,CAAC,IAAIA,EAAO;AAC/E;AAEO,SAASa,EAAoBb,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASc,EAAiBd,GAAiB;AAChD,SAAOA,EAAO,aAAa,GAAG,QAAQ,OAAO,IAAI;AACnD;AAEO,SAASe,EAAkBf,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASgB,EAAkBhB,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASiB,EAAoBjB,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASkB,EAAqBlB,GAAiB;AACpD,SACEa,EAAoBb,CAAM,KACvBe,EAAkBf,CAAM,KACxBiB,EAAoBjB,CAAM,KAC1BgB,EAAkBhB,CAAM;AAE/B;"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
import { ElCard as A, ElEmpty as B, ElRow as N } from "element-plus";
|
|
2
|
+
import { autorunEffect as $ } from "@silver-formily/reactive-vue";
|
|
3
|
+
import "@vueuse/core";
|
|
4
|
+
import { defineComponent as b, ref as D, openBlock as a, createElementBlock as c, normalizeClass as E, createVNode as s, unref as e, withCtx as n, createBlock as v, mergeProps as R, createCommentVNode as h, Fragment as C, renderList as x, createElementVNode as I, createTextVNode as H, toDisplayString as K } from "vue";
|
|
5
|
+
import "@formily/core";
|
|
6
|
+
import { useField as P, useFieldSchema as U, RecursionField as d } from "@silver-formily/vue";
|
|
7
|
+
import { composeExport as j } from "../__builtins__/shared/utils.mjs";
|
|
1
8
|
import { ArrayBase as r } from "../array-base/index.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { ElCard as I, ElEmpty as P, ElRow as U } from "element-plus";
|
|
7
|
-
import { stylePrefix as j } from "../__builtins__/configs/index.mjs";
|
|
8
|
-
import { isIndexComponent as g, isOperationComponent as w, getArrayItemSchema as y, isAdditionComponent as z } from "../array-base/utils.mjs";
|
|
9
|
-
import { composeExport as L } from "../__builtins__/shared/utils.mjs";
|
|
10
|
-
import '../styles/array-cards/index.css';const O = /* @__PURE__ */ B({
|
|
9
|
+
import { isArr as f } from "@formily/shared";
|
|
10
|
+
import { stylePrefix as z } from "../__builtins__/configs/index.mjs";
|
|
11
|
+
import { isIndexComponent as g, isOperationComponent as w, getArrayItemSchema as y, isAdditionComponent as L } from "../array-base/utils.mjs";
|
|
12
|
+
import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
11
13
|
name: "FArrayCards",
|
|
12
14
|
__name: "array-cards",
|
|
13
15
|
props: {
|
|
@@ -20,51 +22,51 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ B({
|
|
|
20
22
|
modelValue: {}
|
|
21
23
|
},
|
|
22
24
|
setup(S) {
|
|
23
|
-
const
|
|
24
|
-
return
|
|
25
|
-
k.value =
|
|
25
|
+
const i = S, V = P(), _ = U(), o = V.value, m = _.value, u = `${z}-array-cards`, { getKey: F, keyMap: M } = r.useKey(_.value), k = D(f(o.value) ? o.value : []);
|
|
26
|
+
return $(() => {
|
|
27
|
+
k.value = f(o.value) ? [...o.value] : [];
|
|
26
28
|
}), (T, q) => (a(), c("div", {
|
|
27
|
-
class:
|
|
29
|
+
class: E(u)
|
|
28
30
|
}, [
|
|
29
31
|
s(e(r), { "key-map": e(M) }, {
|
|
30
32
|
default: n(() => [
|
|
31
|
-
e(
|
|
33
|
+
e(f)(e(o).value) && e(o).value.length > 0 ? h("", !0) : (a(), v(e(A), R({
|
|
32
34
|
key: 0,
|
|
33
|
-
class: `${
|
|
34
|
-
},
|
|
35
|
+
class: `${u}-item`
|
|
36
|
+
}, i), {
|
|
35
37
|
default: n(() => [
|
|
36
|
-
s(e(
|
|
38
|
+
s(e(B))
|
|
37
39
|
]),
|
|
38
40
|
_: 1
|
|
39
41
|
}, 16, ["class"])),
|
|
40
|
-
e(
|
|
42
|
+
e(f)(i.modelValue) ? (a(!0), c(C, { key: 1 }, x(k.value, (p, t) => (a(), v(e(r).Item, {
|
|
41
43
|
key: e(F)(p, t),
|
|
42
44
|
index: t,
|
|
43
45
|
record: p
|
|
44
46
|
}, {
|
|
45
47
|
default: n(() => [
|
|
46
|
-
s(e(
|
|
47
|
-
class: `${
|
|
48
|
+
s(e(A), R({ ref_for: !0 }, i, {
|
|
49
|
+
class: `${u}-item`
|
|
48
50
|
}), {
|
|
49
51
|
header: n(() => [
|
|
50
|
-
s(e(
|
|
52
|
+
s(e(N), {
|
|
51
53
|
type: "flex",
|
|
52
54
|
justify: "space-between"
|
|
53
55
|
}, {
|
|
54
56
|
default: n(() => [
|
|
55
|
-
|
|
56
|
-
s(e(
|
|
57
|
+
I("span", null, [
|
|
58
|
+
s(e(d), {
|
|
57
59
|
schema: e(y)(e(m), t),
|
|
58
60
|
name: t,
|
|
59
61
|
"filter-properties": (l) => e(g)(l),
|
|
60
62
|
"only-render-properties": !0
|
|
61
63
|
}, null, 8, ["schema", "name", "filter-properties"]),
|
|
62
|
-
|
|
64
|
+
H(" " + K(e(y)(e(m), t).title ?? i.title ?? e(o).title), 1)
|
|
63
65
|
]),
|
|
64
|
-
|
|
65
|
-
class:
|
|
66
|
+
I("span", {
|
|
67
|
+
class: E(`${u}-extra-container`)
|
|
66
68
|
}, [
|
|
67
|
-
s(e(
|
|
69
|
+
s(e(d), {
|
|
68
70
|
schema: e(y)(e(m), t),
|
|
69
71
|
name: t,
|
|
70
72
|
"filter-properties": (l) => e(w)(l),
|
|
@@ -76,7 +78,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ B({
|
|
|
76
78
|
}, 1024)
|
|
77
79
|
]),
|
|
78
80
|
default: n(() => [
|
|
79
|
-
s(e(
|
|
81
|
+
s(e(d), {
|
|
80
82
|
schema: e(y)(e(m), t),
|
|
81
83
|
name: t,
|
|
82
84
|
"filter-properties": (l) => !e(g)(l) && !e(w)(l)
|
|
@@ -88,7 +90,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ B({
|
|
|
88
90
|
_: 2
|
|
89
91
|
}, 1032, ["index", "record"]))), 128)) : h("", !0),
|
|
90
92
|
(a(!0), c(C, null, x(e(m).properties, (p, t) => (a(), c(C, { key: t }, [
|
|
91
|
-
e(
|
|
93
|
+
e(L)(p) ? (a(), v(e(d), {
|
|
92
94
|
key: 0,
|
|
93
95
|
schema: p,
|
|
94
96
|
name: "addition"
|
|
@@ -99,7 +101,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ B({
|
|
|
99
101
|
}, 8, ["key-map"])
|
|
100
102
|
]));
|
|
101
103
|
}
|
|
102
|
-
}),
|
|
104
|
+
}), ae = j(O, {
|
|
103
105
|
Index: r.Index,
|
|
104
106
|
SortHandle: r.SortHandle,
|
|
105
107
|
Addition: r.Addition,
|
|
@@ -111,7 +113,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ B({
|
|
|
111
113
|
useRecord: r.useRecord
|
|
112
114
|
});
|
|
113
115
|
export {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
+
ae as ArrayCards,
|
|
117
|
+
ae as default
|
|
116
118
|
};
|
|
117
119
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/array-cards/array-cards.vue","../../src/array-cards/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/array-cards/array-cards.vue","../../src/array-cards/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { autorunEffect } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElCard, ElEmpty, ElRow } from 'element-plus'\nimport { ref } from 'vue'\nimport { stylePrefix } from '../__builtins__/configs'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\n\ndefineOptions({\n name: 'FArrayCards',\n})\n\nconst props = withDefaults(defineProps<{\n title?: string\n header?: string\n footer?: string\n bodyStyle?: Record<string, string>\n bodyClass?: string\n shadow?: 'always' | 'hover' | 'never'\n modelValue: any\n}>(), {\n shadow: 'never',\n})\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst prefixCls = `${stylePrefix}-array-cards`\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\nautorunEffect(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase :key-map=\"keyMap\">\n <!-- 空状态渲染 -->\n <ElCard\n v-if=\"!(isArr(field.value) && field.value.length > 0)\"\n :class=\"`${prefixCls}-item`\"\n v-bind=\"props\"\n >\n <ElEmpty />\n </ElCard>\n\n <!-- 数据项渲染 -->\n <template v-if=\"isArr(props.modelValue)\">\n <ArrayBase.Item\n v-for=\"(item, index) of dataSource\"\n :key=\"getKey(item, index)\"\n :index=\"index\"\n :record=\"item\"\n >\n <ElCard\n v-bind=\"props\"\n :class=\"`${prefixCls}-item`\"\n >\n <template #header>\n <ElRow type=\"flex\" justify=\"space-between\">\n <span>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\n :only-render-properties=\"true\"\n />\n {{ getArrayItemSchema(schema, index).title ?? props.title ?? field.title }}\n </span>\n <span :class=\"`${prefixCls}-extra-container`\">\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\n :only-render-properties=\"true\"\n />\n </span>\n </ElRow>\n </template>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\n />\n </ElCard>\n </ArrayBase.Item>\n </template>\n\n <!-- 添加按钮渲染 -->\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\n <RecursionField\n v-if=\"isAdditionComponent(itemSchema)\"\n :schema=\"itemSchema\"\n name=\"addition\"\n />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayCardsInner from './array-cards.vue'\nimport './style.scss'\n\nexport const ArrayCards = composeExport(ArrayCardsInner, {\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayCards\n"],"names":["props","__props","fieldRef","useField","schemaRef","useFieldSchema","field","schema","prefixCls","stylePrefix","getKey","keyMap","ArrayBase","dataSource","ref","isArr","autorunEffect","_createElementBlock","_createVNode","_unref","_openBlock","_createBlock","_mergeProps","ElEmpty","_Fragment","_renderList","item","index","ElCard","ElRow","_createElementVNode","RecursionField","getArrayItemSchema","isIndexComponent","_createTextVNode","_toDisplayString","isOperationComponent","itemSchema","key","isAdditionComponent","ArrayCards","composeExport","ArrayCardsInner"],"mappings":"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"}
|
|
@@ -1,44 +1,45 @@
|
|
|
1
|
+
import { ElCollapseItem as T, ElBadge as j, ElCard as G, ElEmpty as J, ElCollapse as L } from "element-plus";
|
|
2
|
+
import { formilyComputed as Q, autorunEffect as W } from "@silver-formily/reactive-vue";
|
|
3
|
+
import "@vueuse/core";
|
|
4
|
+
import { defineComponent as N, openBlock as l, createBlock as d, unref as e, mergeProps as R, withCtx as f, renderSlot as $, createElementVNode as w, createCommentVNode as S, createVNode as g, normalizeClass as D, createTextVNode as X, toDisplayString as Y, ref as B, watchEffect as Z, createElementBlock as A, Fragment as E, renderList as M } from "vue";
|
|
5
|
+
import "@formily/core";
|
|
6
|
+
import { useField as P, useFieldSchema as U, RecursionField as I } from "@silver-formily/vue";
|
|
7
|
+
import { useCleanAttrs as b, composeExport as ee } from "../__builtins__/shared/utils.mjs";
|
|
1
8
|
import { ArrayBase as o } from "../array-base/index.mjs";
|
|
2
|
-
import { defineComponent as N, openBlock as l, createBlock as d, unref as e, mergeProps as E, withCtx as f, renderSlot as $, createElementVNode as w, createCommentVNode as S, createVNode as g, normalizeClass as D, createTextVNode as T, toDisplayString as j, ref as B, watchEffect as G, createElementBlock as A, Fragment as R, renderList as M } from "vue";
|
|
3
9
|
import { isArr as C } from "@formily/shared";
|
|
4
|
-
import {
|
|
5
|
-
import { useField as P, useFieldSchema as U, RecursionField as I } from "@silver-formily/vue";
|
|
6
|
-
import { ElCollapseItem as L, ElBadge as Q, ElCard as W, ElEmpty as X, ElCollapse as Y } from "element-plus";
|
|
7
|
-
import { useIndex as Z, isIndexComponent as b, isOperationComponent as H, getArrayItemSchema as ee, isAdditionComponent as re } from "../array-base/utils.mjs";
|
|
10
|
+
import { useIndex as re, isIndexComponent as H, isOperationComponent as K, getArrayItemSchema as te, isAdditionComponent as ae } from "../array-base/utils.mjs";
|
|
8
11
|
import { prefixCls as _ } from "./utils.mjs";
|
|
9
|
-
import { useCleanAttrs as K, composeExport as te } from "../__builtins__/shared/utils.mjs";
|
|
10
|
-
import { autorun as ae } from "@formily/reactive";
|
|
11
12
|
import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", display: "flex", "align-items": "center" } }, le = /* @__PURE__ */ N({
|
|
12
13
|
name: "FArrayCollapseItem",
|
|
13
14
|
inheritAttrs: !1,
|
|
14
15
|
__name: "array-collapse-item",
|
|
15
16
|
setup(x) {
|
|
16
|
-
const y = P().value, r = U().value.parent, m =
|
|
17
|
+
const y = P().value, r = U().value.parent, m = re(), u = Q(() => {
|
|
17
18
|
const h = y.address.concat();
|
|
18
19
|
return y.form.queryFeedbacks({
|
|
19
20
|
type: "error",
|
|
20
21
|
address: `${h}.**`
|
|
21
22
|
}).length;
|
|
22
|
-
}), { props: c } =
|
|
23
|
-
return (h, V) => (l(), d(e(
|
|
23
|
+
}), { props: c } = b();
|
|
24
|
+
return (h, V) => (l(), d(e(T), R({ name: e(m) }, e(c)), {
|
|
24
25
|
title: f(() => [
|
|
25
26
|
w("div", oe, [
|
|
26
27
|
e(C)(e(r).items) ? S("", !0) : (l(), d(e(I), {
|
|
27
28
|
key: 0,
|
|
28
29
|
schema: e(r).items,
|
|
29
30
|
name: e(m),
|
|
30
|
-
"filter-properties": (s) => e(
|
|
31
|
+
"filter-properties": (s) => e(H)(s),
|
|
31
32
|
"only-render-properties": !0
|
|
32
33
|
}, null, 8, ["schema", "name", "filter-properties"])),
|
|
33
34
|
$(h.$slots, "title", {}, () => [
|
|
34
|
-
g(e(
|
|
35
|
+
g(e(j), {
|
|
35
36
|
class: D([`${e(_)}-errors-badge`]),
|
|
36
37
|
value: e(u),
|
|
37
38
|
offset: [5, -2],
|
|
38
39
|
hidden: e(u) === 0
|
|
39
40
|
}, {
|
|
40
41
|
default: f(() => [
|
|
41
|
-
|
|
42
|
+
X(Y(e(r).items?.["x-component-props"]?.title), 1)
|
|
42
43
|
]),
|
|
43
44
|
_: 1
|
|
44
45
|
}, 8, ["class", "value", "hidden"])
|
|
@@ -48,7 +49,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
48
49
|
g(e(I), {
|
|
49
50
|
schema: Array.isArray(e(r).items) ? e(r).items[e(m)] || e(r).items[0] : e(r).items,
|
|
50
51
|
name: e(m),
|
|
51
|
-
"filter-properties": (s) => e(
|
|
52
|
+
"filter-properties": (s) => e(K)(s),
|
|
52
53
|
"only-render-properties": !0
|
|
53
54
|
}, null, 8, ["schema", "name", "filter-properties"])
|
|
54
55
|
])
|
|
@@ -71,8 +72,8 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
71
72
|
}
|
|
72
73
|
},
|
|
73
74
|
setup(x) {
|
|
74
|
-
const v = x, y = P(), k = U(), r = y.value, m = k.value, { props: u } =
|
|
75
|
-
|
|
75
|
+
const v = x, y = P(), k = U(), r = y.value, m = k.value, { props: u } = b(["modelValue", "onUpdate:modelValue"]), c = B([]), { getKey: h, keyMap: V } = o.useKey(k.value), s = B(C(r.value) ? r.value : []);
|
|
76
|
+
W(() => {
|
|
76
77
|
s.value = C(r.value) ? [...r.value] : [];
|
|
77
78
|
});
|
|
78
79
|
function F(a) {
|
|
@@ -84,7 +85,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
84
85
|
function q(a, n, t = !1) {
|
|
85
86
|
return t || !C(a) ? n : a.length <= n ? a.concat(n) : a.reduce((i, p) => p === n ? [...i, p, p + 1] : i.concat(p + 1), []);
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
Z(() => {
|
|
88
89
|
!r.modified && s.value.length > 0 && (c.value = O(
|
|
89
90
|
s.value.length,
|
|
90
91
|
v.defaultOpenPanelCount,
|
|
@@ -109,7 +110,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
109
110
|
}
|
|
110
111
|
}, {
|
|
111
112
|
default: f(() => [
|
|
112
|
-
!Array.isArray(v.modelValue) || v.modelValue.length === 0 ? (l(), d(e(
|
|
113
|
+
!Array.isArray(v.modelValue) || v.modelValue.length === 0 ? (l(), d(e(G), R({
|
|
113
114
|
key: 0,
|
|
114
115
|
class: [`${e(_)}-item`],
|
|
115
116
|
shadow: "never"
|
|
@@ -117,25 +118,25 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
117
118
|
header: e(u).title || e(r).title
|
|
118
119
|
}), {
|
|
119
120
|
default: f(() => [
|
|
120
|
-
g(e(
|
|
121
|
+
g(e(J))
|
|
121
122
|
]),
|
|
122
123
|
_: 1
|
|
123
|
-
}, 16, ["class", "header"])) : (l(), d(e(
|
|
124
|
+
}, 16, ["class", "header"])) : (l(), d(e(L), R({
|
|
124
125
|
key: 1,
|
|
125
126
|
"model-value": c.value,
|
|
126
127
|
class: `${e(_)}-item`
|
|
127
128
|
}, e(u), { onChange: z }), {
|
|
128
129
|
default: f(() => [
|
|
129
|
-
(l(!0), A(
|
|
130
|
+
(l(!0), A(E, null, M(s.value, (t, i) => (l(), d(e(o).Item, {
|
|
130
131
|
key: e(h)(t, i),
|
|
131
132
|
index: i,
|
|
132
133
|
record: t
|
|
133
134
|
}, {
|
|
134
135
|
default: f(() => [
|
|
135
136
|
g(e(I), {
|
|
136
|
-
schema: e(
|
|
137
|
+
schema: e(te)(e(m), i),
|
|
137
138
|
name: i,
|
|
138
|
-
"filter-properties": (p) => !e(
|
|
139
|
+
"filter-properties": (p) => !e(H)(p) && !e(K)(p)
|
|
139
140
|
}, null, 8, ["schema", "name", "filter-properties"])
|
|
140
141
|
]),
|
|
141
142
|
_: 2
|
|
@@ -143,8 +144,8 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
143
144
|
]),
|
|
144
145
|
_: 1
|
|
145
146
|
}, 16, ["model-value", "class"])),
|
|
146
|
-
(l(!0), A(
|
|
147
|
-
e(
|
|
147
|
+
(l(!0), A(E, null, M(e(m).properties, (t, i) => (l(), A(E, { key: i }, [
|
|
148
|
+
e(ae)(t) ? (l(), d(e(I), {
|
|
148
149
|
key: 0,
|
|
149
150
|
schema: t,
|
|
150
151
|
name: "addition"
|
|
@@ -155,7 +156,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
155
156
|
}, 8, ["key-map", "add"]))
|
|
156
157
|
], 2));
|
|
157
158
|
}
|
|
158
|
-
}),
|
|
159
|
+
}), Ae = ee(ne, {
|
|
159
160
|
Item: le,
|
|
160
161
|
Index: o.Index,
|
|
161
162
|
SortHandle: o.SortHandle,
|
|
@@ -168,7 +169,7 @@ import '../styles/array-collapse/index.css';const oe = { style: { flex: "1", dis
|
|
|
168
169
|
useRecord: o.useRecord
|
|
169
170
|
});
|
|
170
171
|
export {
|
|
171
|
-
|
|
172
|
-
|
|
172
|
+
Ae as ArrayCollapse,
|
|
173
|
+
Ae as default
|
|
173
174
|
};
|
|
174
175
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/array-collapse/array-collapse-item.vue","../../src/array-collapse/array-collapse.vue","../../src/array-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { ISchema } from '@formily/json-schema'\r\nimport { isArr } from '@formily/shared'\r\nimport { formilyComputed } from '@silver-formily/reactive-vue'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport { ElBadge, ElCollapseItem } from 'element-plus'\r\nimport { useCleanAttrs } from '../__builtins__'\r\nimport { isIndexComponent, isOperationComponent, useIndex } from '../array-base/utils'\r\nimport { prefixCls } from './utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayCollapseItem',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst fieldRef = useField<ArrayField>()\r\nconst field = fieldRef.value\r\nconst schemaRef = useFieldSchema()\r\nconst schema = schemaRef.value.parent\r\nconst index = useIndex()\r\nconst errorCount = formilyComputed(() => {\r\n const path = field.address.concat()\r\n return field.form.queryFeedbacks({\r\n type: 'error',\r\n address: `${path}.**`,\r\n }).length\r\n})\r\n\r\nconst { props: collapseItemProps } = useCleanAttrs()\r\n</script>\r\n\r\n<template>\r\n <ElCollapseItem :name=\"index\" v-bind=\"collapseItemProps\">\r\n <template #title>\r\n <div style=\"flex: 1;display: flex;align-items: center;\">\r\n <RecursionField\r\n v-if=\"!isArr(schema.items)\"\r\n :schema=\"schema.items\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\r\n :only-render-properties=\"true\"\r\n />\r\n <slot name=\"title\">\r\n <ElBadge\r\n :class=\"[`${prefixCls}-errors-badge`]\"\r\n :value=\"errorCount\"\r\n :offset=\"[5, -2]\"\r\n :hidden=\"errorCount === 0\"\r\n >\r\n {{ schema.items?.['x-component-props']?.title }}\r\n </ElBadge>\r\n </slot>\r\n </div>\r\n <div>\r\n <RecursionField\r\n :schema=\"Array.isArray(schema.items) ? schema.items[index] || schema.items[0] : schema.items\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\r\n :only-render-properties=\"true\"\r\n />\r\n </div>\r\n </template>\r\n <slot />\r\n </ElCollapseItem>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { ArrayField } from '@formily/core'\r\nimport type { ISchema } from '@formily/json-schema'\r\nimport { autorun } from '@formily/reactive'\r\nimport { isArr } from '@formily/shared'\r\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\r\nimport {\r\n ElCard,\r\n ElCollapse,\r\n ElEmpty,\r\n} from 'element-plus'\r\nimport { ref, watchEffect } from 'vue'\r\nimport { useCleanAttrs } from '../__builtins__'\r\nimport { ArrayBase } from '../array-base'\r\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\r\nimport { prefixCls } from './utils'\r\n\r\ndefineOptions({\r\n name: 'FArrayCollapse',\r\n inheritAttrs: false,\r\n})\r\n\r\nconst props = defineProps({\r\n modelValue: {},\r\n defaultOpenPanelCount: {\r\n type: Number,\r\n default: 5,\r\n },\r\n})\r\n\r\nconst fieldRef = useField<ArrayField>()\r\nconst schemaRef = useFieldSchema()\r\nconst field = fieldRef.value\r\nconst schema = schemaRef.value\r\n\r\nconst { props: collapseProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\r\nconst activeKeys = ref<number[] | number>([])\r\n\r\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\r\n\r\nconst dataSource = ref(isArr(field.value) ? field.value : [])\r\n\r\nautorun(() => {\r\n dataSource.value = isArr(field.value) ? [...field.value] : []\r\n})\r\n\r\nfunction range(count: number) {\r\n return Array.from({ length: count }).map((_, i) => i)\r\n}\r\n\r\nfunction takeDefaultActiveKeys(dataSourceLength: number, defaultOpenPanelCount: number, accordion = false) {\r\n if (accordion) {\r\n return 0\r\n }\r\n if (dataSourceLength < defaultOpenPanelCount)\r\n return range(dataSourceLength)\r\n\r\n return range(defaultOpenPanelCount)\r\n}\r\n\r\nfunction insertActiveKeys(activeKeys: number[] | number, index: number, accordion = false) {\r\n if (accordion)\r\n return index\r\n /* istanbul ignore if -- @preserve */\r\n if (!isArr(activeKeys))\r\n return index\r\n if (activeKeys.length <= index)\r\n return (activeKeys).concat(index)\r\n return (activeKeys).reduce((buf, key) => {\r\n if (key === index)\r\n return [...buf, key, key + 1]\r\n return buf.concat(key + 1)\r\n }, [])\r\n}\r\n\r\nwatchEffect(() => {\r\n if (!field.modified && dataSource.value.length > 0) {\r\n activeKeys.value = takeDefaultActiveKeys(\r\n dataSource.value.length,\r\n props.defaultOpenPanelCount,\r\n collapseProps.value.accordion as boolean,\r\n )\r\n }\r\n})\r\n\r\nfunction handleCollapseChange(keys: number[] | number) {\r\n activeKeys.value = keys\r\n}\r\n</script>\r\n\r\n<template>\r\n <div :class=\"prefixCls\">\r\n <ArrayBase\r\n :key=\"dataSource.length\"\r\n :key-map=\"keyMap\"\r\n :add=\"(index: number) => {\r\n activeKeys = insertActiveKeys(\r\n activeKeys,\r\n index,\r\n collapseProps.accordion as boolean,\r\n )\r\n }\"\r\n >\r\n <template v-if=\"!Array.isArray(props.modelValue) || props.modelValue.length === 0\">\r\n <ElCard :class=\"[`${prefixCls}-item`]\" shadow=\"never\" v-bind=\"collapseProps\" :header=\"collapseProps.title || field.title\">\r\n <ElEmpty />\r\n </ElCard>\r\n </template>\r\n <template v-else>\r\n <ElCollapse\r\n :model-value=\"activeKeys\"\r\n :class=\"`${prefixCls}-item`\"\r\n v-bind=\"collapseProps\"\r\n @change=\"handleCollapseChange\"\r\n >\r\n <ArrayBase.Item v-for=\"(item, index) of dataSource\" :key=\"getKey(item, index)\" :index=\"index\" :record=\"item\">\r\n <RecursionField\r\n :schema=\"getArrayItemSchema(schema, index)\"\r\n :name=\"index\"\r\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\r\n />\r\n </ArrayBase.Item>\r\n </ElCollapse>\r\n </template>\r\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\r\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\r\n </template>\r\n </ArrayBase>\r\n </div>\r\n</template>\r\n","import { composeExport } from '../__builtins__/shared'\r\nimport { ArrayBase } from '../array-base'\r\nimport ArrayCollapseItem from './array-collapse-item.vue'\r\nimport ArrayCollapseInner from './array-collapse.vue'\r\nimport './style.scss'\r\n\r\nexport const ArrayCollapse = composeExport(ArrayCollapseInner, {\r\n Item: ArrayCollapseItem,\r\n Index: ArrayBase.Index,\r\n SortHandle: ArrayBase.SortHandle,\r\n Addition: ArrayBase.Addition,\r\n Remove: ArrayBase.Remove,\r\n MoveDown: ArrayBase.MoveDown,\r\n MoveUp: ArrayBase.MoveUp,\r\n useArray: ArrayBase.useArray,\r\n useIndex: ArrayBase.useIndex,\r\n useRecord: ArrayBase.useRecord,\r\n})\r\n\r\nexport default ArrayCollapse\r\n"],"names":["field","useField","schema","useFieldSchema","index","useIndex","errorCount","formilyComputed","path","collapseItemProps","useCleanAttrs","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_hoisted_1","isArr","RecursionField","isIndexComponent","_renderSlot","_ctx","_createVNode","ElBadge","prefixCls","isOperationComponent","props","__props","fieldRef","schemaRef","collapseProps","activeKeys","ref","getKey","keyMap","ArrayBase","dataSource","autorun","range","count","_","i","takeDefaultActiveKeys","dataSourceLength","defaultOpenPanelCount","accordion","insertActiveKeys","buf","key","watchEffect","handleCollapseChange","keys","_createElementBlock","ElEmpty","_Fragment","_renderList","item","getArrayItemSchema","itemSchema","isAdditionComponent","ArrayCollapse","composeExport","ArrayCollapseInner","ArrayCollapseItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/array-collapse/array-collapse-item.vue","../../src/array-collapse/array-collapse.vue","../../src/array-collapse/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElCollapseItem } from 'element-plus'\nimport { useCleanAttrs } from '../__builtins__'\nimport { isIndexComponent, isOperationComponent, useIndex } from '../array-base/utils'\nimport { prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayCollapseItem',\n inheritAttrs: false,\n})\n\nconst fieldRef = useField<ArrayField>()\nconst field = fieldRef.value\nconst schemaRef = useFieldSchema()\nconst schema = schemaRef.value.parent\nconst index = useIndex()\nconst errorCount = formilyComputed(() => {\n const path = field.address.concat()\n return field.form.queryFeedbacks({\n type: 'error',\n address: `${path}.**`,\n }).length\n})\n\nconst { props: collapseItemProps } = useCleanAttrs()\n</script>\n\n<template>\n <ElCollapseItem :name=\"index\" v-bind=\"collapseItemProps\">\n <template #title>\n <div style=\"flex: 1;display: flex;align-items: center;\">\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\n :only-render-properties=\"true\"\n />\n <slot name=\"title\">\n <ElBadge\n :class=\"[`${prefixCls}-errors-badge`]\"\n :value=\"errorCount\"\n :offset=\"[5, -2]\"\n :hidden=\"errorCount === 0\"\n >\n {{ schema.items?.['x-component-props']?.title }}\n </ElBadge>\n </slot>\n </div>\n <div>\n <RecursionField\n :schema=\"Array.isArray(schema.items) ? schema.items[index] || schema.items[0] : schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\n :only-render-properties=\"true\"\n />\n </div>\n </template>\n <slot />\n </ElCollapseItem>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { autorunEffect } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport {\n ElCard,\n ElCollapse,\n ElEmpty,\n} from 'element-plus'\nimport { ref, watchEffect } from 'vue'\nimport { useCleanAttrs } from '../__builtins__'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\nimport { prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayCollapse',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n modelValue: {},\n defaultOpenPanelCount: {\n type: Number,\n default: 5,\n },\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst { props: collapseProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\nconst activeKeys = ref<number[] | number>([])\n\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\nautorunEffect(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n\nfunction range(count: number) {\n return Array.from({ length: count }).map((_, i) => i)\n}\n\nfunction takeDefaultActiveKeys(dataSourceLength: number, defaultOpenPanelCount: number, accordion = false) {\n if (accordion) {\n return 0\n }\n if (dataSourceLength < defaultOpenPanelCount)\n return range(dataSourceLength)\n\n return range(defaultOpenPanelCount)\n}\n\nfunction insertActiveKeys(activeKeys: number[] | number, index: number, accordion = false) {\n if (accordion)\n return index\n /* istanbul ignore if -- @preserve */\n if (!isArr(activeKeys))\n return index\n if (activeKeys.length <= index)\n return (activeKeys).concat(index)\n return (activeKeys).reduce((buf, key) => {\n if (key === index)\n return [...buf, key, key + 1]\n return buf.concat(key + 1)\n }, [])\n}\n\nwatchEffect(() => {\n if (!field.modified && dataSource.value.length > 0) {\n activeKeys.value = takeDefaultActiveKeys(\n dataSource.value.length,\n props.defaultOpenPanelCount,\n collapseProps.value.accordion as boolean,\n )\n }\n})\n\nfunction handleCollapseChange(keys: number[] | number) {\n activeKeys.value = keys\n}\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase\n :key=\"dataSource.length\"\n :key-map=\"keyMap\"\n :add=\"(index: number) => {\n activeKeys = insertActiveKeys(\n activeKeys,\n index,\n collapseProps.accordion as boolean,\n )\n }\"\n >\n <template v-if=\"!Array.isArray(props.modelValue) || props.modelValue.length === 0\">\n <ElCard :class=\"[`${prefixCls}-item`]\" shadow=\"never\" v-bind=\"collapseProps\" :header=\"collapseProps.title || field.title\">\n <ElEmpty />\n </ElCard>\n </template>\n <template v-else>\n <ElCollapse\n :model-value=\"activeKeys\"\n :class=\"`${prefixCls}-item`\"\n v-bind=\"collapseProps\"\n @change=\"handleCollapseChange\"\n >\n <ArrayBase.Item v-for=\"(item, index) of dataSource\" :key=\"getKey(item, index)\" :index=\"index\" :record=\"item\">\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\n />\n </ArrayBase.Item>\n </ElCollapse>\n </template>\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayCollapseItem from './array-collapse-item.vue'\nimport ArrayCollapseInner from './array-collapse.vue'\nimport './style.scss'\n\nexport const ArrayCollapse = composeExport(ArrayCollapseInner, {\n Item: ArrayCollapseItem,\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayCollapse\n"],"names":["field","useField","schema","useFieldSchema","index","useIndex","errorCount","formilyComputed","path","collapseItemProps","useCleanAttrs","_openBlock","_createBlock","_unref","_mergeProps","_createElementVNode","_hoisted_1","isArr","RecursionField","isIndexComponent","_renderSlot","_ctx","_createVNode","ElBadge","prefixCls","isOperationComponent","props","__props","fieldRef","schemaRef","collapseProps","activeKeys","ref","getKey","keyMap","ArrayBase","dataSource","autorunEffect","range","count","_","i","takeDefaultActiveKeys","dataSourceLength","defaultOpenPanelCount","accordion","insertActiveKeys","buf","key","watchEffect","handleCollapseChange","keys","_createElementBlock","ElEmpty","_Fragment","_renderList","item","getArrayItemSchema","itemSchema","isAdditionComponent","ArrayCollapse","composeExport","ArrayCollapseInner","ArrayCollapseItem"],"mappings":"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"}
|