@flatbiz/antd 5.0.57 → 5.0.58

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.
Files changed (150) hide show
  1. package/dist/ace-editor-json/index.js +5 -6
  2. package/dist/ace-editor-json/index.js.map +1 -1
  3. package/dist/ace-editor-mysql/index.js +5 -6
  4. package/dist/ace-editor-mysql/index.js.map +1 -1
  5. package/dist/ace-editor-xml/index.js +5 -6
  6. package/dist/ace-editor-xml/index.js.map +1 -1
  7. package/dist/bootstrap/index.js +6 -7
  8. package/dist/bootstrap/index.js.map +1 -1
  9. package/dist/{bootstrap-DtZAiLNG.js → bootstrap-3pFzqBJf.js} +3 -3
  10. package/dist/{bootstrap-DtZAiLNG.js.map → bootstrap-3pFzqBJf.js.map} +1 -1
  11. package/dist/button-operate/index.js +8 -9
  12. package/dist/button-operate/index.js.map +1 -1
  13. package/dist/{button-operate-KY7C3DHN.js → button-operate-CdtVJ5RT.js} +4 -4
  14. package/dist/{button-operate-KY7C3DHN.js.map → button-operate-CdtVJ5RT.js.map} +1 -1
  15. package/dist/button-wrapper/index.js +4 -5
  16. package/dist/button-wrapper/index.js.map +1 -1
  17. package/dist/{button-wrapper-DezyMqPx.js → button-wrapper-CUEw1Cbw.js} +3 -3
  18. package/dist/{button-wrapper-DezyMqPx.js.map → button-wrapper-CUEw1Cbw.js.map} +1 -1
  19. package/dist/card-layout/index.css +1 -1
  20. package/dist/{cell-render-Dlm5fHhO.js → cell-render-2tjQ6w6M.js} +2 -2
  21. package/dist/{cell-render-Dlm5fHhO.js.map → cell-render-2tjQ6w6M.js.map} +1 -1
  22. package/dist/check-list/index.js +1 -2
  23. package/dist/check-list/index.js.map +1 -1
  24. package/dist/{code-6OasUxQG.js → code-Dbu2QlhZ.js} +2 -2
  25. package/dist/{code-6OasUxQG.js.map → code-Dbu2QlhZ.js.map} +1 -1
  26. package/dist/code-render/index.js +1 -1
  27. package/dist/config-provider-wrapper/index.js +4 -2
  28. package/dist/config-provider-wrapper/index.js.map +1 -1
  29. package/dist/{config-provider-wrapper-C72dPUJZ.js → config-provider-wrapper-Bxh9JdL4.js} +22 -2
  30. package/dist/config-provider-wrapper-Bxh9JdL4.js.map +1 -0
  31. package/dist/{content-B5Twifti.js → content-DoE4kX1b.js} +2 -2
  32. package/dist/{content-B5Twifti.js.map → content-DoE4kX1b.js.map} +1 -1
  33. package/dist/date-range-picker-wrapper-form-item/index.js +2 -3
  34. package/dist/date-range-picker-wrapper-form-item/index.js.map +1 -1
  35. package/dist/dialog-alert/index.js +7 -8
  36. package/dist/dialog-alert/index.js.map +1 -1
  37. package/dist/{dialog-alert-CgJLUMZW.js → dialog-alert-6P2eAvZR.js} +2 -2
  38. package/dist/{dialog-alert-CgJLUMZW.js.map → dialog-alert-6P2eAvZR.js.map} +1 -1
  39. package/dist/dialog-confirm/index.js +6 -7
  40. package/dist/dialog-confirm/index.js.map +1 -1
  41. package/dist/{dialog-confirm-ZVcBCW4X.js → dialog-confirm-Bffr2CwF.js} +2 -2
  42. package/dist/{dialog-confirm-ZVcBCW4X.js.map → dialog-confirm-Bffr2CwF.js.map} +1 -1
  43. package/dist/dialog-drag-modal/index.js +5 -6
  44. package/dist/dialog-drag-modal/index.js.map +1 -1
  45. package/dist/dialog-drawer/index.js +5 -6
  46. package/dist/dialog-drawer/index.js.map +1 -1
  47. package/dist/{dialog-drawer-B7DWPvCN.js → dialog-drawer-DtvMjeQH.js} +4 -4
  48. package/dist/dialog-drawer-DtvMjeQH.js.map +1 -0
  49. package/dist/dialog-drawer-content/index.js +5 -6
  50. package/dist/dialog-drawer-content/index.js.map +1 -1
  51. package/dist/dialog-modal/index.js +5 -6
  52. package/dist/dialog-modal/index.js.map +1 -1
  53. package/dist/{dialog-modal-mKpTrFi6.js → dialog-modal-D_vYWlwi.js} +4 -4
  54. package/dist/dialog-modal-D_vYWlwi.js.map +1 -0
  55. package/dist/{drag-Bt_Onr60.js → drag-BJvkX6wX.js} +2 -2
  56. package/dist/{drag-Bt_Onr60.js.map → drag-BJvkX6wX.js.map} +1 -1
  57. package/dist/{drag-BZCbZQj0.js → drag-DWY3xwSx.js} +2 -2
  58. package/dist/{drag-BZCbZQj0.js.map → drag-DWY3xwSx.js.map} +1 -1
  59. package/dist/drag-editable-card/index.js +6 -7
  60. package/dist/drag-editable-card/index.js.map +1 -1
  61. package/dist/drag-editable-table/index.js +12 -13
  62. package/dist/drag-editable-table/index.js.map +1 -1
  63. package/dist/drag-editable-table-pro/index.js +5 -5
  64. package/dist/drag-form-list/index.js +5 -6
  65. package/dist/drag-form-list/index.js.map +1 -1
  66. package/dist/{drag-form-list-BrIW06Ex.js → drag-form-list-km7sbRgX.js} +2 -2
  67. package/dist/{drag-form-list-BrIW06Ex.js.map → drag-form-list-km7sbRgX.js.map} +1 -1
  68. package/dist/{drag-modal-Y41HH12_.js → drag-modal-bCVko84z.js} +2 -2
  69. package/dist/{drag-modal-Y41HH12_.js.map → drag-modal-bCVko84z.js.map} +1 -1
  70. package/dist/{drawer-BfMemZA8.js → drawer-B4zhikkP.js} +2 -2
  71. package/dist/{drawer-BfMemZA8.js.map → drawer-B4zhikkP.js.map} +1 -1
  72. package/dist/dropdown-menu-wrapper/index.js +7 -8
  73. package/dist/dropdown-menu-wrapper/index.js.map +1 -1
  74. package/dist/{dropdown-menu-wrapper-BZ-9rK-3.js → dropdown-menu-wrapper-CPr9MpDf.js} +4 -4
  75. package/dist/{dropdown-menu-wrapper-BZ-9rK-3.js.map → dropdown-menu-wrapper-CPr9MpDf.js.map} +1 -1
  76. package/dist/easy-table/index.css +1 -1
  77. package/dist/easy-table/index.d.ts +10 -2
  78. package/dist/easy-table/index.js +46 -6
  79. package/dist/easy-table/index.js.map +1 -1
  80. package/dist/editable-card/index.js +5 -6
  81. package/dist/editable-card/index.js.map +1 -1
  82. package/dist/{editable-card-eG4iQx89.js → editable-card-CEnfCpHB.js} +3 -3
  83. package/dist/{editable-card-eG4iQx89.js.map → editable-card-CEnfCpHB.js.map} +1 -1
  84. package/dist/{editable-card-Bbav4SQe.js → editable-card-fKejL_-j.js} +2 -2
  85. package/dist/{editable-card-Bbav4SQe.js.map → editable-card-fKejL_-j.js.map} +1 -1
  86. package/dist/editable-table/index.js +11 -12
  87. package/dist/editable-table/index.js.map +1 -1
  88. package/dist/{editable-table-BA_-d68O.js → editable-table-BBB532v2.js} +4 -4
  89. package/dist/{editable-table-BA_-d68O.js.map → editable-table-BBB532v2.js.map} +1 -1
  90. package/dist/editable-table-pro/index.js +4 -4
  91. package/dist/{editable-table-pro-CIa0-oBZ.js → editable-table-pro-BaPGZ1D-.js} +3 -3
  92. package/dist/{editable-table-pro-CIa0-oBZ.js.map → editable-table-pro-BaPGZ1D-.js.map} +1 -1
  93. package/dist/{editor-i79rPG9r.js → editor-CXEXPHuk.js} +2 -2
  94. package/dist/{editor-i79rPG9r.js.map → editor-CXEXPHuk.js.map} +1 -1
  95. package/dist/{editor-CncecOdy.js → editor-Clwb2k5_.js} +2 -2
  96. package/dist/{editor-CncecOdy.js.map → editor-Clwb2k5_.js.map} +1 -1
  97. package/dist/{editor-C_Wf256R.js → editor-DvIyx8mZ.js} +2 -2
  98. package/dist/{editor-C_Wf256R.js.map → editor-DvIyx8mZ.js.map} +1 -1
  99. package/dist/fba-app/index.js +4 -5
  100. package/dist/fba-app/index.js.map +1 -1
  101. package/dist/{fba-app-Ew89Y7th.js → fba-app-DDg4oTrl.js} +3 -3
  102. package/dist/{fba-app-Ew89Y7th.js.map → fba-app-DDg4oTrl.js.map} +1 -1
  103. package/dist/fba-utils/index.d.ts +7 -4
  104. package/dist/fba-utils/index.js +1 -2
  105. package/dist/fba-utils/index.js.map +1 -1
  106. package/dist/{fba-utils-okhb5eSJ.js → fba-utils-CusZeveq.js} +10 -16
  107. package/dist/fba-utils-CusZeveq.js.map +1 -0
  108. package/dist/{form-item-BQtYYsfl.js → form-item-Dr_TlV6t.js} +2 -2
  109. package/dist/{form-item-BQtYYsfl.js.map → form-item-Dr_TlV6t.js.map} +1 -1
  110. package/dist/form-list-wrapper/index.js +5 -6
  111. package/dist/form-list-wrapper/index.js.map +1 -1
  112. package/dist/{form-list-wrapper-BTSuq_pI.js → form-list-wrapper-CVFKEJp_.js} +2 -2
  113. package/dist/{form-list-wrapper-BTSuq_pI.js.map → form-list-wrapper-CVFKEJp_.js.map} +1 -1
  114. package/dist/full-screen/index.js +1 -2
  115. package/dist/full-screen/index.js.map +1 -1
  116. package/dist/index.d.ts +16 -5
  117. package/dist/index.js +32 -32
  118. package/dist/local-loading/index.js +1 -2
  119. package/dist/local-loading/index.js.map +1 -1
  120. package/dist/permission/index.js +2 -3
  121. package/dist/permission/index.js.map +1 -1
  122. package/dist/{permission-D5AvZAS8.js → permission-LvmVFvaX.js} +2 -2
  123. package/dist/{permission-D5AvZAS8.js.map → permission-LvmVFvaX.js.map} +1 -1
  124. package/dist/pre-defined-class-name/index.js +3 -3
  125. package/dist/pre-defined-class-name/index.js.map +1 -1
  126. package/dist/resizable-drawer/index.js +5 -6
  127. package/dist/resizable-drawer/index.js.map +1 -1
  128. package/dist/{search-BbKmdP-9.js → search-cZjlNi91.js} +2 -2
  129. package/dist/{search-BbKmdP-9.js.map → search-cZjlNi91.js.map} +1 -1
  130. package/dist/search-form/index.js +5 -6
  131. package/dist/search-form/index.js.map +1 -1
  132. package/dist/selector-TwlWqZ0E.js.map +1 -1
  133. package/dist/table-cell-render/index.js +8 -9
  134. package/dist/table-cell-render/index.js.map +1 -1
  135. package/dist/time-range-picker-wrapper-form-item/index.js +2 -3
  136. package/dist/time-range-picker-wrapper-form-item/index.js.map +1 -1
  137. package/dist/{time-range-picker-wrapper-form-item-Cl0i2rZv.js → time-range-picker-wrapper-form-item-Ci6NG9Vv.js} +2 -2
  138. package/dist/{time-range-picker-wrapper-form-item-Cl0i2rZv.js.map → time-range-picker-wrapper-form-item-Ci6NG9Vv.js.map} +1 -1
  139. package/dist/tree-modal/index.js +7 -7
  140. package/dist/tree-modal-selector/index.js +7 -7
  141. package/dist/tree-wrapper/index.js +7 -7
  142. package/dist/upload-wrapper/index.js +5 -6
  143. package/dist/upload-wrapper/index.js.map +1 -1
  144. package/dist/{upload-wrapper--IfkLPBP.js → upload-wrapper-RyU6ICRN.js} +2 -2
  145. package/dist/{upload-wrapper--IfkLPBP.js.map → upload-wrapper-RyU6ICRN.js.map} +1 -1
  146. package/package.json +1 -1
  147. package/dist/config-provider-wrapper-C72dPUJZ.js.map +0 -1
  148. package/dist/dialog-drawer-B7DWPvCN.js.map +0 -1
  149. package/dist/dialog-modal-mKpTrFi6.js.map +0 -1
  150. package/dist/fba-utils-okhb5eSJ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"editable-table-pro-CIa0-oBZ.js","sources":["@flatbiz/antd/src/editable-table-pro/editable-table-pro.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { isValidElement, useMemo, useRef, useState } from 'react';\nimport {\n Form,\n type FormListOperation,\n message,\n Space,\n Table,\n type TableProps,\n} from 'antd';\nimport type { FormListProps } from 'antd/lib/form/index.js';\nimport type { ColumnsType } from 'antd/lib/table/index.js';\nimport { CloseCircleFilled, PlusOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { arrayReorder, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableTableProColumnItem,\n EditableTableProDataIndex,\n EditableTableProOperation,\n} from './type.js';\nimport './style.less';\n\ntype dataSourceRelativeItem = {\n level: number;\n parentUid?: string | number;\n index: number;\n};\n\nexport type EditableTableProProps = {\n columns: EditableTableProColumnItem[];\n /**\n * 当前Edittable处在formList内部时(必填),完整formItem的name\n * ```\n * 例如 处在formList内部\n * 1. formListName=[0,dataList]\n * 2. formListCompleteName=[xxxList, 0, dataList]\n * ```\n */\n formListCompleteName?: Array<string | number>;\n /** Form.List name */\n formListName: Array<string | number> | string;\n /** 唯一值字段Key */\n uidFieldKey: string;\n /** 初始化值 */\n initialValue?: TPlainObject[];\n /** 指定树形结构的列名,默认值:children */\n childrenColumnName?: string;\n /** 表格组件配置 */\n tableProps?: Omit<\n TableProps<TPlainObject>,\n 'dataSource' | 'columns' | 'rowKey'\n > & {\n // 如果重写了columns.onCell,则此配置失效\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n /**\n * Form.List rules\n * ```\n rules={[\n {\n validator: async (_, names) => {\n if (!names || names.length < 2) {\n return Promise.reject(new Error('At least 2 passengers'));\n }\n },\n },\n ]}\n * ```\n */\n rules?: FormListProps['rules'];\n className?: string;\n style?: CSSProperties;\n\n /**`默认新增按钮`新增行默认值,hiddenFooterBtn != true 有效 */\n addRowDefaultValues?: () => TPlainObject;\n /** 隐藏底部`新增`按钮 */\n hiddenFooterBtn?: boolean;\n /** 表格顶部区域渲染 */\n tableBeforeAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 表格底部区域渲染 */\n tableAfterAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 展开的行key,一般用于初始化,重新tableProps.expandable.expandedRowKeys后失效 */\n expandedRowKeys?: string[];\n /**\n * 展开图标布局,默认:layout1\n * ```\n * 1. 可编辑表格第一项为可编辑状态时,选 layout1\n * 2. 可编辑表格第一项为非可编辑状态时,选 layout2\n * ```\n */\n expandedIconLayout?: 'layout1' | 'layout2';\n};\n\n/**\n * 使用FormList实现可编辑表格\n * ```\n * 1. 必须在外部包裹Form组件\n * 2. 表格数据源数组中必须存在唯一值字段,通过uidFieldKey配置\n * 3. 可嵌套编辑,数据嵌套的节点名称可通过 childrenColumnName设置,默认:children\n * 4. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowTargetField 方法\n * 5. 在多级编辑中,可通过 column.render.operation.level 判断当前行数据层级\n * 6. 不存在多级的情况下,可使用DragEditableTablePro组件实现拖拽排序\n * 7. 存在多级的情况下,可通过 column.render.operation.move 方法实现同一级内移动\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable2\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable4\n * ```\n */\nexport const EditableTablePro = (props: EditableTableProProps) => {\n const form = Form.useFormInstance();\n const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]);\n const formListName = toArray<string | number>(props.formListName);\n const dataSourceUidMap = useRef<Record<string, TPlainObject>>({});\n const dataSourceUidMapFt = useRef<\n Record<string | number, dataSourceRelativeItem>\n >({});\n const formListOperationRef = useRef<FormListOperation>();\n const uidFieldKey = props.uidFieldKey;\n const childrenColumnName = props.childrenColumnName || 'children';\n const expandedIconLayout = props.expandedIconLayout || 'layout1';\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const dataSource = Form.useWatch(formListCompleteName, form);\n\n const [showEmptyText, setShowEmptyText] = useState<string | undefined>();\n\n const dataSourceFt = useMemo(() => {\n if (!dataSource) return [];\n let queryUidErrorFlag = false;\n function deep(\n itemList: TPlainObject[],\n level: number,\n parentUid?: string | number\n ) {\n for (let index = 0; index < itemList.length; index++) {\n const item = itemList[index];\n if (!item[uidFieldKey]) {\n console.error(item, '数据中未查询到唯一值');\n queryUidErrorFlag = true;\n return;\n } else {\n dataSourceUidMapFt.current[item[uidFieldKey]] = {\n level,\n parentUid,\n index,\n };\n dataSourceUidMap.current[item[uidFieldKey]] = item;\n deep(item[childrenColumnName] || [], level + 1, item[uidFieldKey]);\n }\n }\n }\n\n dataSourceUidMapFt.current = {};\n dataSourceUidMap.current = {};\n deep(isArray(dataSource) ? dataSource : [], 1);\n if (queryUidErrorFlag) {\n const txt = `数据源中存在唯一值【${uidFieldKey}】为空的情况,无法渲染表格`;\n void message.error(txt);\n setShowEmptyText(txt);\n return [];\n }\n return dataSource;\n }, [childrenColumnName, dataSource, uidFieldKey]);\n\n fbaHooks.useEffectCustom(() => {\n setExpandedRowKeys(props.expandedRowKeys || []);\n }, [JSON.stringify(props.expandedRowKeys || [])]);\n\n const getFormItemName = hooks.useCallbackRef((record: TPlainObject) => {\n const uid = record[uidFieldKey];\n let target: dataSourceRelativeItem | undefined =\n dataSourceUidMapFt.current[uid];\n\n const indexes: number[] = [];\n while (target) {\n indexes.push(target.index);\n if (target.level === 1) {\n break;\n }\n target = target.parentUid\n ? dataSourceUidMapFt.current[target.parentUid]\n : undefined;\n }\n const arr: Array<string | number> = [];\n indexes.reverse().forEach((item, index) => {\n arr.push(item);\n if (index < indexes.length - 1) {\n arr.push(childrenColumnName);\n }\n });\n return arr;\n });\n\n const addItem = hooks.useCallbackRef(\n (uid: string, defaultValue: TPlainObject, insertIndex?: number) => {\n const target = dataSourceUidMap.current[uid];\n\n if (target) {\n if (target.level === 1) {\n /** 通过 formListOperation.add 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.add(defaultValue, insertIndex);\n return;\n }\n target[childrenColumnName] = target[childrenColumnName] || [];\n if (insertIndex == undefined) {\n target[childrenColumnName].push(defaultValue);\n } else {\n target[childrenColumnName].splice(insertIndex, 0, defaultValue);\n }\n const expandedRowKeysSet = new Set(expandedRowKeys);\n expandedRowKeysSet.add(target[uidFieldKey]);\n setExpandedRowKeys([...Array.from(expandedRowKeysSet)]);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const deleteItem = hooks.useCallbackRef(\n (uid: string | number, index: number) => {\n const target = dataSourceUidMapFt.current[uid];\n if (target.level === 1) {\n /** 通过 formListOperation.remove 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.remove(index);\n return;\n }\n const parentUid = target.parentUid;\n if (!parentUid) {\n dataSource.splice(index, 1);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName].splice(index, 1);\n if (parentTarget[childrenColumnName].length === 0) {\n delete parentTarget[childrenColumnName];\n }\n }\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: cloneState(dataSource),\n },\n ]);\n }\n );\n\n const moveItem = hooks.useCallbackRef(\n (uid: string | number, fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex || toIndex < 0) return;\n const target = dataSourceUidMapFt.current[uid];\n const parentUid = target.parentUid;\n if (!parentUid) {\n const result = arrayReorder(dataSource, fromIndex, toIndex);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: result,\n },\n ]);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName] = arrayReorder(\n parentTarget[childrenColumnName],\n fromIndex,\n toIndex\n );\n\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const setCurrentRowTargetField = hooks.useCallbackRef(\n (\n formItemPrevName: Array<string | number>,\n dataIndexConfigs: {\n name: EditableTableProDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n ...formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n }\n );\n\n const setCurrentRowChildrenValue = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>, value?: TPlainObject[]) => {\n setCurrentRowTargetField(formItemPrevName, [\n { name: childrenColumnName, value },\n ]);\n }\n );\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableTableProDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n\n const columns = useMemo(() => {\n return props.columns\n .map((column) => {\n if (column.hidden) return null;\n const title = column.title;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string | undefined = title;\n if (column.tipsWrapperProps && support) {\n if (typeof column.tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = (\n <TipsWrapper {...column.tipsWrapperProps}>{title}</TipsWrapper>\n );\n }\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...column,\n title: required ? (\n <TextSymbolWrapper\n style={{ marginLeft: column.align === 'center' ? undefined : 10 }}\n text={titleRender}\n position=\"before\"\n symbolType=\"required\"\n />\n ) : (\n titleRender\n ),\n render: (value, record, index) => {\n if (isUndefinedOrNull(column.render)) {\n return value;\n }\n const uid = record[uidFieldKey];\n const dataIndex = toArray<string>(column['dataIndex']);\n const formItemPrevName = getFormItemName(record);\n const dataSourceTarget = dataSourceUidMapFt.current[uid];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(record, index)\n : column?.editable;\n const tableRowFormItemCompleteName = [\n ...formListCompleteName,\n ...formItemPrevName,\n ];\n\n const renderOperationProps: EditableTableProOperation = {\n editable,\n add: addItem.bind(null, uid),\n remove: deleteItem.bind(null, uid),\n move: moveItem.bind(null, uid),\n level: dataSourceTarget.level,\n parentItem: uid ? dataSourceUidMapFt.current[uid] : null,\n tableRowFormItemName: formItemPrevName,\n tableRowFormItemCompleteName,\n setCurrentRowTargetField: setCurrentRowTargetField.bind(\n null,\n formItemPrevName\n ),\n setCurrentRowChildrenValue: setCurrentRowChildrenValue.bind(\n null,\n formItemPrevName\n ),\n validateRowFields: validateRowFields.bind(\n null,\n tableRowFormItemCompleteName\n ),\n };\n if (editable === true) {\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(\n value,\n record,\n index,\n renderOperationProps\n )\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[...formItemPrevName, ...dataIndex]}\n style={{ marginBottom: 0, ...formItemProps?.style }}\n >\n {\n column.render?.(\n value,\n record,\n index,\n renderOperationProps\n ) as ReactNode\n }\n </FormItemWrapper>\n );\n }\n return column.render?.(value, record, index, renderOperationProps);\n },\n };\n })\n .filter(Boolean) as ColumnsType<TPlainObject>;\n }, [\n props.columns,\n props.tableProps?.cellVerticalAlign,\n uidFieldKey,\n getFormItemName,\n formListCompleteName,\n addItem,\n deleteItem,\n moveItem,\n setCurrentRowTargetField,\n setCurrentRowChildrenValue,\n validateRowFields,\n ]);\n\n const className = classNames(\n 'editable-table-pro',\n { 'editable-table-pro-layout1': expandedIconLayout === 'layout1' },\n props.className\n );\n\n return (\n <div className={className} style={props.style}>\n <Form.List\n name={formListName}\n rules={props.rules}\n initialValue={props.initialValue}\n >\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.tableBeforeAreaRender?.(formListOperation, fields.length)}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n size=\"small\"\n {...props.tableProps}\n locale={{\n emptyText: showEmptyText ? (\n <Space size={5} style={{ color: '#ff4d4f' }}>\n <CloseCircleFilled />\n <span>{showEmptyText}</span>\n </Space>\n ) : undefined,\n }}\n expandable={{\n expandedRowKeys: expandedRowKeys,\n onExpandedRowsChange: (expandedRowKeys) => {\n setExpandedRowKeys(expandedRowKeys as string[]);\n },\n ...props.tableProps?.expandable,\n childrenColumnName: childrenColumnName,\n }}\n columns={columns}\n dataSource={dataSourceFt}\n rowKey={uidFieldKey}\n />\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n if (!defaultValues?.[uidFieldKey]) {\n void message.error(\n `新增行默认值必须包含唯一值字段【${uidFieldKey}】,通过 addRowDefaultValues 设置`\n );\n return;\n }\n formListOperation.add(defaultValues);\n }}\n >\n 新增\n </ButtonWrapper>\n {props.tableAfterAreaRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableTablePro","props","_props$tableProps2","form","Form","useFormInstance","_useState","useState","_useState2","_slicedToArray","expandedRowKeys","setExpandedRowKeys","formListName","toArray","dataSourceUidMap","useRef","dataSourceUidMapFt","formListOperationRef","uidFieldKey","childrenColumnName","expandedIconLayout","formListCompleteName","dataSource","useWatch","_useState3","_useState4","showEmptyText","setShowEmptyText","dataSourceFt","useMemo","queryUidErrorFlag","deep","itemList","level","parentUid","index","length","item","console","error","current","_isArray","txt","concat","message","fbaHooks","useEffectCustom","JSON","stringify","getFormItemName","_hooks","useCallbackRef","record","uid","target","indexes","push","undefined","arr","reverse","forEach","addItem","defaultValue","insertIndex","_formListOperationRef","add","splice","expandedRowKeysSet","Set","_toConsumableArray","Array","from","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","deleteItem","_formListOperationRef2","remove","parentTarget","cloneState","moveItem","fromIndex","toIndex","result","arrayReorder","setCurrentRowTargetField","formItemPrevName","dataIndexConfigs","map","setCurrentRowChildrenValue","validateRowFields","nameList","Promise","$return","$error","resolve","validateFields","then","$await_1","$boundEx","columns","column","_column$formItemProps","hidden","title","support","isValidElement","titleRender","tipsWrapperProps","_jsx","TipsWrapper","tipType","popoverProps","content","children","_objectSpread","required","formItemProps","rules","find","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","TextSymbolWrapper","style","marginLeft","align","text","position","symbolType","render","_column$render2","isUndefinedOrNull","dataIndex","dataSourceTarget","editable","tableRowFormItemCompleteName","renderOperationProps","bind","move","parentItem","tableRowFormItemName","_formItemProps","_formItemProps2","_column$render","FormItemWrapper","marginBottom","call","filter","Boolean","className","_classNames","List","initialValue","fields","formListOperation","_ref","_props$tableBeforeAre","_props$tableProps3","_props$tableAfterArea","errors","_jsxs","borderRadius","border","tableBeforeAreaRender","Table","scroll","x","pagination","size","locale","emptyText","Space","color","_CloseCircleFilled","expandable","onExpandedRowsChange","rowKey","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","tableAfterAreaRender","ErrorList","padding"],"mappings":"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"}
