UNPKG

vue-admin-core

Version:
1 lines 10.5 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/search-form/src/index.tsx"],"sourcesContent":["import { observer } from \"@formily/reactive-vue\";\nimport { defineComponent, onUnmounted, ref } from \"vue\";\nimport { FormGrid, formGridProps } from \"../../form-grid\";\nimport { autorun } from \"@formily/reactive\";\nimport { Grid, GridNode, IGridOptions } from \"@formily/grid\";\nimport { DefineComponent, FragmentComponent } from \"@formily/vue\";\nimport { Submit } from \"@vue-admin-core/formily/submit\";\nimport { Reset } from \"@vue-admin-core/formily/reset\";\nimport { FormButtonGroup } from \"@vue-admin-core/formily/form-button-group\";\nimport { ElButton } from \"element-plus\";\nimport { Form, formProps } from \"@vue-admin-core/formily/form\";\nimport { composeExport } from \"@vue-admin-core/formily/__builtins__\";\nimport { buildProps } from \"element-plus/es/utils/vue/props/runtime\";\n\nexport const searchFormProps = {\n ...formProps,\n ...formGridProps,\n ...buildProps({\n /**\n * 查询回调方法\n */\n onSubmit: {\n type: Function\n },\n /**\n * 重置回调方法\n */\n onReset: {\n type: Function\n }\n })\n};\n\nconst useCollapseGrid = (options?: IGridOptions) => {\n const maxRows = options?.maxRows ?? 1;\n const grid = FormGrid.createFormGrid({\n maxColumns: [1, 2, 4],\n minColumns: [1, 2, 4],\n maxRows: maxRows,\n ...options,\n shouldVisible: (node: GridNode, grid: Grid<HTMLElement>) => {\n if (node.index === grid.childSize - 1) return true;\n if (grid.maxRows === Infinity) return true;\n return (node.shadowRow || 0) < maxRows + 1;\n }\n });\n\n const expanded = ref(false);\n const type = ref(\"\");\n\n const takeType = (realRows: number, computeRows: number) => {\n if (realRows < maxRows + 1) return \"incomplete-wrap\";\n if (computeRows > maxRows) return \"collapsible\";\n return \"complete-wrap\";\n };\n\n const dispose = autorun(() => {\n expanded.value = grid.maxRows === Infinity;\n\n const realRows = grid.shadowRows;\n\n const computeRows = grid.fullnessLastColumn ? grid.shadowRows - 1 : grid.shadowRows;\n type.value = takeType(realRows, computeRows);\n });\n\n onUnmounted(dispose);\n\n const toggle = () => {\n if (grid.maxRows === Infinity) {\n grid.maxRows = maxRows;\n } else {\n grid.maxRows = Infinity;\n }\n };\n return {\n grid,\n expanded,\n toggle,\n type\n };\n};\n\nconst SearchFormInner = observer(\n defineComponent({\n name: \"FSearchForm\",\n props: searchFormProps,\n setup(props, { slots }) {\n const { onSubmit, onReset, ...reset } = props;\n const { grid, expanded, toggle, type } = useCollapseGrid(reset);\n\n const renderActions = () => {\n if (slots.actions) return slots.actions();\n return (\n <FragmentComponent>\n <Submit onSubmit={onSubmit}>查询</Submit>\n <Reset onClick={onReset}>重置</Reset>\n </FragmentComponent>\n );\n };\n\n const renderButtonGroup = () => {\n if (type.value === \"incomplete-wrap\") {\n return <FormButtonGroup align=\"left\">{renderActions()}</FormButtonGroup>;\n }\n if (type.value === \"collapsible\") {\n return (\n <FormButtonGroup align=\"right\">\n <FragmentComponent>\n <ElButton type=\"primary\" onClick={toggle} text>\n {expanded.value ? \"收起\" : \"展开\"}\n </ElButton>\n {renderActions()}\n </FragmentComponent>\n </FormButtonGroup>\n );\n }\n return (\n <FormButtonGroup align=\"right\" style={{ display: \"flex\", width: \"100%\" }}>\n {renderActions()}\n </FormButtonGroup>\n );\n };\n\n return () => {\n return (\n // @ts-ignore\n <Form {...reset} feedbackLayout=\"terse\">\n <FormGrid grid={grid}>\n {slots.default && slots.default()}\n <FormGrid.GridColumn gridSpan={-1}>{renderButtonGroup()}</FormGrid.GridColumn>\n </FormGrid>\n </Form>\n );\n };\n }\n })\n);\n\nexport type SearchFormProps = {\n /**\n * 查询回调方法\n */\n onSubmit: (values: any) => any;\n /**\n * 重置回调方法\n */\n onReset: () => any;\n form: any;\n} & IGridOptions;\n\nexport type SearchFormType = DefineComponent<SearchFormProps>;\n\nexport const SearchForm = composeExport(SearchFormInner, {\n useCollapseGrid: useCollapseGrid\n});\n\nexport default SearchForm;\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","searchFormProps","formProps","formGridProps","buildProps","onSubmit","type","Function","onReset","useCollapseGrid","options","maxRows","grid","FormGrid","createFormGrid","maxColumns","minColumns","shouldVisible","node","index","childSize","Infinity","shadowRow","expanded","ref","takeType","realRows","computeRows","dispose","autorun","value","shadowRows","fullnessLastColumn","onUnmounted","toggle","SearchFormInner","observer","defineComponent","name","props","setup","slots","reset","renderActions","actions","_createVNode","FragmentComponent","default","Submit","_createTextVNode","Reset","renderButtonGroup","_slot2","_slot","FormButtonGroup","ElButton","display","width","_slot3","Form","_mergeProps","GridColumn","SearchForm","composeExport"],"mappings":"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"}