UNPKG

vue-admin-core

Version:
1 lines 8.92 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/array-items/src/index.ts"],"sourcesContent":["import { defineComponent, h } from \"vue\";\nimport { ArrayField } from \"@formily/core\";\nimport { useField, useFieldSchema, RecursionField } from \"@formily/vue\";\nimport { observer } from \"@formily/reactive-vue\";\nimport { ISchema } from \"@formily/json-schema\";\nimport Draggable from \"vuedraggable\";\n\nimport { stylePrefix } from \"../../__builtins__/configs\";\nimport { ArrayBase } from \"../../array-base/src\";\nimport { composeExport } from \"../../__builtins__/shared\";\n\nconst isAdditionComponent = (schema: ISchema) => {\n if (typeof schema[\"x-component\"] !== \"string\") return false;\n return schema[\"x-component\"]?.indexOf(\"Addition\") > -1;\n};\n\nexport interface IArrayItemsItemProps {\n type?: \"card\" | \"divide\";\n}\n\nconst ArrayItemsInner = observer(\n defineComponent({\n name: \"FArrayItems\",\n inheritAttrs: false,\n setup() {\n const fieldRef = useField<ArrayField>();\n const schemaRef = useFieldSchema();\n\n const prefixCls = `${stylePrefix}-array-items`;\n const { getKey, keyMap } = ArrayBase.useKey(schemaRef.value);\n\n return () => {\n const field = fieldRef.value;\n const schema = schemaRef.value;\n const dataSource = Array.isArray(field.value) ? field.value.slice() : [];\n\n const renderItems = () => {\n const itemSlot = ({ element, index }: { element: any; index: number }) => {\n const items = Array.isArray(schema.items)\n ? schema.items[index] || schema.items[0]\n : schema.items;\n const key = getKey(element, index);\n return h(\n \"div\",\n {},\n h(\n ArrayBase.Item,\n {\n key,\n index,\n record: element\n },\n {\n default: () =>\n h(\n \"div\",\n {\n class: [`${prefixCls}-item-inner`],\n index,\n key\n },\n h(RecursionField, {\n schema: items,\n name: index\n })\n )\n }\n )\n );\n };\n\n return h(\n Draggable,\n {\n class: [`${prefixCls}-list`],\n value: [],\n list: dataSource,\n animation: 150,\n handle: `.${stylePrefix}-array-base-sort-handle`,\n itemKey: (item: any, index: number) => getKey(item, index),\n onChange(evt: any) {\n if (evt.moved) {\n const { oldIndex, newIndex } = evt.moved;\n if (Array.isArray(keyMap)) {\n keyMap.splice(newIndex, 0, keyMap.splice(oldIndex, 1)[0]);\n }\n field.move(oldIndex, newIndex);\n }\n }\n },\n { item: itemSlot }\n );\n };\n const renderAddition = () => {\n return schema.reduceProperties((addition, schema) => {\n if (isAdditionComponent(schema)) {\n return h(RecursionField, {\n schema,\n name: \"addition\"\n });\n }\n return addition;\n }, null);\n };\n\n return h(\n ArrayBase,\n {\n keyMap\n },\n {\n default: () =>\n h(\n \"div\",\n {\n class: [prefixCls],\n onChange: () => {\n return;\n }\n },\n {\n default: () => [renderItems(), renderAddition()]\n }\n )\n }\n );\n };\n }\n })\n);\n\nconst ArrayItemsItem = defineComponent({\n name: \"FArrayItemsItem\",\n props: [\"type\"],\n setup(props, { attrs, slots }) {\n const prefixCls = `${stylePrefix}-array-items`;\n\n return () =>\n h(\n \"div\",\n {\n class: [`${prefixCls}-${props.type || \"card\"}`],\n ...attrs,\n onChange: () => {\n return;\n }\n },\n slots\n );\n }\n});\n\nexport const ArrayItems = composeExport(ArrayItemsInner, {\n Item: ArrayItemsItem,\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 ArrayItems;\n"],"names":["schema"],"mappings":"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"}