@flatbiz/antd 4.4.33 → 4.4.35

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 (39) hide show
  1. package/esm/ace-editor-xml/index.js +1 -1
  2. package/esm/ace-editor-xml/index.js.map +1 -1
  3. package/esm/anchor-steps/index.js +1 -1
  4. package/esm/anchor-steps/index.js.map +1 -1
  5. package/esm/block-layout/index.css +1 -0
  6. package/esm/block-layout/index.js +5 -0
  7. package/esm/block-layout/index.js.map +1 -0
  8. package/esm/bootstrap/index.js +2 -1
  9. package/esm/bootstrap/index.js.map +1 -1
  10. package/esm/card-layout/index.css +1 -1
  11. package/esm/card-layout/index.js +2 -1
  12. package/esm/card-layout/index.js.map +1 -1
  13. package/esm/drag-form-list/index.css +1 -1
  14. package/esm/drag-form-list/index.js +2 -1
  15. package/esm/drag-form-list/index.js.map +1 -1
  16. package/esm/easy-table/index.css +1 -1
  17. package/esm/easy-table/index.js +4 -1
  18. package/esm/easy-table/index.js.map +1 -1
  19. package/esm/fba-app/index.css +1 -1
  20. package/esm/fba-app/index.js +2 -1
  21. package/esm/fba-app/index.js.map +1 -1
  22. package/esm/form-grid/index.js +1 -1
  23. package/esm/form-grid/index.js.map +1 -1
  24. package/esm/index.css +0 -1
  25. package/esm/index.js +2 -1
  26. package/esm/label-value-render/index.js +1 -1
  27. package/esm/label-value-render/index.js.map +1 -1
  28. package/esm/mention-editor/index.js +1 -1
  29. package/esm/mention-editor/index.js.map +1 -1
  30. package/esm/mentions-wrapper/index.js.map +1 -1
  31. package/esm/pdf/index.js +1 -1
  32. package/esm/pdf/index.js.map +1 -1
  33. package/esm/pdf-preview/index.css +1 -1
  34. package/esm/pdf-preview/index.js +1 -1
  35. package/esm/pdf-preview/index.js.map +1 -1
  36. package/index.d.ts +55 -23
  37. package/package.json +1 -1
  38. package/esm/index-1f45bfd5.js +0 -3
  39. package/esm/index-1f45bfd5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { noop, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\nimport { createContext } from 'react';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\n// export const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n// modelKey: string;\n// onRequest: (params?: TPlainObject) => void;\n// tableList: TPlainObject[];\n// tableTotal: number;\n// loading?: boolean;\n// fieldNames: TPlainObject;\n// pageSize: number;\n// initRequest: boolean;\n// initialValues: TPlainObject;\n// onSetPaginationStatus: (status: boolean) => void;\n// paginationStatus: boolean;\n// onFormFinish?: (values?: TPlainObject) => void;\n// form: FormInstance;\n// getEasyTableRef: () => EasyTableRefApi;\n// paginationFixed: boolean;\n// foldKeys: string[];\n// }>();\n\nexport type EditableFieldContextContextApi = {\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n dynamicColumns?: TEasyTableTableColumn<TPlainObject>[];\n onSetBaseColumns: (baseColumns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, message, PaginationProps } from 'antd';\nimport {\n CSSProperties,\n forwardRef,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport './style.less';\nimport { EasyTableRefApi, TEasyTableTableColumn } from './type';\n\ntype EasyTableServiceConfig = {\n /** 接口配置 */\n onRequest: (params?: TPlainObject) => Promise<TPlainObject | TPlainObject[]>;\n /** 请求参数处理 */\n requestParamsAdapter?: (params: TPlainObject) => TPlainObject;\n /**\n * 接口相应数据处理\n * ```\n * 返回数据为对象,包含两个字段\n * 1. 表格列表数据 - Array\n * 2. 表格条数总数 - Number\n * 其中 字段key 命名会通过 fieldNames 进行转义\n * 例如:\n * fieldNames={{\n * list: 'aList',\n * total: 'aTotal',\n * }}\n * serviceConfig={{\n * url: '/v1/board/list',\n * requestResultAdapter: (respData) => {\n * return {\n * aList: respData.data.rows,\n * aTotal: respData.page.total,\n * };\n * },\n * }}\n * ```\n */\n requestResultAdapter?: (params: TAny) => TPlainObject;\n /**\n * 动态列自定义渲染\n * ```\n * 1. respData: 接口返回数据\n * 2. columns: Table columns配置项\n * ```\n *\n */\n dynamicColumsAdapter?: (\n respData?: TAny,\n columns?: TEasyTableTableColumn<TPlainObject>[],\n ) => TEasyTableTableColumn<TPlainObject>[] | undefined;\n};\n\nexport type EasyTableProps = {\n className?: string;\n style?: CSSProperties;\n children: ReactElement | ReactElement[] | ((dataSource?: TAny) => ReactElement);\n /**\n * EasyTable唯一值,可用于缓存查询条件\n * @deprecated 已过时,如果需要缓存数据请设置 cacheSwitch 参数\n */\n modelKey?: string;\n /**\n * 缓存查询条件开关,默认false\n * ```\n * 1. 是否缓存表格查询条件,在路由跳转回来时,不会丢失\n * 2. 如果一个页面有多个EasyTable,并需要缓存查询条件,可设置cacheSwitch为唯一字符串\n * ```\n */\n cacheSwitch?: boolean | string;\n /** 接口数据配置 */\n serviceConfig: EasyTableServiceConfig;\n /**\n * 1. 查询条件Form initialValues\n * 2. 接口其他参数,例如常量类型\n */\n initialValues?: TPlainObject;\n /**\n * 分页初始化参数,默认值: pageSize = 10\n * @deprecated 已过时 4.3.0版本移除,使用 pageSize 赋值\n */\n initialPaginationParams?: { pageSize?: number };\n /** 分页单页条数,默认值:10 */\n pageSize?: number;\n /**\n * 字段映射,默认值:{ list:'list', total:'total', pageNo:'pageNo', pageSize:'pageSize' }\n * ```\n * 1. list、total用于解析接口响应数据,可以配置多级,例如:{ list: 'data.rows', total: 'page.total' }\n * 2. pageNo、pageSize用于接口分页入参Key定义,只能一级,例如:pageNo: 'page'\n * ```\n */\n fieldNames?: {\n list?: string;\n total?: string;\n pageNo?: string;\n pageSize?: string;\n };\n /** 初始化是否请求,默认值:true */\n initRequest?: boolean;\n /** 表格数据变更回调 */\n onDataSourceChange?: (dataSource: TAny) => void;\n /** 如果自定义查询按钮,可设置 Form onFinish */\n onFormFinish?: (values?: TPlainObject) => void;\n /** 在父节点高度下,上下铺满;默认值:true */\n isFull?: boolean;\n /** 查询条件固定,不随滚动条滚动 */\n filterFixed?: boolean;\n /** 分页区域固定,不随滚动条滚动 */\n paginationFixed?: boolean;\n /**\n * 1. 配合paginationFixed=true一起使用有效果\n * 2. 当使用Table内的pagination时,在EasyTable.Table中配置分页属性\n */\n pagination?: PaginationProps;\n /**\n * 查询条件展开、收起,被收起key数组;数组内容为EasyTable.Filter 子节点key值\n */\n foldKeys?: string[];\n /** 自定义处理服务异常 */\n onRequestErrorHandle?: (error) => void;\n /**\n * 是否inline模式\n * ```\n * 1. 缩短 EasyTable.Filter 与 EasyTable.Table 之间的距离\n * 2. 取消内边距\n * ```\n */\n isInline?: boolean;\n /** Form 实例 */\n form?: FormInstance;\n};\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const easyTableId = hooks.useId(undefined, 'easy-table-key');\n\n const modelKey = useMemo(() => {\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return easyTableId;\n }, [easyTableId, props.cacheSwitch]);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] = useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter } =\n props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const getEasyTableRef = () => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = dataList;\n props.onDataSourceChange?.(dataList);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n getEasyTableRef,\n modelKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n dynamicColumns,\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableContext.Provider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useContext, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { EasyForm, EasyFormProps } from '../easy-form';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const screenType = useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n const labelAlign = screenType === 'xs' ? 'left' : easyFormProps?.labelAlign || 'right';\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n formItemGap=\"15\"\n {...easyFormProps}\n labelAlign={labelAlign}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n *\n * @deprecated 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useContext, useMemo } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { fbaHooks } from '../fba-hooks';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper } from '../tips-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport { TEasyTableTableColumn } from './type';\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\n const ctx = useContext(EasyTableContext);\n const { children, rowKey, pagination, isSync, ...otherProps } = props;\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableDataSource,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n dynamicColumns,\n } = ctx;\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n fbaHooks.useEffectCustom(() => {\n ctx.onSetBaseColumns((props.columns || []) as TEasyTableTableColumn<TPlainObject>[]);\n }, [props.columns]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && isUndefinedOrNull(tableDataSource[0][rowKey])) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = paginationFixed || tablePaginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columns = useMemo(() => {\n const columns = dynamicColumns ? dynamicColumns : props.columns;\n\n return columns.map((item) => {\n const { tooltip, tipsWrapperProps, title, ...otherProps } = item;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip tooltip={tooltip} title={title}></TableTitleTooltip>,\n };\n }\n return item;\n });\n }, [dynamicColumns, props.columns]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n /** loading表格 */\n return (\n <Fragment>\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n columns={columns}\n rowKey={rowKey}\n loading={true}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName,\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","easyTableId","_hooks","useId","undefined","modelKey","useMemo","cacheSwitch","location","pathname","_easyTableModel$useSt","useStore","pageSize","initialPaginationParams","initRequest","_useState4","paginationStatus","setPaginationStatus","respOriginalDataRef","useRef","baseColumnsRef","_useState5","dynamicColumns","setDynamicColumns","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","_respData","respDataNew","_dynamicColumns","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","respData","current","onDataSourceChange","_get","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","dataList","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","children","_jsx","Provider","value","tableDataSource","tableTotal","foldKeys","_jsxs","style","PaginationWrapper","size","EasyTableFilter","screenType","useResponsivePoint","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","defaultRightList","hidden","ButtonWrapper","type","htmlType","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","EasyTableTable","rowKey","isSync","otherProps","_objectWithoutPropertiesLoose","_excluded","fbaHooks","useEffectCustom","columns","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","hasPagination","tooltip","tipsWrapperProps","title","_excluded2","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","tableRender","Fragment","Table","scroll","x","bordered","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/model.ts","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/fold-operate.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { noop, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\nimport { createContext } from 'react';\nimport { EasyTableProps, EasyTableRefApi, TEasyTableTableColumn } from './type';\n\n// export const [useEasyTableCtx, EasyTableCtxProvider] = createCtx<{\n// modelKey: string;\n// onRequest: (params?: TPlainObject) => void;\n// tableList: TPlainObject[];\n// tableTotal: number;\n// loading?: boolean;\n// fieldNames: TPlainObject;\n// pageSize: number;\n// initRequest: boolean;\n// initialValues: TPlainObject;\n// onSetPaginationStatus: (status: boolean) => void;\n// paginationStatus: boolean;\n// onFormFinish?: (values?: TPlainObject) => void;\n// form: FormInstance;\n// getEasyTableRef: () => EasyTableRefApi;\n// paginationFixed: boolean;\n// foldKeys: string[];\n// }>();\n\nexport type EditableFieldContextContextApi = {\n modelKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initRequest: boolean;\n initialValues: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n paginationStatus: boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n dynamicColumns?: TEasyTableTableColumn<TPlainObject>[];\n onSetBaseColumns: (baseColumns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columnFoldConfig: EasyTableProps['columnFoldConfig'];\n onCloseColumnFoldModal: () => void;\n onOpenColumnFoldModal: () => void;\n columnFoldOpen: boolean;\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\n\nexport type ModelState = {\n queryCondition: TPlainObject;\n isInit: boolean;\n};\n\ntype ModelActionParams = {\n updateFilterCondition?: Partial<ModelState['queryCondition']>;\n resetFilterCondition?: TPlainObject;\n updateInitStatus: void;\n};\n\nconst defaultState: ModelState = {\n queryCondition: {},\n isInit: true,\n};\n\nconst _EasyTableModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n updateFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...state.queryCondition,\n ...params,\n };\n };\n },\n resetFilterCondition: (params) => {\n return (state) => {\n state.queryCondition = {\n ...defaultState.queryCondition,\n ...params,\n };\n };\n },\n updateInitStatus: () => {\n return (state) => {\n state.isInit = false;\n };\n },\n },\n state: defaultState,\n};\n\nconst easyTableModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const easyTableModel = (key: string) => {\n if (!easyTableModels[key]) {\n easyTableModels[key] = Model(_EasyTableModel);\n }\n return easyTableModels[key];\n};\n","import { isArray, isUndefined } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, message } from 'antd';\nimport { CSSProperties, forwardRef, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { PaginationWrapper } from '../pagination-wrapper';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\nimport './style.less';\nimport { EasyTableProps, EasyTableRefApi, TEasyTableTableColumn } from './type';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>((props, ref) => {\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const easyTableId = hooks.useId(undefined, 'easy-table-key');\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const modelKey = useMemo(() => {\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return easyTableId;\n }, [easyTableId, props.cacheSwitch]);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n const pageSize = props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest = props.initRequest === undefined ? true : props.initRequest;\n const [paginationStatus, setPaginationStatus] = useState(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] = useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n setLoading(true);\n const allState = await actions.updateFilterCondition(params);\n const queryCondition = cloneState(allState.queryCondition || {});\n const { requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter } =\n props.serviceConfig;\n const paramsNew = requestParamsAdapter ? requestParamsAdapter(queryCondition) : queryCondition;\n const respData = (await onRequest(paramsNew)) || {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n const clearQueryCondition = hooks.useCallbackRef(async (values?: TPlainObject) => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (values) {\n void actions.updateFilterCondition(values);\n form.setFieldsValue(values);\n }\n });\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (paginationStatus) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {};\n }\n };\n\n const onResetRequest = hooks.useCallbackRef(async (values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n await actions.resetFilterCondition(params);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...state.queryCondition,\n ...form.getFieldsValue(),\n };\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getEasyTableRef = () => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = dataList;\n props.onDataSourceChange?.(dataList);\n },\n onOpenColumnFoldModal,\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n setPaginationStatus(status);\n };\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, state.queryCondition[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': props.filterFixed,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className,\n );\n\n const paginationData = useMemo(() => {\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [fieldNames.pageNo, fieldNames.pageSize, pageSize, props.pagination, state.queryCondition, total]);\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n void onInnerRequest({\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n });\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className,\n );\n\n const wrapperStyle: CSSProperties = {\n overflowY: props.filterFixed || props.paginationFixed ? 'hidden' : 'auto',\n ...props.style,\n };\n\n const children =\n typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n getEasyTableRef,\n modelKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n initRequest,\n initialValues: props.initialValues || {},\n onSetPaginationStatus,\n paginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n dynamicColumns,\n columnFoldConfig: props.columnFoldConfig,\n onCloseColumnFoldModal,\n onOpenColumnFoldModal,\n columnFoldOpen,\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={wrapperStyle}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper size=\"small\" {...paginationData} onChange={onChange} />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n {children}\n </div>\n )}\n </EasyTableContext.Provider>\n );\n});\n","import { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { FormInstance } from 'antd';\nimport { Children, CSSProperties, ReactElement, useContext, useMemo, useState } from 'react';\nimport { isFragment } from 'react-is';\nimport { BlockLayout } from '../block-layout';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { EasyForm, EasyFormProps } from '../easy-form';\nimport { useResponsivePoint } from '../fba-hooks/use-responsive-point';\nimport { FormGrid } from '../form-grid';\nimport { FormOperateColProps } from '../form-grid/form-operate-col';\nimport { FormRowProps } from '../form-grid/form-row';\nimport { EasyTableContext } from './context';\nimport { easyTableModel } from './model';\n\nexport type EasyTableFilterProps = {\n children: ReactElement | ReactElement[] | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const screenType = useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n modelKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n paginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n const children = typeof props.children === 'function' ? props.children(form) : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray((children as ReactElement).props.children) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n const onReset = hooks.useCallbackRef(async () => {\n await actions.resetFilterCondition();\n form.resetFields();\n if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {\n if (paginationStatus) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper key=\"1\" type=\"primary\" htmlType=\"submit\" {...queryButtonProps}>\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (!openFold && foldKeys.find((keyItem) => `.$${keyItem}` === item.key)) return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol key={999} {...customFormOperateCol} leftList={leftList} rightList={rightList} />,\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n const labelAlign = screenType === 'xs' ? 'left' : easyFormProps?.labelAlign || 'right';\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n initialValues={{\n ...initialValues,\n ...state.queryCondition,\n }}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n formItemGap=\"15\"\n {...easyFormProps}\n labelAlign={labelAlign}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n *\n * @deprecated 已过时 @4.3.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { localStorageCache, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Drawer, Table } from 'antd';\nimport { ColumnsType } from 'antd/es/table';\nimport { TableRowSelection } from 'antd/es/table/interface';\nimport { CSSProperties, Fragment, useState } from 'react';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex?: string; title: string }[];\n onChange: (keys: string[]) => void;\n open?: boolean;\n onClose?: () => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n};\n\nexport const FoldOperate = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(props.initSelectedRowKeys || []);\n const rowSelection = {\n type: 'checkbox',\n selectedRowKeys: selectedRowKeys,\n onChange: (selectedRowKeys: string[]) => {\n setSelectedRowKeys(selectedRowKeys);\n props.onChange(selectedRowKeys);\n if (props.cacheKey) {\n localStorageCache.set(`easy_tab_${props.cacheKey}`, { keys: selectedRowKeys });\n }\n },\n } as TableRowSelection<TAny>;\n\n const columns: ColumnsType<TPlainObject> = [\n {\n title: '字段名称',\n dataIndex: 'title',\n render: (value, recrd) => {\n return recrd['_isFoldTitle'] || value;\n },\n },\n { title: '字段Key', dataIndex: 'dataIndex' },\n ];\n\n return (\n <Fragment>\n <Drawer\n title=\"选择字段\"\n open={props.open}\n onClose={props.onClose}\n width={'35%'}\n styles={{\n body: {\n padding: 15,\n },\n }}\n >\n <Table\n bordered\n size=\"small\"\n columns={columns}\n rowSelection={rowSelection}\n rowKey=\"dataIndex\"\n pagination={false}\n scroll={{ x: 'max-content' }}\n dataSource={props.dataList}\n />\n </Drawer>\n </Fragment>\n );\n};\n","import { SettingOutlined } from '@ant-design/icons';\nimport { isArray, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { getUuid, isMacEnv, isUndefinedOrNull, localStorageCache, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Table, TableProps } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, useContext, useMemo, useState } from 'react';\nimport { BlockLayout } from '../block-layout';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { IconWrapper } from '../icon-wrapper';\nimport { SmallSelect } from '../pagination-wrapper/select';\nimport { TableScrollbar } from '../table-scrollbar';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper } from '../tips-wrapper';\nimport { EasyTableContext } from './context';\nimport { FoldOperate } from './fold-operate';\nimport { easyTableModel } from './model';\nimport { TEasyTableTableColumn } from './type';\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(props: EasyTableTableProps<T>) => {\n const ctx = useContext(EasyTableContext);\n const { children, rowKey, pagination, isSync, ...otherProps } = props;\n const columnFoldConfig = ctx.columnFoldConfig;\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (columnFoldConfig?.cacheKey) {\n const cacheValue = localStorageCache.get(`easy_tab_${columnFoldConfig.cacheKey}`);\n const cacheKeyList = isArray(cacheValue?.keys)\n ? (cacheValue?.keys?.filter((item) => isString(item)) as string[])\n : [];\n return cacheKeyList.length > 0 ? cacheKeyList : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const {\n modelKey,\n fieldNames,\n onRequest,\n tableDataSource,\n initRequest,\n pageSize,\n tableTotal,\n loading,\n initialValues,\n paginationFixed,\n onSetPaginationStatus,\n dynamicColumns,\n } = ctx;\n const [state, actions] = easyTableModel(modelKey).useStore();\n\n fbaHooks.useEffectCustom(() => {\n ctx.onSetBaseColumns((props.columns || []) as TEasyTableTableColumn<TPlainObject>[]);\n }, [props.columns]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: state.queryCondition[fieldNames.pageNo] || 1,\n pageSize: state.queryCondition[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n selectComponentClass: SmallSelect,\n };\n }, [\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n state.queryCondition,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (pagination, filters, sorter, extra) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (typeof rowKey === 'string' && isUndefinedOrNull(tableDataSource[0][rowKey])) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = paginationFixed || tablePaginationData !== false;\n onSetPaginationStatus(hasPagination);\n if (initRequest !== false || !state.isInit) {\n if (hasPagination) {\n void onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n ...state.queryCondition,\n });\n } else {\n void onRequest(initialValues);\n }\n } else {\n void actions.updateFilterCondition(initialValues);\n }\n void actions.updateInitStatus();\n }, []);\n\n const columnsMerge = (dynamicColumns ? dynamicColumns : props.columns) as TPlainObject[];\n\n let columns = useMemo(() => {\n const tempList = columnsMerge\n .map((item) => {\n const { tooltip, tipsWrapperProps, title, hidden, isFold, ...otherProps } = item;\n if (hidden) return null;\n if (isFold && !showFoldKeyList.includes(item.dataIndex as string)) return null;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: <TableTitleTooltip tooltip={tooltip} title={title}></TableTitleTooltip>,\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [columnsMerge, showFoldKeyList]);\n\n const foldColumnList = columnsMerge.filter((item: any) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n columns = useMemo(() => {\n if (columnFoldConfig?.hidden) return columns;\n const finalItem = columns[columns.length - 1] as TPlainObject;\n if (foldColumnList.length > 0 && columns.length > 0) {\n const foldColumnTarget = columns.find((item) => item['_isFoldColumn']);\n\n if (foldColumnTarget && finalItem.dataIndex !== foldColumnTarget.dataIndex) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] = finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n finalItem.title = (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n <IconWrapper\n onClick={ctx.onOpenColumnFoldModal}\n text={columnFoldConfig?.text}\n size=\"small\"\n icon={columnFoldConfig?.icon || <SettingOutlined />}\n hoverTips={columnFoldConfig?.hoverTipText || '字段列表'}\n />\n </div>\n </FlexLayout>\n );\n }\n }\n return columns;\n }, [columns, foldColumnList, columnFoldConfig]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n /** loading表格 */\n return (\n <Fragment>\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n columns={columns}\n rowKey={rowKey}\n loading={true}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columns}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName,\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={ctx.onCloseColumnFoldModal}\n open={ctx.columnFoldOpen}\n onChange={onChangeFoldColumnList}\n cacheKey={columnFoldConfig?.cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport { EasyTable as EasyTableInner } from './easy-table';\nimport { EasyTableFilter } from './filter';\nimport { useEasyTable, useEasyTablRef } from './hooks';\nimport { EasyTableTable } from './table';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * 11. 可实现部分字段折叠,手动选择显示,将EasyTable.Table columns中isFold属性设为true,可通过EasyTable columnFoldConfig配置属性,demo(https://fex.qa.tcshuke.com/docs/admin/main/crud/demo1)\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormCol组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormCol span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormCol>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n});\n"],"names":["EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","defaultState","queryCondition","isInit","_EasyTableModel","actions","updateFilterCondition","params","state","_extends","resetFilterCondition","updateInitStatus","easyTableModels","easyTableModel","key","Model","EasyTable","forwardRef","props","ref","_props$initialPaginat","_useState","useState","dataSource","setDataSource","_useState2","total","setTotal","_useState3","loading","setLoading","easyTableId","_hooks","useId","undefined","_useState4","columnFoldOpen","setColumnFoldOpen","modelKey","useMemo","cacheSwitch","location","pathname","_easyTableModel$useSt","useStore","pageSize","initialPaginationParams","initRequest","_useState5","paginationStatus","setPaginationStatus","respOriginalDataRef","useRef","baseColumnsRef","_useState6","dynamicColumns","setDynamicColumns","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","onInnerRequest","useCallbackRef","Promise","$return","$error","allState","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_1_Post","$boundEx","$Try_1_Catch","error","onRequestErrorHandle","message","resolve","then","$await_2","cloneState","serviceConfig","$await_3","current","onDataSourceChange","_get","_isArray","clearQueryCondition","values","$await_4","resetFields","setFieldsValue","getPaginationData","_pageSize","_ref","onResetRequest","initialValues","$await_5","getRequestParams","getFieldsValue","onOpenColumnFoldModal","onCloseColumnFoldModal","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","dataList","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onFormFinish","isFull","_isUndefined","className","_classNames","filterFixed","paginationFixed","paginationData","showSizeChanger","showTotal","pagination","onChange","page","_onInnerRequest","_props$pagination","wrapperClassName","isInline","wrapperStyle","overflowY","style","children","_jsx","Provider","value","tableDataSource","tableTotal","foldKeys","columnFoldConfig","_jsxs","PaginationWrapper","size","EasyTableFilter","screenType","useResponsivePoint","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","_extends2","$await_1","formRowChildren","defaultRightList","hidden","ButtonWrapper","type","htmlType","text","onClick","filter","Boolean","customFormOperateCol","customRightList","rightList","leftList","concat","length","changeFolditem","padding","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","map","item","index","find","keyItem","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","FoldOperate","initSelectedRowKeys","selectedRowKeys","setSelectedRowKeys","rowSelection","cacheKey","localStorageCache","set","keys","columns","title","dataIndex","render","recrd","Fragment","Drawer","open","onClose","width","styles","body","Table","bordered","rowKey","scroll","x","EasyTableTable","isSync","otherProps","_objectWithoutPropertiesLoose","_excluded","_cacheValue$keys","cacheValue","get","cacheKeyList","_isString","initSelectedKeys","showFoldKeyList","setShowFoldKeyList","fbaHooks","useEffectCustom","tablePaginationData","selectComponentClass","SmallSelect","onChangePage","filters","sorter","extra","action","_onRequest","isUndefinedOrNull","getUuid","hasPagination","columnsMerge","tempList","tooltip","tipsWrapperProps","isFold","_excluded2","includes","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","foldColumnList","onChangeFoldColumnList","keyList","finalItem","foldColumnTarget","FlexLayout","direction","fullIndex","display","IconWrapper","icon","_SettingOutlined","hoverTips","hoverTipText","tableRender","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
@@ -1 +1 @@
1
- .fba-dialog-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px}.fba-dialog-modal .ant-modal-content{padding:20px 0}.fba-dialog-modal .ant-modal-footer,.fba-dialog-modal .ant-modal-header{padding:0 24px}.fba-dialog-modal .ant-modal-footer{margin:0}.fba-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.fba-dialog-modal.fba-dialog-confirm .ant-modal-header{margin:0}.fba-dialog-modal.fba-dialog-confirm .ant-modal-body{font-size:14px;font-weight:400}.fba-dialog-modal.fba-dialog-confirm .ant-modal-footer>button:nth-child(2){margin-left:15px}.light-theme .app-dialog-drawer .ant-drawer-body{color:rgba(0,0,0,.88)}.dark-theme .app-dialog-drawer .ant-drawer-body{color:hsla(0,0%,100%,.85)}.block-layout{background-color:var(--block-bg-color)}.light-theme .block-layout{color:rgba(0,0,0,.88)}.dark-theme .block-layout{color:hsla(0,0%,100%,.85)}.fba-dialog-loading .ant-modal-content{background-color:transparent!important;box-shadow:none!important;padding:0!important}.fba-dialog-loading .ant-modal-body{text-align:center!important}.fba-dialog-loading-content{background-color:var(--bg-color);border-radius:8px;display:inline-block;padding:20px 30px;text-align:center}.fba-dialog-loading-content .loader-inner{animation:dialog-spinner .6s linear infinite;border:2px solid rgba(0,128,227,.08);border-left:2px solid var(--fba-loading-color);border-radius:50%;height:30px;margin:0 auto;text-indent:-12345px;width:30px;z-index:100001}.fba-dialog-loading-content .loader-text{font-size:12px;font-size:16px;font-weight:500;letter-spacing:2px;margin-top:15px;text-align:left}@keyframes dialog-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ .fba-dialog-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px}.fba-dialog-modal .ant-modal-content{padding:20px 0}.fba-dialog-modal .ant-modal-footer,.fba-dialog-modal .ant-modal-header{padding:0 24px}.fba-dialog-modal .ant-modal-footer{margin:0}.fba-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.fba-dialog-modal.fba-dialog-confirm .ant-modal-header{margin:0}.fba-dialog-modal.fba-dialog-confirm .ant-modal-body{font-size:14px;font-weight:400}.fba-dialog-modal.fba-dialog-confirm .ant-modal-footer>button:nth-child(2){margin-left:15px}.light-theme .app-dialog-drawer .ant-drawer-body{color:rgba(0,0,0,.88)}.dark-theme .app-dialog-drawer .ant-drawer-body{color:hsla(0,0%,100%,.85)}.fba-dialog-loading .ant-modal-content{background-color:transparent!important;box-shadow:none!important;padding:0!important}.fba-dialog-loading .ant-modal-body{text-align:center!important}.fba-dialog-loading-content{background-color:var(--bg-color);border-radius:8px;display:inline-block;padding:20px 30px;text-align:center}.fba-dialog-loading-content .loader-inner{animation:dialog-spinner .6s linear infinite;border:2px solid rgba(0,128,227,.08);border-left:2px solid var(--fba-loading-color);border-radius:50%;height:30px;margin:0 auto;text-indent:-12345px;width:30px;z-index:100001}.fba-dialog-loading-content .loader-text{font-size:12px;font-size:16px;font-weight:500;letter-spacing:2px;margin-top:15px;text-align:left}@keyframes dialog-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@@ -5,7 +5,8 @@ import './../config-provider-wrapper/index.css';
5
5
  import './../fba-hooks/index.css';
