@flatbiz/antd 5.0.43 → 5.0.45
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/dist/_commonjsHelpers-a3yINl_6.js +8 -0
- package/dist/_commonjsHelpers-a3yINl_6.js.map +1 -0
- package/dist/amount-fen-input-DI4mxLeO.js.map +1 -1
- package/dist/anchor-steps-CqqmN9Pf.js.map +1 -1
- package/dist/bootstrap/index.d.ts +1 -1
- package/dist/bootstrap-DtZAiLNG.js.map +1 -1
- package/dist/box-grid/index.js.map +1 -1
- package/dist/button-operate/index.d.ts +1 -1
- package/dist/button-operate/index.js +1 -1
- package/dist/{button-operate-DprXMhOZ.js → button-operate-BIWXX7to.js} +3 -2
- package/dist/button-operate-BIWXX7to.js.map +1 -0
- package/dist/button-wrapper-DezyMqPx.js.map +1 -1
- package/dist/card-layout-P-Qb5pCT.js.map +1 -1
- package/dist/cascader-wrapper/index.d.ts +1 -1
- package/dist/cascader-wrapper/index.js +2 -2
- package/dist/{cascader-wrapper-BFCjHaa9.js → cascader-wrapper-CMYrmR6L.js} +2 -2
- package/dist/{cascader-wrapper-BFCjHaa9.js.map → cascader-wrapper-CMYrmR6L.js.map} +1 -1
- package/dist/{cell-render-Btk1xTUj.js → cell-render-1gunNiMm.js} +11 -5
- package/dist/cell-render-1gunNiMm.js.map +1 -0
- package/dist/center-DgQUmnwe.js.map +1 -1
- package/dist/check-list/index.js.map +1 -1
- package/dist/checkbox-wrapper-BOIS5kIz.js.map +1 -1
- package/dist/color-picker-D8Tiiut0.js.map +1 -1
- package/dist/config-provider-wrapper/index.d.ts +1 -1
- package/dist/config-provider-wrapper-C72dPUJZ.js.map +1 -1
- package/dist/content-B5Twifti.js.map +1 -1
- package/dist/context-HuMVSP3b.js.map +1 -1
- package/dist/{copy-BbkSnxi9.js → copy-BSlIwnwz.js} +9 -4
- package/dist/copy-BSlIwnwz.js.map +1 -0
- package/dist/copy-wrapper/index.d.ts +15 -4
- package/dist/copy-wrapper/index.js +1 -1
- package/dist/css-node-hover-2asP-4iL.js.map +1 -1
- package/dist/data-render-U7RkK7OY.js.map +1 -1
- package/dist/date-picker-wrapper/index.d.ts +1 -1
- package/dist/date-picker-wrapper-D0_g483p.js.map +1 -1
- package/dist/date-range-picker-wrapper-BYOsf0I5.js.map +1 -1
- package/dist/date-range-picker-wrapper-form-item-C_ClxVlZ.js.map +1 -1
- package/dist/delete-node-BXaXf6fO.js.map +1 -1
- package/dist/dependencies-BPs1pFvo.js.map +1 -1
- package/dist/dialog-alert/index.d.ts +1 -1
- package/dist/dialog-alert-CDsZqePQ.js.map +1 -1
- package/dist/dialog-confirm/index.d.ts +1 -1
- package/dist/dialog-confirm-Dc6IMRm7.js.map +1 -1
- package/dist/dialog-drag-modal/index.js +2 -2
- package/dist/dialog-drawer/index.d.ts +1 -1
- package/dist/dialog-drawer-JEjoR512.js.map +1 -1
- package/dist/dialog-loading-Bm6n4_3R.js.map +1 -1
- package/dist/dialog-modal/index.d.ts +1 -1
- package/dist/dialog-modal-DLWmy5GR.js.map +1 -1
- package/dist/dom-DJxTwF3J.js.map +1 -1
- package/dist/{drag-Dxvr0bSy.js → drag-D891d5m3.js} +3 -2
- package/dist/drag-D891d5m3.js.map +1 -0
- package/dist/{drag-Bn9b0R-o.js → drag-DT_ZyPqJ.js} +2 -2
- package/dist/{drag-Bn9b0R-o.js.map → drag-DT_ZyPqJ.js.map} +1 -1
- package/dist/drag-collapse-D2mbeDvD.js.map +1 -1
- package/dist/drag-collapse-DhZ1V5P6.js.map +1 -1
- package/dist/drag-collapse-form-list/index.d.ts +1 -1
- package/dist/drag-editable-card/index.d.ts +1 -1
- package/dist/drag-editable-table/index.d.ts +9 -7
- package/dist/drag-editable-table/index.js +11 -8
- package/dist/drag-editable-table/index.js.map +1 -1
- package/dist/drag-editable-table-pro/index.d.ts +2 -2
- package/dist/drag-editable-table-pro/index.js +1 -1
- package/dist/drag-form-list/index.d.ts +1 -1
- package/dist/drag-form-list-BrIW06Ex.js.map +1 -1
- package/dist/{drag-modal-C3Azghu3.js → drag-modal-Y41HH12_.js} +161 -204
- package/dist/drag-modal-Y41HH12_.js.map +1 -0
- package/dist/drag-table-Dk8HllSn.js.map +1 -1
- package/dist/{drawer-BITwshmb.js → drawer-BfMemZA8.js} +2 -73
- package/dist/drawer-BfMemZA8.js.map +1 -0
- package/dist/dropdown-menu-wrapper/index.d.ts +1 -1
- package/dist/dropdown-menu-wrapper-BE3Liqoh.js.map +1 -1
- package/dist/dynamic-node-B_An5owN.js.map +1 -1
- package/dist/easy-table/index.d.ts +1 -1
- package/dist/easy-table/index.js.map +1 -1
- package/dist/editable-card/index.d.ts +1 -1
- package/dist/editable-card-tyOSUivy.js.map +1 -1
- package/dist/editable-card-zY9wCgE6.js.map +1 -1
- package/dist/editable-field-DBiVpCRE.js.map +1 -1
- package/dist/editable-table/index.css +1 -1
- package/dist/editable-table/index.d.ts +9 -7
- package/dist/editable-table/index.js +10 -6
- package/dist/editable-table/index.js.map +1 -1
- package/dist/{editable-table-Bsch15kT.js → editable-table-0f-H4DHt.js} +3 -3
- package/dist/editable-table-0f-H4DHt.js.map +1 -0
- package/dist/editable-table-pro/index.d.ts +2 -2
- package/dist/editable-table-pro-B12YG7J_.js.map +1 -1
- package/dist/editor-C_Wf256R.js.map +1 -1
- package/dist/editor-CncecOdy.js.map +1 -1
- package/dist/editor-CxXSgnLP.js.map +1 -1
- package/dist/editor-Dhs7idH7.js.map +1 -1
- package/dist/editor-i79rPG9r.js.map +1 -1
- package/dist/error-boundary-D6RX4EQZ.js.map +1 -1
- package/dist/fba-app-Ew89Y7th.js.map +1 -1
- package/dist/fba-hooks/index.js.map +1 -1
- package/dist/fba-utils-okhb5eSJ.js.map +1 -1
- package/dist/file-export-B3RBS7Wl.js.map +1 -1
- package/dist/file-import-pbdSC5lZ.js.map +1 -1
- package/dist/file-select/index.d.ts +1 -1
- package/dist/file-select-BFrXFyKW.js.map +1 -1
- package/dist/flex-layout-BGtMe7zr.js.map +1 -1
- package/dist/form-ByFljQr9.js.map +1 -1
- package/dist/form-grid/index.js.map +1 -1
- package/dist/form-item-group/index.js.map +1 -1
- package/dist/form-item-hidden-BtQvJEx7.js.map +1 -1
- package/dist/form-item-text-bxy5q8tw.js.map +1 -1
- package/dist/form-item-wrapper-Ci7-5IKi.js.map +1 -1
- package/dist/form-list-wrapper/index.d.ts +1 -1
- package/dist/form-list-wrapper-BTSuq_pI.js.map +1 -1
- package/dist/form-wrapper-DBDMN0mN.js.map +1 -1
- package/dist/full-screen/index.js.map +1 -1
- package/dist/gap-5v_ndf2v.js.map +1 -1
- package/dist/icon-wrapper-DE97bI14.js.map +1 -1
- package/dist/in-view-XeG6cIRO.js.map +1 -1
- package/dist/index-C6y8q2MK.js +77 -0
- package/dist/index-C6y8q2MK.js.map +1 -0
- package/dist/index.d.ts +42 -37
- package/dist/index.js +19 -20
- package/dist/input-search-wrapper/index.d.ts +1 -1
- package/dist/input-search-wrapper-dVFSFf3t.js.map +1 -1
- package/dist/input-text-area-wrapper/index.d.ts +1 -1
- package/dist/input-text-area-wrapper-CRi9fWSJ.js.map +1 -1
- package/dist/input-wrapper-hEJP2UIk.js.map +1 -1
- package/dist/label-value-layout-CbKTtTXJ.js.map +1 -1
- package/dist/{label-value-CcUdtnY1.js → label-value-o1pOZ2M6.js} +9 -1
- package/dist/label-value-o1pOZ2M6.js.map +1 -0
- package/dist/label-value-render/index.d.ts +3 -2
- package/dist/label-value-render/index.js +1 -1
- package/dist/layout-2woF_D6T.js.map +1 -1
- package/dist/local-loading/index.js.map +1 -1
- package/dist/mention-editor-zgAlQ8Cx.js.map +1 -1
- package/dist/mentions-950t_JC_.js.map +1 -1
- package/dist/modal-action-kQ60nGCG.js.map +1 -1
- package/dist/number-range-DUyTW0V1.js.map +1 -1
- package/dist/page-fixed-footer-BHBJsfnh.js.map +1 -1
- package/dist/pdf/index.js.map +1 -1
- package/dist/permission-D5AvZAS8.js.map +1 -1
- package/dist/pre-defined-class-name/index.js.map +1 -1
- package/dist/preview-Blwn4lHG.js.map +1 -1
- package/dist/preview-DvEwmG2h.js.map +1 -1
- package/dist/preview-image-BCBOv4h_.js.map +1 -1
- package/dist/radio-group-wrapper-Dip9OsdR.js.map +1 -1
- package/dist/relation-tree-BMas57Ck.js.map +1 -1
- package/dist/request-status/index.d.ts +1 -1
- package/dist/request-status/index.js +1 -1
- package/dist/{request-status-5M9DP8-J.js → request-status-CTleOQtX.js} +12 -6
- package/dist/request-status-CTleOQtX.js.map +1 -0
- package/dist/resizable-drawer/index.js +3 -2
- package/dist/resizable-drawer/index.js.map +1 -1
- package/dist/rich-text-editor-cqzUxX_s.js.map +1 -1
- package/dist/rich-text-viewer-FVi2i8nv.js.map +1 -1
- package/dist/rule-describe-BkkX7ukt.js.map +1 -1
- package/dist/search-BbKmdP-9.js.map +1 -1
- package/dist/search-menu/index.d.ts +1 -1
- package/dist/search-menu-N7nz0XoH.js.map +1 -1
- package/dist/selector-D0YxuDbf.js.map +1 -1
- package/dist/{selector-DGXElqt2.js → selector-fu9imgsR.js} +2 -2
- package/dist/{selector-DGXElqt2.js.map → selector-fu9imgsR.js.map} +1 -1
- package/dist/selector-wrapper/index.css +1 -1
- package/dist/selector-wrapper/index.d.ts +4 -1
- package/dist/selector-wrapper/index.js +9 -3
- package/dist/selector-wrapper/index.js.map +1 -1
- package/dist/{selector-wrapper-DfaplVbz.js → selector-wrapper-B5PUm15M.js} +113 -47
- package/dist/selector-wrapper-B5PUm15M.js.map +1 -0
- package/dist/selector-wrapper-search/index.d.ts +5 -1
- package/dist/selector-wrapper-search/index.js +3 -3
- package/dist/{selector-wrapper-search-DG0GPWl6.js → selector-wrapper-search-BMyOMlZl.js} +26 -8
- package/dist/selector-wrapper-search-BMyOMlZl.js.map +1 -0
- package/dist/selector-wrapper-simple/index.d.ts +1 -1
- package/dist/selector-wrapper-simple/index.js +2 -2
- package/dist/{selector-wrapper-simple-BE6H7nX7.js → selector-wrapper-simple-Vbt4cYNm.js} +2 -2
- package/dist/{selector-wrapper-simple-BE6H7nX7.js.map → selector-wrapper-simple-Vbt4cYNm.js.map} +1 -1
- package/dist/simple-layout-mSolkIZ5.js.map +1 -1
- package/dist/sms-count-down-DyovY2s3.js.map +1 -1
- package/dist/span-Cjqb-rEm.js.map +1 -1
- package/dist/split-BHDOAdvw.js.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/svg-CqFW3W-s.js.map +1 -1
- package/dist/switch-confirm-wrapper-CFFD0YJY.js.map +1 -1
- package/dist/switch-wrapper-CxGztawn.js.map +1 -1
- package/dist/symbol-DcM8okBP.js.map +1 -1
- package/dist/table-cell-render/index.d.ts +7 -2
- package/dist/table-cell-render/index.js +3 -3
- package/dist/table-scrollbar-yqz5FkCz.js.map +1 -1
- package/dist/tabs-cpy2bCpo.js.map +1 -1
- package/dist/tabs-wrapper-IxpPTX9z.js.map +1 -1
- package/dist/tag-group-B2oj-CYo.js.map +1 -1
- package/dist/{tag-list-B0OTlda6.js → tag-list-DrmpuEDJ.js} +8 -2
- package/dist/tag-list-DrmpuEDJ.js.map +1 -0
- package/dist/tag-list-render/index.d.ts +2 -0
- package/dist/tag-list-render/index.js +1 -1
- package/dist/tag-list-select-C8_X2SS-.js.map +1 -1
- package/dist/tag-wrapper-CJsZ8Jvy.js.map +1 -1
- package/dist/text-overflow-C42UFIyh.js.map +1 -1
- package/dist/time-Cv4_lLXu.js.map +1 -1
- package/dist/time-picker-wrapper-AQg6UCts.js.map +1 -1
- package/dist/time-range-picker-wrapper-C2Y0j-w1.js.map +1 -1
- package/dist/time-range-picker-wrapper-form-item-Cl0i2rZv.js.map +1 -1
- package/dist/tips-title-B6qZn_zc.js.map +1 -1
- package/dist/tips-wrapper-DvbgHMwl.js.map +1 -1
- package/dist/title-render-DGYUo6yV.js.map +1 -1
- package/dist/tree-modal/index.d.ts +2 -2
- package/dist/tree-modal/index.js +3 -3
- package/dist/tree-modal/index.js.map +1 -1
- package/dist/tree-modal-selector/index.d.ts +2 -2
- package/dist/tree-modal-selector/index.js +3 -3
- package/dist/tree-selector-wrapper/index.d.ts +1 -1
- package/dist/tree-selector-wrapper/index.js +2 -2
- package/dist/tree-wrapper/index.d.ts +2 -2
- package/dist/tree-wrapper/index.js +5 -5
- package/dist/tree-wrapper/index.js.map +1 -1
- package/dist/upload-wrapper/index.d.ts +1 -1
- package/dist/upload-wrapper--IfkLPBP.js.map +1 -1
- package/dist/use-responsive-point-Bp3D3lZT.js.map +1 -1
- package/dist/x-mind-preview-Bx7UmHAu.js.map +1 -1
- package/package.json +1 -7
- package/dist/_commonjsHelpers-nJh5OW6J.js +0 -33
- package/dist/_commonjsHelpers-nJh5OW6J.js.map +0 -1
- package/dist/ai-search/index.css +0 -1
- package/dist/ai-search/index.d.ts +0 -25
- package/dist/ai-search/index.js +0 -39
- package/dist/ai-search/index.js.map +0 -1
- package/dist/ai-search-BuvayoCT.js +0 -161
- package/dist/ai-search-BuvayoCT.js.map +0 -1
- package/dist/button-operate-DprXMhOZ.js.map +0 -1
- package/dist/cell-render-Btk1xTUj.js.map +0 -1
- package/dist/copy-BbkSnxi9.js.map +0 -1
- package/dist/drag-Dxvr0bSy.js.map +0 -1
- package/dist/drag-modal-C3Azghu3.js.map +0 -1
- package/dist/drawer-BITwshmb.js.map +0 -1
- package/dist/editable-table-Bsch15kT.js.map +0 -1
- package/dist/label-value-CcUdtnY1.js.map +0 -1
- package/dist/request-status-5M9DP8-J.js.map +0 -1
- package/dist/selector-wrapper-DfaplVbz.js.map +0 -1
- package/dist/selector-wrapper-search-DG0GPWl6.js.map +0 -1
- package/dist/tag-list-B0OTlda6.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fba-utils-okhb5eSJ.js","sources":["@flatbiz/antd/src/fba-utils/fba-utils.ts"],"sourcesContent":["import type { FormInstance } from 'antd';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getGlobalData, getUuid } from '@flatbiz/utils';\n\nconst getPermissionList = () => {\n const { elemAclLimits } = getGlobalData<{ elemAclLimits: string[] }>();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nconst hasPermission = (name?: string) => {\n if (!name) return true;\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nfunction attachPropertiesToComponent<C, P extends Record<string, unknown>>(\n component: C,\n properties: P\n): C & P {\n const ret = component as Record<string, unknown>;\n for (const key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n ret[key] = properties[key];\n }\n }\n return ret as C & P;\n}\n\nconst getModelKey = () => {\n return getUuid();\n};\n\nconst triggerFormValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[]\n) => {\n const formDispatch = (form as TAny).getInternalHooks(\n 'RC_FORM_INTERNAL_HOOKS'\n ).dispatch;\n changeList.forEach((item) => {\n formDispatch({\n type: 'updateValue',\n namePath: item.name,\n value: item.value,\n });\n });\n};\n\nconst setFormFieldsAndTriggerValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[]\n) => {\n const paramList = changeList.map((item) => {\n return {\n name: item.name,\n value: item.value,\n };\n });\n\n form.setFields(paramList);\n\n triggerFormValuesChange(form, paramList);\n};\n\nconst removeFormValuesInvalidField = (params?: TPlainObject) => {\n if (!params) return undefined;\n const paramsNew = cloneState(params);\n Object.keys(paramsNew).forEach((key) => {\n if (key.includes('__#invalid_')) {\n delete paramsNew[key];\n }\n });\n return paramsNew as TPlainObject;\n};\n\nexport const fbaUtils = {\n hasPermission,\n getPermissionList,\n attachPropertiesToComponent,\n getModelKey,\n /**\n * 手动触发Antd Form 的 onValuesChange\n * ```\n * 1. 正常在通过 form.setFieldsValue 不会触发onValuesChange\n * 2. 需要触发可调用此方法\n * ```\n */\n triggerFormValuesChange,\n /**\n * 操作Antd Form\n * ```\n * 1. 通过 form.setFields 修改属性值\n * 2. 触发 Form 的 onValuesChange\n * ```\n */\n setFormFieldsAndTriggerValuesChange: setFormFieldsAndTriggerValuesChange,\n /**\n * 移除Form Values中无效字段\n * ```\n * 1. 在使用 DateRangePickerWrapperFormItem、TimeRangePickerWrapperFormItem 会产生 `__#invalid_xxxx` 无效字段\n * ```\n */\n removeFormValuesInvalidField: removeFormValuesInvalidField,\n};\n"],"names":["getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","attachPropertiesToComponent","component","properties","ret","key","Object","prototype","hasOwnProperty","call","getModelKey","getUuid","triggerFormValuesChange","form","changeList","formDispatch","getInternalHooks","dispatch","forEach","item","type","namePath","value","setFormFieldsAndTriggerValuesChange","paramList","map","setFields","removeFormValuesInvalidField","params","undefined","paramsNew","cloneState","keys","fbaUtils"],"mappings":";;;;;;AAMA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;AAC9B,EAAA,IAAAC,cAAA,GAA0BC,aAAa,EAA+B;IAA9DC,aAAa,GAAAF,cAAA,CAAbE,aAAa;EACrB,IAAMC,cAAwB,GAAGC,OAAA,CAAQF,aAAa,CAAC,GAAGA,aAAa,GAAG,EAAE;AAC5E,EAAA,OAAOC,cAAc;AACvB,CAAC;AAED,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAa,EAAK;AACvC,EAAA,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;AACtB,EAAA,IAAMH,cAAc,GAAGJ,iBAAiB,EAAE;AAC1C,EAAA,IAAII,cAAc,CAACI,QAAQ,CAACD,IAAI,CAAC,EAAE;AACjC,IAAA,OAAO,IAAI;AACb;AACA,EAAA,OAAO,KAAK;AACd,CAAC;AAED,SAASE,2BAA2BA,CAClCC,SAAY,EACZC,UAAa,EACN;EACP,IAAMC,GAAG,GAAGF,SAAoC;AAChD,EAAA,KAAK,IAAMG,GAAG,IAAIF,UAAU,EAAE;AAC5B,IAAA,IAAIG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,UAAU,EAAEE,GAAG,CAAC,EAAE;AACzDD,MAAAA,GAAG,CAACC,GAAG,CAAC,GAAGF,UAAU,CAACE,GAAG,CAAC;AAC5B;AACF;AACA,EAAA,OAAOD,GAAG;AACZ;AAEA,IAAMM,WAAW,GAAG,SAAdA,WAAWA,GAAS;EACxB,OAAOC,OAAO,EAAE;AAClB,CAAC;AAED,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAC3BC,IAAkB,EAClBC,UAA6E,EAC1E;EACH,IAAMC,YAAY,GAAIF,IAAI,CAAUG,gBAAgB,CAClD,wBACF,CAAC,CAACC,QAAQ;AACVH,EAAAA,UAAU,CAACI,OAAO,CAAC,UAACC,IAAI,EAAK;AAC3BJ,IAAAA,YAAY,CAAC;AACXK,MAAAA,IAAI,EAAE,aAAa;MACnBC,QAAQ,EAAEF,IAAI,CAACpB,IAAI;MACnBuB,KAAK,EAAEH,IAAI,CAACG;AACd,KAAC,CAAC;AACJ,
|
|
1
|
+
{"version":3,"file":"fba-utils-okhb5eSJ.js","sources":["@flatbiz/antd/src/fba-utils/fba-utils.ts"],"sourcesContent":["import type { FormInstance } from 'antd';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getGlobalData, getUuid } from '@flatbiz/utils';\n\nconst getPermissionList = () => {\n const { elemAclLimits } = getGlobalData<{ elemAclLimits: string[] }>();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nconst hasPermission = (name?: string) => {\n if (!name) return true;\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nfunction attachPropertiesToComponent<C, P extends Record<string, unknown>>(\n component: C,\n properties: P\n): C & P {\n const ret = component as Record<string, unknown>;\n for (const key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n ret[key] = properties[key];\n }\n }\n return ret as C & P;\n}\n\nconst getModelKey = () => {\n return getUuid();\n};\n\nconst triggerFormValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[]\n) => {\n const formDispatch = (form as TAny).getInternalHooks(\n 'RC_FORM_INTERNAL_HOOKS'\n ).dispatch;\n changeList.forEach((item) => {\n formDispatch({\n type: 'updateValue',\n namePath: item.name,\n value: item.value,\n });\n });\n};\n\nconst setFormFieldsAndTriggerValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[]\n) => {\n const paramList = changeList.map((item) => {\n return {\n name: item.name,\n value: item.value,\n };\n });\n\n form.setFields(paramList);\n\n triggerFormValuesChange(form, paramList);\n};\n\nconst removeFormValuesInvalidField = (params?: TPlainObject) => {\n if (!params) return undefined;\n const paramsNew = cloneState(params);\n Object.keys(paramsNew).forEach((key) => {\n if (key.includes('__#invalid_')) {\n delete paramsNew[key];\n }\n });\n return paramsNew as TPlainObject;\n};\n\nexport const fbaUtils = {\n hasPermission,\n getPermissionList,\n attachPropertiesToComponent,\n getModelKey,\n /**\n * 手动触发Antd Form 的 onValuesChange\n * ```\n * 1. 正常在通过 form.setFieldsValue 不会触发onValuesChange\n * 2. 需要触发可调用此方法\n * ```\n */\n triggerFormValuesChange,\n /**\n * 操作Antd Form\n * ```\n * 1. 通过 form.setFields 修改属性值\n * 2. 触发 Form 的 onValuesChange\n * ```\n */\n setFormFieldsAndTriggerValuesChange: setFormFieldsAndTriggerValuesChange,\n /**\n * 移除Form Values中无效字段\n * ```\n * 1. 在使用 DateRangePickerWrapperFormItem、TimeRangePickerWrapperFormItem 会产生 `__#invalid_xxxx` 无效字段\n * ```\n */\n removeFormValuesInvalidField: removeFormValuesInvalidField,\n};\n"],"names":["getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","attachPropertiesToComponent","component","properties","ret","key","Object","prototype","hasOwnProperty","call","getModelKey","getUuid","triggerFormValuesChange","form","changeList","formDispatch","getInternalHooks","dispatch","forEach","item","type","namePath","value","setFormFieldsAndTriggerValuesChange","paramList","map","setFields","removeFormValuesInvalidField","params","undefined","paramsNew","cloneState","keys","fbaUtils"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-export-B3RBS7Wl.js","sources":["@flatbiz/antd/src/file-export/file-export.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Fragment, isValidElement } from 'react';\nimport { message } from 'antd';\n\nexport type FileExportProps = {\n /** 触发节点 */\n action:\n | (ReactElement & { onClick?: (e) => void })\n | ((data: { onClick: (e) => void }) => ReactElement);\n /**\n * 获取文件流数据\n * ```\n * 1. fileName 文件名称\n * 2. data 文件流\n * ```\n */\n onRequest: () => Promise<{ fileName: string; data: Blob }>;\n /** 导出操作前 */\n onExportPre?: () => void;\n /** 导出操作后 */\n onExportNext?: () => void;\n /** 导出操作失败,隐藏默认失败效果 */\n onExportError?: (error?: any) => void;\n};\n\n/**\n * 文件导出\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 例如:\n <FileExport\n action={<Button>下载</Button>}\n onRequest={() => {\n return serviceHandle.fileExport('/export/file', {});\n }}\n onExportNext={() => {\n message.success('导出成功...');\n }}\n />\n * ```\n */\nexport const FileExport = (props: FileExportProps) => {\n const Action = props.action;\n\n const handleOnClick = async () => {\n try {\n props.onExportPre?.();\n const respData = await props.onRequest();\n const link = document.createElement('a');\n const url = window.URL.createObjectURL(respData.data);\n link.style.display = 'none';\n link.href = url;\n link.setAttribute('download', respData.fileName);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n props.onExportNext?.();\n } catch (error: any) {\n if (props.onExportError) {\n props.onExportError(error);\n } else {\n message.error(error?.message || '文件导出失败...');\n }\n }\n };\n\n return (\n <Fragment>\n {isValidElement(Action) ? (\n <Action.type {...Action.props} onClick={handleOnClick} />\n ) : (\n Action?.({ onClick: handleOnClick })\n )}\n </Fragment>\n );\n};\n"],"names":["FileExport","props","Action","action","handleOnClick","Promise","$return","$error","_props$onExportPre","_props$onExportNext","respData","link","url","$Try_1_Post","$boundEx","$Try_1_Catch","error","onExportError","message","onExportPre","call","resolve","onRequest","then","$await_2","document","createElement","window","URL","createObjectURL","data","style","display","href","setAttribute","fileName","body","appendChild","click","removeChild","onExportNext","_jsx","Fragment","children","isValidElement","type","_objectSpread","onClick"],"mappings":";;;;;;;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AACpD,EAAA,IAAMC,MAAM,GAAGD,KAAK,CAACE,MAAM;AAE3B,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAA;AAAG,IAAA,OAAA,IAAAC,OAAA,CAAA,UAAAC,OAAA,EAAAC,MAAA,EAAA;MAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAGZC,QAAkC,EAClCC,IAAkC,EAClCC,GAA+C;MAjD3D,IAAIC,WAAA,eAAA;QAAJ,IAAI;AAAA,UAAA,OAAAP,OAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"file-export-B3RBS7Wl.js","sources":["@flatbiz/antd/src/file-export/file-export.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Fragment, isValidElement } from 'react';\nimport { message } from 'antd';\n\nexport type FileExportProps = {\n /** 触发节点 */\n action:\n | (ReactElement & { onClick?: (e) => void })\n | ((data: { onClick: (e) => void }) => ReactElement);\n /**\n * 获取文件流数据\n * ```\n * 1. fileName 文件名称\n * 2. data 文件流\n * ```\n */\n onRequest: () => Promise<{ fileName: string; data: Blob }>;\n /** 导出操作前 */\n onExportPre?: () => void;\n /** 导出操作后 */\n onExportNext?: () => void;\n /** 导出操作失败,隐藏默认失败效果 */\n onExportError?: (error?: any) => void;\n};\n\n/**\n * 文件导出\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 例如:\n <FileExport\n action={<Button>下载</Button>}\n onRequest={() => {\n return serviceHandle.fileExport('/export/file', {});\n }}\n onExportNext={() => {\n message.success('导出成功...');\n }}\n />\n * ```\n */\nexport const FileExport = (props: FileExportProps) => {\n const Action = props.action;\n\n const handleOnClick = async () => {\n try {\n props.onExportPre?.();\n const respData = await props.onRequest();\n const link = document.createElement('a');\n const url = window.URL.createObjectURL(respData.data);\n link.style.display = 'none';\n link.href = url;\n link.setAttribute('download', respData.fileName);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n props.onExportNext?.();\n } catch (error: any) {\n if (props.onExportError) {\n props.onExportError(error);\n } else {\n message.error(error?.message || '文件导出失败...');\n }\n }\n };\n\n return (\n <Fragment>\n {isValidElement(Action) ? (\n <Action.type {...Action.props} onClick={handleOnClick} />\n ) : (\n Action?.({ onClick: handleOnClick })\n )}\n </Fragment>\n );\n};\n"],"names":["FileExport","props","Action","action","handleOnClick","Promise","$return","$error","_props$onExportPre","_props$onExportNext","respData","link","url","$Try_1_Post","$boundEx","$Try_1_Catch","error","onExportError","message","onExportPre","call","resolve","onRequest","then","$await_2","document","createElement","window","URL","createObjectURL","data","style","display","href","setAttribute","fileName","body","appendChild","click","removeChild","onExportNext","_jsx","Fragment","children","isValidElement","type","_objectSpread","onClick"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-import-pbdSC5lZ.js","sources":["@flatbiz/antd/src/file-import/file-import.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { isValidElement, useState } from 'react';\nimport type { UploadProps } from 'antd';\nimport { Button, message, Upload } from 'antd';\nimport type { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\n\nexport type FileImportProps = {\n /** 上传文件接口返回处理 */\n onImportFinish: (data?: TAny) => void;\n buttonName?: string | ReactElement;\n children?: ReactNode | ((data: { loading: boolean }) => ReactNode);\n} & Omit<\n UploadProps,\n | 'fileList'\n | 'showUploadList'\n | 'itemRender'\n | 'listType'\n | 'multiple'\n | 'previewFile'\n | 'progress'\n | 'onChange'\n | 'onDownload'\n | 'onRemove'\n | 'onPreview'\n | 'directory'\n | 'customRequest'\n | 'defaultFileList'\n | 'iconRender'\n>;\n\n/**\n * 文件导入\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 1. accept默认值 '.xlsx,.xls',\n * 2. formData 上传key默认值 file\n * \n * 例如:\n <FileImport\n action={'https://xxx/xxx/xx'}\n onImportFinish={(data) => {\n console.log('上传接口响应数据', data);\n }}\n >\n <Button>文件上传</Button>\n </FileImport>\n * ```\n */\nexport const FileImport = (props: FileImportProps) => {\n const { onImportFinish, buttonName, ...otherProps } = props;\n\n const [loading, setLoading] = useState(false);\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n } else if (info.file.status === 'done') {\n setLoading(false);\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error((respData.message as string) || '文件导入异常...');\n }\n }\n });\n\n return (\n <Upload\n showUploadList={false}\n maxCount={1}\n {...otherProps}\n onChange={onChange}\n >\n {typeof props.children === 'function' ? (\n props.children?.({ loading })\n ) : isValidElement(props.children) ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost loading={loading}>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n"],"names":["FileImport","props","_props$children","onImportFinish","buttonName","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onChange","_hooks","useCallbackRef","info","file","status","respData","response","code","data","message","error","_jsx","Upload","_objectSpread","showUploadList","maxCount","children","call","isValidElement","Button","type","ghost","defaultProps","name","accept"],"mappings":";;;;;;;;;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AAAA,EAAA,IAAAC,eAAA;AACpD,EAAA,IAAQC,cAAc,GAAgCF,KAAK,CAAnDE,cAAc;IAAEC,UAAU,GAAoBH,KAAK,CAAnCG,UAAU;AAAKC,IAAAA,UAAU,GAAAC,wBAAA,CAAKL,KAAK,EAAAM,SAAA,CAAA;AAE3D,EAAA,IAAAC,SAAA,GAA8BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCI,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA;EAE1B,IAAMI,QAAQ,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAACC,IAAI,EAAK;AAC9C,IAAA,IAAIA,IAAI,CAACC,IAAI,CAACC,MAAM,KAAK,WAAW,EAAE;MACpCN,UAAU,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"file-import-pbdSC5lZ.js","sources":["@flatbiz/antd/src/file-import/file-import.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { isValidElement, useState } from 'react';\nimport type { UploadProps } from 'antd';\nimport { Button, message, Upload } from 'antd';\nimport type { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\n\nexport type FileImportProps = {\n /** 上传文件接口返回处理 */\n onImportFinish: (data?: TAny) => void;\n buttonName?: string | ReactElement;\n children?: ReactNode | ((data: { loading: boolean }) => ReactNode);\n} & Omit<\n UploadProps,\n | 'fileList'\n | 'showUploadList'\n | 'itemRender'\n | 'listType'\n | 'multiple'\n | 'previewFile'\n | 'progress'\n | 'onChange'\n | 'onDownload'\n | 'onRemove'\n | 'onPreview'\n | 'directory'\n | 'customRequest'\n | 'defaultFileList'\n | 'iconRender'\n>;\n\n/**\n * 文件导入\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 1. accept默认值 '.xlsx,.xls',\n * 2. formData 上传key默认值 file\n * \n * 例如:\n <FileImport\n action={'https://xxx/xxx/xx'}\n onImportFinish={(data) => {\n console.log('上传接口响应数据', data);\n }}\n >\n <Button>文件上传</Button>\n </FileImport>\n * ```\n */\nexport const FileImport = (props: FileImportProps) => {\n const { onImportFinish, buttonName, ...otherProps } = props;\n\n const [loading, setLoading] = useState(false);\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n } else if (info.file.status === 'done') {\n setLoading(false);\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error((respData.message as string) || '文件导入异常...');\n }\n }\n });\n\n return (\n <Upload\n showUploadList={false}\n maxCount={1}\n {...otherProps}\n onChange={onChange}\n >\n {typeof props.children === 'function' ? (\n props.children?.({ loading })\n ) : isValidElement(props.children) ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost loading={loading}>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n"],"names":["FileImport","props","_props$children","onImportFinish","buttonName","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onChange","_hooks","useCallbackRef","info","file","status","respData","response","code","data","message","error","_jsx","Upload","_objectSpread","showUploadList","maxCount","children","call","isValidElement","Button","type","ghost","defaultProps","name","accept"],"mappings":";;;;;;;;;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AAAA,EAAA,IAAAC,eAAA;AACpD,EAAA,IAAQC,cAAc,GAAgCF,KAAK,CAAnDE,cAAc;IAAEC,UAAU,GAAoBH,KAAK,CAAnCG,UAAU;AAAKC,IAAAA,UAAU,GAAAC,wBAAA,CAAKL,KAAK,EAAAM,SAAA,CAAA;AAE3D,EAAA,IAAAC,SAAA,GAA8BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCI,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA;EAE1B,IAAMI,QAAQ,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAACC,IAAI,EAAK;AAC9C,IAAA,IAAIA,IAAI,CAACC,IAAI,CAACC,MAAM,KAAK,WAAW,EAAE;MACpCN,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,MAAM,IAAII,IAAI,CAACC,IAAI,CAACC,MAAM,KAAK,MAAM,EAAE;MACtCN,UAAU,CAAC,KAAK,CAAC;AACjB,MAAA,IAAMO,QAAQ,GAAGH,IAAI,CAACC,IAAI,CAACG,QAAQ;AACnC,MAAA,IAAID,QAAQ,CAACE,IAAI,KAAK,MAAM,EAAE;AAC5BnB,QAAAA,cAAc,CAACiB,QAAQ,CAACG,IAAI,CAAC;AAC/B,MAAA,CAAC,MAAM;QACL,KAAKC,OAAO,CAACC,KAAK,CAAEL,QAAQ,CAACI,OAAO,IAAe,WAAW,CAAC;AACjE,MAAA;AACF,IAAA;AACF,EAAA,CAAC,CAAC;AAEF,EAAA,oBACEE,GAAA,CAACC,MAAM,EAAAC,cAAA,CAAAA,cAAA,CAAA;AACLC,IAAAA,cAAc,EAAE,KAAM;AACtBC,IAAAA,QAAQ,EAAE;AAAE,GAAA,EACRzB,UAAU,CAAA,EAAA,EAAA,EAAA;AACdS,IAAAA,QAAQ,EAAEA,QAAS;IAAAiB,QAAA,EAElB,OAAO9B,KAAK,CAAC8B,QAAQ,KAAK,UAAU,IAAA7B,eAAA,GACnCD,KAAK,CAAC8B,QAAQ,cAAA7B,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAA8B,IAAA,CAAA/B,KAAK,EAAY;AAAEW,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC,gBAC3BqB,cAAc,CAAChC,KAAK,CAAC8B,QAAQ,CAAC,GAChC9B,KAAK,CAAC8B,QAAQ,gBAEdL,GAAA,CAACQ,MAAM,EAAA;AAACC,MAAAA,IAAI,EAAC,SAAS;MAACC,KAAK,EAAA,IAAA;AAACxB,MAAAA,OAAO,EAAEA,OAAQ;MAAAmB,QAAA,EAC3C3B,UAAU,IAAI;KACT;AACT,GAAA,CACK,CAAC;AAEb;AAEAJ,UAAU,CAACqC,YAAY,GAAG;AACxBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE;AACV,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-select-BFrXFyKW.js","sources":["@flatbiz/antd/src/file-select/file-select.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { Button, Upload } from 'antd';\nimport type { RcFile } from 'antd/
|
|
1
|
+
{"version":3,"file":"file-select-BFrXFyKW.js","sources":["@flatbiz/antd/src/file-select/file-select.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport { Button, Upload } from 'antd';\nimport type { RcFile } from 'antd/lib/upload/index.js';\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport './style.less';\n\nexport type FileSelectProps = {\n buttonName?: string | ReactElement;\n children?: ReactNode;\n /** 上传按钮与文件排版 默认:horizontal */\n direction?: 'horizontal' | 'hertical';\n /** 可选择文件格式,默认:.xlsx,.xls */\n accept?: string;\n onChange?: (file?: RcFile) => void;\n className?: string;\n};\n\n/**\n * 文件选择,内部不调用服务上传\n * ```\n * 默认选择文件格式:.xlsx,.xls\n * ```\n */\nexport const FileSelect = (props: FileSelectProps) => {\n const { buttonName } = props;\n const [fileList, setFileList] = useState<RcFile[]>([]);\n const direction = isUndefinedOrNull(props.direction)\n ? 'horizontal'\n : props.direction;\n\n const beforeUpload = hooks.useCallbackRef((file) => {\n setFileList([file]);\n props.onChange?.(file);\n return false;\n });\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info?.file?.status === 'removed') {\n setFileList([]);\n props.onChange?.();\n }\n });\n\n return (\n <Upload\n showUploadList={true}\n onChange={onChange}\n maxCount={1}\n beforeUpload={beforeUpload}\n fileList={fileList}\n accept={props.accept || '.xlsx,.xls'}\n className={classNames(\n 'file-select',\n { 'file-select-horizontal': direction === 'horizontal' },\n props.className\n )}\n >\n {props.children ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n"],"names":["FileSelect","props","buttonName","_useState","useState","_useState2","_slicedToArray","fileList","setFileList","direction","isUndefinedOrNull","beforeUpload","_hooks","useCallbackRef","file","_props$onChange","onChange","call","info","_info$file","status","_props$onChange2","_jsx","Upload","showUploadList","maxCount","accept","className","_classNames","children","Button","type","ghost"],"mappings":";;;;;;;;;;AAoBA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AACpD,EAAA,IAAQC,UAAU,GAAKD,KAAK,CAApBC,UAAU;AAClB,EAAA,IAAAC,SAAA,GAAgCC,QAAQ,CAAW,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAMI,SAAS,GAAGC,iBAAiB,CAACT,KAAK,CAACQ,SAAS,CAAC,GAChD,YAAY,GACZR,KAAK,CAACQ,SAAS;EAEnB,IAAME,YAAY,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAACC,IAAI,EAAK;AAAA,IAAA,IAAAC,eAAA;AAClDP,IAAAA,WAAW,CAAC,CAACM,IAAI,CAAC,CAAC;AACnB,IAAA,CAAAC,eAAA,GAAAd,KAAK,CAACe,QAAQ,MAAA,IAAA,IAAAD,eAAA,KAAA,MAAA,IAAdA,eAAA,CAAAE,IAAA,CAAAhB,KAAK,EAAYa,IAAI,CAAC;AACtB,IAAA,OAAO,KAAK;AACd,EAAA,CAAC,CAAC;EAEF,IAAME,QAAQ,GAAGJ,KAAA,CAAMC,cAAc,CAAC,UAACK,IAAI,EAAK;AAAA,IAAA,IAAAC,UAAA;AAC9C,IAAA,IAAI,CAAAD,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,IAAA,CAAAC,UAAA,GAAJD,IAAI,CAAEJ,IAAI,MAAA,IAAA,IAAAK,UAAA,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAA,CAAYC,MAAM,MAAK,SAAS,EAAE;AAAA,MAAA,IAAAC,gBAAA;MACpCb,WAAW,CAAC,EAAE,CAAC;AACf,MAAA,CAAAa,gBAAA,GAAApB,KAAK,CAACe,QAAQ,MAAA,IAAA,IAAAK,gBAAA,KAAA,MAAA,IAAdA,gBAAA,CAAAJ,IAAA,CAAAhB,KAAiB,CAAC;AACpB,IAAA;AACF,EAAA,CAAC,CAAC;EAEF,oBACEqB,GAAA,CAACC,MAAM,EAAA;AACLC,IAAAA,cAAc,EAAE,IAAK;AACrBR,IAAAA,QAAQ,EAAEA,QAAS;AACnBS,IAAAA,QAAQ,EAAE,CAAE;AACZd,IAAAA,YAAY,EAAEA,YAAa;AAC3BJ,IAAAA,QAAQ,EAAEA,QAAS;AACnBmB,IAAAA,MAAM,EAAEzB,KAAK,CAACyB,MAAM,IAAI,YAAa;AACrCC,IAAAA,SAAS,EAAEC,UAAA,CACT,aAAa,EACb;MAAE,wBAAwB,EAAEnB,SAAS,KAAK;AAAa,KAAC,EACxDR,KAAK,CAAC0B,SACR,CAAE;IAAAE,QAAA,EAED5B,KAAK,CAAC4B,QAAQ,GACb5B,KAAK,CAAC4B,QAAQ,gBAEdP,GAAA,CAACQ,MAAM,EAAA;AAACC,MAAAA,IAAI,EAAC,SAAS;MAACC,KAAK,EAAA,IAAA;MAAAH,QAAA,EACzB3B,UAAU,IAAI;KACT;AACT,GACK,CAAC;AAEb;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flex-layout-BGtMe7zr.js","sources":["@flatbiz/antd/src/flex-layout/flex-layout.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n /** 子组件铺满的索引值,从0开始 */\n fullIndex: number | number[];\n /**方向,默认值vertical */\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n /** 间隙尺寸 */\n gap?: number;\n children?: ReactNode | null | Array<ReactNode | null>;\n};\n/**\n * flex布局,主要用于Flex结构性布局\n * ```\n * 4.2.87版本中将fullIndex改为了必填属性,如果在升级中遇到问题,不确定怎么写,可设置 fullIndex=[] 保持原样\n * ```\n */\nexport const FlexLayout = (props: FlexLayoutProps) => {\n const childrens = Children.toArray(props.children) as ReactElement[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = toArray<number>(props.fullIndex);\n\n return (\n <div\n className={classNames(\n 'v-flex-layout',\n `v-flex-${direction}`,\n props.className\n )}\n style={{\n ...props.style,\n gap,\n }}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props?.style || {};\n const style = fullIndexList.includes(index)\n ? { flex: 1, ...childrenStyle }\n : { flexShrink: 0, ...childrenStyle };\n // if (index < childrens.length - 1 && gap > 0) {\n // if (direction === 'horizontal') {\n // style.marginRight = gap;\n // } else {\n // style.marginBottom = gap;\n // }\n // }\n return cloneElement(children, { style, key: index });\n })}\n </div>\n );\n};\n"],"names":["FlexLayout","props","childrens","Children","toArray","children","direction","gap","fullIndexList","fullIndex","_jsx","className","_classNames","concat","style","_objectSpread","onClick","map","index","_children$props","childrenStyle","includes","flex","flexShrink","cloneElement","key"],"mappings":";;;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;EACpD,IAAMC,SAAS,GAAGC,QAAQ,CAACC,OAAO,CAACH,KAAK,CAACI,QAAQ,CAAmB;AACpE,EAAA,IAAMC,SAAS,GAAGL,KAAK,CAACK,SAAS,IAAI,UAAU;EAC/C,IAAMC,GAAG,GAAGN,KAAK,CAACM,GAAG,GAAGN,KAAK,CAACM,GAAG,GAAG,CAAC;AACrC,EAAA,IAAMC,aAAa,GAAGJ,OAAO,CAASH,KAAK,CAACQ,SAAS,CAAC;AAEtD,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEC,UAAA,CACT,eAAe,
|
|
1
|
+
{"version":3,"file":"flex-layout-BGtMe7zr.js","sources":["@flatbiz/antd/src/flex-layout/flex-layout.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n /** 子组件铺满的索引值,从0开始 */\n fullIndex: number | number[];\n /**方向,默认值vertical */\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n /** 间隙尺寸 */\n gap?: number;\n children?: ReactNode | null | Array<ReactNode | null>;\n};\n/**\n * flex布局,主要用于Flex结构性布局\n * ```\n * 4.2.87版本中将fullIndex改为了必填属性,如果在升级中遇到问题,不确定怎么写,可设置 fullIndex=[] 保持原样\n * ```\n */\nexport const FlexLayout = (props: FlexLayoutProps) => {\n const childrens = Children.toArray(props.children) as ReactElement[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = toArray<number>(props.fullIndex);\n\n return (\n <div\n className={classNames(\n 'v-flex-layout',\n `v-flex-${direction}`,\n props.className\n )}\n style={{\n ...props.style,\n gap,\n }}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props?.style || {};\n const style = fullIndexList.includes(index)\n ? { flex: 1, ...childrenStyle }\n : { flexShrink: 0, ...childrenStyle };\n // if (index < childrens.length - 1 && gap > 0) {\n // if (direction === 'horizontal') {\n // style.marginRight = gap;\n // } else {\n // style.marginBottom = gap;\n // }\n // }\n return cloneElement(children, { style, key: index });\n })}\n </div>\n );\n};\n"],"names":["FlexLayout","props","childrens","Children","toArray","children","direction","gap","fullIndexList","fullIndex","_jsx","className","_classNames","concat","style","_objectSpread","onClick","map","index","_children$props","childrenStyle","includes","flex","flexShrink","cloneElement","key"],"mappings":";;;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;EACpD,IAAMC,SAAS,GAAGC,QAAQ,CAACC,OAAO,CAACH,KAAK,CAACI,QAAQ,CAAmB;AACpE,EAAA,IAAMC,SAAS,GAAGL,KAAK,CAACK,SAAS,IAAI,UAAU;EAC/C,IAAMC,GAAG,GAAGN,KAAK,CAACM,GAAG,GAAGN,KAAK,CAACM,GAAG,GAAG,CAAC;AACrC,EAAA,IAAMC,aAAa,GAAGJ,OAAO,CAASH,KAAK,CAACQ,SAAS,CAAC;AAEtD,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEC,UAAA,CACT,eAAe,EAAA,SAAA,CAAAC,MAAA,CACLP,SAAS,CAAA,EACnBL,KAAK,CAACU,SACR,CAAE;AACFG,IAAAA,KAAK,EAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACAd,KAAK,CAACa,KAAK,CAAA,EAAA,EAAA,EAAA;AACdP,MAAAA,GAAG,EAAHA;KAAG,CACH;IACFS,OAAO,EAAEf,KAAK,CAACe,OAAQ;IAAAX,QAAA,EAEtBH,SAAS,CAACe,GAAG,CAAC,UAACZ,QAAQ,EAAEa,KAAK,EAAK;AAAA,MAAA,IAAAC,eAAA;AAClC,MAAA,IAAMC,aAAa,GAAG,CAAA,CAAAD,eAAA,GAAAd,QAAQ,CAACJ,KAAK,MAAA,IAAA,IAAAkB,eAAA,uBAAdA,eAAA,CAAgBL,KAAK,KAAI,EAAE;MACjD,IAAMA,KAAK,GAAGN,aAAa,CAACa,QAAQ,CAACH,KAAK,CAAC,GAAAH,cAAA,CAAA;AACrCO,QAAAA,IAAI,EAAE;OAAC,EAAKF,aAAa,IAAAL,cAAA,CAAA;AACzBQ,QAAAA,UAAU,EAAE;AAAC,OAAA,EAAKH,aAAa,CAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;MACA,oBAAOI,YAAY,CAACnB,QAAQ,EAAE;AAAES,QAAAA,KAAK,EAALA,KAAK;AAAEW,QAAAA,GAAG,EAAEP;AAAM,OAAC,CAAC;IACtD,CAAC;AAAC,GACC,CAAC;AAEV;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-ByFljQr9.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Children, cloneElement, useMemo } from 'react';\nimport { Form } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { BoxGrid } from '../box-grid/index.js';\nimport type { BoxRowProps } from '../box-grid/row.jsx';\nimport type { GutterParams } from '../box-grid/type.js';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormWrapperProps } from '../form-wrapper/form-wrapper.jsx';\nimport { FormWrapper } from '../form-wrapper/form-wrapper.jsx';\nimport { preDefinedClassName } from '../pre-defined-class-name/index.js';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\n\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const form = Form.useFormInstance();\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n ...otherProps\n } = props;\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n if (domTypeName === 'FormItemSpan' && item.props.hidden) {\n return null;\n }\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n const display = item.props?.style?.display;\n let removeWrapper = false;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemHidden' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemWrapperDependencies' ||\n item.type === Form.Item ||\n display === 'none'\n ) {\n removeWrapper = true;\n }\n\n if (domTypeName === 'FormItemWrapper' || item.props.noStyle) {\n removeWrapper = false;\n }\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={span}\n removeWrapper={removeWrapper}\n >\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter)\n ? ([15, 0] as GutterParams)\n : gridGutter;\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [\n labelWidth,\n labelItemVertical,\n labelAlignNew,\n formItemGap,\n otherProps.className,\n ]);\n\n if (form) {\n return (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName\n )}\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </div>\n );\n }\n\n return (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n fromLayoutClassName\n )}\n autoComplete=\"off\"\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </FormWrapper>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","form","Form","useFormInstance","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","otherProps","_objectWithoutProperties","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","_item$props","domTypeName","type","span","undefined","hidden","cloneElement","_objectSpread","key","display","style","removeWrapper","Item","noStyle","_jsx","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_classNames","Row","FormWrapper","autoComplete"],"mappings":";;;;;;;;;;;;;;AAkEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEaA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAoB,EAAK;EAChD,IAAMC,UAAU,GAAGC,QAAQ,CAACC,kBAAkB,EAAE,IAAI,EAAE;AAEtD,EAAA,IAAMC,IAAI,GAAGC,IAAI,CAACC,eAAe,EAAE;AAEnC,EAAA,IACEC,MAAM,GAWJP,KAAK,CAXPO,MAAM;IACNC,WAAW,GAUTR,KAAK,CAVPQ,WAAW;IACXC,QAAQ,GASNT,KAAK,CATPS,QAAQ;IACRC,KAAK,GAQHV,KAAK,CARPU,KAAK;IACLC,UAAU,GAORX,KAAK,CAPPW,UAAU;IACVC,UAAU,GAMRZ,KAAK,CANPY,UAAU;IACVC,iBAAiB,GAKfb,KAAK,CALPa,iBAAiB;IACjBC,UAAU,GAIRd,KAAK,CAJPc,UAAU;IAAAC,kBAAA,GAIRf,KAAK,CAHPgB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAG,MAAA,GAAA,IAAI,GAAAA,kBAAA;IAClBE,MAAM,GAEJjB,KAAK,CAFPiB,MAAM;AACHC,IAAAA,UAAU,GAAAC,wBAAA,CACXnB,KAAK,EAAAoB,SAAA,CAAA;AACT,EAAA,IAAMC,QAAQ,GAAGC,OAAO,CAAC,YAAM;AAC7B,IAAA,IAAId,WAAW,EAAE;AACf,MAAA,IAAMe,GAAG,GAAG,EAAE,GAAGf,WAAW;MAC5B,OAAO;AAAEgB,QAAAA,EAAE,EAAED,GAAG;AAAEE,QAAAA,EAAE,EAAEF,GAAG;AAAEG,QAAAA,EAAE,EAAEH,GAAG;AAAEI,QAAAA,EAAE,EAAEJ,GAAG;AAAEK,QAAAA,EAAE,EAAEL,GAAG;AAAEM,QAAAA,GAAG,EAAEN;OAAK;AAClE;IACA,IAAI,CAAChB,MAAM,EAAE;MACX,OAAO;AAAEiB,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,GAAG,EAAE;OAAG;AACzD;AACA,IAAA,IAAMC,SAAS,GAAG;AAChB,MAAA,CAAC,EAAE;AAAEN,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,GAAG,EAAE;OAAI;AACtD,MAAA,CAAC,EAAE;AAAEL,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,GAAG,EAAE;OAAI;AACtD,MAAA,CAAC,EAAE;AAAEL,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,GAAG,EAAE;OAAG;AACnD,MAAA,CAAC,EAAE;AAAEL,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEC,QAAAA,GAAG,EAAE;AAAE;KACnD;IACD,OAAOC,SAAS,CAACvB,MAAM,CAAC;AAC1B,GAAC,EAAE,CAACA,MAAM,EAAEC,WAAW,CAAC,CAAC;AAEzB,EAAA,IAAMuB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAC/B,IAAA,IAAMC,YAAY,GAAGC,QAAQ,CAACC,OAAO,CAACzB,QAAQ,CAAC,CAAC0B,MAAM,CAAC,UAACC,IAAU,EAAK;MACrE,OAAO,CAAC,CAACA,IAAI;AACf,KAAC,CAAC;IACF,OAAOJ,YAAY,CAChBK,GAAG,CAAC,UAACD,IAAU,EAAEE,KAAK,EAAK;AAAA,MAAA,IAAAC,WAAA;AAC1B,MAAA,IAAMC,WAAW,GAAGJ,IAAI,CAACK,IAAI,CAAC,aAAa,CAAC;MAE5C,IAAIC,IAAwB,GAAGC,SAAS;AACxC,MAAA,IACEH,WAAW,KAAK,cAAc,IAC9BA,WAAW,KAAK,cAAc,IAC9BA,WAAW,KAAK,iBAAiB,IACjCA,WAAW,KAAK,YAAY,IAC5BA,WAAW,KAAK,UAAU,EAC1B;AACAE,QAAAA,IAAI,GAAGN,IAAI,CAACpC,KAAK,CAAC,MAAM,CAAW;AACnC,QAAA,IAAI0C,IAAI,EAAE;UACR,IAAIzC,UAAU,KAAK,IAAI,EAAE;AACvByC,YAAAA,IAAI,GAAG,EAAE;AACX,WAAC,MAAM,IAAIzC,UAAU,KAAK,IAAI,EAAE;AAC9ByC,YAAAA,IAAI,GAAGA,IAAI,GAAG,EAAE,GAAGA,IAAI,GAAG,EAAE;AAC9B;AACF;AACF;AAEA,MAAA,IAAIF,WAAW,KAAK,YAAY,IAAIA,WAAW,KAAK,cAAc,EAAE;QAClE,IAAIA,WAAW,KAAK,cAAc,IAAIJ,IAAI,CAACpC,KAAK,CAAC4C,MAAM,EAAE;AACvD,UAAA,OAAO,IAAI;AACb;AACA,QAAA,oBAAOC,YAAY,CAACT,IAAI,EAAAU,cAAA,CAAAA,cAAA,CAAAA,cAAA,CACnBV,EAAAA,EAAAA,IAAI,CAACpC,KAAK,GACVqB,QAAQ,CAAA,EAAA,EAAA,EAAA;AACXqB,UAAAA,IAAI,EAAJA,IAAI;AACJK,UAAAA,GAAG,EAAET;AAAK,SAAA,CACX,CAAC;AACJ;MACA,IAAMU,OAAO,IAAAT,WAAA,GAAGH,IAAI,CAACpC,KAAK,cAAAuC,WAAA,KAAA,MAAA,IAAA,CAAAA,WAAA,GAAVA,WAAA,CAAYU,KAAK,MAAA,IAAA,IAAAV,WAAA,KAAjBA,MAAAA,GAAAA,MAAAA,GAAAA,WAAA,CAAmBS,OAAO;MAC1C,IAAIE,aAAa,GAAG,KAAK;MACzB,IACEV,WAAW,KAAK,cAAc,IAC9BA,WAAW,KAAK,gBAAgB,IAChCA,WAAW,KAAK,iBAAiB,IACjCA,WAAW,KAAK,6BAA6B,IAC7CJ,IAAI,CAACK,IAAI,KAAKpC,IAAI,CAAC8C,IAAI,IACvBH,OAAO,KAAK,MAAM,EAClB;AACAE,QAAAA,aAAa,GAAG,IAAI;AACtB;MAEA,IAAIV,WAAW,KAAK,iBAAiB,IAAIJ,IAAI,CAACpC,KAAK,CAACoD,OAAO,EAAE;AAC3DF,QAAAA,aAAa,GAAG,KAAK;AACvB;MACA,oBACEG,GAAA,CAACC,OAAO,CAACC,GAAG,EAAAT,cAAA,CAAAA,cAAA,CAAA,EAAA,EAENzB,QAAQ,CAAA,EAAA,EAAA,EAAA;AACZqB,QAAAA,IAAI,EAAEA,IAAK;AACXQ,QAAAA,aAAa,EAAEA,aAAc;AAAAzC,QAAAA,QAAA,EAE5B2B;AAAI,OAAA,CAAA,EALAE,KAMM,CAAC;AAElB,KAAC,CAAC,CACDH,MAAM,CAACqB,OAAO,CAAC;GACnB;AAED,EAAA,IAAMC,UAAU,GAAGnC,OAAO,CAAC,YAAM;AAC/B;AACA,IAAA,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAACoC,QAAQ,CAACzD,UAAU,CAAC,IAAI,CAACS,KAAK,EAAE;AAC/C,MAAA,OAAO,EAAE;AACX;IACA,OAAO;AAAEA,MAAAA,KAAK,EAALA;KAAO;AAClB,GAAC,EAAE,CAACT,UAAU,EAAES,KAAK,CAAC,CAAC;AAEvB,EAAA,IAAMiD,MAAM,GAAGC,iBAAiB,CAACjD,UAAU,CAAC,GACvC,CAAC,EAAE,EAAE,CAAC,CAAC,GACRA,UAAU;AAEd,EAAA,IAAMkD,aAAa,GAAGvC,OAAO,CAAC,YAAM;IAClC,IAAI,CAAC,IAAI,CAAC,CAACoC,QAAQ,CAACzD,UAAU,CAAC,EAAE;AAC/B,MAAA,OAAO,MAAM;AACf;AACA,IAAA,OAAOa,UAAU;AACnB,GAAC,EAAE,CAACA,UAAU,EAAEb,UAAU,CAAC,CAAC;AAE5B,EAAA,IAAM6D,mBAAmB,GAAGxC,OAAO,CAAC,YAAM;IACxC,OAAOyC,mBAAmB,CAACC,sBAAsB,CAAC;AAChDpD,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,UAAU,EAAE+C,aAAa;AACzB7C,MAAAA,WAAW,EAAXA,WAAW;MACXiD,SAAS,EAAE/C,UAAU,CAAC+C;AACxB,KAAC,CAAC;AACJ,GAAC,EAAE,CACDrD,UAAU,EACVC,iBAAiB,EACjBgD,aAAa,EACb7C,WAAW,EACXE,UAAU,CAAC+C,SAAS,CACrB,CAAC;AAEF,EAAA,IAAI7D,IAAI,EAAE;AACR,IAAA,oBACEiD,GAAA,CAAA,KAAA,EAAA;MACEJ,KAAK,EAAAH,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAOW,UAAU,CAAKvC,EAAAA,UAAU,CAAC+B,KAAK,CAAG;AAC9CgB,MAAAA,SAAS,EAAEC,UAAA,CACT,WAAW,EACX;AAAE,QAAA,gBAAgB,EAAEjD;AAAO,OAAC,EAC5B,kBAAkB,EAClB6C,mBACF,CAAE;MAAArD,QAAA,EAEDQ,MAAM,GACLR,QAAQ,gBAER4C,GAAA,CAACC,OAAO,CAACa,GAAG,EAAA;AAACR,QAAAA,MAAM,EAAEA,MAAO;QAAAlD,QAAA,EAAEsB,kBAAkB;OAAgB;AACjE,KACE,CAAC;AAEV;EAEA,oBACEsB,GAAA,CAACe,WAAW,EAAAtB,cAAA,CAAAA,cAAA,KACN5B,UAAU,CAAA,EAAA,EAAA,EAAA;AACdN,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,UAAU,EAAE+C,aAAc;AAC1BhD,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCG,IAAAA,WAAW,EAAEA,WAAY;IACzBiC,KAAK,EAAAH,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAOW,UAAU,CAAKvC,EAAAA,UAAU,CAAC+B,KAAK,CAAG;AAC9CgB,IAAAA,SAAS,EAAEC,UAAA,CACT,WAAW,EACX;AAAE,MAAA,gBAAgB,EAAEjD;KAAQ,EAC5B6C,mBACF,CAAE;AACFO,IAAAA,YAAY,EAAC,KAAK;IAAA5D,QAAA,EAEjBQ,MAAM,GACLR,QAAQ,gBAER4C,GAAA,CAACC,OAAO,CAACa,GAAG,EAAA;AAACR,MAAAA,MAAM,EAAEA,MAAO;MAAAlD,QAAA,EAAEsB,kBAAkB;KAAgB;AACjE,GAAA,CACU,CAAC;AAElB;AAEAhC,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU;;;;"}
|
|
1
|
+
{"version":3,"file":"form-ByFljQr9.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Children, cloneElement, useMemo } from 'react';\nimport { Form } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { BoxGrid } from '../box-grid/index.js';\nimport type { BoxRowProps } from '../box-grid/row.jsx';\nimport type { GutterParams } from '../box-grid/type.js';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormWrapperProps } from '../form-wrapper/form-wrapper.jsx';\nimport { FormWrapper } from '../form-wrapper/form-wrapper.jsx';\nimport { preDefinedClassName } from '../pre-defined-class-name/index.js';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\n\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const form = Form.useFormInstance();\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n ...otherProps\n } = props;\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n if (domTypeName === 'FormItemSpan' && item.props.hidden) {\n return null;\n }\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n const display = item.props?.style?.display;\n let removeWrapper = false;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemHidden' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemWrapperDependencies' ||\n item.type === Form.Item ||\n display === 'none'\n ) {\n removeWrapper = true;\n }\n\n if (domTypeName === 'FormItemWrapper' || item.props.noStyle) {\n removeWrapper = false;\n }\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={span}\n removeWrapper={removeWrapper}\n >\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter)\n ? ([15, 0] as GutterParams)\n : gridGutter;\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [\n labelWidth,\n labelItemVertical,\n labelAlignNew,\n formItemGap,\n otherProps.className,\n ]);\n\n if (form) {\n return (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName\n )}\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </div>\n );\n }\n\n return (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n fromLayoutClassName\n )}\n autoComplete=\"off\"\n >\n {isPure ? (\n children\n ) : (\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n )}\n </FormWrapper>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","form","Form","useFormInstance","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","otherProps","_objectWithoutProperties","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","_item$props","domTypeName","type","span","undefined","hidden","cloneElement","_objectSpread","key","display","style","removeWrapper","Item","noStyle","_jsx","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Col } from 'antd';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n /** 栅格占位格数,替换lg、xl、xxl默认数据 */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { RowProps, SpaceProps } from 'antd';\nimport { Col, Form, Row, Space } from 'antd';\nimport { classNames } from '@dimjs/utils';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify} wrap={false}>\n <Space\n {...leftSpaceProps}\n className={classNames(\n 'v-form-col-operate-left',\n leftSpaceProps?.className\n )}\n >\n {_leftList.map((item) => item)}\n </Space>\n <Space\n {...rightSpaceProps}\n style={{ overflowX: 'auto', ...rightSpaceProps?.style }}\n className={classNames(\n 'v-form-col-operate-right',\n rightSpaceProps?.className\n )}\n >\n {_rightList?.map((item) => item)}\n </Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (\n gridList: number[],\n operateColIndex: number\n) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find(\n (item) => !!item.find((temp) => temp.index === operateColIndex)\n ) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList\n .reduce((a, b) => a.concat(b))\n .map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (_error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement, isValidElement, useMemo } from 'react';\nimport type { RowProps } from 'antd';\nimport { Row } from 'antd';\nimport { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point.js';\nimport { calculateOperateGrid } from './utils.js';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n /**\n * default = { xs: 24, sm: 12, md: 8, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n gridSize?: 'default' | 'small';\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\nconst defaultSmallGrid = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const { gridSize, ...otherProps } = props;\n const screenType = useResponsivePoint() || 'md';\n\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], [\n 'FormOperateCol',\n 'FormCol',\n ]);\n });\n const defaultGridSize = gridSize === 'small' ? defaultSmallGrid : defaultGrid;\n\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n const span = temp.props?.span as number;\n if (['md', 'sm', 'xs'].includes(screenType)) {\n const innerSpan =\n temp.props?.[screenType] || defaultGridSize[screenType];\n if (screenType == 'md' && span) {\n return span > innerSpan ? span : innerSpan;\n }\n return innerSpan;\n }\n return temp.props?.[screenType] || span || defaultGridSize[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, defaultGridSize, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...otherProps}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGridSize, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col.jsx';\nimport { FormOperateCol } from './form-operate-col.jsx';\nimport { FormRow } from './form-row.jsx';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutProperties","_excluded","forceGrid","_jsx","Col","_objectSpread","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","wrap","Space","map","item","style","overflowX","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","_error","defaultGrid","defaultSmallGrid","FormRow","gridSize","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","defaultGridSize","_useMemo","findIndex","undefined","_currentGridList","_temp$props","_temp$props3","span","includes","_temp$props2","innerSpan","itemProps","newProps","key","_defineProperty","cloneElement","FormGrid","OperateCol"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-grid/form-col.tsx","@flatbiz/antd/src/form-grid/form-operate-col.tsx","@flatbiz/antd/src/form-grid/utils.ts","@flatbiz/antd/src/form-grid/form-row.tsx","@flatbiz/antd/src/form-grid/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Col } from 'antd';\nconst forceAloneRowGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormColProps = {\n /** 栅格占位格数,替换lg、xl、xxl默认数据 */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\n/**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\nexport const FormCol = (props: FormColProps) => {\n const { forceAloneRow, hidden, ...otherProps } = props;\n const forceGrid = forceAloneRow ? forceAloneRowGrid : otherProps;\n if (hidden) return null;\n return <Col {...forceGrid}>{props.children}</Col>;\n};\n\nFormCol['domTypeName'] = 'FormCol';\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { RowProps, SpaceProps } from 'antd';\nimport { Col, Form, Row, Space } from 'antd';\nimport { classNames } from '@dimjs/utils';\n\nconst fullGrid = { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 };\nexport type FormOperateColProps = {\n className?: string;\n leftList?: Array<ReactElement | null>;\n rightList?: Array<ReactElement | null>;\n // left、right 对齐方式,优先级最高\n justify?: RowProps['justify'];\n /** 强制单独一行 */\n forceAloneRow?: boolean;\n hidden?: boolean;\n leftSpaceProps?: SpaceProps;\n rightSpaceProps?: SpaceProps;\n};\n\n/**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\nexport const FormOperateCol = (props: FormOperateColProps) => {\n const {\n leftList,\n rightList,\n rowColTotal,\n justify,\n forceAloneRow,\n hidden,\n leftSpaceProps,\n rightSpaceProps,\n ...otherProps\n } = props as FormOperateColProps & {\n rowColTotal: number;\n };\n const _leftList = (leftList || []).filter(Boolean);\n const _rightList = (rightList || []).filter(Boolean);\n const hasAll = _leftList.length > 0 && _rightList.length > 0;\n const forceGrid = forceAloneRow || hasAll ? fullGrid : {};\n\n const colJustify = useMemo(() => {\n if (justify) return justify;\n if (hasAll) return 'space-between';\n if (forceAloneRow) return 'end';\n if (rowColTotal === 1) return 'start';\n return 'end';\n }, [forceAloneRow, hasAll, justify, rowColTotal]);\n\n const className = classNames(props.className, 'v-form-col-operate');\n\n if (hidden) return null;\n\n return (\n <Col {...otherProps} {...forceGrid} className={className}>\n <Form.Item>\n <Row justify={colJustify} wrap={false}>\n <Space\n {...leftSpaceProps}\n className={classNames(\n 'v-form-col-operate-left',\n leftSpaceProps?.className\n )}\n >\n {_leftList.map((item) => item)}\n </Space>\n <Space\n {...rightSpaceProps}\n style={{ overflowX: 'auto', ...rightSpaceProps?.style }}\n className={classNames(\n 'v-form-col-operate-right',\n rightSpaceProps?.className\n )}\n >\n {_rightList?.map((item) => item)}\n </Space>\n </Row>\n </Form.Item>\n </Col>\n );\n};\n\nFormOperateCol['domTypeName'] = 'FormOperateCol';\n","/**\n * 用于计算 operateCol 所占用网格数\n * ```\n * col网格数据 [8,8,8,12,24,0,8] => [[8,8,8],[12],[24],[0,8]],分组后计算operateCol所在行中剩余网格数\n * ```\n * @returns\n */\nexport const calculateOperateGrid = (\n gridList: number[],\n operateColIndex: number\n) => {\n try {\n const groupList = [] as { index: number; value: number }[][];\n const getGroupItem = function (index) {\n const value = gridList[index];\n return { index, value: value > 24 ? 24 : value };\n };\n let condition = true;\n let groupItemList = [] as { index: number; value: number }[];\n let currentIndex = 0;\n let total = 0;\n while (condition) {\n const currentValue = gridList[currentIndex];\n groupItemList.push(getGroupItem(currentIndex));\n if (currentValue >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n } else if (currentIndex === gridList.length - 1) {\n groupList.push(groupItemList);\n } else {\n total += currentValue;\n if (total >= 24) {\n groupList.push(groupItemList);\n groupItemList = [];\n total = 0;\n }\n }\n currentIndex = currentIndex + 1;\n if (currentIndex >= gridList.length) {\n condition = false;\n }\n }\n const hasOperateList =\n groupList.find(\n (item) => !!item.find((temp) => temp.index === operateColIndex)\n ) || [];\n let hasOperateTotal = 0;\n let hasOperateIndex = 0;\n hasOperateList.forEach((item, index) => {\n if (item.index === operateColIndex) hasOperateIndex = index;\n if (item.index < operateColIndex) {\n hasOperateTotal = hasOperateTotal + item.value;\n }\n });\n if (hasOperateTotal === 24 || hasOperateTotal === 0) {\n hasOperateList[hasOperateIndex].value = 24;\n } else {\n hasOperateList[hasOperateIndex].value = 24 - hasOperateTotal;\n }\n\n return {\n gridList: groupList\n .reduce((a, b) => a.concat(b))\n .map((temp) => temp.value),\n gridGroupList: groupList,\n };\n } catch (_error) {\n return {\n gridList,\n gridGroupList: [],\n };\n }\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement, isValidElement, useMemo } from 'react';\nimport type { RowProps } from 'antd';\nimport { Row } from 'antd';\nimport { toArray, valueIsEqual } from '@flatbiz/utils';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point.js';\nimport { calculateOperateGrid } from './utils.js';\n\nexport type FormRowProps = RowProps & {\n children?: ReactNode | ReactNode[];\n /**\n * default = { xs: 24, sm: 12, md: 8, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n gridSize?: 'default' | 'small';\n};\nconst defaultGrid = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\nconst defaultSmallGrid = { xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 6 };\n\n/**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\nexport const FormRow = (props: FormRowProps) => {\n const { gridSize, ...otherProps } = props;\n const screenType = useResponsivePoint() || 'md';\n\n const childrenList = toArray<ReactElement>(props.children).filter((item) => {\n if (!item || !isValidElement(item)) return false;\n return valueIsEqual(item.type['domTypeName'], [\n 'FormOperateCol',\n 'FormCol',\n ]);\n });\n const defaultGridSize = gridSize === 'small' ? defaultSmallGrid : defaultGrid;\n\n const { gridList, gridGroupList } = useMemo(() => {\n const operateColIndex = childrenList.findIndex((item) => {\n return item.type['domTypeName'] === 'FormOperateCol';\n });\n if (screenType === undefined) {\n return { gridList: [] as number[], gridGroupList: [] };\n }\n const _currentGridList = childrenList.map((temp, index) => {\n if (index === operateColIndex) return 0;\n const span = temp.props?.span as number;\n if (['md', 'sm', 'xs'].includes(screenType)) {\n const innerSpan =\n temp.props?.[screenType] || defaultGridSize[screenType];\n if (screenType == 'md' && span) {\n return span > innerSpan ? span : innerSpan;\n }\n return innerSpan;\n }\n return temp.props?.[screenType] || span || defaultGridSize[screenType];\n });\n if (operateColIndex < 0) {\n return { gridList: _currentGridList, gridGroupList: [] };\n }\n return calculateOperateGrid(_currentGridList, operateColIndex);\n }, [childrenList, defaultGridSize, screenType]);\n\n // if (!screenType) return <Fragment>{props.children}</Fragment>;\n return (\n <Row {...otherProps}>\n {childrenList.map((item, index) => {\n const itemProps = { ...defaultGridSize, ...item.props };\n const newProps = {\n key: index,\n ...itemProps,\n [screenType]: gridList[index] || itemProps[screenType],\n };\n if (item.type['domTypeName'] === 'FormOperateCol') {\n newProps['rowColTotal'] = gridGroupList.length;\n }\n return cloneElement(item, newProps);\n })}\n </Row>\n );\n};\n","import { FormCol } from './form-col.jsx';\nimport { FormOperateCol } from './form-operate-col.jsx';\nimport { FormRow } from './form-row.jsx';\n\nexport const FormGrid = {\n /**\n * FormItem网格响应式布局\n *```\n * 1. 应用场景:Form条件布局\n * 2. 子元素只能是 FormGrid.Col、FormGrid.OperateCol,其他会被忽略\n * 3. 所有子元素中只能存在一个 FormGrid.OperateCol\n */\n Row: FormRow,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,替换lg、xl、xxl默认数据,不替换xs、sm布局数据\n * 2. grid 自定义响应式网格布局\n * xs: 屏幕 < 576px\n * sm: 屏幕 ≥ 576px\n * md: 屏幕 ≥ 768px\n * lg: 屏幕 ≥ 992px\n * xl: 屏幕 ≥ 1200px\n * xxl: 屏幕 ≥ 1600px\n * ```\n */\n Col: FormCol,\n /**\n * FormOperateCol 布局说明\n * ```\n * 1. 网格数以及位置为动态计算,不支持 xs、sm、md等\n * 2. 如果FormRow只有一行col,则OperateCol会在当前行剩余网格内居左对齐\n * 3. 如果同时设置 leftList、rightList,则此cell会强制独占一行,并左右布局\n * 4. 如果只设置 leftList、rightList其中一个,则会在最后一行剩余网格内居右对齐\n * ```\n */\n OperateCol: FormOperateCol,\n};\n"],"names":["forceAloneRowGrid","xs","sm","md","lg","xl","xxl","FormCol","props","forceAloneRow","hidden","otherProps","_objectWithoutProperties","_excluded","forceGrid","_jsx","Col","_objectSpread","children","fullGrid","FormOperateCol","_ref","leftList","rightList","rowColTotal","justify","leftSpaceProps","rightSpaceProps","_leftList","filter","Boolean","_rightList","hasAll","length","colJustify","useMemo","className","_classNames","Form","Item","_jsxs","Row","wrap","Space","map","item","style","overflowX","calculateOperateGrid","gridList","operateColIndex","groupList","getGroupItem","index","value","condition","groupItemList","currentIndex","total","currentValue","push","hasOperateList","find","temp","hasOperateTotal","hasOperateIndex","forEach","reduce","a","b","concat","gridGroupList","_error","defaultGrid","defaultSmallGrid","FormRow","gridSize","screenType","useResponsivePoint","childrenList","toArray","isValidElement","valueIsEqual","type","defaultGridSize","_useMemo","findIndex","undefined","_currentGridList","_temp$props","_temp$props3","span","includes","_temp$props2","innerSpan","itemProps","newProps","key","_defineProperty","cloneElement","FormGrid","OperateCol"],"mappings":";;;;;;;;;;;AAEA,IAAMA,iBAAiB,GAAG;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,GAAG,EAAE;AAAG,CAAC;AAsB7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,KAAmB,EAAK;AAC9C,EAAA,IAAQC,aAAa,GAA4BD,KAAK,CAA9CC,aAAa;IAAEC,MAAM,GAAoBF,KAAK,CAA/BE,MAAM;AAAKC,IAAAA,UAAU,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,WAAA,CAAA;AACtD,EAAA,IAAMC,SAAS,GAAGL,aAAa,GAAGT,iBAAiB,GAAGW,UAAU;EAChE,IAAID,MAAM,EAAE,OAAO,IAAI;EACvB,oBAAOK,GAAA,CAACC,GAAG,EAAAC,cAAA,CAAAA,cAAA,KAAKH,SAAS,CAAA,EAAA,EAAA,EAAA;IAAAI,QAAA,EAAGV,KAAK,CAACU;AAAQ,GAAA,CAAM,CAAC;AACnD,CAAC;AAEDX,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS;;;ACtClC,IAAMY,QAAQ,GAAG;AAAElB,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,GAAG,EAAE;AAAG,CAAC;AAcpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMc,cAAc,GAAG,SAAjBA,cAAcA,CAAIZ,KAA0B,EAAK;EAC5D,IAAAa,IAAA,GAUIb,KAAK;IATPc,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPhB,aAAa,GAAAY,IAAA,CAAbZ,aAAa;IACbC,MAAM,GAAAW,IAAA,CAANX,MAAM;IACNgB,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,eAAe,GAAAN,IAAA,CAAfM,eAAe;AACZhB,IAAAA,UAAU,GAAAC,wBAAA,CAAAS,IAAA,EAAAR,WAAA,CAAA;EAIf,IAAMe,SAAS,GAAG,CAACN,QAAQ,IAAI,EAAE,EAAEO,MAAM,CAACC,OAAO,CAAC;EAClD,IAAMC,UAAU,GAAG,CAACR,SAAS,IAAI,EAAE,EAAEM,MAAM,CAACC,OAAO,CAAC;AACpD,EAAA,IAAME,MAAM,GAAGJ,SAAS,CAACK,MAAM,GAAG,CAAC,IAAIF,UAAU,CAACE,MAAM,GAAG,CAAC;EAC5D,IAAMnB,SAAS,GAAGL,aAAa,IAAIuB,MAAM,GAAGb,QAAQ,GAAG,EAAE;AAEzD,EAAA,IAAMe,UAAU,GAAGC,OAAO,CAAC,YAAM;IAC/B,IAAIV,OAAO,EAAE,OAAOA,OAAO;IAC3B,IAAIO,MAAM,EAAE,OAAO,eAAe;IAClC,IAAIvB,aAAa,EAAE,OAAO,KAAK;AAC/B,IAAA,IAAIe,WAAW,KAAK,CAAC,EAAE,OAAO,OAAO;AACrC,IAAA,OAAO,KAAK;EACd,CAAC,EAAE,CAACf,aAAa,EAAEuB,MAAM,EAAEP,OAAO,EAAED,WAAW,CAAC,CAAC;EAEjD,IAAMY,SAAS,GAAGC,UAAA,CAAW7B,KAAK,CAAC4B,SAAS,EAAE,oBAAoB,CAAC;EAEnE,IAAI1B,MAAM,EAAE,OAAO,IAAI;AAEvB,EAAA,oBACEK,GAAA,CAACC,GAAG,EAAAC,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAKN,UAAU,CAAA,EAAMG,SAAS,CAAA,EAAA,EAAA,EAAA;AAAEsB,IAAAA,SAAS,EAAEA,SAAU;AAAAlB,IAAAA,QAAA,eACvDH,GAAA,CAACuB,IAAI,CAACC,IAAI,EAAA;MAAArB,QAAA,eACRsB,IAAA,CAACC,GAAG,EAAA;AAAChB,QAAAA,OAAO,EAAES,UAAW;AAACQ,QAAAA,IAAI,EAAE,KAAM;QAAAxB,QAAA,EAAA,cACpCH,GAAA,CAAC4B,KAAK,EAAA1B,cAAA,CAAAA,cAAA,CAAA,EAAA,EACAS,cAAc,CAAA,EAAA,EAAA,EAAA;AAClBU,UAAAA,SAAS,EAAEC,UAAA,CACT,yBAAyB,EACzBX,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAEU,SAClB,CAAE;AAAAlB,UAAAA,QAAA,EAEDU,SAAS,CAACgB,GAAG,CAAC,UAACC,IAAI,EAAA;AAAA,YAAA,OAAKA,IAAI;AAAA,UAAA,CAAA;SAAC,CACzB,CAAC,eACR9B,GAAA,CAAC4B,KAAK,EAAA1B,cAAA,CAAAA,cAAA,CAAA,EAAA,EACAU,eAAe,CAAA,EAAA,EAAA,EAAA;AACnBmB,UAAAA,KAAK,EAAA7B,cAAA,CAAA;AAAI8B,YAAAA,SAAS,EAAE;AAAM,WAAA,EAAKpB,eAAe,KAAA,IAAA,IAAfA,eAAe,uBAAfA,eAAe,CAAEmB,KAAK,CAAG;AACxDV,UAAAA,SAAS,EAAEC,UAAA,CACT,0BAA0B,EAC1BV,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAES,SACnB,CAAE;UAAAlB,QAAA,EAEDa,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEa,GAAG,CAAC,UAACC,IAAI,EAAA;AAAA,YAAA,OAAKA,IAAI;AAAA,UAAA,CAAA;AAAC,SAAA,CAC3B,CAAC;OACL;KACI;AAAC,GAAA,CACT,CAAC;AAEV,CAAC;AAEDzB,cAAc,CAAC,aAAa,CAAC,GAAG,gBAAgB;;ACzFhD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM4B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC/BC,QAAkB,EAClBC,eAAuB,EACpB;EACH,IAAI;IACF,IAAMC,SAAS,GAAG,EAA0C;AAC5D,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAaC,KAAK,EAAE;AACpC,MAAA,IAAMC,KAAK,GAAGL,QAAQ,CAACI,KAAK,CAAC;MAC7B,OAAO;AAAEA,QAAAA,KAAK,EAALA,KAAK;AAAEC,QAAAA,KAAK,EAAEA,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGA;OAAO;IAClD,CAAC;IACD,IAAIC,SAAS,GAAG,IAAI;IACpB,IAAIC,aAAa,GAAG,EAAwC;IAC5D,IAAIC,YAAY,GAAG,CAAC;IACpB,IAAIC,KAAK,GAAG,CAAC;AACb,IAAA,OAAOH,SAAS,EAAE;AAChB,MAAA,IAAMI,YAAY,GAAGV,QAAQ,CAACQ,YAAY,CAAC;AAC3CD,MAAAA,aAAa,CAACI,IAAI,CAACR,YAAY,CAACK,YAAY,CAAC,CAAC;MAC9C,IAAIE,YAAY,IAAI,EAAE,EAAE;AACtBR,QAAAA,SAAS,CAACS,IAAI,CAACJ,aAAa,CAAC;AAC7BA,QAAAA,aAAa,GAAG,EAAE;AAClBE,QAAAA,KAAK,GAAG,CAAC;MACX,CAAC,MAAM,IAAID,YAAY,KAAKR,QAAQ,CAAChB,MAAM,GAAG,CAAC,EAAE;AAC/CkB,QAAAA,SAAS,CAACS,IAAI,CAACJ,aAAa,CAAC;AAC/B,MAAA,CAAC,MAAM;AACLE,QAAAA,KAAK,IAAIC,YAAY;QACrB,IAAID,KAAK,IAAI,EAAE,EAAE;AACfP,UAAAA,SAAS,CAACS,IAAI,CAACJ,aAAa,CAAC;AAC7BA,UAAAA,aAAa,GAAG,EAAE;AAClBE,UAAAA,KAAK,GAAG,CAAC;AACX,QAAA;AACF,MAAA;MACAD,YAAY,GAAGA,YAAY,GAAG,CAAC;AAC/B,MAAA,IAAIA,YAAY,IAAIR,QAAQ,CAAChB,MAAM,EAAE;AACnCsB,QAAAA,SAAS,GAAG,KAAK;AACnB,MAAA;AACF,IAAA;AACA,IAAA,IAAMM,cAAc,GAClBV,SAAS,CAACW,IAAI,CACZ,UAACjB,IAAI,EAAA;AAAA,MAAA,OAAK,CAAC,CAACA,IAAI,CAACiB,IAAI,CAAC,UAACC,IAAI,EAAA;AAAA,QAAA,OAAKA,IAAI,CAACV,KAAK,KAAKH,eAAe;MAAA,CAAA,CAAC;IAAA,CACjE,CAAC,IAAI,EAAE;IACT,IAAIc,eAAe,GAAG,CAAC;IACvB,IAAIC,eAAe,GAAG,CAAC;AACvBJ,IAAAA,cAAc,CAACK,OAAO,CAAC,UAACrB,IAAI,EAAEQ,KAAK,EAAK;MACtC,IAAIR,IAAI,CAACQ,KAAK,KAAKH,eAAe,EAAEe,eAAe,GAAGZ,KAAK;AAC3D,MAAA,IAAIR,IAAI,CAACQ,KAAK,GAAGH,eAAe,EAAE;AAChCc,QAAAA,eAAe,GAAGA,eAAe,GAAGnB,IAAI,CAACS,KAAK;AAChD,MAAA;AACF,IAAA,CAAC,CAAC;AACF,IAAA,IAAIU,eAAe,KAAK,EAAE,IAAIA,eAAe,KAAK,CAAC,EAAE;AACnDH,MAAAA,cAAc,CAACI,eAAe,CAAC,CAACX,KAAK,GAAG,EAAE;AAC5C,IAAA,CAAC,MAAM;MACLO,cAAc,CAACI,eAAe,CAAC,CAACX,KAAK,GAAG,EAAE,GAAGU,eAAe;AAC9D,IAAA;IAEA,OAAO;MACLf,QAAQ,EAAEE,SAAS,CAChBgB,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;AAAA,QAAA,OAAKD,CAAC,CAACE,MAAM,CAACD,CAAC,CAAC;AAAA,MAAA,CAAA,CAAC,CAC7BzB,GAAG,CAAC,UAACmB,IAAI,EAAA;QAAA,OAAKA,IAAI,CAACT,KAAK;MAAA,CAAA,CAAC;AAC5BiB,MAAAA,aAAa,EAAEpB;KAChB;EACH,CAAC,CAAC,OAAOqB,MAAM,EAAE;IACf,OAAO;AACLvB,MAAAA,QAAQ,EAARA,QAAQ;AACRsB,MAAAA,aAAa,EAAE;KAChB;AACH,EAAA;AACF,CAAC;;;ACzDD,IAAME,WAAW,GAAG;AAAExE,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,CAAC;AAAEC,EAAAA,EAAE,EAAE,CAAC;AAAEC,EAAAA,GAAG,EAAE;AAAE,CAAC;AACpE,IAAMoE,gBAAgB,GAAG;AAAEzE,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,EAAE;AAAEC,EAAAA,EAAE,EAAE,CAAC;AAAEC,EAAAA,EAAE,EAAE,CAAC;AAAEC,EAAAA,EAAE,EAAE,CAAC;AAAEC,EAAAA,GAAG,EAAE;AAAE,CAAC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMqE,OAAO,GAAG,SAAVA,OAAOA,CAAInE,KAAmB,EAAK;AAC9C,EAAA,IAAQoE,QAAQ,GAAoBpE,KAAK,CAAjCoE,QAAQ;AAAKjE,IAAAA,UAAU,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA;AACzC,EAAA,IAAMgE,UAAU,GAAGC,kBAAkB,EAAE,IAAI,IAAI;AAE/C,EAAA,IAAMC,YAAY,GAAGC,OAAO,CAAexE,KAAK,CAACU,QAAQ,CAAC,CAACW,MAAM,CAAC,UAACgB,IAAI,EAAK;IAC1E,IAAI,CAACA,IAAI,IAAI,eAACoC,cAAc,CAACpC,IAAI,CAAC,EAAE,OAAO,KAAK;AAChD,IAAA,OAAOqC,YAAY,CAACrC,IAAI,CAACsC,IAAI,CAAC,aAAa,CAAC,EAAE,CAC5C,gBAAgB,EAChB,SAAS,CACV,CAAC;AACJ,EAAA,CAAC,CAAC;EACF,IAAMC,eAAe,GAAGR,QAAQ,KAAK,OAAO,GAAGF,gBAAgB,GAAGD,WAAW;AAE7E,EAAA,IAAAY,QAAA,GAAoClD,OAAO,CAAC,YAAM;MAChD,IAAMe,eAAe,GAAG6B,YAAY,CAACO,SAAS,CAAC,UAACzC,IAAI,EAAK;AACvD,QAAA,OAAOA,IAAI,CAACsC,IAAI,CAAC,aAAa,CAAC,KAAK,gBAAgB;AACtD,MAAA,CAAC,CAAC;MACF,IAAIN,UAAU,KAAKU,SAAS,EAAE;QAC5B,OAAO;AAAEtC,UAAAA,QAAQ,EAAE,EAAc;AAAEsB,UAAAA,aAAa,EAAE;SAAI;AACxD,MAAA;MACA,IAAMiB,gBAAgB,GAAGT,YAAY,CAACnC,GAAG,CAAC,UAACmB,IAAI,EAAEV,KAAK,EAAK;QAAA,IAAAoC,WAAA,EAAAC,YAAA;AACzD,QAAA,IAAIrC,KAAK,KAAKH,eAAe,EAAE,OAAO,CAAC;AACvC,QAAA,IAAMyC,IAAI,GAAA,CAAAF,WAAA,GAAG1B,IAAI,CAACvD,KAAK,MAAA,IAAA,IAAAiF,WAAA,KAAA,MAAA,GAAA,MAAA,GAAVA,WAAA,CAAYE,IAAc;AACvC,QAAA,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAACC,QAAQ,CAACf,UAAU,CAAC,EAAE;AAAA,UAAA,IAAAgB,YAAA;AAC3C,UAAA,IAAMC,SAAS,GACb,CAAA,CAAAD,YAAA,GAAA9B,IAAI,CAACvD,KAAK,MAAA,IAAA,IAAAqF,YAAA,KAAA,MAAA,GAAA,MAAA,GAAVA,YAAA,CAAahB,UAAU,CAAC,KAAIO,eAAe,CAACP,UAAU,CAAC;AACzD,UAAA,IAAIA,UAAU,IAAI,IAAI,IAAIc,IAAI,EAAE;AAC9B,YAAA,OAAOA,IAAI,GAAGG,SAAS,GAAGH,IAAI,GAAGG,SAAS;AAC5C,UAAA;AACA,UAAA,OAAOA,SAAS;AAClB,QAAA;AACA,QAAA,OAAO,EAAAJ,YAAA,GAAA3B,IAAI,CAACvD,KAAK,cAAAkF,YAAA,KAAA,MAAA,GAAA,MAAA,GAAVA,YAAA,CAAab,UAAU,CAAC,KAAIc,IAAI,IAAIP,eAAe,CAACP,UAAU,CAAC;AACxE,MAAA,CAAC,CAAC;MACF,IAAI3B,eAAe,GAAG,CAAC,EAAE;QACvB,OAAO;AAAED,UAAAA,QAAQ,EAAEuC,gBAAgB;AAAEjB,UAAAA,aAAa,EAAE;SAAI;AAC1D,MAAA;AACA,MAAA,OAAOvB,oBAAoB,CAACwC,gBAAgB,EAAEtC,eAAe,CAAC;IAChE,CAAC,EAAE,CAAC6B,YAAY,EAAEK,eAAe,EAAEP,UAAU,CAAC,CAAC;IAxBvC5B,QAAQ,GAAAoC,QAAA,CAARpC,QAAQ;IAAEsB,aAAa,GAAAc,QAAA,CAAbd,aAAa;;AA0B/B;EACA,oBACExD,GAAA,CAAC0B,GAAG,EAAAxB,cAAA,CAAAA,cAAA,KAAKN,UAAU,CAAA,EAAA,EAAA,EAAA;IAAAO,QAAA,EAChB6D,YAAY,CAACnC,GAAG,CAAC,UAACC,IAAI,EAAEQ,KAAK,EAAK;MACjC,IAAM0C,SAAS,GAAA9E,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAQmE,eAAe,CAAA,EAAKvC,IAAI,CAACrC,KAAK,CAAE;AACvD,MAAA,IAAMwF,QAAQ,GAAA/E,cAAA,CAAAA,cAAA,CAAA;AACZgF,QAAAA,GAAG,EAAE5C;AAAK,OAAA,EACP0C,SAAS,CAAA,EAAA,EAAA,EAAAG,eAAA,CAAA,EAAA,EACXrB,UAAU,EAAG5B,QAAQ,CAACI,KAAK,CAAC,IAAI0C,SAAS,CAAClB,UAAU,CAAC,CAAA,CACvD;MACD,IAAIhC,IAAI,CAACsC,IAAI,CAAC,aAAa,CAAC,KAAK,gBAAgB,EAAE;AACjDa,QAAAA,QAAQ,CAAC,aAAa,CAAC,GAAGzB,aAAa,CAACtC,MAAM;AAChD,MAAA;AACA,MAAA,oBAAOkE,YAAY,CAACtD,IAAI,EAAEmD,QAAQ,CAAC;IACrC,CAAC;AAAC,GAAA,CACC,CAAC;AAEV,CAAC;;AC9EM,IAAMI,QAAQ,GAAG;AACtB;AACF;AACA;AACA;AACA;AACA;AACA;AACE3D,EAAAA,GAAG,EAAEkC,OAAO;AACZ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE3D,EAAAA,GAAG,EAAET,OAAO;AACZ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE8F,EAAAA,UAAU,EAAEjF;AACd;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-group/card/index.tsx","@flatbiz/antd/src/form-item-group/horizontal-union/index.tsx","@flatbiz/antd/src/form-item-group/index.ts"],"sourcesContent":["import type { CSSProperties, FC, ReactElement } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { fbaHooks } from '../../fba-hooks/index.js';\nimport './style.less';\n\nexport type FormItemCardProps = {\n title?: string | ReactElement;\n children: ReactElement | ReactElement[];\n className?: string;\n style?: CSSProperties;\n titleSign?: boolean;\n};\nexport const FormItemCard: FC<FormItemCardProps> = (props) => {\n const classNamePrefix = 'form-item-group-card';\n\n const theme = fbaHooks.useThemeToken();\n\n const style = {\n '--form-item-group-colorPrimary': theme.colorPrimary,\n } as CSSProperties;\n\n return (\n <div\n className={classNames(classNamePrefix, props.className)}\n style={{ ...style, ...props.style }}\n >\n {props.title ? (\n <div\n className={classNames(`${classNamePrefix}-title`, {\n [`${classNamePrefix}-title-sign`]: props.titleSign === true,\n })}\n >\n {props.title}\n </div>\n ) : null}\n {props.children}\n </div>\n );\n};\n\nFormItemCard.defaultProps = {\n titleSign: true,\n};\n","import type { CSSProperties, ReactElement } from 'react';\nimport { cloneElement, isValidElement, useMemo } from 'react';\nimport { Form } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { FlexLayout } from '../../flex-layout/index.js';\nimport './style.less';\n\nexport type FormItemHorizontalUnionProps = {\n className?: string;\n style?: CSSProperties;\n label?: string | ReactElement;\n /** 水平布局元素 */\n groupConfigList: {\n hidden?: boolean;\n before?: ReactElement | string;\n /**\n * 设置宽度\n * ```\n * 1. 自适应可设置:auto\n * 2. 可设置具体数值\n * 3. 不设置会在铺满flex剩余空间\n * 4. 多个未设置会等分铺满剩余空间\n * ```\n */\n width?: number | string;\n mainItem: ReactElement;\n after?: ReactElement | string;\n }[];\n /** 水平布局原始之间的间距 */\n gap?: number;\n flexLayoutStyle?: CSSProperties;\n flexLayoutClassName?: string;\n hidden?: boolean;\n required?: boolean;\n colon?: boolean;\n};\n\n/**\n * FormItem 水平布局\n * ```\n * Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/input\n * ```\n * @param props\n * @returns\n */\nexport const FormItemHorizontalUnion = (\n props: FormItemHorizontalUnionProps\n) => {\n const groupFlexElementData = useMemo(() => {\n const fullIndex = [] as number[];\n const flexElementList = [] as Array<ReactElement>;\n const groupConfigList = props.groupConfigList.filter(\n (item) => !item.hidden\n );\n groupConfigList.forEach((item) => {\n if (item.before) {\n flexElementList.push(\n isValidElement(item.before) ? (\n (item.before as ReactElement)\n ) : (\n <div className=\"union-before-text\">{item.before}</div>\n )\n );\n }\n if (item.width) {\n flexElementList.push(\n cloneElement(item.mainItem, {\n style: { width: item.width, ...item.mainItem.props.style },\n })\n );\n } else {\n fullIndex.push(flexElementList.length);\n flexElementList.push(item.mainItem);\n }\n if (item.after) {\n flexElementList.push(\n isValidElement(item.after) ? (\n (item.after as ReactElement)\n ) : (\n <div className=\"union-after-text\">{item.after}</div>\n )\n );\n }\n });\n return {\n flexElementList,\n fullIndex,\n };\n }, [props.groupConfigList]);\n\n return (\n <Form.Item\n label={props.label}\n className={classNames(\n 'form-item-group-horizontal-union',\n props.className\n )}\n style={props.style}\n hidden={props.hidden}\n required={props.required}\n colon={props.colon}\n >\n <FlexLayout\n direction=\"horizontal\"\n gap={props.gap === undefined ? 15 : props.gap}\n fullIndex={groupFlexElementData.fullIndex}\n style={props.flexLayoutStyle}\n className={props.flexLayoutClassName}\n >\n {groupFlexElementData.flexElementList.map((item, index) => {\n return cloneElement(item, { key: index });\n })}\n </FlexLayout>\n </Form.Item>\n );\n};\n","import { FormItemCard } from './card/index.jsx';\nimport { FormItemHorizontalUnion } from './horizontal-union/index.jsx';\n\nexport const FormItemGroup = {\n HorizontalUnion: FormItemHorizontalUnion,\n Card: FormItemCard,\n};\n"],"names":["FormItemCard","props","classNamePrefix","theme","fbaHooks","useThemeToken","style","colorPrimary","_jsxs","className","_classNames","_objectSpread","children","title","_jsx","concat","_defineProperty","titleSign","defaultProps","FormItemHorizontalUnion","groupFlexElementData","useMemo","fullIndex","flexElementList","groupConfigList","filter","item","hidden","forEach","before","push","isValidElement","width","cloneElement","mainItem","length","after","Form","Item","label","required","colon","FlexLayout","direction","gap","undefined","flexLayoutStyle","flexLayoutClassName","map","index","key","FormItemGroup","HorizontalUnion","Card"],"mappings":";;;;;;;;;;;;;;AAYO,IAAMA,YAAmC,GAAG,SAAtCA,YAAmCA,CAAIC,KAAK,EAAK;EAC5D,IAAMC,eAAe,GAAG,sBAAsB;AAE9C,EAAA,IAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,EAAE;AAEtC,EAAA,IAAMC,KAAK,GAAG;IACZ,gCAAgC,EAAEH,KAAK,CAACI;GACxB;AAElB,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;IACEC,SAAS,EAAEC,UAAA,CAAWR,eAAe,EAAED,KAAK,CAACQ,SAAS,CAAE;IACxDH,KAAK,EAAAK,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAOL,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-group/card/index.tsx","@flatbiz/antd/src/form-item-group/horizontal-union/index.tsx","@flatbiz/antd/src/form-item-group/index.ts"],"sourcesContent":["import type { CSSProperties, FC, ReactElement } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { fbaHooks } from '../../fba-hooks/index.js';\nimport './style.less';\n\nexport type FormItemCardProps = {\n title?: string | ReactElement;\n children: ReactElement | ReactElement[];\n className?: string;\n style?: CSSProperties;\n titleSign?: boolean;\n};\nexport const FormItemCard: FC<FormItemCardProps> = (props) => {\n const classNamePrefix = 'form-item-group-card';\n\n const theme = fbaHooks.useThemeToken();\n\n const style = {\n '--form-item-group-colorPrimary': theme.colorPrimary,\n } as CSSProperties;\n\n return (\n <div\n className={classNames(classNamePrefix, props.className)}\n style={{ ...style, ...props.style }}\n >\n {props.title ? (\n <div\n className={classNames(`${classNamePrefix}-title`, {\n [`${classNamePrefix}-title-sign`]: props.titleSign === true,\n })}\n >\n {props.title}\n </div>\n ) : null}\n {props.children}\n </div>\n );\n};\n\nFormItemCard.defaultProps = {\n titleSign: true,\n};\n","import type { CSSProperties, ReactElement } from 'react';\nimport { cloneElement, isValidElement, useMemo } from 'react';\nimport { Form } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { FlexLayout } from '../../flex-layout/index.js';\nimport './style.less';\n\nexport type FormItemHorizontalUnionProps = {\n className?: string;\n style?: CSSProperties;\n label?: string | ReactElement;\n /** 水平布局元素 */\n groupConfigList: {\n hidden?: boolean;\n before?: ReactElement | string;\n /**\n * 设置宽度\n * ```\n * 1. 自适应可设置:auto\n * 2. 可设置具体数值\n * 3. 不设置会在铺满flex剩余空间\n * 4. 多个未设置会等分铺满剩余空间\n * ```\n */\n width?: number | string;\n mainItem: ReactElement;\n after?: ReactElement | string;\n }[];\n /** 水平布局原始之间的间距 */\n gap?: number;\n flexLayoutStyle?: CSSProperties;\n flexLayoutClassName?: string;\n hidden?: boolean;\n required?: boolean;\n colon?: boolean;\n};\n\n/**\n * FormItem 水平布局\n * ```\n * Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/input\n * ```\n * @param props\n * @returns\n */\nexport const FormItemHorizontalUnion = (\n props: FormItemHorizontalUnionProps\n) => {\n const groupFlexElementData = useMemo(() => {\n const fullIndex = [] as number[];\n const flexElementList = [] as Array<ReactElement>;\n const groupConfigList = props.groupConfigList.filter(\n (item) => !item.hidden\n );\n groupConfigList.forEach((item) => {\n if (item.before) {\n flexElementList.push(\n isValidElement(item.before) ? (\n (item.before as ReactElement)\n ) : (\n <div className=\"union-before-text\">{item.before}</div>\n )\n );\n }\n if (item.width) {\n flexElementList.push(\n cloneElement(item.mainItem, {\n style: { width: item.width, ...item.mainItem.props.style },\n })\n );\n } else {\n fullIndex.push(flexElementList.length);\n flexElementList.push(item.mainItem);\n }\n if (item.after) {\n flexElementList.push(\n isValidElement(item.after) ? (\n (item.after as ReactElement)\n ) : (\n <div className=\"union-after-text\">{item.after}</div>\n )\n );\n }\n });\n return {\n flexElementList,\n fullIndex,\n };\n }, [props.groupConfigList]);\n\n return (\n <Form.Item\n label={props.label}\n className={classNames(\n 'form-item-group-horizontal-union',\n props.className\n )}\n style={props.style}\n hidden={props.hidden}\n required={props.required}\n colon={props.colon}\n >\n <FlexLayout\n direction=\"horizontal\"\n gap={props.gap === undefined ? 15 : props.gap}\n fullIndex={groupFlexElementData.fullIndex}\n style={props.flexLayoutStyle}\n className={props.flexLayoutClassName}\n >\n {groupFlexElementData.flexElementList.map((item, index) => {\n return cloneElement(item, { key: index });\n })}\n </FlexLayout>\n </Form.Item>\n );\n};\n","import { FormItemCard } from './card/index.jsx';\nimport { FormItemHorizontalUnion } from './horizontal-union/index.jsx';\n\nexport const FormItemGroup = {\n HorizontalUnion: FormItemHorizontalUnion,\n Card: FormItemCard,\n};\n"],"names":["FormItemCard","props","classNamePrefix","theme","fbaHooks","useThemeToken","style","colorPrimary","_jsxs","className","_classNames","_objectSpread","children","title","_jsx","concat","_defineProperty","titleSign","defaultProps","FormItemHorizontalUnion","groupFlexElementData","useMemo","fullIndex","flexElementList","groupConfigList","filter","item","hidden","forEach","before","push","isValidElement","width","cloneElement","mainItem","length","after","Form","Item","label","required","colon","FlexLayout","direction","gap","undefined","flexLayoutStyle","flexLayoutClassName","map","index","key","FormItemGroup","HorizontalUnion","Card"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item-hidden-BtQvJEx7.js","sources":["@flatbiz/antd/src/form-item-hidden/form-item-hidden.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport type { FormItemProps } from 'antd';\nimport { Form } from 'antd';\n\nexport type FormItemHiddenProps = {\n name: FormItemProps['name'];\n className?: string;\n style?: CSSProperties;\n};\n\nexport const FormItemHidden = (props: FormItemHiddenProps) => {\n return (\n <Form.Item\n name={props.name}\n hidden\n className={props.className}\n style={props.style}\n >\n <span></span>\n </Form.Item>\n );\n};\n\nFormItemHidden['domTypeName'] = 'FormItemHidden';\n"],"names":["FormItemHidden","props","_jsx","Form","Item","name","hidden","className","style","children"],"mappings":";;;;;IAUaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B,EAAK;AAC5D,EAAA,oBACEC,GAAA,CAACC,IAAI,CAACC,IAAI,EAAA;IACRC,IAAI,EAAEJ,KAAK,CAACI,IAAK;IACjBC,MAAM,EAAA,IAAA;IACNC,SAAS,EAAEN,KAAK,CAACM,SAAU;IAC3BC,KAAK,EAAEP,KAAK,CAACO,KAAM;IAAAC,QAAA,eAEnBP,GAAA,
|
|
1
|
+
{"version":3,"file":"form-item-hidden-BtQvJEx7.js","sources":["@flatbiz/antd/src/form-item-hidden/form-item-hidden.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport type { FormItemProps } from 'antd';\nimport { Form } from 'antd';\n\nexport type FormItemHiddenProps = {\n name: FormItemProps['name'];\n className?: string;\n style?: CSSProperties;\n};\n\nexport const FormItemHidden = (props: FormItemHiddenProps) => {\n return (\n <Form.Item\n name={props.name}\n hidden\n className={props.className}\n style={props.style}\n >\n <span></span>\n </Form.Item>\n );\n};\n\nFormItemHidden['domTypeName'] = 'FormItemHidden';\n"],"names":["FormItemHidden","props","_jsx","Form","Item","name","hidden","className","style","children"],"mappings":";;;;;IAUaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B,EAAK;AAC5D,EAAA,oBACEC,GAAA,CAACC,IAAI,CAACC,IAAI,EAAA;IACRC,IAAI,EAAEJ,KAAK,CAACI,IAAK;IACjBC,MAAM,EAAA,IAAA;IACNC,SAAS,EAAEN,KAAK,CAACM,SAAU;IAC3BC,KAAK,EAAEP,KAAK,CAACO,KAAM;IAAAC,QAAA,eAEnBP,GAAA,CAAA,MAAA,EAAA,EAAY;AAAC,GACJ,CAAC;AAEhB;AAEAF,cAAc,CAAC,aAAa,CAAC,GAAG,gBAAgB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item-text-bxy5q8tw.js","sources":["@flatbiz/antd/src/form-item-text/content.tsx","@flatbiz/antd/src/form-item-text/use-request.tsx","@flatbiz/antd/src/form-item-text/request-text.tsx","@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { type CSSProperties, Fragment } from 'react';\nimport { Spin, Tooltip } from 'antd';\nimport { QuestionCircleFilled, RedoOutlined } from '@ant-design/icons';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { TextOverflow } from '../text-overflow/text-overflow.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport { type FormItemTextProps } from './types.js';\n\nexport const FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & {\n value?: string;\n style?: CSSProperties;\n loading?: boolean;\n status?: 'success' | 'error' | 'init';\n onRequest?: () => TAny;\n errorMsg?: string;\n }\n) => {\n const originalValue = (function () {\n if (isUndefinedOrNull(props.value)) return props.placeholderValue;\n return typeof props.value === 'string'\n ? props.value\n : JSON.stringify(props.value);\n })();\n const valueFt = props.wrap ? (\n originalValue\n ) : (\n <TextOverflow text={originalValue || ''} />\n );\n\n if (props.status === 'error') {\n return (\n <Fragment>\n <TipsWrapper\n tipType=\"tooltip\"\n tooltipProps={{ title: props.errorMsg }}\n icon={<QuestionCircleFilled style={{ color: 'red' }} />}\n gap={6}\n >\n <Tooltip title=\"点击查询\">\n <RedoOutlined\n style={{ color: 'red' }}\n onClick={props.onRequest}\n className=\"fitc-reload-icon\"\n />\n </Tooltip>\n </TipsWrapper>\n </Fragment>\n );\n }\n\n if (props.loading) {\n return (\n <span className=\"form-item-text-content fitc-loading\" style={props.style}>\n <Spin spinning={props.loading} size=\"small\">\n <span style={{ textIndent: '-9999px', display: 'inline-block' }}>\n Loading\n </span>\n </Spin>\n </span>\n );\n }\n return (\n <span className=\"form-item-text-content\" style={props.style}>\n {props.render ? props.render(props.value) : valueFt}\n </span>\n );\n};\n","import { useMemo, useRef, useState } from 'react';\nimport { Form } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n type TAny,\n toArray,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormItemWrapperProps } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { type FormItemTextServiceConfig } from './types.js';\n\nexport const useRequestFormItemText = (props: {\n serviceConfig?: FormItemTextServiceConfig;\n name?: FormItemWrapperProps['name'];\n}) => {\n const serviceConfig = props.serviceConfig;\n const [loading, setLoading] = useState(false);\n const [respData, setRespData] = useState<TAny>();\n const prevParams = fbaHooks.usePrevious(serviceConfig?.params);\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const errorMsgRef = useRef<string>();\n const form = Form.useFormInstance();\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig?.params ||\n toArray(serviceConfig?.invalidParamKey).length === 0\n ) {\n return serviceConfig?.params;\n }\n const newParams = { ...serviceConfig?.params };\n serviceConfig?.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig?.invalidParamKey, serviceConfig?.params]);\n\n const onInnerRequest = async (params?: TPlainObject) => {\n if (!serviceConfig) return;\n const mergeProps = { ...serviceParams, ...params };\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(mergeProps[item]);\n });\n if (target) {\n errorMsgRef.current = `缺少必填参数:${keys.join('、')}`;\n console.warn(errorMsgRef.current);\n setStatus('error');\n return;\n }\n }\n try {\n if (!loading) setLoading(true);\n setStatus('init');\n const respData = await serviceConfig.onRequest(mergeProps);\n const value = props.name ? form.getFieldValue(props.name) : undefined;\n const respDataFt = serviceConfig.onResponseAdapter\n ? serviceConfig.onResponseAdapter(respData, value)\n : respData;\n setRespData(respDataFt);\n setStatus('success');\n } catch (error: TAny) {\n console.error(error);\n errorMsgRef.current = error?.message || '接口调用异常';\n setStatus('error');\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInnerRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (!serviceConfig) return;\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInnerRequest();\n }\n }\n }, [prevParams, serviceConfig?.params]);\n\n if (!serviceConfig) {\n return undefined;\n }\n\n return {\n loading,\n status,\n viewValue: respData,\n onRequest: onInnerRequest,\n errorMsg: errorMsgRef.current,\n };\n};\n","import { classNames } from '@dimjs/utils';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { FormItemTextContent } from './content.jsx';\nimport { type FormItemTextProps } from './types.js';\nimport { useRequestFormItemText } from './use-request.jsx';\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const RequestText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, serviceConfig, ...otherProps } =\n props;\n const requestResult = useRequestFormItemText({\n serviceConfig,\n name: props.name,\n });\n return (\n <FormItemWrapper\n {...otherProps}\n name={undefined}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n loading={requestResult?.loading}\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n value={requestResult?.viewValue}\n status={requestResult?.status}\n onRequest={requestResult?.onRequest}\n errorMsg={requestResult?.errorMsg}\n />\n </FormItemWrapper>\n );\n};\n","import { Fragment } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { FormItemHidden } from '../form-item-hidden/index.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { FormItemTextContent } from './content.jsx';\nimport { RequestText } from './request-text.jsx';\nimport { type FormItemTextProps } from './types.js';\nimport './style.less';\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * ```\n * 可通过配置 serviceConfig 通过接口获取数据,一般用于 Select 数据显示\n *\n * 例如:\n * 1. 基本数据渲染\n * <FormItemText name=\"xxx\" label=\"xxx\" />\n * 2. 对象数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * render={(value) => {\n * const target = [].find(\n * (item) => item.value === value,\n * );\n * return target ? (\n * <Tag color={target['color']}>{target.label}</Tag>\n * ) : null;\n * }}\n * />\n * 3. 接口数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * serviceConfig={{\n * onRequest: () => {\n * return serviceHandle.request('/random/api9468', {}, 'post');\n * },\n * onResponseAdapter: (dataList: TPlainObject[], value) => {\n * return dataList?.find((item) => item.value === value);\n * },\n * }}\n * render={(dataItem) => {\n * return dataItem ? (\n * <Tag style={{ margin: 0 }} color={dataItem['color']}>\n * {dataItem.label}\n * </Tag>\n * ) : null;\n * }}\n * />\n * ```\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n if (props.serviceConfig) {\n return (\n <Fragment>\n <FormItemHidden name={props.name} />\n <RequestText {...props} />\n </Fragment>\n );\n }\n\n return (\n <FormItemWrapper\n {...otherProps}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n />\n </FormItemWrapper>\n );\n};\n\nFormItemText['domTypeName'] = 'FormItemText';\n"],"names":["FormItemTextContent","props","originalValue","isUndefinedOrNull","value","placeholderValue","JSON","stringify","valueFt","wrap","_jsx","TextOverflow","text","status","Fragment","children","TipsWrapper","tipType","tooltipProps","title","errorMsg","icon","_QuestionCircleFilled","style","color","gap","Tooltip","_RedoOutlined","onClick","onRequest","className","loading","Spin","spinning","size","textIndent","display","render","useRequestFormItemText","serviceConfig","_useState","useState","_useState2","_slicedToArray","setLoading","_useState3","_useState4","respData","setRespData","prevParams","fbaHooks","usePrevious","params","_useState5","_useState6","setStatus","errorMsgRef","useRef","form","Form","useFormInstance","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","undefined","onInnerRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","keys","target","_respData","respDataFt","requiredParamsKeys","find","item","current","concat","join","console","warn","$Try_1_Post","$Try_1_Catch","error","message","resolve","then","$await_2","name","getFieldValue","onResponseAdapter","useEffectCustomAsync","useEffectCustom","_isDeepEqual","viewValue","RequestText","otherProps","_objectWithoutProperties","_excluded","requestResult","FormItemWrapper","_classNames","FormItemText","_jsxs","FormItemHidden"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-item-text-bxy5q8tw.js","sources":["@flatbiz/antd/src/form-item-text/content.tsx","@flatbiz/antd/src/form-item-text/use-request.tsx","@flatbiz/antd/src/form-item-text/request-text.tsx","@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { type CSSProperties, Fragment } from 'react';\nimport { Spin, Tooltip } from 'antd';\nimport { QuestionCircleFilled, RedoOutlined } from '@ant-design/icons';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { TextOverflow } from '../text-overflow/text-overflow.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport { type FormItemTextProps } from './types.js';\n\nexport const FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & {\n value?: string;\n style?: CSSProperties;\n loading?: boolean;\n status?: 'success' | 'error' | 'init';\n onRequest?: () => TAny;\n errorMsg?: string;\n }\n) => {\n const originalValue = (function () {\n if (isUndefinedOrNull(props.value)) return props.placeholderValue;\n return typeof props.value === 'string'\n ? props.value\n : JSON.stringify(props.value);\n })();\n const valueFt = props.wrap ? (\n originalValue\n ) : (\n <TextOverflow text={originalValue || ''} />\n );\n\n if (props.status === 'error') {\n return (\n <Fragment>\n <TipsWrapper\n tipType=\"tooltip\"\n tooltipProps={{ title: props.errorMsg }}\n icon={<QuestionCircleFilled style={{ color: 'red' }} />}\n gap={6}\n >\n <Tooltip title=\"点击查询\">\n <RedoOutlined\n style={{ color: 'red' }}\n onClick={props.onRequest}\n className=\"fitc-reload-icon\"\n />\n </Tooltip>\n </TipsWrapper>\n </Fragment>\n );\n }\n\n if (props.loading) {\n return (\n <span className=\"form-item-text-content fitc-loading\" style={props.style}>\n <Spin spinning={props.loading} size=\"small\">\n <span style={{ textIndent: '-9999px', display: 'inline-block' }}>\n Loading\n </span>\n </Spin>\n </span>\n );\n }\n return (\n <span className=\"form-item-text-content\" style={props.style}>\n {props.render ? props.render(props.value) : valueFt}\n </span>\n );\n};\n","import { useMemo, useRef, useState } from 'react';\nimport { Form } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n type TAny,\n toArray,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormItemWrapperProps } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { type FormItemTextServiceConfig } from './types.js';\n\nexport const useRequestFormItemText = (props: {\n serviceConfig?: FormItemTextServiceConfig;\n name?: FormItemWrapperProps['name'];\n}) => {\n const serviceConfig = props.serviceConfig;\n const [loading, setLoading] = useState(false);\n const [respData, setRespData] = useState<TAny>();\n const prevParams = fbaHooks.usePrevious(serviceConfig?.params);\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const errorMsgRef = useRef<string>();\n const form = Form.useFormInstance();\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig?.params ||\n toArray(serviceConfig?.invalidParamKey).length === 0\n ) {\n return serviceConfig?.params;\n }\n const newParams = { ...serviceConfig?.params };\n serviceConfig?.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig?.invalidParamKey, serviceConfig?.params]);\n\n const onInnerRequest = async (params?: TPlainObject) => {\n if (!serviceConfig) return;\n const mergeProps = { ...serviceParams, ...params };\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(mergeProps[item]);\n });\n if (target) {\n errorMsgRef.current = `缺少必填参数:${keys.join('、')}`;\n console.warn(errorMsgRef.current);\n setStatus('error');\n return;\n }\n }\n try {\n if (!loading) setLoading(true);\n setStatus('init');\n const respData = await serviceConfig.onRequest(mergeProps);\n const value = props.name ? form.getFieldValue(props.name) : undefined;\n const respDataFt = serviceConfig.onResponseAdapter\n ? serviceConfig.onResponseAdapter(respData, value)\n : respData;\n setRespData(respDataFt);\n setStatus('success');\n } catch (error: TAny) {\n console.error(error);\n errorMsgRef.current = error?.message || '接口调用异常';\n setStatus('error');\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInnerRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (!serviceConfig) return;\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInnerRequest();\n }\n }\n }, [prevParams, serviceConfig?.params]);\n\n if (!serviceConfig) {\n return undefined;\n }\n\n return {\n loading,\n status,\n viewValue: respData,\n onRequest: onInnerRequest,\n errorMsg: errorMsgRef.current,\n };\n};\n","import { classNames } from '@dimjs/utils';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { FormItemTextContent } from './content.jsx';\nimport { type FormItemTextProps } from './types.js';\nimport { useRequestFormItemText } from './use-request.jsx';\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const RequestText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, serviceConfig, ...otherProps } =\n props;\n const requestResult = useRequestFormItemText({\n serviceConfig,\n name: props.name,\n });\n return (\n <FormItemWrapper\n {...otherProps}\n name={undefined}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n loading={requestResult?.loading}\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n value={requestResult?.viewValue}\n status={requestResult?.status}\n onRequest={requestResult?.onRequest}\n errorMsg={requestResult?.errorMsg}\n />\n </FormItemWrapper>\n );\n};\n","import { Fragment } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { FormItemHidden } from '../form-item-hidden/index.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { FormItemTextContent } from './content.jsx';\nimport { RequestText } from './request-text.jsx';\nimport { type FormItemTextProps } from './types.js';\nimport './style.less';\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * ```\n * 可通过配置 serviceConfig 通过接口获取数据,一般用于 Select 数据显示\n *\n * 例如:\n * 1. 基本数据渲染\n * <FormItemText name=\"xxx\" label=\"xxx\" />\n * 2. 对象数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * render={(value) => {\n * const target = [].find(\n * (item) => item.value === value,\n * );\n * return target ? (\n * <Tag color={target['color']}>{target.label}</Tag>\n * ) : null;\n * }}\n * />\n * 3. 接口数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * serviceConfig={{\n * onRequest: () => {\n * return serviceHandle.request('/random/api9468', {}, 'post');\n * },\n * onResponseAdapter: (dataList: TPlainObject[], value) => {\n * return dataList?.find((item) => item.value === value);\n * },\n * }}\n * render={(dataItem) => {\n * return dataItem ? (\n * <Tag style={{ margin: 0 }} color={dataItem['color']}>\n * {dataItem.label}\n * </Tag>\n * ) : null;\n * }}\n * />\n * ```\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n if (props.serviceConfig) {\n return (\n <Fragment>\n <FormItemHidden name={props.name} />\n <RequestText {...props} />\n </Fragment>\n );\n }\n\n return (\n <FormItemWrapper\n {...otherProps}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n />\n </FormItemWrapper>\n );\n};\n\nFormItemText['domTypeName'] = 'FormItemText';\n"],"names":["FormItemTextContent","props","originalValue","isUndefinedOrNull","value","placeholderValue","JSON","stringify","valueFt","wrap","_jsx","TextOverflow","text","status","Fragment","children","TipsWrapper","tipType","tooltipProps","title","errorMsg","icon","_QuestionCircleFilled","style","color","gap","Tooltip","_RedoOutlined","onClick","onRequest","className","loading","Spin","spinning","size","textIndent","display","render","useRequestFormItemText","serviceConfig","_useState","useState","_useState2","_slicedToArray","setLoading","_useState3","_useState4","respData","setRespData","prevParams","fbaHooks","usePrevious","params","_useState5","_useState6","setStatus","errorMsgRef","useRef","form","Form","useFormInstance","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","undefined","onInnerRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","keys","target","_respData","respDataFt","requiredParamsKeys","find","item","current","concat","join","console","warn","$Try_1_Post","$Try_1_Catch","error","message","resolve","then","$await_2","name","getFieldValue","onResponseAdapter","useEffectCustomAsync","useEffectCustom","_isDeepEqual","viewValue","RequestText","otherProps","_objectWithoutProperties","_excluded","requestResult","FormItemWrapper","_classNames","FormItemText","_jsxs","FormItemHidden"],"mappings":"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"}
|