1
+ {"version":3,"file":"editable-table-pro-BaPGZ1D-.js","sources":["@flatbiz/antd/src/editable-table-pro/editable-table-pro.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { isValidElement, useMemo, useRef, useState } from 'react';\nimport {\n Form,\n type FormListOperation,\n message,\n Space,\n Table,\n type TableProps,\n} from 'antd';\nimport type { FormListProps } from 'antd/lib/form/index.js';\nimport type { ColumnsType } from 'antd/lib/table/index.js';\nimport { CloseCircleFilled, PlusOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { arrayReorder, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableTableProColumnItem,\n EditableTableProDataIndex,\n EditableTableProOperation,\n} from './type.js';\nimport './style.less';\n\ntype dataSourceRelativeItem = {\n level: number;\n parentUid?: string | number;\n index: number;\n};\n\nexport type EditableTableProProps = {\n columns: EditableTableProColumnItem[];\n /**\n * 当前Edittable处在formList内部时(必填),完整formItem的name\n * ```\n * 例如 处在formList内部\n * 1. formListName=[0,dataList]\n * 2. formListCompleteName=[xxxList, 0, dataList]\n * ```\n */\n formListCompleteName?: Array<string | number>;\n /** Form.List name */\n formListName: Array<string | number> | string;\n /** 唯一值字段Key */\n uidFieldKey: string;\n /** 初始化值 */\n initialValue?: TPlainObject[];\n /** 指定树形结构的列名,默认值:children */\n childrenColumnName?: string;\n /** 表格组件配置 */\n tableProps?: Omit<\n TableProps<TPlainObject>,\n 'dataSource' | 'columns' | 'rowKey'\n > & {\n // 如果重写了columns.onCell,则此配置失效\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n /**\n * Form.List rules\n * ```\n rules={[\n {\n validator: async (_, names) => {\n if (!names || names.length < 2) {\n return Promise.reject(new Error('At least 2 passengers'));\n }\n },\n },\n ]}\n * ```\n */\n rules?: FormListProps['rules'];\n className?: string;\n style?: CSSProperties;\n\n /**`默认新增按钮`新增行默认值,hiddenFooterBtn != true 有效 */\n addRowDefaultValues?: () => TPlainObject;\n /** 隐藏底部`新增`按钮 */\n hiddenFooterBtn?: boolean;\n /** 表格顶部区域渲染 */\n tableBeforeAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 表格底部区域渲染 */\n tableAfterAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 展开的行key,一般用于初始化,重新tableProps.expandable.expandedRowKeys后失效 */\n expandedRowKeys?: string[];\n /**\n * 展开图标布局,默认:layout1\n * ```\n * 1. 可编辑表格第一项为可编辑状态时,选 layout1\n * 2. 可编辑表格第一项为非可编辑状态时,选 layout2\n * ```\n */\n expandedIconLayout?: 'layout1' | 'layout2';\n};\n\n/**\n * 使用FormList实现可编辑表格\n * ```\n * 1. 必须在外部包裹Form组件\n * 2. 表格数据源数组中必须存在唯一值字段,通过uidFieldKey配置\n * 3. 可嵌套编辑,数据嵌套的节点名称可通过 childrenColumnName设置,默认:children\n * 4. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowTargetField 方法\n * 5. 在多级编辑中,可通过 column.render.operation.level 判断当前行数据层级\n * 6. 不存在多级的情况下,可使用DragEditableTablePro组件实现拖拽排序\n * 7. 存在多级的情况下,可通过 column.render.operation.move 方法实现同一级内移动\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable2\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable4\n * ```\n */\nexport const EditableTablePro = (props: EditableTableProProps) => {\n const form = Form.useFormInstance();\n const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]);\n const formListName = toArray<string | number>(props.formListName);\n const dataSourceUidMap = useRef<Record<string, TPlainObject>>({});\n const dataSourceUidMapFt = useRef<\n Record<string | number, dataSourceRelativeItem>\n >({});\n const formListOperationRef = useRef<FormListOperation>();\n const uidFieldKey = props.uidFieldKey;\n const childrenColumnName = props.childrenColumnName || 'children';\n const expandedIconLayout = props.expandedIconLayout || 'layout1';\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const dataSource = Form.useWatch(formListCompleteName, form);\n\n const [showEmptyText, setShowEmptyText] = useState<string | undefined>();\n\n const dataSourceFt = useMemo(() => {\n if (!dataSource) return [];\n let queryUidErrorFlag = false;\n function deep(\n itemList: TPlainObject[],\n level: number,\n parentUid?: string | number\n ) {\n for (let index = 0; index < itemList.length; index++) {\n const item = itemList[index];\n if (!item[uidFieldKey]) {\n console.error(item, '数据中未查询到唯一值');\n queryUidErrorFlag = true;\n return;\n } else {\n dataSourceUidMapFt.current[item[uidFieldKey]] = {\n level,\n parentUid,\n index,\n };\n dataSourceUidMap.current[item[uidFieldKey]] = item;\n deep(item[childrenColumnName] || [], level + 1, item[uidFieldKey]);\n }\n }\n }\n\n dataSourceUidMapFt.current = {};\n dataSourceUidMap.current = {};\n deep(isArray(dataSource) ? dataSource : [], 1);\n if (queryUidErrorFlag) {\n const txt = `数据源中存在唯一值【${uidFieldKey}】为空的情况,无法渲染表格`;\n void message.error(txt);\n setShowEmptyText(txt);\n return [];\n }\n return dataSource;\n }, [childrenColumnName, dataSource, uidFieldKey]);\n\n fbaHooks.useEffectCustom(() => {\n setExpandedRowKeys(props.expandedRowKeys || []);\n }, [JSON.stringify(props.expandedRowKeys || [])]);\n\n const getFormItemName = hooks.useCallbackRef((record: TPlainObject) => {\n const uid = record[uidFieldKey];\n let target: dataSourceRelativeItem | undefined =\n dataSourceUidMapFt.current[uid];\n\n const indexes: number[] = [];\n while (target) {\n indexes.push(target.index);\n if (target.level === 1) {\n break;\n }\n target = target.parentUid\n ? dataSourceUidMapFt.current[target.parentUid]\n : undefined;\n }\n const arr: Array<string | number> = [];\n indexes.reverse().forEach((item, index) => {\n arr.push(item);\n if (index < indexes.length - 1) {\n arr.push(childrenColumnName);\n }\n });\n return arr;\n });\n\n const addItem = hooks.useCallbackRef(\n (uid: string, defaultValue: TPlainObject, insertIndex?: number) => {\n const target = dataSourceUidMap.current[uid];\n\n if (target) {\n if (target.level === 1) {\n /** 通过 formListOperation.add 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.add(defaultValue, insertIndex);\n return;\n }\n target[childrenColumnName] = target[childrenColumnName] || [];\n if (insertIndex == undefined) {\n target[childrenColumnName].push(defaultValue);\n } else {\n target[childrenColumnName].splice(insertIndex, 0, defaultValue);\n }\n const expandedRowKeysSet = new Set(expandedRowKeys);\n expandedRowKeysSet.add(target[uidFieldKey]);\n setExpandedRowKeys([...Array.from(expandedRowKeysSet)]);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const deleteItem = hooks.useCallbackRef(\n (uid: string | number, index: number) => {\n const target = dataSourceUidMapFt.current[uid];\n if (target.level === 1) {\n /** 通过 formListOperation.remove 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.remove(index);\n return;\n }\n const parentUid = target.parentUid;\n if (!parentUid) {\n dataSource.splice(index, 1);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName].splice(index, 1);\n if (parentTarget[childrenColumnName].length === 0) {\n delete parentTarget[childrenColumnName];\n }\n }\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: cloneState(dataSource),\n },\n ]);\n }\n );\n\n const moveItem = hooks.useCallbackRef(\n (uid: string | number, fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex || toIndex < 0) return;\n const target = dataSourceUidMapFt.current[uid];\n const parentUid = target.parentUid;\n if (!parentUid) {\n const result = arrayReorder(dataSource, fromIndex, toIndex);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: result,\n },\n ]);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName] = arrayReorder(\n parentTarget[childrenColumnName],\n fromIndex,\n toIndex\n );\n\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const setCurrentRowTargetField = hooks.useCallbackRef(\n (\n formItemPrevName: Array<string | number>,\n dataIndexConfigs: {\n name: EditableTableProDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n ...formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n }\n );\n\n const setCurrentRowChildrenValue = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>, value?: TPlainObject[]) => {\n setCurrentRowTargetField(formItemPrevName, [\n { name: childrenColumnName, value },\n ]);\n }\n );\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableTableProDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n\n const columns = useMemo(() => {\n return props.columns\n .map((column) => {\n if (column.hidden) return null;\n const title = column.title;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string | undefined = title;\n if (column.tipsWrapperProps && support) {\n if (typeof column.tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = (\n <TipsWrapper {...column.tipsWrapperProps}>{title}</TipsWrapper>\n );\n }\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...column,\n title: required ? (\n <TextSymbolWrapper\n style={{ marginLeft: column.align === 'center' ? undefined : 10 }}\n text={titleRender}\n position=\"before\"\n symbolType=\"required\"\n />\n ) : (\n titleRender\n ),\n render: (value, record, index) => {\n if (isUndefinedOrNull(column.render)) {\n return value;\n }\n const uid = record[uidFieldKey];\n const dataIndex = toArray<string>(column['dataIndex']);\n const formItemPrevName = getFormItemName(record);\n const dataSourceTarget = dataSourceUidMapFt.current[uid];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(record, index)\n : column?.editable;\n const tableRowFormItemCompleteName = [\n ...formListCompleteName,\n ...formItemPrevName,\n ];\n\n const renderOperationProps: EditableTableProOperation = {\n editable,\n add: addItem.bind(null, uid),\n remove: deleteItem.bind(null, uid),\n move: moveItem.bind(null, uid),\n level: dataSourceTarget.level,\n parentItem: uid ? dataSourceUidMapFt.current[uid] : null,\n tableRowFormItemName: formItemPrevName,\n tableRowFormItemCompleteName,\n setCurrentRowTargetField: setCurrentRowTargetField.bind(\n null,\n formItemPrevName\n ),\n setCurrentRowChildrenValue: setCurrentRowChildrenValue.bind(\n null,\n formItemPrevName\n ),\n validateRowFields: validateRowFields.bind(\n null,\n tableRowFormItemCompleteName\n ),\n };\n if (editable === true) {\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(\n value,\n record,\n index,\n renderOperationProps\n )\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[...formItemPrevName, ...dataIndex]}\n style={{ marginBottom: 0, ...formItemProps?.style }}\n >\n {\n column.render?.(\n value,\n record,\n index,\n renderOperationProps\n ) as ReactNode\n }\n </FormItemWrapper>\n );\n }\n return column.render?.(value, record, index, renderOperationProps);\n },\n };\n })\n .filter(Boolean) as ColumnsType<TPlainObject>;\n }, [\n props.columns,\n props.tableProps?.cellVerticalAlign,\n uidFieldKey,\n getFormItemName,\n formListCompleteName,\n addItem,\n deleteItem,\n moveItem,\n setCurrentRowTargetField,\n setCurrentRowChildrenValue,\n validateRowFields,\n ]);\n\n const className = classNames(\n 'editable-table-pro',\n { 'editable-table-pro-layout1': expandedIconLayout === 'layout1' },\n props.className\n );\n\n return (\n <div className={className} style={props.style}>\n <Form.List\n name={formListName}\n rules={props.rules}\n initialValue={props.initialValue}\n >\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.tableBeforeAreaRender?.(formListOperation, fields.length)}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n size=\"small\"\n {...props.tableProps}\n locale={{\n emptyText: showEmptyText ? (\n <Space size={5} style={{ color: '#ff4d4f' }}>\n <CloseCircleFilled />\n <span>{showEmptyText}</span>\n </Space>\n ) : undefined,\n }}\n expandable={{\n expandedRowKeys: expandedRowKeys,\n onExpandedRowsChange: (expandedRowKeys) => {\n setExpandedRowKeys(expandedRowKeys as string[]);\n },\n ...props.tableProps?.expandable,\n childrenColumnName: childrenColumnName,\n }}\n columns={columns}\n dataSource={dataSourceFt}\n rowKey={uidFieldKey}\n />\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n if (!defaultValues?.[uidFieldKey]) {\n void message.error(\n `新增行默认值必须包含唯一值字段【${uidFieldKey}】,通过 addRowDefaultValues 设置`\n );\n return;\n }\n formListOperation.add(defaultValues);\n }}\n >\n 新增\n </ButtonWrapper>\n {props.tableAfterAreaRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableTablePro","props","_props$tableProps2","form","Form","useFormInstance","_useState","useState","_useState2","_slicedToArray","expandedRowKeys","setExpandedRowKeys","formListName","toArray","dataSourceUidMap","useRef","dataSourceUidMapFt","formListOperationRef","uidFieldKey","childrenColumnName","expandedIconLayout","formListCompleteName","dataSource","useWatch","_useState3","_useState4","showEmptyText","setShowEmptyText","dataSourceFt","useMemo","queryUidErrorFlag","deep","itemList","level","parentUid","index","length","item","console","error","current","_isArray","txt","concat","message","fbaHooks","useEffectCustom","JSON","stringify","getFormItemName","_hooks","useCallbackRef","record","uid","target","indexes","push","undefined","arr","reverse","forEach","addItem","defaultValue","insertIndex","_formListOperationRef","add","splice","expandedRowKeysSet","Set","_toConsumableArray","Array","from","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","deleteItem","_formListOperationRef2","remove","parentTarget","cloneState","moveItem","fromIndex","toIndex","result","arrayReorder","setCurrentRowTargetField","formItemPrevName","dataIndexConfigs","map","setCurrentRowChildrenValue","validateRowFields","nameList","Promise","$return","$error","resolve","validateFields","then","$await_1","$boundEx","columns","column","_column$formItemProps","hidden","title","support","isValidElement","titleRender","tipsWrapperProps","_jsx","TipsWrapper","tipType","popoverProps","content","children","_objectSpread","required","formItemProps","rules","find","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","TextSymbolWrapper","style","marginLeft","align","text","position","symbolType","render","_column$render2","isUndefinedOrNull","dataIndex","dataSourceTarget","editable","tableRowFormItemCompleteName","renderOperationProps","bind","move","parentItem","tableRowFormItemName","_formItemProps","_formItemProps2","_column$render","FormItemWrapper","marginBottom","call","filter","Boolean","className","_classNames","List","initialValue","fields","formListOperation","_ref","_props$tableBeforeAre","_props$tableProps3","_props$tableAfterArea","errors","_jsxs","borderRadius","border","tableBeforeAreaRender","Table","scroll","x","pagination","size","locale","emptyText","Space","color","_CloseCircleFilled","expandable","onExpandedRowsChange","rowKey","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","tableAfterAreaRender","ErrorList","padding"],"mappings":"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"}
@@ -8,7 +8,7 @@ import Ace from 'react-ace';
8
8
  import { Space } from 'antd';