6
6
  import './../types/index.css';
7
7
  import './../flex-layout/index.css';
8
+ import './../block-layout/index.css';
8
9
  import './index.css';
9
10
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as d}from"react";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{isNull as c}from"@dimjs/lang/cjs/is-null";import{isPromise as f}from"@dimjs/lang/cjs/is-promise";import{useSize as p}from"ahooks";import{Form as v,Modal as m,Space as g,Drawer as C,theme as h}from"antd";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{fbaHooks as x}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as b}from"../index-7f4ad045.js";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{B as O}from"../index-1f45bfd5.js";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=r({});var R=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size"];var P=function e(a){var r,t,s;var d=a.titleExtra,g=a.title,C=a.onOk,h=a.onCancel,O=a.okButtonProps,j=a.cancelButtonProps,P=a.content,T=a.className,M=a.okHidden,N=a.cancelHidden,H=a.footer,B=a.cancelText,L=a.okText,A=a.size,z=n(a,R);var E=v.useForm(),W=E[0];var F=p(document.querySelector("html"));var _=b();var S=x.useResponsivePoint()||"";var Y=A===null?undefined:A===undefined?"middle":A;var q=o.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var I=o.useCallbackRef((function(e){if(h){var o=h(W,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var U=o.useCallbackRef((function(e){if(C){var o=C(W,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var G=[w(k,l({},j,{onClick:I,hidden:N,children:B||((r=_.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),w(k,l({type:"primary"},O,{onClick:U,hidden:M,children:L||"提交"}),"1")];var J=c(H)?null:G;var K=i((function(){if(!(F!=null&&F.height)||!S)return undefined;if(["xs","sm"].includes(S)){return{height:(F==null?void 0:F.height)*.7}}if(Y=="large"){return{height:(F==null?void 0:F.height)*.7,width:F.width*.6}}if(Y=="small"){var e=F.width*.3;return{height:(F==null?void 0:F.height)*.4,width:e<470?470:e}}if(Y=="middle"){return{height:(F==null?void 0:F.height)*.55,width:F.width*.5}}return undefined}),[F==null?void 0:F.height,Y,(t=z.styles)==null||(t=t.body)==null?void 0:t.height,z.width,S]);return w(m,l({maskClosable:true,title:d?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:g}),d]}):g,centered:true,onCancel:q,destroyOnClose:true,width:K==null?void 0:K.width},z,{styles:l({},z.styles,{body:l({height:K==null?void 0:K.height,maxHeight:"calc(100vh - 200px)"},(s=z.styles)==null?void 0:s.body)}),className:u("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!d},T),open:a.open,footer:J,children:typeof P==="function"?P(W,{onClose:q}):P}))};var T=function e(o){var n=u("fba-dialog-confirm",o.className);return w(P,l({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var M=function e(o){return w(T,l({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,l){return o.onClick==null?void 0:o.onClick(l)}}))};var N=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var H=function e(a){var r=a.onOk,t=a.onCancel,s=a.content,d=a.okText,c=a.cancelText,p=a.okButtonExtraProps,m=a.cancelButtonExtraProps,h=a.operatePosition,y=h===void 0?"footer":h,b=a.operateRender,O=a.width,j=a.okHidden,R=a.cancelHidden,P=a.extra,T=n(a,N);var M=v.useForm(),H=M[0];var B=x.useResponsivePoint()||"";var L=o.useCallbackRef((function(e){a.onClose==null?void 0:a.onClose(e)}));var A=o.useCallbackRef((function(e){if(t){var o=t(H,e);if(o&&f(o)){return o.then(L)}}L(e);return Promise.resolve()}));var z=o.useCallbackRef((function(e){if(r){var o=r(H,e);if(o&&f(o)){return o.then(L)}}L(e);return Promise.resolve()}));var E=D(g,{children:[R||m!=null&&m.hidden?null:w(k,l({},m,{onClick:A,children:c||"取消"})),j||p!=null&&p.hidden?null:w(k,l({type:"primary"},p,{onClick:z,children:d||"提交"}))]});var W=function e(){if(b){return b(H)}if(!j||!R){return E}return null};var F=i((function(){if(!B)return undefined;if(["xs","sm"].includes(B)){return{width:"90%",maxWidth:"90%"}}if(O){return{width:O,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[B,O]);var _=typeof P==="function"?P(H):P;return w(C,l({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:F==null?void 0:F.maxWidth},footer:y==="footer"?W():null},T,{width:F==null?void 0:F.width,styles:l({},T.styles),className:u("app-dialog-drawer",T.className),extra:y==="header"?W():_,open:a.open,onClose:L,children:typeof s==="function"?s(H,{onClose:L}):s}))};var B=function e(o){var n=o.className,l=o.message,a=o.mask;var r=h.useToken(),i=r.token;var t=i.colorPrimary;return w(m,{maskClosable:false,centered:true,destroyOnClose:true,className:u("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:w(O,{className:u("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:l||"处理中"})]})})})};var L=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose==null?void 0:o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(a){o.dialogDrawerOpen==null?void 0:o.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose2==null?void 0:o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(a){o.dialogDrawerOpen2==null?void 0:o.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var z=function e(){var o=t(j);var n=function e(){o.dialogModalClose==null?void 0:o.dialogModalClose()};return{appDialogModal:{open:function e(a){o.dialogModalOpen==null?void 0:o.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function e(){var o=t(j);var n=function e(){o.dialogModalClose2==null?void 0:o.dialogModalClose2()};return{appDialogModal2:{open:function e(a){o.dialogModalOpen2==null?void 0:o.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var W=function e(){var o=t(j);var n=function e(){o.dialogAlertClose==null?void 0:o.dialogAlertClose()};return{appDialogAlert:{open:function e(a){o.dialogAlertOpen==null?void 0:o.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function e(){var o=t(j);var n=function e(){o.dialogConfirmClose==null?void 0:o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(a){o.dialogConfirmOpen==null?void 0:o.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var _=function e(){var o=t(j);var n=function e(){o.dialogLoadingClose==null?void 0:o.dialogLoadingClose()};return{appDialogLoading:{open:function e(a){o.dialogLoadingOpen==null?void 0:o.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var S=function e(n){var r=s({}),i=r[0],t=r[1];var u=s(a()),c=u[0],f=u[1];var p=s({}),v=p[0],m=p[1];var g=s(a()),C=g[0],h=g[1];var k=s({}),x=k[0],y=k[1];var b=s(a()),w=b[0],O=b[1];var R=s({}),N=R[0],L=R[1];var A=s(a()),z=A[0],E=A[1];var W=s({}),F=W[0],_=W[1];var S=s({}),Y=S[0],q=S[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){t(e)}));var le=o.useCallbackRef((function(e){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(e);setTimeout((function(){f(a())}),200)}));var ae=o.useCallbackRef((function(e){m(e)}));var re=o.useCallbackRef((function(e){m(l({},v,{open:false}));v.onClose==null?void 0:v.onClose(e);setTimeout((function(){h(a())}),200)}));var ie=o.useCallbackRef((function(e){y(e)}));var te=o.useCallbackRef((function(){y(l({},x,{open:false}));x.onClose==null?void 0:x.onClose();setTimeout((function(){O(a())}),200)}));var se=o.useCallbackRef((function(e){L(e)}));var de=o.useCallbackRef((function(){L(l({},N,{open:false}));N.onClose==null?void 0:N.onClose();setTimeout((function(){E(a())}),200)}));var ue=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(l({},F,{open:false}));F.onClose==null?void 0:F.onClose();setTimeout((function(){Q(a())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var pe=o.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var ve=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){oe(a())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:le,dialogDrawerOpen2:ae,dialogDrawerClose2:re,dialogModalOpen:ie,dialogModalClose:te,dialogModalOpen2:se,dialogModalClose2:de,dialogAlertOpen:ue,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:pe,dialogLoadingOpen:ve,dialogLoadingClose:me},children:[d(H,l({},i,{onClose:le,key:c})),d(H,l({},v,{onClose:re,key:C})),d(P,l({},x,{onClose:te,key:w})),d(P,l({},N,{onClose:de,key:z})),d(M,l({},F,{onClose:ce,key:K})),d(T,l({},Y,{onClose:pe,key:X})),d(B,l({},U,{key:ee})),n.children]})};var Y=e.attachPropertiesToComponent(S,{useDialogDrawer:L,useDialogDrawer2:A,useDialogModal:z,useDialogModal2:E,useDialogConfirm:F,useDialogAlert:W,useDialogLoading:_});export{Y as FbaApp};
11
+ import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as d}from"react";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{isNull as c}from"@dimjs/lang/cjs/is-null";import{isPromise as f}from"@dimjs/lang/cjs/is-promise";import{useSize as p}from"ahooks";import{Form as v,Modal as m,Space as g,Drawer as C,theme as h}from"antd";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{fbaHooks as x}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as b}from"../index-7f4ad045.js";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{BlockLayout as O}from"../block-layout/index.js";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=r({});var R=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size"];var P=function e(a){var r,t,s;var d=a.titleExtra,g=a.title,C=a.onOk,h=a.onCancel,O=a.okButtonProps,j=a.cancelButtonProps,P=a.content,T=a.className,M=a.okHidden,N=a.cancelHidden,H=a.footer,B=a.cancelText,L=a.okText,A=a.size,z=n(a,R);var E=v.useForm(),W=E[0];var F=p(document.querySelector("html"));var _=b();var S=x.useResponsivePoint()||"";var Y=A===null?undefined:A===undefined?"middle":A;var q=o.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var I=o.useCallbackRef((function(e){if(h){var o=h(W,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var U=o.useCallbackRef((function(e){if(C){var o=C(W,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var G=[w(k,l({},j,{onClick:I,hidden:N,children:B||((r=_.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),w(k,l({type:"primary"},O,{onClick:U,hidden:M,children:L||"提交"}),"1")];var J=c(H)?null:G;var K=i((function(){if(!(F!=null&&F.height)||!S)return undefined;if(["xs","sm"].includes(S)){return{height:(F==null?void 0:F.height)*.7}}if(Y=="large"){return{height:(F==null?void 0:F.height)*.7,width:F.width*.6}}if(Y=="small"){var e=F.width*.3;return{height:(F==null?void 0:F.height)*.4,width:e<470?470:e}}if(Y=="middle"){return{height:(F==null?void 0:F.height)*.55,width:F.width*.5}}return undefined}),[F==null?void 0:F.height,Y,(t=z.styles)==null||(t=t.body)==null?void 0:t.height,z.width,S]);return w(m,l({maskClosable:true,title:d?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:g}),d]}):g,centered:true,onCancel:q,destroyOnClose:true,width:K==null?void 0:K.width},z,{styles:l({},z.styles,{body:l({height:K==null?void 0:K.height,maxHeight:"calc(100vh - 200px)"},(s=z.styles)==null?void 0:s.body)}),className:u("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!d},T),open:a.open,footer:J,children:typeof P==="function"?P(W,{onClose:q}):P}))};var T=function e(o){var n=u("fba-dialog-confirm",o.className);return w(P,l({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var M=function e(o){return w(T,l({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,l){return o.onClick==null?void 0:o.onClick(l)}}))};var N=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var H=function e(a){var r=a.onOk,t=a.onCancel,s=a.content,d=a.okText,c=a.cancelText,p=a.okButtonExtraProps,m=a.cancelButtonExtraProps,h=a.operatePosition,y=h===void 0?"footer":h,b=a.operateRender,O=a.width,j=a.okHidden,R=a.cancelHidden,P=a.extra,T=n(a,N);var M=v.useForm(),H=M[0];var B=x.useResponsivePoint()||"";var L=o.useCallbackRef((function(e){a.onClose==null?void 0:a.onClose(e)}));var A=o.useCallbackRef((function(e){if(t){var o=t(H,e);if(o&&f(o)){return o.then(L)}}L(e);return Promise.resolve()}));var z=o.useCallbackRef((function(e){if(r){var o=r(H,e);if(o&&f(o)){return o.then(L)}}L(e);return Promise.resolve()}));var E=D(g,{children:[R||m!=null&&m.hidden?null:w(k,l({},m,{onClick:A,children:c||"取消"})),j||p!=null&&p.hidden?null:w(k,l({type:"primary"},p,{onClick:z,children:d||"提交"}))]});var W=function e(){if(b){return b(H)}if(!j||!R){return E}return null};var F=i((function(){if(!B)return undefined;if(["xs","sm"].includes(B)){return{width:"90%",maxWidth:"90%"}}if(O){return{width:O,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[B,O]);var _=typeof P==="function"?P(H):P;return w(C,l({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:F==null?void 0:F.maxWidth},footer:y==="footer"?W():null},T,{width:F==null?void 0:F.width,styles:l({},T.styles),className:u("app-dialog-drawer",T.className),extra:y==="header"?W():_,open:a.open,onClose:L,children:typeof s==="function"?s(H,{onClose:L}):s}))};var B=function e(o){var n=o.className,l=o.message,a=o.mask;var r=h.useToken(),i=r.token;var t=i.colorPrimary;return w(m,{maskClosable:false,centered:true,destroyOnClose:true,className:u("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:w(O,{className:u("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:l||"处理中"})]})})})};var L=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose==null?void 0:o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(a){o.dialogDrawerOpen==null?void 0:o.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose2==null?void 0:o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(a){o.dialogDrawerOpen2==null?void 0:o.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var z=function e(){var o=t(j);var n=function e(){o.dialogModalClose==null?void 0:o.dialogModalClose()};return{appDialogModal:{open:function e(a){o.dialogModalOpen==null?void 0:o.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function e(){var o=t(j);var n=function e(){o.dialogModalClose2==null?void 0:o.dialogModalClose2()};return{appDialogModal2:{open:function e(a){o.dialogModalOpen2==null?void 0:o.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var W=function e(){var o=t(j);var n=function e(){o.dialogAlertClose==null?void 0:o.dialogAlertClose()};return{appDialogAlert:{open:function e(a){o.dialogAlertOpen==null?void 0:o.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function e(){var o=t(j);var n=function e(){o.dialogConfirmClose==null?void 0:o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(a){o.dialogConfirmOpen==null?void 0:o.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var _=function e(){var o=t(j);var n=function e(){o.dialogLoadingClose==null?void 0:o.dialogLoadingClose()};return{appDialogLoading:{open:function e(a){o.dialogLoadingOpen==null?void 0:o.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var S=function e(n){var r=s({}),i=r[0],t=r[1];var u=s(a()),c=u[0],f=u[1];var p=s({}),v=p[0],m=p[1];var g=s(a()),C=g[0],h=g[1];var k=s({}),x=k[0],y=k[1];var b=s(a()),w=b[0],O=b[1];var R=s({}),N=R[0],L=R[1];var A=s(a()),z=A[0],E=A[1];var W=s({}),F=W[0],_=W[1];var S=s({}),Y=S[0],q=S[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){t(e)}));var le=o.useCallbackRef((function(e){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(e);setTimeout((function(){f(a())}),200)}));var ae=o.useCallbackRef((function(e){m(e)}));var re=o.useCallbackRef((function(e){m(l({},v,{open:false}));v.onClose==null?void 0:v.onClose(e);setTimeout((function(){h(a())}),200)}));var ie=o.useCallbackRef((function(e){y(e)}));var te=o.useCallbackRef((function(){y(l({},x,{open:false}));x.onClose==null?void 0:x.onClose();setTimeout((function(){O(a())}),200)}));var se=o.useCallbackRef((function(e){L(e)}));var de=o.useCallbackRef((function(){L(l({},N,{open:false}));N.onClose==null?void 0:N.onClose();setTimeout((function(){E(a())}),200)}));var ue=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(l({},F,{open:false}));F.onClose==null?void 0:F.onClose();setTimeout((function(){Q(a())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var pe=o.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var ve=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){oe(a())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:le,dialogDrawerOpen2:ae,dialogDrawerClose2:re,dialogModalOpen:ie,dialogModalClose:te,dialogModalOpen2:se,dialogModalClose2:de,dialogAlertOpen:ue,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:pe,dialogLoadingOpen:ve,dialogLoadingClose:me},children:[d(H,l({},i,{onClose:le,key:c})),d(H,l({},v,{onClose:re,key:C})),d(P,l({},x,{onClose:te,key:w})),d(P,l({},N,{onClose:de,key:z})),d(M,l({},F,{onClose:ce,key:K})),d(T,l({},Y,{onClose:pe,key:X})),d(B,l({},U,{key:ee})),n.children]})};var Y=e.attachPropertiesToComponent(S,{useDialogDrawer:L,useDialogDrawer2:A,useDialogModal:z,useDialogModal2:E,useDialogConfirm:F,useDialogAlert:W,useDialogLoading:_});export{Y as FbaApp};
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { isNull, isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:middle\n * ```\n * 1. 如果自定义了width、styles.body.height属性,size中的height、width将对应失效\n * 2. 可传 null 值,取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /** null则隐藏footer */\n footer?: null | ReactElement | ReactElement[];\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const sizeFt = size === null ? undefined : size === undefined ? 'middle' : size;\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = isNull(footer) ? null : operateGroup;\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n height: (htmlSize?.height as number) * 0.7,\n };\n }\n if (sizeFt == 'large') {\n return {\n height: (htmlSize?.height as number) * 0.7,\n width: htmlSize.width * 0.6,\n };\n }\n if (sizeFt == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: (htmlSize?.height as number) * 0.4,\n width: width < 470 ? 470 : width,\n };\n }\n\n if (sizeFt == 'middle') {\n return {\n height: (htmlSize?.height as number) * 0.55,\n width: htmlSize.width * 0.5,\n };\n }\n return undefined;\n }, [htmlSize?.height, sizeFt, otherProps.styles?.body?.height, otherProps.width, screenType]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n size={null}\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport './style.less';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <BlockLayout className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\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":["FbaAppContext","createContext","FbaAppModal","props","_localMessage$FbaDial","_otherProps$styles","_otherProps$styles2","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","localMessage","getFbaLocaleMessage","screenType","fbaHooks","useResponsivePoint","sizeFt","undefined","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","_isNull","customSize","useMemo","height","includes","width","styles","body","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","maxHeight","_classNames","open","FbaAppConfirm","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","extra","Space","operateRenderHandle","maxWidth","extraRender","Drawer","contentWrapperStyle","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { isNull, isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:middle\n * ```\n * 1. 如果自定义了width、styles.body.height属性,size中的height、width将对应失效\n * 2. 可传 null 值,取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /** null则隐藏footer */\n footer?: null | ReactElement | ReactElement[];\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const sizeFt = size === null ? undefined : size === undefined ? 'middle' : size;\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = isNull(footer) ? null : operateGroup;\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n height: (htmlSize?.height as number) * 0.7,\n };\n }\n if (sizeFt == 'large') {\n return {\n height: (htmlSize?.height as number) * 0.7,\n width: htmlSize.width * 0.6,\n };\n }\n if (sizeFt == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: (htmlSize?.height as number) * 0.4,\n width: width < 470 ? 470 : width,\n };\n }\n\n if (sizeFt == 'middle') {\n return {\n height: (htmlSize?.height as number) * 0.55,\n width: htmlSize.width * 0.5,\n };\n }\n return undefined;\n }, [htmlSize?.height, sizeFt, otherProps.styles?.body?.height, otherProps.width, screenType]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n size={null}\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport './style.less';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <BlockLayout className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\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":["FbaAppContext","createContext","FbaAppModal","props","_localMessage$FbaDial","_otherProps$styles","_otherProps$styles2","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","localMessage","getFbaLocaleMessage","screenType","fbaHooks","useResponsivePoint","sizeFt","undefined","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","_isNull","customSize","useMemo","height","includes","width","styles","body","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","maxHeight","_classNames","open","FbaAppConfirm","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","extra","Space","operateRenderHandle","maxWidth","extraRender","Drawer","contentWrapperStyle","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Col as t,Form as n,Row as i,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as v,valueIsEqual as p}from"@flatbiz/utils";import{u as m}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function n(i){var o=i.forceAloneRow,l=i.hidden,u=r(i,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:i.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var v=d,p=v.leftList,m=v.rightList,c=v.rowColTotal,h=v.justify,g=v.forceAloneRow,L=v.hidden,w=v.leftSpaceProps,C=v.rightSpaceProps,N=r(v,x);var T=(p||[]).filter(Boolean);var j=(m||[]).filter(Boolean);var F=T.length>0&&j.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},N,S,{className:O,children:a(n.Item,{children:l(i,{justify:G,wrap:false,children:[a(o,e({},w,{className:u("v-form-col-operate-left",w==null?void 0:w.className),children:T.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),className:u("v-form-col-operate-right",C==null?void 0:C.className),children:j==null?void 0:j.map((function(r){return r}))}))]})})}))};L["domTypeName"]="FormOperateCol";var w=function r(e,t){try{var n=[];var i=function r(t){var n=e[t];return{index:t,value:n>24?24:n}};var o=true;var a=[];var l=0;var u=0;while(o){var s=e[l];a.push(i(l));if(s>=24){n.push(a);a=[];u=0}else if(l===e.length-1){n.push(a)}else{u+=s;if(u>=24){n.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var f=n.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var d=0;var v=0;f.forEach((function(r,e){if(r.index===t)v=e;if(r.index<t){d=d+r.value}}));if(d===24||d===0){f[v].value=24}else{f[v].value=24-d}return{gridList:n.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:n}}catch(r){return{gridList:e,gridGroupList:[]}}};var C=["gridSize"];var N={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var T={xs:24,sm:12,md:8,lg:6,xl:6,xxl:6};var j=function t(n){var o=n.gridSize,l=r(n,C);var u=m()||"md";var c=v(n.children).filter((function(r){if(!r||!f(r))return false;return p(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var h=o==="small"?T:N;console.log("screenType",u,h[u]);var g=s((function(){var r=c.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(u===undefined){return{gridList:[],gridGroupList:[]}}var e=c.map((function(e,t){var n,i;if(t===r)return 0;var o=(n=e.props)==null?void 0:n.span;if(["md","sm","xs"].includes(u)){var a;var l=((a=e.props)==null?void 0:a[u])||h[u];if(u=="md"&&o){return o>l?o:l}return l}return((i=e.props)==null?void 0:i[u])||o||h[u]}));if(r<0){return{gridList:e,gridGroupList:[]}}return w(e,r)}),[c,h,u]),x=g.gridList,y=g.gridGroupList;return a(i,e({},l,{children:c.map((function(r,t){var n;var i=e({},h,r.props);var o=e({key:t},i,(n={},n[u]=x[t]||i[u],n));if(r.type["domTypeName"]==="FormOperateCol"){o["rowColTotal"]=y.length}return d(r,o)}))}))};var F={Row:j,Col:g,OperateCol:L};export{F as FormGrid};
4
+ import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{Col as t,Form as i,Row as n,Space as o}from"antd";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{useMemo as s,isValidElement as f,cloneElement as d}from"react";import{toArray as v,valueIsEqual as m}from"@flatbiz/utils";import{u as p}from"../use-responsive-point-21b8c601.js";var c=["forceAloneRow","hidden"];var h={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var g=function i(n){var o=n.forceAloneRow,l=n.hidden,u=r(n,c);var s=o?h:u;if(l)return null;return a(t,e({},s,{children:n.children}))};g["domTypeName"]="FormCol";var x=["leftList","rightList","rowColTotal","justify","forceAloneRow","hidden","leftSpaceProps","rightSpaceProps"];var y={xs:24,sm:24,md:24,lg:24,xl:24,xxl:24};var L=function f(d){var v=d,m=v.leftList,p=v.rightList,c=v.rowColTotal,h=v.justify,g=v.forceAloneRow,L=v.hidden,w=v.leftSpaceProps,C=v.rightSpaceProps,N=r(v,x);var j=(m||[]).filter(Boolean);var T=(p||[]).filter(Boolean);var F=j.length>0&&T.length>0;var S=g||F?y:{};var G=s((function(){if(h)return h;if(F)return"space-between";if(g)return"end";if(c===1)return"start";return"end"}),[g,F,h,c]);var O=u(d.className,"v-form-col-operate");if(L)return null;return a(t,e({},N,S,{className:O,children:a(i.Item,{children:l(n,{justify:G,wrap:false,children:[a(o,e({},w,{className:u("v-form-col-operate-left",w==null?void 0:w.className),children:j.map((function(r){return r}))})),a(o,e({},C,{style:e({overflowX:"auto"},C==null?void 0:C.style),className:u("v-form-col-operate-right",C==null?void 0:C.className),children:T==null?void 0:T.map((function(r){return r}))}))]})})}))};L["domTypeName"]="FormOperateCol";var w=function r(e,t){try{var i=[];var n=function r(t){var i=e[t];return{index:t,value:i>24?24:i}};var o=true;var a=[];var l=0;var u=0;while(o){var s=e[l];a.push(n(l));if(s>=24){i.push(a);a=[];u=0}else if(l===e.length-1){i.push(a)}else{u+=s;if(u>=24){i.push(a);a=[];u=0}}l=l+1;if(l>=e.length){o=false}}var f=i.find((function(r){return!!r.find((function(r){return r.index===t}))}))||[];var d=0;var v=0;f.forEach((function(r,e){if(r.index===t)v=e;if(r.index<t){d=d+r.value}}));if(d===24||d===0){f[v].value=24}else{f[v].value=24-d}return{gridList:i.reduce((function(r,e){return r.concat(e)})).map((function(r){return r.value})),gridGroupList:i}}catch(r){return{gridList:e,gridGroupList:[]}}};var C=["gridSize"];var N={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var j={xs:24,sm:12,md:8,lg:6,xl:6,xxl:6};var T=function t(i){var o=i.gridSize,l=r(i,C);var u=p()||"md";var c=v(i.children).filter((function(r){if(!r||!f(r))return false;return m(r.type["domTypeName"],["FormOperateCol","FormCol"])}));var h=o==="small"?j:N;var g=s((function(){var r=c.findIndex((function(r){return r.type["domTypeName"]==="FormOperateCol"}));if(u===undefined){return{gridList:[],gridGroupList:[]}}var e=c.map((function(e,t){var i,n;if(t===r)return 0;var o=(i=e.props)==null?void 0:i.span;if(["md","sm","xs"].includes(u)){var a;var l=((a=e.props)==null?void 0:a[u])||h[u];if(u=="md"&&o){return o>l?o:l}return l}return((n=e.props)==null?void 0:n[u])||o||h[u]}));if(r<0){return{gridList:e,gridGroupList:[]}}return w(e,r)}),[c,h,u]),x=g.gridList,y=g.gridGroupList;return a(n,e({},l,{children:c.map((function(r,t){var i;var n=e({},h,r.props);var o=e({key:t},n,(i={},i[u]=x[t]||n[u],i));if(r.type["domTypeName"]==="FormOperateCol"){o["rowColTotal"]=y.length}return d(r,o)}))}))};var F={Row:T,Col:g,OperateCol:L};export{F as FormGrid};
5
5
  //# sourceMappingURL=index.js.map