UNPKG

vue-admin-core

Version:
1 lines 19.6 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/array-collapse/src/index.ts"],"sourcesContent":["/* eslint-disable indent */\nimport { defineComponent, ref, watchEffect, Ref, h } from \"vue\";\nimport {\n ElCard,\n ElCollapse,\n ElCollapseItem,\n ElEmpty,\n ElRow,\n ElBadge,\n CollapseModelValue\n} 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\";\n\nimport { stylePrefix } from \"../../__builtins__/configs\";\nimport { ArrayBase } from \"../../array-base/src\";\nimport { composeExport } from \"../../__builtins__/shared\";\n\ntype ElCollapseProps = typeof ElCollapse;\ntype ElCollapseItemProps = typeof ElCollapseItem;\n\nexport type IArrayCollapseProps = ElCollapseProps & {\n defaultOpenPanelCount?: number;\n};\n\nconst isAdditionComponent = (schema: ISchema) => {\n return schema[\"x-component\"]?.indexOf(\"Addition\") > -1;\n};\n\nconst isIndexComponent = (schema: ISchema) => {\n return schema[\"x-component\"]?.indexOf(\"Index\") > -1;\n};\n\nconst isRemoveComponent = (schema: ISchema) => {\n return schema[\"x-component\"]?.indexOf(\"Remove\") > -1;\n};\n\nconst isMoveUpComponent = (schema: ISchema) => {\n return schema[\"x-component\"]?.indexOf(\"MoveUp\") > -1;\n};\n\nconst isMoveDownComponent = (schema: ISchema) => {\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};\n\nconst range = (count: number) => Array.from({ length: count }).map((_, i) => i);\n\nconst takeDefaultActiveKeys = (\n dataSourceLength: number,\n defaultOpenPanelCount: number,\n accordion = false\n) => {\n if (accordion) {\n return 0;\n }\n if (dataSourceLength < defaultOpenPanelCount) return range(dataSourceLength);\n\n return range(defaultOpenPanelCount);\n};\n\nconst insertActiveKeys = (activeKeys: CollapseModelValue, index: number, accordion = false) => {\n if (accordion) return index;\n if ((activeKeys as number[]).length <= index) return (activeKeys as number[]).concat(index);\n return (activeKeys as number[]).reduce((buf, key) => {\n if (key < index) return buf.concat(key);\n if (key === index) return buf.concat([key, key + 1]);\n return buf.concat(key + 1);\n }, [] as number[]);\n};\n\nexport const ArrayCollapseInner = observer(\n defineComponent({\n name: \"FArrayCollapse\",\n props: {\n defaultOpenPanelCount: {\n type: Number,\n default: 5\n },\n onChange: { type: Function }\n },\n setup(props, { attrs }) {\n const fieldRef = useField<ArrayField>();\n const schemaRef = useFieldSchema();\n\n const prefixCls = `${stylePrefix}-array-collapse`;\n const activeKeys: Ref<CollapseModelValue> = ref([]);\n\n watchEffect(() => {\n const field = fieldRef.value;\n const dataSource = Array.isArray(field.value) ? field.value.slice() : [];\n if (!field.modified && dataSource.length) {\n activeKeys.value = takeDefaultActiveKeys(\n dataSource.length,\n props.defaultOpenPanelCount,\n attrs.accordion as boolean\n );\n }\n });\n\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 if (!schema) throw new Error(\"can not found schema object\");\n\n const renderItems = () => {\n if (!dataSource.length) {\n return null;\n }\n\n const items = dataSource?.map((item, index) => {\n const items = Array.isArray(schema.items)\n ? schema.items[index] || schema.items[0]\n : schema.items;\n const key = getKey(item, index);\n const panelProps = field.query(`${field.address}.${index}`).get(\"componentProps\");\n const props: ElCollapseItemProps = items?.[\"x-component-props\"];\n const headerTitle = panelProps?.title || props.title || field.title;\n const path = field.address.concat(index);\n const errors = field.form.queryFeedbacks({\n type: \"error\",\n address: `${path}.**`\n });\n\n const title = h(\n ArrayBase.Item,\n {\n index,\n record: item\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 errors.length\n ? h(\n ElBadge,\n {\n class: [`${prefixCls}-errors-badge`],\n value: errors.length\n },\n { default: () => headerTitle }\n )\n : headerTitle\n ]\n }\n );\n const extra = h(\n ArrayBase.Item,\n {\n index,\n record: item\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 ]\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\n return h(\n ElCollapseItem,\n {\n ...props,\n ...panelProps,\n name: index,\n key\n },\n {\n default: () => [\n h(\n ArrayBase.Item,\n {\n index,\n record: item\n },\n {\n default: () => [content]\n }\n )\n ],\n title: () => {\n return h(\n ElRow,\n {\n style: { flex: 1 },\n type: \"flex\",\n justify: \"space-between\"\n },\n {\n default: () => [\n // title(),\n // extra\n h(\"span\", {}, title),\n h(\"span\", {}, extra)\n ]\n }\n );\n }\n }\n );\n });\n\n return h(\n ElCollapse,\n {\n class: [`${prefixCls}-item`],\n ...attrs,\n modelValue: activeKeys.value,\n onChange: (keys: CollapseModelValue) => {\n activeKeys.value = keys;\n }\n },\n {\n default: () => [items]\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, { 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 add: (index: number) => {\n activeKeys.value = insertActiveKeys(\n activeKeys.value,\n index,\n attrs.accordion as boolean\n );\n }\n },\n {\n default: () => [renderEmpty(), renderItems(), renderAddition()]\n }\n )\n );\n };\n }\n })\n);\n\nexport const ArrayCollapseItem = defineComponent({\n name: \"FArrayCollapseItem\",\n setup(_props, { slots }) {\n return () => h(\"div\", {}, slots);\n }\n});\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":["items","props","schema"],"mappings":"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"}