9
9
  import xmlFormat from 'xml-formatter';
10
10
  import { isUndefinedOrNull } from '@flatbiz/utils';
11
- import { B as ButtonWrapper } from './button-wrapper-DezyMqPx.js';
11
+ import { B as ButtonWrapper } from './button-wrapper-CUEw1Cbw.js';
12
12
  import { E as ErrorBoundaryWrapper } from './error-boundary-D6RX4EQZ.js';
13
13
  import { F as FlexLayout } from './flex-layout-BGtMe7zr.js';
14
14
  import 'ace-builds/src-noconflict/ext-language_tools.js';
@@ -241,4 +241,4 @@ var AceEditorXml = function AceEditorXml(props) {
241
241
  };
242
242
 
243
243
  export { AceEditorXml as A };
244
- //# sourceMappingURL=editor-i79rPG9r.js.map
244
+ //# sourceMappingURL=editor-CXEXPHuk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-i79rPG9r.js","sources":["@flatbiz/antd/src/ace-editor-xml/validate-xml.ts","@flatbiz/antd/src/ace-editor-xml/editor.tsx"],"sourcesContent":["/**\n * 验证xml格式的正确性\n * ```\n * result / true 验证通过\n * result / false 验证不通过,message为失败描述(使用富文本渲染)\n * ```\n */\nexport const validateXML = (xmlContent: string) => {\n // errorCode 0是xml正确,1是xml错误,2是无法验证\n let errorCode = 0;\n let errorMessage;\n // code for IE\n if (window['ActiveXObject']) {\n const xmlDoc = new window['ActiveXObject']('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xmlContent);\n\n if (xmlDoc.parseError.errorCode != 0) {\n errorMessage = `错误code: ${xmlDoc.parseError.errorCode} \\n`;\n errorMessage = `${errorMessage} 错误原因: ${xmlDoc.parseError.reason} \\n`;\n errorMessage = `${errorMessage} 错误位置: ${xmlDoc.parseError.line}`;\n errorCode = 1;\n } else {\n errorMessage = '格式正确';\n }\n }\n // code for Mozilla, Firefox, Opera, chrome, safari,etc.\n else if (document.implementation['createDocument']) {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');\n const error = xmlDoc.getElementsByTagName('parsererror');\n if (error.length > 0) {\n if (xmlDoc.documentElement.nodeName == 'parsererror') {\n errorCode = 1;\n errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue;\n } else {\n errorCode = 1;\n errorMessage = xmlDoc.getElementsByTagName('parsererror')[0].innerHTML;\n }\n } else {\n errorMessage = '格式正确';\n }\n } else {\n errorCode = 2;\n errorMessage = '浏览器不支持验证,无法验证xml正确性';\n }\n return {\n message: errorMessage,\n result: errorCode == 0 ? true : false,\n };\n};\n","import type { CSSProperties, ReactElement } from 'react';\nimport { useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport { Space } from 'antd';\nimport xmlFormat from 'xml-formatter';\nimport { isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper/error-boundary.jsx';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { validateXML } from './validate-xml.js';\nimport 'ace-builds/src-noconflict/ext-language_tools.js';\nimport 'ace-builds/src-noconflict/mode-xml.js';\nimport 'ace-builds/src-noconflict/snippets/xml.js';\n\nexport type AceEditorXmlProps = Omit<\n IAceEditorProps,\n 'mode' | 'value' | 'onChange' | 'theme'\n> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 是否隐藏内部验证异常文案 */\n hiddenErrorMsg?: boolean;\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * xml编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn、hiddenFormatterBtn可隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorXml = (props: AceEditorXmlProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n hiddenFormatterBtn,\n autoCompleterList,\n onLoad,\n hiddenErrorMsg,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n }))\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex(\n (item) => item.id === 'custom'\n );\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n const result = validateXML(inputValue);\n if (result.result) {\n onChange?.(inputValue);\n } else {\n setErrorMsg(result.message);\n }\n };\n\n const footer = (\n <Space style={{ alignItems: 'flex-start' }}>\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n const result = xmlFormat as any;\n onChange?.(result(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证&格式化数据\n </ButtonWrapper>\n {!hiddenErrorMsg && errorMsg ? (\n <span\n style={{ color: 'red' }}\n dangerouslySetInnerHTML={{ __html: errorMsg }}\n ></span>\n ) : null}\n </Space>\n );\n\n const Element = ((Ace as any)?.['default'] || (Ace as any)) as any;\n\n return (\n <FlexLayout\n fullIndex={0}\n className=\"ace-editor-xml\"\n key={rootNodekey}\n style={{ height: heightFt }}\n >\n <div className=\"aex-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Element\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"xml\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div\n className=\"ace-editor-xml-footer\"\n style={{ marginTop: 10, ...props.footerStyle }}\n >\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["validateXML","xmlContent","errorCode","errorMessage","window","xmlDoc","async","loadXML","parseError","concat","reason","line","document","implementation","parser","DOMParser","parseFromString","error","getElementsByTagName","length","documentElement","nodeName","childNodes","nodeValue","innerHTML","message","result","AceEditorXml","props","value","onChange","height","hiddenVerifyBtn","hiddenFormatterBtn","autoCompleterList","onLoad","hiddenErrorMsg","otherProps","_objectWithoutProperties","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","_useState2","_slicedToArray","rootNodekey","setRootNodekey","_useState3","_useState4","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","footer","_jsxs","Space","style","alignItems","children","_jsx","ButtonWrapper","hidden","type","ghost","onClick","_editorRef$current","currentValue","getValue","xmlFormat","_editorRef$current2","color","dangerouslySetInnerHTML","__html","Element","Ace","FlexLayout","fullIndex","className","ErrorBoundaryWrapper","onRenderReset","_objectSpread","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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"}
1
+ {"version":3,"file":"editor-CXEXPHuk.js","sources":["@flatbiz/antd/src/ace-editor-xml/validate-xml.ts","@flatbiz/antd/src/ace-editor-xml/editor.tsx"],"sourcesContent":["/**\n * 验证xml格式的正确性\n * ```\n * result / true 验证通过\n * result / false 验证不通过,message为失败描述(使用富文本渲染)\n * ```\n */\nexport const validateXML = (xmlContent: string) => {\n // errorCode 0是xml正确,1是xml错误,2是无法验证\n let errorCode = 0;\n let errorMessage;\n // code for IE\n if (window['ActiveXObject']) {\n const xmlDoc = new window['ActiveXObject']('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xmlContent);\n\n if (xmlDoc.parseError.errorCode != 0) {\n errorMessage = `错误code: ${xmlDoc.parseError.errorCode} \\n`;\n errorMessage = `${errorMessage} 错误原因: ${xmlDoc.parseError.reason} \\n`;\n errorMessage = `${errorMessage} 错误位置: ${xmlDoc.parseError.line}`;\n errorCode = 1;\n } else {\n errorMessage = '格式正确';\n }\n }\n // code for Mozilla, Firefox, Opera, chrome, safari,etc.\n else if (document.implementation['createDocument']) {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');\n const error = xmlDoc.getElementsByTagName('parsererror');\n if (error.length > 0) {\n if (xmlDoc.documentElement.nodeName == 'parsererror') {\n errorCode = 1;\n errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue;\n } else {\n errorCode = 1;\n errorMessage = xmlDoc.getElementsByTagName('parsererror')[0].innerHTML;\n }\n } else {\n errorMessage = '格式正确';\n }\n } else {\n errorCode = 2;\n errorMessage = '浏览器不支持验证,无法验证xml正确性';\n }\n return {\n message: errorMessage,\n result: errorCode == 0 ? true : false,\n };\n};\n","import type { CSSProperties, ReactElement } from 'react';\nimport { useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport { Space } from 'antd';\nimport xmlFormat from 'xml-formatter';\nimport { isObject } from '@dimjs/lang';\nimport {\n isUndefinedOrNull,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper/error-boundary.jsx';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { validateXML } from './validate-xml.js';\nimport 'ace-builds/src-noconflict/ext-language_tools.js';\nimport 'ace-builds/src-noconflict/mode-xml.js';\nimport 'ace-builds/src-noconflict/snippets/xml.js';\n\nexport type AceEditorXmlProps = Omit<\n IAceEditorProps,\n 'mode' | 'value' | 'onChange' | 'theme'\n> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 是否隐藏内部验证异常文案 */\n hiddenErrorMsg?: boolean;\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * xml编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn、hiddenFormatterBtn可隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorXml = (props: AceEditorXmlProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n hiddenFormatterBtn,\n autoCompleterList,\n onLoad,\n hiddenErrorMsg,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n }))\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex(\n (item) => item.id === 'custom'\n );\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n const result = validateXML(inputValue);\n if (result.result) {\n onChange?.(inputValue);\n } else {\n setErrorMsg(result.message);\n }\n };\n\n const footer = (\n <Space style={{ alignItems: 'flex-start' }}>\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n const result = xmlFormat as any;\n onChange?.(result(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证&格式化数据\n </ButtonWrapper>\n {!hiddenErrorMsg && errorMsg ? (\n <span\n style={{ color: 'red' }}\n dangerouslySetInnerHTML={{ __html: errorMsg }}\n ></span>\n ) : null}\n </Space>\n );\n\n const Element = ((Ace as any)?.['default'] || (Ace as any)) as any;\n\n return (\n <FlexLayout\n fullIndex={0}\n className=\"ace-editor-xml\"\n key={rootNodekey}\n style={{ height: heightFt }}\n >\n <div className=\"aex-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Element\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"xml\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div\n className=\"ace-editor-xml-footer\"\n style={{ marginTop: 10, ...props.footerStyle }}\n >\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["validateXML","xmlContent","errorCode","errorMessage","window","xmlDoc","async","loadXML","parseError","concat","reason","line","document","implementation","parser","DOMParser","parseFromString","error","getElementsByTagName","length","documentElement","nodeName","childNodes","nodeValue","innerHTML","message","result","AceEditorXml","props","value","onChange","height","hiddenVerifyBtn","hiddenFormatterBtn","autoCompleterList","onLoad","hiddenErrorMsg","otherProps","_objectWithoutProperties","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","_useState2","_slicedToArray","rootNodekey","setRootNodekey","_useState3","_useState4","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","footer","_jsxs","Space","style","alignItems","children","_jsx","ButtonWrapper","hidden","type","ghost","onClick","_editorRef$current","currentValue","getValue","xmlFormat","_editorRef$current2","color","dangerouslySetInnerHTML","__html","Element","Ace","FlexLayout","fullIndex","className","ErrorBoundaryWrapper","onRenderReset","_objectSpread","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,UAAkB,EAAK;AACjD;EACA,IAAIC,SAAS,GAAG,CAAC;AACjB,EAAA,IAAIC,YAAY;AAChB;AACA,EAAA,IAAIC,MAAM,CAAC,eAAe,CAAC,EAAE;IAC3B,IAAMC,MAAM,GAAG,IAAID,MAAM,CAAC,eAAe,CAAC,CAAC,kBAAkB,CAAC;IAC9DC,MAAM,CAACC,KAAK,GAAG,OAAO;AACtBD,IAAAA,MAAM,CAACE,OAAO,CAACN,UAAU,CAAC;AAE1B,IAAA,IAAII,MAAM,CAACG,UAAU,CAACN,SAAS,IAAI,CAAC,EAAE;MACpCC,YAAY,GAAA,oBAAA,CAAAM,MAAA,CAAcJ,MAAM,CAACG,UAAU,CAACN,SAAS,EAAA,KAAA,CAAK;AAC1DC,MAAAA,YAAY,GAAA,EAAA,CAAAM,MAAA,CAAMN,YAAY,EAAA,6BAAA,CAAA,CAAAM,MAAA,CAAUJ,MAAM,CAACG,UAAU,CAACE,MAAM,EAAA,KAAA,CAAK;AACrEP,MAAAA,YAAY,GAAA,EAAA,CAAAM,MAAA,CAAMN,YAAY,EAAA,6BAAA,CAAA,CAAAM,MAAA,CAAUJ,MAAM,CAACG,UAAU,CAACG,IAAI,CAAE;AAChET,MAAAA,SAAS,GAAG,CAAC;AACf,IAAA,CAAC,MAAM;AACLC,MAAAA,YAAY,GAAG,MAAM;AACvB,IAAA;AACF,EAAA;AACA;AAAA,OACK,IAAIS,QAAQ,CAACC,cAAc,CAAC,gBAAgB,CAAC,EAAE;AAClD,IAAA,IAAMC,MAAM,GAAG,IAAIC,SAAS,EAAE;IAC9B,IAAMV,OAAM,GAAGS,MAAM,CAACE,eAAe,CAACf,UAAU,EAAE,UAAU,CAAC;AAC7D,IAAA,IAAMgB,KAAK,GAAGZ,OAAM,CAACa,oBAAoB,CAAC,aAAa,CAAC;AACxD,IAAA,IAAID,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;AACpB,MAAA,IAAId,OAAM,CAACe,eAAe,CAACC,QAAQ,IAAI,aAAa,EAAE;AACpDnB,QAAAA,SAAS,GAAG,CAAC;QACbC,YAAY,GAAGE,OAAM,CAACe,eAAe,CAACE,UAAU,CAAC,CAAC,CAAC,CAACC,SAAS;AAC/D,MAAA,CAAC,MAAM;AACLrB,QAAAA,SAAS,GAAG,CAAC;QACbC,YAAY,GAAGE,OAAM,CAACa,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAACM,SAAS;AACxE,MAAA;AACF,IAAA,CAAC,MAAM;AACLrB,MAAAA,YAAY,GAAG,MAAM;AACvB,IAAA;AACF,EAAA,CAAC,MAAM;AACLD,IAAAA,SAAS,GAAG,CAAC;AACbC,IAAAA,YAAY,GAAG,qBAAqB;AACtC,EAAA;EACA,OAAO;AACLsB,IAAAA,OAAO,EAAEtB,YAAY;AACrBuB,IAAAA,MAAM,EAAExB,SAAS,IAAI,CAAC,GAAG,IAAI,GAAG;GACjC;AACH,CAAC;;;ACDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACayB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAwB,EAAK;AACxD,EAAA,IACEC,KAAK,GASHD,KAAK,CATPC,KAAK;IACLC,QAAQ,GAQNF,KAAK,CARPE,QAAQ;IACRC,MAAM,GAOJH,KAAK,CAPPG,MAAM;IACNC,eAAe,GAMbJ,KAAK,CANPI,eAAe;IACfC,kBAAkB,GAKhBL,KAAK,CALPK,kBAAkB;IAClBC,iBAAiB,GAIfN,KAAK,CAJPM,iBAAiB;IACjBC,MAAM,GAGJP,KAAK,CAHPO,MAAM;IACNC,cAAc,GAEZR,KAAK,CAFPQ,cAAc;AACXC,IAAAA,UAAU,GAAAC,wBAAA,CACXV,KAAK,EAAAW,SAAA,CAAA;EACT,IAAMC,QAAQ,GAAGC,iBAAiB,CAACV,MAAM,CAAC,GAAG,MAAM,GAAGA,MAAM;EAE5D,IAAAW,SAAA,GAAsCC,QAAQ,CAACC,IAAI,CAACC,GAAG,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAnDM,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAI,UAAA,GAAgCP,QAAQ,EAAU;IAAAQ,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA3CE,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMG,SAAS,GAAGC,MAAM,EAAQ;AAEhC,EAAA,IAAMC,QAAQ,GAAGC,OAAO,CAAC,YAAM;AAC7B,IAAA,IAAIC,QAAA,CAAS7B,KAAK,CAAC,EAAE;MACnB,OAAO8B,IAAI,CAACC,SAAS,CAAC/B,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACvC,IAAA;AACA,IAAA,OAAOA,KAAK;AACd,EAAA,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAMgC,YAAY,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAACC,OAAe,EAAK;AAC7D,IAAA,IAAIZ,QAAQ,EAAE;MACZC,WAAW,CAACY,SAAS,CAAC;AACxB,IAAA;AACAnC,IAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGkC,OAAO,CAAC;AACrB,EAAA,CAAC,CAAC;AAEF,EAAA,IAAME,cAAc,GAAGJ,KAAA,CAAMC,cAAc,CAAC,UAACI,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,QAAQ,EAAK;AACxEA,IAAAA,QAAQ,CACN,IAAI,EACJrC,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAiB,CAAEsC,GAAG,CAAC,UAACC,IAAI,EAAA;MAAA,OAAM;QAChCC,IAAI,EAAED,IAAI,CAACC,IAAI;QACf7C,KAAK,EAAE4C,IAAI,CAACC,IAAI;AAChB;QACAC,IAAI,EAAEF,IAAI,CAACG;OACZ;AAAA,IAAA,CAAC,CACJ,CAAC;AACH,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAK;IAC/BxB,SAAS,CAACyB,OAAO,GAAGD,MAAM;AAC1B;IACA,IAAME,SAAS,GAAGF,MAAM,CAACG,UAAU,CAACD,SAAS,CAC3C,UAACP,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAACS,EAAE,KAAK,QAAQ;AAAA,IAAA,CAChC,CAAC;IACD,IAAIF,SAAS,IAAI,CAAC,EAAE;AAClBF,MAAAA,MAAM,CAACG,UAAU,CAACD,SAAS,CAAC,GAAG;AAAEd,QAAAA,cAAc,EAAdA,cAAc;AAAEgB,QAAAA,EAAE,EAAE;OAAU;AACjE,IAAA,CAAC,MAAM;AACLJ,MAAAA,MAAM,CAACG,UAAU,CAACE,IAAI,CAAC;AAAEjB,QAAAA,cAAc,EAAdA,cAAc;AAAEgB,QAAAA,EAAE,EAAE;AAAS,OAAC,CAAC;AAC1D,IAAA;AACA/C,IAAAA,MAAM,aAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAG2C,MAAM,CAAC;EAClB,CAAC;AAED,EAAA,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,UAAkB,EAAK;AAC/C,IAAA,IAAM3D,MAAM,GAAG1B,WAAW,CAACqF,UAAU,CAAC;IACtC,IAAI3D,MAAM,CAACA,MAAM,EAAE;AACjBI,MAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGuD,UAAU,CAAC;AACxB,IAAA,CAAC,MAAM;AACLhC,MAAAA,WAAW,CAAC3B,MAAM,CAACD,OAAO,CAAC;AAC7B,IAAA;EACF,CAAC;AAED,EAAA,IAAM6D,MAAM,gBACVC,IAAA,CAACC,KAAK,EAAA;AAACC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,UAAU,EAAE;KAAe;IAAAC,QAAA,EAAA,cACzCC,GAAA,CAACC,aAAa,EAAA;MACZC,MAAM,EAAE7D,kBAAkB,KAAK,IAAK;AACpC8D,MAAAA,IAAI,EAAC,SAAS;MACdC,KAAK,EAAA,IAAA;AACLC,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AAAA,QAAA,IAAAC,kBAAA;AACb,QAAA,IAAMC,YAAY,GAAA,CAAAD,kBAAA,GAAG5C,SAAS,CAACyB,OAAO,MAAA,IAAA,IAAAmB,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,kBAAA,CAAmBE,QAAQ,EAAE;QAClD,IAAM1E,MAAM,GAAG2E,SAAgB;QAC/BvE,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGJ,MAAM,CAACyE,YAAY,IAAI,EAAE,CAAC,CAAC;MACxC,CAAE;AAAAR,MAAAA,QAAA,EACH;AAED,KAAe,CAAC,eAChBC,GAAA,CAACC,aAAa,EAAA;MACZC,MAAM,EAAE9D,eAAe,KAAK,IAAK;AACjC+D,MAAAA,IAAI,EAAC,SAAS;MACdC,KAAK,EAAA,IAAA;AACLC,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AAAA,QAAA,IAAAK,mBAAA;AACb,QAAA,IAAMH,YAAY,GAAA,CAAAG,mBAAA,GAAGhD,SAAS,CAACyB,OAAO,MAAA,IAAA,IAAAuB,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,mBAAA,CAAmBF,QAAQ,EAAE;QAClD,IAAI,CAACD,YAAY,EAAE;AACjBrE,UAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGqE,YAAY,CAAC;AACxB,UAAA;AACF,QAAA;QACAf,gBAAgB,CAACe,YAAY,CAAC;MAChC,CAAE;AAAAR,MAAAA,QAAA,EACH;AAED,KAAe,CAAC,EACf,CAACvD,cAAc,IAAIgB,QAAQ,gBAC1BwC,GAAA,CAAA,MAAA,EAAA;AACEH,MAAAA,KAAK,EAAE;AAAEc,QAAAA,KAAK,EAAE;OAAQ;AACxBC,MAAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAErD;AAAS;KACvC,CAAC,GACN,IAAI;AAAA,GACH,CACR;AAED,EAAA,IAAMsD,OAAO,GAAI,CAACC,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,MAAA,GAAA,MAAA,GAAHA,GAAG,CAAW,SAAS,CAAC,KAAKA,GAAmB;EAElE,oBACEpB,IAAA,CAACqB,UAAU,EAAA;AACTC,IAAAA,SAAS,EAAE,CAAE;AACbC,IAAAA,SAAS,EAAC,gBAAgB;AAE1BrB,IAAAA,KAAK,EAAE;AAAE1D,MAAAA,MAAM,EAAES;KAAW;AAAAmD,IAAAA,QAAA,gBAE5BC,GAAA,CAAA,KAAA,EAAA;AAAKkB,MAAAA,SAAS,EAAC,aAAa;MAAAnB,QAAA,eAC1BC,GAAA,CAACmB,oBAAoB,EAAA;AACnBC,QAAAA,aAAa,EAAE,SAAfA,aAAaA,GAAQ;AACnBlF,UAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGmC,SAAS,CAAC;AACrBhB,UAAAA,cAAc,CAACL,IAAI,CAACC,GAAG,EAAE,CAAC;QAC5B,CAAE;AAAA8C,QAAAA,QAAA,eAEFC,GAAA,CAACc,OAAO,EAAAO,cAAA,CAAAA,cAAA,CAAA;AACNC,UAAAA,QAAQ,EAAE,EAAG;AACbC,UAAAA,eAAe,EAAE,IAAK;AACtBC,UAAAA,UAAU,EAAE,IAAK;AACjBC,UAAAA,mBAAmB,EAAE,IAAK;AAC1BtF,UAAAA,MAAM,EAAC,MAAM;AACbuF,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,WAAW,EAAC;AAAK,SAAA,EACblF,UAAU,CAAA,EAAA,EAAA,EAAA;AACdmF,UAAAA,UAAU,EAAAP,cAAA,CAAA;AACRQ,YAAAA,SAAS,EAAE,KAAK;AAChBC,YAAAA,yBAAyB,EAAE,KAAK;AAChCC,YAAAA,wBAAwB,EAAE,IAAI;AAC9BC,YAAAA,cAAc,EAAE,KAAK;AACrBC,YAAAA,eAAe,EAAE,IAAI;AACrBC,YAAAA,OAAO,EAAE;WAAC,EACPzF,UAAU,CAACmF,UAAU,CACxB;AACFO,UAAAA,IAAI,EAAC,KAAK;AACV5F,UAAAA,MAAM,EAAE0C,YAAa;AACrB/C,UAAAA,QAAQ,EAAE+B,YAAa;AACvBmE,UAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGC,MAAM,EAAEnD,MAAM,EAAK;YAC1B,IAAMjD,KAAK,GAAGiD,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEsB,QAAQ,EAAE;AAChC,YAAA,IAAIvE,KAAK,EAAE;cACTuD,gBAAgB,CAACvD,KAAK,CAAC;AACzB,YAAA;UACF,CAAE;AACFA,UAAAA,KAAK,EAAE2B;SAAS,CACjB;OACmB;KACnB,CAAC,eACNoC,GAAA,CAAA,KAAA,EAAA;AACEkB,MAAAA,SAAS,EAAC,uBAAuB;AACjCrB,MAAAA,KAAK,EAAAwB,cAAA,CAAA;AAAIiB,QAAAA,SAAS,EAAE;OAAE,EAAKtG,KAAK,CAACuG,WAAW,CAAG;MAAAxC,QAAA,EAE9C/D,KAAK,CAACwG,iBAAiB,GAAGxG,KAAK,CAACwG,iBAAiB,CAAC9C,MAAM,CAAC,GAAGA;AAAM,KAChE,CAAC;AAAA,GAAA,EA9CDtC,WA+CK,CAAC;AAEjB;;;;"}
@@ -7,7 +7,7 @@ import { isObject } from '@dimjs/lang/is-object';
7
7
  import { useState, useRef, useMemo, Fragment } from 'react';
8
8
  import Ace from 'react-ace';
9
9
  import { isUndefinedOrNull, jsonStringToJsonObject } from '@flatbiz/utils';
10
- import { B as ButtonWrapper } from './button-wrapper-DezyMqPx.js';
10
+ import { B as ButtonWrapper } from './button-wrapper-CUEw1Cbw.js';
11
11
  import { E as ErrorBoundaryWrapper } from './error-boundary-D6RX4EQZ.js';
12
12
  import { F as FlexLayout } from './flex-layout-BGtMe7zr.js';
13
13
  import 'ace-builds/src-noconflict/ext-language_tools.js';
@@ -176,4 +176,4 @@ var AceEditorJson = function AceEditorJson(props) {
176
176
  };
177
177
 
178
178
  export { AceEditorJson as A };
179
- //# sourceMappingURL=editor-CncecOdy.js.map
179
+ //# sourceMappingURL=editor-Clwb2k5_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-CncecOdy.js","sources":["@flatbiz/antd/src/ace-editor-json/editor.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { Fragment, useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport { isObject } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport {\n isUndefinedOrNull,\n jsonStringToJsonObject,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper/error-boundary.jsx';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport 'ace-builds/src-noconflict/ext-language_tools.js';\nimport 'ace-builds/src-noconflict/mode-json.js';\nimport 'ace-builds/src-noconflict/snippets/json.js';\n\nexport type AceEditorJsonProps = Omit<\n IAceEditorProps,\n 'mode' | 'value' | 'onChange' | 'theme'\n> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 是否隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 是否隐藏内部验证异常文案 */\n hiddenErrorMsg?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * Json编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn 配置隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorJson = (props: AceEditorJsonProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n autoCompleterList,\n onLoad,\n hiddenErrorMsg,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n }))\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex(\n (item) => item.id === 'custom'\n );\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n try {\n const result = jsonStringToJsonObject(inputValue);\n onChange?.(result);\n } catch (_error: TAny) {\n setErrorMsg('数据解析异常,正确格式:{\"name\":\"张三\", \"age\": 20}');\n }\n };\n const footer = (\n <Fragment>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n block={false}\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证&格式化数据\n </ButtonWrapper>\n {!hiddenErrorMsg && errorMsg ? (\n <span style={{ color: 'red', marginLeft: 10 }}>{errorMsg}</span>\n ) : null}\n </Fragment>\n );\n\n const Element = ((Ace as any)?.['default'] || (Ace as any)) as any;\n\n return (\n <FlexLayout\n fullIndex={0}\n className={classNames('ace-editor-json', props.className)}\n style={{ height: heightFt, ...props.style }}\n key={rootNodekey}\n >\n <div className=\"aej-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Element\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"json\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div\n className=\"ace-editor-json-footer\"\n style={{ marginTop: 10, ...props.footerStyle }}\n >\n {props.footerExtraRender ? (\n props.footerExtraRender(footer)\n ) : (\n <Fragment>{footer}</Fragment>\n )}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["AceEditorJson","props","value","onChange","height","hiddenVerifyBtn","autoCompleterList","onLoad","hiddenErrorMsg","otherProps","_objectWithoutProperties","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","_useState2","_slicedToArray","rootNodekey","setRootNodekey","_useState3","_useState4","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","result","jsonStringToJsonObject","_error","footer","_jsxs","Fragment","children","_jsx","ButtonWrapper","hidden","type","block","ghost","onClick","_editorRef$current","currentValue","getValue","style","color","marginLeft","Element","Ace","FlexLayout","fullIndex","className","_classNames","_objectSpread","ErrorBoundaryWrapper","onRenderReset","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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"}
1
+ {"version":3,"file":"editor-Clwb2k5_.js","sources":["@flatbiz/antd/src/ace-editor-json/editor.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { Fragment, useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport { isObject } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport {\n isUndefinedOrNull,\n jsonStringToJsonObject,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper/error-boundary.jsx';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport 'ace-builds/src-noconflict/ext-language_tools.js';\nimport 'ace-builds/src-noconflict/mode-json.js';\nimport 'ace-builds/src-noconflict/snippets/json.js';\n\nexport type AceEditorJsonProps = Omit<\n IAceEditorProps,\n 'mode' | 'value' | 'onChange' | 'theme'\n> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 是否隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 是否隐藏内部验证异常文案 */\n hiddenErrorMsg?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * Json编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn 配置隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorJson = (props: AceEditorJsonProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n autoCompleterList,\n onLoad,\n hiddenErrorMsg,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n }))\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex(\n (item) => item.id === 'custom'\n );\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n try {\n const result = jsonStringToJsonObject(inputValue);\n onChange?.(result);\n } catch (_error: TAny) {\n setErrorMsg('数据解析异常,正确格式:{\"name\":\"张三\", \"age\": 20}');\n }\n };\n const footer = (\n <Fragment>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n block={false}\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证&格式化数据\n </ButtonWrapper>\n {!hiddenErrorMsg && errorMsg ? (\n <span style={{ color: 'red', marginLeft: 10 }}>{errorMsg}</span>\n ) : null}\n </Fragment>\n );\n\n const Element = ((Ace as any)?.['default'] || (Ace as any)) as any;\n\n return (\n <FlexLayout\n fullIndex={0}\n className={classNames('ace-editor-json', props.className)}\n style={{ height: heightFt, ...props.style }}\n key={rootNodekey}\n >\n <div className=\"aej-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Element\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"json\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div\n className=\"ace-editor-json-footer\"\n style={{ marginTop: 10, ...props.footerStyle }}\n >\n {props.footerExtraRender ? (\n props.footerExtraRender(footer)\n ) : (\n <Fragment>{footer}</Fragment>\n )}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["AceEditorJson","props","value","onChange","height","hiddenVerifyBtn","autoCompleterList","onLoad","hiddenErrorMsg","otherProps","_objectWithoutProperties","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","_useState2","_slicedToArray","rootNodekey","setRootNodekey","_useState3","_useState4","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","result","jsonStringToJsonObject","_error","footer","_jsxs","Fragment","children","_jsx","ButtonWrapper","hidden","type","block","ghost","onClick","_editorRef$current","currentValue","getValue","style","color","marginLeft","Element","Ace","FlexLayout","fullIndex","className","_classNames","_objectSpread","ErrorBoundaryWrapper","onRenderReset","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { hooks } from '@wove/react/hooks';
6
6
  import { useState, useRef } from 'react';
7
7
  import Ace from 'react-ace';
8
8
  import { format } from 'sql-formatter';
9
- import { B as ButtonWrapper } from './button-wrapper-DezyMqPx.js';
9
+ import { B as ButtonWrapper } from './button-wrapper-CUEw1Cbw.js';
10
10
  import { E as ErrorBoundaryWrapper } from './error-boundary-D6RX4EQZ.js';
11
11
  import 'ace-builds/src-noconflict/ext-language_tools.js';
12
12
  import 'ace-builds/src-noconflict/mode-mysql.js';
@@ -116,4 +116,4 @@ var AceEditorMysql = function AceEditorMysql(props) {
116
116
  };
117
117
 
118
118
  export { AceEditorMysql as A };
119
- //# sourceMappingURL=editor-C_Wf256R.js.map
119
+ //# sourceMappingURL=editor-DvIyx8mZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-C_Wf256R.js","sources":["@flatbiz/antd/src/ace-editor-mysql/editor.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { useRef, useState } from 'react';\nimport type { IAceEditorProps } from 'react-ace';\nimport Ace from 'react-ace';\nimport { format } from 'sql-formatter';\nimport { classNames } from '@dimjs/utils';\nimport { type TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper/error-boundary.jsx';\nimport 'ace-builds/src-noconflict/ext-language_tools.js';\nimport 'ace-builds/src-noconflict/mode-mysql.js';\nimport 'ace-builds/src-noconflict/snippets/mysql.js';\n\nconst formatSql = (sqlContent: string) => {\n return format(sqlContent, { language: 'sql' })\n .replace(/\\$ /g, '$')\n .replace(/\\{ /g, '{')\n .replace(/ \\}/g, '}');\n};\n\nexport type AceEditorMysqlProps = Omit<\n IAceEditorProps,\n 'theme' | 'mode' | 'value' | 'onChange'\n> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string;\n onChange?: (value?: string) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\nexport const AceEditorMysql = (props: AceEditorMysqlProps) => {\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const {\n value,\n hiddenFormatterBtn,\n autoCompleterList,\n onChange,\n onLoad,\n ...otherProps\n } = props;\n\n const editorRef = useRef<TAny>();\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n }))\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex(\n (item) => item.id === 'custom'\n );\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const footer = (\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n onChange?.(formatSql(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n );\n\n const Element = ((Ace as any)?.['default'] || (Ace as any)) as any;\n\n return (\n <div\n key={rootNodekey}\n className={classNames('ace-editor-mysql', props.className)}\n style={props.style}\n >\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Element\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n placeholder=\"输入SQL\"\n height=\"250px\"\n width=\"auto\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"mysql\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n value={value}\n />\n </ErrorBoundaryWrapper>\n <div\n className=\"ace-editor-mysql-footer\"\n style={{ marginTop: 10, ...props.footerStyle }}\n >\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </div>\n );\n};\n"],"names":["formatSql","sqlContent","format","language","replace","AceEditorMysql","props","_useState","useState","Date","now","_useState2","_slicedToArray","rootNodekey","setRootNodekey","value","hiddenFormatterBtn","autoCompleterList","onChange","onLoad","otherProps","_objectWithoutProperties","_excluded","editorRef","useRef","handleChange","_hooks","useCallbackRef","content","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","footer","_jsx","ButtonWrapper","hidden","type","ghost","onClick","_editorRef$current","currentValue","getValue","children","Element","Ace","_jsxs","className","_classNames","style","ErrorBoundaryWrapper","onRenderReset","undefined","_objectSpread","fontSize","showPrintMargin","showGutter","highlightActiveLine","placeholder","height","width","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","marginTop","footerStyle","footerExtraRender"],"mappings":";;;;;;;;;;;;;;;;AAcA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAIC,UAAkB,EAAK;EACxC,OAAOC,MAAM,CAACD,UAAU,EAAE;AAAEE,IAAAA,QAAQ,EAAE;GAAO,CAAC,CAC3CC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACzB,CAAC;IA2BYC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B,EAAK;EAC5D,IAAAC,SAAA,GAAsCC,QAAQ,CAACC,IAAI,CAACC,GAAG,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAnDM,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IACEI,KAAK,GAMHT,KAAK,CANPS,KAAK;IACLC,kBAAkB,GAKhBV,KAAK,CALPU,kBAAkB;IAClBC,iBAAiB,GAIfX,KAAK,CAJPW,iBAAiB;IACjBC,QAAQ,GAGNZ,KAAK,CAHPY,QAAQ;IACRC,MAAM,GAEJb,KAAK,CAFPa,MAAM;AACHC,IAAAA,UAAU,GAAAC,wBAAA,CACXf,KAAK,EAAAgB,SAAA,CAAA;AAET,EAAA,IAAMC,SAAS,GAAGC,MAAM,EAAQ;EAEhC,IAAMC,YAAY,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAACC,OAAe,EAAK;AAC7DV,IAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGU,OAAO,CAAC;AACrB,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMC,cAAc,GAAGH,KAAA,CAAMC,cAAc,CAAC,UAACG,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,QAAQ,EAAK;AACxEA,IAAAA,QAAQ,CACN,IAAI,EACJjB,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAiB,CAAEkB,GAAG,CAAC,UAACC,IAAI,EAAA;MAAA,OAAM;QAChCC,IAAI,EAAED,IAAI,CAACC,IAAI;QACftB,KAAK,EAAEqB,IAAI,CAACC,IAAI;AAChB;QACAC,IAAI,EAAEF,IAAI,CAACG;OACZ;AAAA,IAAA,CAAC,CACJ,CAAC;AACH,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAK;IAC/BlB,SAAS,CAACmB,OAAO,GAAGD,MAAM;AAC1B;IACA,IAAME,SAAS,GAAGF,MAAM,CAACG,UAAU,CAACD,SAAS,CAC3C,UAACP,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAACS,EAAE,KAAK,QAAQ;AAAA,IAAA,CAChC,CAAC;IACD,IAAIF,SAAS,IAAI,CAAC,EAAE;AAClBF,MAAAA,MAAM,CAACG,UAAU,CAACD,SAAS,CAAC,GAAG;AAAEd,QAAAA,cAAc,EAAdA,cAAc;AAAEgB,QAAAA,EAAE,EAAE;OAAU;AACjE,IAAA,CAAC,MAAM;AACLJ,MAAAA,MAAM,CAACG,UAAU,CAACE,IAAI,CAAC;AAAEjB,QAAAA,cAAc,EAAdA,cAAc;AAAEgB,QAAAA,EAAE,EAAE;AAAS,OAAC,CAAC;AAC1D,IAAA;AACA1B,IAAAA,MAAM,aAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAGsB,MAAM,CAAC;EAClB,CAAC;AAED,EAAA,IAAMM,MAAM,gBACVC,GAAA,CAACC,aAAa,EAAA;IACZC,MAAM,EAAElC,kBAAkB,KAAK,IAAK;AACpCmC,IAAAA,IAAI,EAAC,SAAS;IACdC,KAAK,EAAA,IAAA;AACLC,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AAAA,MAAA,IAAAC,kBAAA;AACb,MAAA,IAAMC,YAAY,GAAA,CAAAD,kBAAA,GAAG/B,SAAS,CAACmB,OAAO,MAAA,IAAA,IAAAY,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,kBAAA,CAAmBE,QAAQ,EAAE;MAClDtC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGlB,SAAS,CAACuD,YAAY,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAE;AAAAE,IAAAA,QAAA,EACH;AAED,GAAe,CAChB;AAED,EAAA,IAAMC,OAAO,GAAI,CAACC,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,MAAA,GAAA,MAAA,GAAHA,GAAG,CAAW,SAAS,CAAC,KAAKA,GAAmB;AAElE,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;IAEEC,SAAS,EAAEC,UAAA,CAAW,kBAAkB,EAAExD,KAAK,CAACuD,SAAS,CAAE;IAC3DE,KAAK,EAAEzD,KAAK,CAACyD,KAAM;IAAAN,QAAA,EAAA,cAEnBT,GAAA,CAACgB,oBAAoB,EAAA;AACnBC,MAAAA,aAAa,EAAE,SAAfA,aAAaA,GAAQ;AACnB/C,QAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGgD,SAAS,CAAC;AACrBpD,QAAAA,cAAc,CAACL,IAAI,CAACC,GAAG,EAAE,CAAC;MAC5B,CAAE;AAAA+C,MAAAA,QAAA,eAEFT,GAAA,CAACU,OAAO,EAAAS,cAAA,CAAAA,cAAA,CAAA;AACNC,QAAAA,QAAQ,EAAE,EAAG;AACbC,QAAAA,eAAe,EAAE,IAAK;AACtBC,QAAAA,UAAU,EAAE,IAAK;AACjBC,QAAAA,mBAAmB,EAAE,IAAK;AAC1BC,QAAAA,WAAW,EAAC,iBAAO;AACnBC,QAAAA,MAAM,EAAC,OAAO;AACdC,QAAAA,KAAK,EAAC;AAAM,OAAA,EACRtD,UAAU,CAAA,EAAA,EAAA,EAAA;AACduD,QAAAA,UAAU,EAAAR,cAAA,CAAA;AACRS,UAAAA,SAAS,EAAE,KAAK;AAChBC,UAAAA,yBAAyB,EAAE,KAAK;AAChCC,UAAAA,wBAAwB,EAAE,IAAI;AAC9BC,UAAAA,cAAc,EAAE,KAAK;AACrBC,UAAAA,eAAe,EAAE,IAAI;AACrBC,UAAAA,OAAO,EAAE;SAAC,EACP7D,UAAU,CAACuD,UAAU,CACxB;AACFO,QAAAA,IAAI,EAAC,OAAO;AACZ/D,QAAAA,MAAM,EAAEqB,YAAa;AACrBtB,QAAAA,QAAQ,EAAEO,YAAa;AACvBV,QAAAA,KAAK,EAAEA;OAAM,CACd;KACmB,CAAC,eACvBiC,GAAA,CAAA,KAAA,EAAA;AACEa,MAAAA,SAAS,EAAC,yBAAyB;AACnCE,MAAAA,KAAK,EAAAI,cAAA,CAAA;AAAIgB,QAAAA,SAAS,EAAE;OAAE,EAAK7E,KAAK,CAAC8E,WAAW,CAAG;MAAA3B,QAAA,EAE9CnD,KAAK,CAAC+E,iBAAiB,GAAG/E,KAAK,CAAC+E,iBAAiB,CAACtC,MAAM,CAAC,GAAGA;AAAM,KAChE,CAAC;AAAA,GAAA,EAvCDlC,WAwCF,CAAC;AAEV;;;;"}
1
+ {"version":3,"file":"editor-DvIyx8mZ.js","sources":["@flatbiz/antd/src/ace-editor-mysql/editor.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { useRef, useState } from 'react';\nimport type { IAceEditorProps } from 'react-ace';\nimport Ace from 'react-ace';\nimport { format } from 'sql-formatter';\nimport { classNames } from '@dimjs/utils';\nimport { type TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper/error-boundary.jsx';\nimport 'ace-builds/src-noconflict/ext-language_tools.js';\nimport 'ace-builds/src-noconflict/mode-mysql.js';\nimport 'ace-builds/src-noconflict/snippets/mysql.js';\n\nconst formatSql = (sqlContent: string) => {\n return format(sqlContent, { language: 'sql' })\n .replace(/\\$ /g, '$')\n .replace(/\\{ /g, '{')\n .replace(/ \\}/g, '}');\n};\n\nexport type AceEditorMysqlProps = Omit<\n IAceEditorProps,\n 'theme' | 'mode' | 'value' | 'onChange'\n> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string;\n onChange?: (value?: string) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\nexport const AceEditorMysql = (props: AceEditorMysqlProps) => {\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const {\n value,\n hiddenFormatterBtn,\n autoCompleterList,\n onChange,\n onLoad,\n ...otherProps\n } = props;\n\n const editorRef = useRef<TAny>();\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n }))\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex(\n (item) => item.id === 'custom'\n );\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const footer = (\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n onChange?.(formatSql(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n );\n\n const Element = ((Ace as any)?.['default'] || (Ace as any)) as any;\n\n return (\n <div\n key={rootNodekey}\n className={classNames('ace-editor-mysql', props.className)}\n style={props.style}\n >\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Element\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n placeholder=\"输入SQL\"\n height=\"250px\"\n width=\"auto\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"mysql\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n value={value}\n />\n </ErrorBoundaryWrapper>\n <div\n className=\"ace-editor-mysql-footer\"\n style={{ marginTop: 10, ...props.footerStyle }}\n >\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </div>\n );\n};\n"],"names":["formatSql","sqlContent","format","language","replace","AceEditorMysql","props","_useState","useState","Date","now","_useState2","_slicedToArray","rootNodekey","setRootNodekey","value","hiddenFormatterBtn","autoCompleterList","onChange","onLoad","otherProps","_objectWithoutProperties","_excluded","editorRef","useRef","handleChange","_hooks","useCallbackRef","content","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","footer","_jsx","ButtonWrapper","hidden","type","ghost","onClick","_editorRef$current","currentValue","getValue","children","Element","Ace","_jsxs","className","_classNames","style","ErrorBoundaryWrapper","onRenderReset","undefined","_objectSpread","fontSize","showPrintMargin","showGutter","highlightActiveLine","placeholder","height","width","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","marginTop","footerStyle","footerExtraRender"],"mappings":"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"}
@@ -5,10 +5,9 @@ import './../fba-utils/index.css';
5
5
  import './index.css';
6
6
  /*! @flatjs/forge MIT @flatbiz/antd */
7
7
 
8
- import { f as fbaUtils } from '../fba-utils-okhb5eSJ.js';
9
- import { F as FbaApp$1, u as useDialogLoading, a as useDialogAlert, b as useDialogConfirm, c as useDialogModal2, d as useDialogModal, e as useDialogDrawer2, f as useDialogDrawer } from '../fba-app-Ew89Y7th.js';
8
+ import { f as fbaUtils } from '../fba-utils-CusZeveq.js';
9
+ import { F as FbaApp$1, u as useDialogLoading, a as useDialogAlert, b as useDialogConfirm, c as useDialogModal2, d as useDialogModal, e as useDialogDrawer2, f as useDialogDrawer } from '../fba-app-DDg4oTrl.js';
10
10
  import '@dimjs/lang/is-array';
11
- import '@dimjs/model';
12
11
  import '@flatbiz/utils';
13
12
  import '@wove/react/hooks';
14
13
  import '../_rollupPluginBabelHelpers-BspM60Sw.js';
@@ -17,7 +16,7 @@ import '@dimjs/utils/class-names/class-names';
17
16
  import '@dimjs/lang/is-promise';
18
17
  import 'ahooks';
19
18
  import 'antd';
20
- import '../config-provider-wrapper-C72dPUJZ.js';
19
+ import '../config-provider-wrapper-Bxh9JdL4.js';
21
20
  import 'antd/es/locale/en_US.js';
22
21
  import 'antd/es/locale/zh_CN.js';
23
22
  import 'dayjs';
@@ -35,7 +34,7 @@ import '@dimjs/utils/uuid/uuid';
35
34
  import 'dayjs/locale/en.js';
36
35
  import 'dayjs/locale/zh-cn.js';
37
36
  import 'react/jsx-runtime';
38
- import '../button-wrapper-DezyMqPx.js';
37
+ import '../button-wrapper-CUEw1Cbw.js';
39
38
  import '@ant-design/icons/es/icons/LoadingOutlined.js';
40
39
  import '../flex-layout-BGtMe7zr.js';
41
40
  import '@wove/react/create-ctx';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { fbaUtils } from '../fba-utils/index.js';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app.jsx';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaApp","fbaUtils","attachPropertiesToComponent","FbaAppInner","useDialogDrawer","useDialogDrawer2","useDialogModal","useDialogModal2","useDialogConfirm","useDialogAlert","useDialogLoading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAMA,MAAM,GAAGC,QAAQ,CAACC,2BAA2B,CAACC,QAAW,EAAE;AACtE;AACAC,EAAAA,eAAe,EAAfA,eAAe;AACfC,EAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB;AACAC,EAAAA,cAAc,EAAdA,cAAc;AACdC,EAAAA,eAAe,EAAfA,eAAe;AACf;AACAC,EAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB;AACAC,EAAAA,cAAc,EAAdA,cAAc;AACd;AACAC,EAAAA,gBAAgB,EAAhBA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { fbaUtils } from '../fba-utils/index.js';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app.jsx';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaApp","fbaUtils","attachPropertiesToComponent","FbaAppInner","useDialogDrawer","useDialogDrawer2","useDialogModal","useDialogModal2","useDialogConfirm","useDialogAlert","useDialogLoading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAMA,MAAM,GAAGC,QAAQ,CAACC,2BAA2B,CAACC,QAAW,EAAE;AACtE;AACAC,EAAAA,eAAe,EAAfA,eAAe;AACfC,EAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB;AACAC,EAAAA,cAAc,EAAdA,cAAc;AACdC,EAAAA,eAAe,EAAfA,eAAe;AACf;AACAC,EAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB;AACAC,EAAAA,cAAc,EAAdA,cAAc;AACd;AACAC,EAAAA,gBAAgB,EAAhBA;AACF,CAAC;;;;"}
@@ -8,8 +8,8 @@ import { classNames } from '@dimjs/utils/class-names/class-names';
8
8
  import { isPromise } from '@dimjs/lang/is-promise';
9
9
  import { useSize } from 'ahooks';
10
10
  import { Form, Modal, Space, Drawer, theme } from 'antd';
11
- import { g as getFbaLocaleMessage } from './config-provider-wrapper-C72dPUJZ.js';
12
- import { B as ButtonWrapper } from './button-wrapper-DezyMqPx.js';
11
+ import { g as getFbaLocaleMessage } from './config-provider-wrapper-Bxh9JdL4.js';
12
+ import { B as ButtonWrapper } from './button-wrapper-CUEw1Cbw.js';
13
13
  import { fbaHooks } from './fba-hooks/index.js';
14
14
  import { F as FlexLayout } from './flex-layout-BGtMe7zr.js';
15
15
  import { createCtx } from '@wove/react/create-ctx';
@@ -809,4 +809,4 @@ var FbaApp = function FbaApp(props) {
809
809
  };
810
810
 
811
811
  export { FbaApp as F, useDialogAlert as a, useDialogConfirm as b, useDialogModal2 as c, useDialogModal as d, useDialogDrawer2 as e, useDialogDrawer as f, useDialogLoading as u };
812
- //# sourceMappingURL=fba-app-Ew89Y7th.js.map
812
+ //# sourceMappingURL=fba-app-DDg4oTrl.js.map