UNPKG

vue-admin-core

Version:
1 lines 13.3 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/array-cards/src/index.ts"],"sourcesContent":["import { defineComponent, h } from \"vue\";\nimport { ElCard, ElEmpty, ElRow } from \"element-plus\";\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 { 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\nconst isIndexComponent = (schema: ISchema) => {\n if (typeof schema[\"x-component\"] !== \"string\") return false;\n return schema[\"x-component\"]?.indexOf(\"Index\") > -1;\n};\n\nconst isRemoveComponent = (schema: ISchema) => {\n if (typeof schema[\"x-component\"] !== \"string\") return false;\n return schema[\"x-component\"]?.indexOf(\"Remove\") > -1;\n};\n\nconst isMoveUpComponent = (schema: ISchema) => {\n if (typeof schema[\"x-component\"] !== \"string\") return false;\n return schema[\"x-component\"]?.indexOf(\"MoveUp\") > -1;\n};\n\nconst isMoveDownComponent = (schema: ISchema) => {\n if (typeof schema[\"x-component\"] !== \"string\") return false;\n return schema[\"x-component\"]?.indexOf(\"MoveDown\") > -1;\n};\n\nconst isOperationComponent = (schema: ISchema) => {\n return (\n isAdditionComponent(schema) ||\n isRemoveComponent(schema) ||\n isMoveDownComponent(schema) ||\n isMoveUpComponent(schema)\n );\n};\nconst ArrayCardsInner = observer(\n defineComponent({\n name: \"FArrayCards\",\n inheritAttrs: false,\n props: [\"onChange\"],\n setup(props, { attrs }) {\n const fieldRef = useField<ArrayField>();\n const schemaRef = useFieldSchema();\n const prefixCls = `${stylePrefix}-array-cards`;\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 : [];\n if (!schema) throw new Error(\"can not found schema object\");\n\n const renderItems = () => {\n return dataSource?.map((item, index) => {\n const items = Array.isArray(schema.items)\n ? schema.items[index] || schema.items[0]\n : schema.items;\n\n const title = h(\n \"span\",\n {},\n {\n default: () => [\n h(\n RecursionField,\n {\n schema: items,\n name: index,\n filterProperties: (schema: ISchema) => {\n if (!isIndexComponent(schema)) return false;\n return true;\n },\n onlyRenderProperties: true\n },\n {}\n ),\n attrs.title || field.title\n ]\n }\n );\n const extra = h(\n \"span\",\n {},\n {\n default: () => [\n h(\n RecursionField,\n {\n schema: items,\n name: index,\n filterProperties: (schema: ISchema) => {\n if (!isOperationComponent(schema)) return false;\n return true;\n },\n onlyRenderProperties: true\n },\n {}\n ),\n attrs.extra\n ]\n }\n );\n const content = h(\n RecursionField,\n {\n schema: items,\n name: index,\n filterProperties: (schema: ISchema) => {\n if (isIndexComponent(schema)) return false;\n if (isOperationComponent(schema)) return false;\n return true;\n }\n },\n {}\n );\n return h(\n ArrayBase.Item,\n {\n key: getKey(item, index),\n index,\n record: item\n },\n {\n default: () =>\n h(\n ElCard,\n {\n shadow: \"never\",\n ...attrs,\n class: [`${prefixCls}-item`].concat((attrs as any).class)\n },\n {\n default: () => [content],\n header: () =>\n h(\n ElRow,\n {\n type: \"flex\",\n justify: \"space-between\"\n },\n {\n default: () => [title, extra]\n }\n )\n }\n )\n }\n );\n });\n };\n const renderAddition = () => {\n return schema.reduceProperties((addition, schema) => {\n if (isAdditionComponent(schema)) {\n return h(\n RecursionField,\n {\n schema,\n name: \"addition\"\n },\n {}\n );\n }\n return addition;\n }, null);\n };\n const renderEmpty = () => {\n if (dataSource?.length) return;\n return h(\n ElCard,\n {\n class: [`${prefixCls}-item`],\n shadow: \"never\",\n ...attrs,\n header: attrs.title || field.title\n },\n {\n default: () => h(ElEmpty, { props: { description: \"No Data\", imageSize: 100 } }, {})\n }\n );\n };\n\n return h(\n \"div\",\n {\n class: [prefixCls]\n },\n h(\n ArrayBase,\n {\n keyMap\n },\n {\n default: () => {\n return [renderEmpty(), renderItems(), renderAddition()];\n }\n }\n )\n );\n };\n }\n })\n);\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":["schema"],"mappings":"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"}