@flatbiz/antd 5.0.58 → 5.0.60
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.
|
@@ -271,8 +271,14 @@ export type EasyTableProps = {
|
|
|
271
271
|
export type EasyTableRefApi = {
|
|
272
272
|
/** 外部发起请求服务 */
|
|
273
273
|
onRequest: (params?: TPlainObject) => void;
|
|
274
|
-
/**
|
|
274
|
+
/**
|
|
275
|
+
* 已经点击查询后的请求参数,不包含实时输入后未点击查询的参数
|
|
276
|
+
*/
|
|
275
277
|
getRequestParams: () => TPlainObject;
|
|
278
|
+
/**
|
|
279
|
+
* 实时输入的请求参数
|
|
280
|
+
*/
|
|
281
|
+
getFilterRealTimeParams: () => TPlainObject;
|
|
276
282
|
/**
|
|
277
283
|
* 清除Form查询条件
|
|
278
284
|
* ```
|
package/dist/easy-table/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { f as fbaUtils } from '../fba-utils-CusZeveq.js';
|
|
|
11
11
|
import { isArray } from '@dimjs/lang/is-array';
|
|
12
12
|
import { isObject } from '@dimjs/lang/is-object';
|
|
13
13
|
import { b as _objectSpread2, a as _slicedToArray, i as _defineProperty, c as _toConsumableArray, _ as _objectWithoutProperties } from '../_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
14
|
-
import { sessionStorageCache, localStorageCache, noop, getUuid, isUndefinedOrNull, isMacEnv } from '@flatbiz/utils';
|
|
14
|
+
import { sessionStorageCache, localStorageCache, noop, trim, getUuid, isUndefinedOrNull, isMacEnv } from '@flatbiz/utils';
|
|
15
15
|
import { classNames } from '@dimjs/utils/class-names/class-names';
|
|
16
16
|
import { isUndefined } from '@dimjs/lang/is-undefined';
|
|
17
17
|
import { get } from '@dimjs/utils/get/get';
|
|
@@ -187,6 +187,7 @@ var getFormFieldsValue = function getFormFieldsValue(form, filterFormItemKeys) {
|
|
|
187
187
|
* 1. 对象中值为空字符串、null、undefined 的key值,直接删除
|
|
188
188
|
* 2. 对象中以`__#invalid_xxxx`开头的key值,直接删除
|
|
189
189
|
* 3. 注意params可能会有嵌套,只考虑object嵌套
|
|
190
|
+
* 4. 如果value为string类型,则清除左右空格
|
|
190
191
|
* ```
|
|
191
192
|
*/
|
|
192
193
|
var _requestParamsInternalAdapter = function requestParamsInternalAdapter(params) {
|
|
@@ -198,13 +199,19 @@ var _requestParamsInternalAdapter = function requestParamsInternalAdapter(params
|
|
|
198
199
|
removeEmptyValue = _options$removeEmptyV === void 0 ? true : _options$removeEmptyV;
|
|
199
200
|
var result = {};
|
|
200
201
|
for (var key in params) {
|
|
202
|
+
/** 如果key不是对象的自有属性,则跳过 */
|
|
201
203
|
if (!Object.prototype.hasOwnProperty.call(params, key)) {
|
|
202
204
|
continue;
|
|
203
205
|
}
|
|
204
206
|
var value = params[key];
|
|
205
|
-
|
|
207
|
+
if (typeof value === 'string') {
|
|
208
|
+
value = trim(value, true);
|
|
209
|
+
}
|
|
206
210
|
// 删除以 `__#invalid_` 开头的key
|
|
207
|
-
if (key.includes('__#invalid_')
|
|
211
|
+
if (key.includes('__#invalid_')) {
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
if (removeEmptyValue && (value === '' || value === null || value === undefined)) {
|
|
208
215
|
continue;
|
|
209
216
|
}
|
|
210
217
|
|
|
@@ -431,11 +438,13 @@ var EasyTable$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
431
438
|
if (!((_props$filterFormItem = props.filterFormItemKeys) !== null && _props$filterFormItem !== void 0 && _props$filterFormItem.length)) {
|
|
432
439
|
return cacheParams;
|
|
433
440
|
}
|
|
434
|
-
var
|
|
441
|
+
var params = _objectSpread2({}, getPaginationData(1, cacheParams[fieldNames.pageSize]));
|
|
435
442
|
props.filterFormItemKeys.forEach(function (item) {
|
|
436
|
-
|
|
443
|
+
params[item] = cacheParams[item];
|
|
444
|
+
});
|
|
445
|
+
return _requestParamsInternalAdapter(params, {
|
|
446
|
+
removeEmptyValue: removeRequestParamsEmptyValue
|
|
437
447
|
});
|
|
438
|
-
return values;
|
|
439
448
|
});
|
|
440
449
|
var onOpenColumnFoldModal = hooks.useCallbackRef(function () {
|
|
441
450
|
setColumnFoldOpen(true);
|
|
@@ -443,6 +452,21 @@ var EasyTable$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
443
452
|
var onCloseColumnFoldModal = hooks.useCallbackRef(function () {
|
|
444
453
|
setColumnFoldOpen(false);
|
|
445
454
|
});
|
|
455
|
+
var getFilterRealTimeParams = hooks.useCallbackRef(function () {
|
|
456
|
+
var _props$filterFormItem2;
|
|
457
|
+
var formValues = form.getFieldsValue() || {};
|
|
458
|
+
var params = _objectSpread2({}, getPaginationData(1, cacheParams[fieldNames.pageSize]));
|
|
459
|
+
if ((_props$filterFormItem2 = props.filterFormItemKeys) !== null && _props$filterFormItem2 !== void 0 && _props$filterFormItem2.length) {
|
|
460
|
+
props.filterFormItemKeys.forEach(function (item) {
|
|
461
|
+
params[item] = formValues[item];
|
|
462
|
+
});
|
|
463
|
+
} else {
|
|
464
|
+
params = _objectSpread2(_objectSpread2({}, formValues), params);
|
|
465
|
+
}
|
|
466
|
+
return _requestParamsInternalAdapter(params, {
|
|
467
|
+
removeEmptyValue: removeRequestParamsEmptyValue
|
|
468
|
+
});
|
|
469
|
+
});
|
|
446
470
|
var getEasyTableRef = function getEasyTableRef() {
|
|
447
471
|
return {
|
|
448
472
|
/**
|
|
@@ -454,6 +478,7 @@ var EasyTable$1 = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
454
478
|
clearQueryCondition: clearQueryCondition,
|
|
455
479
|
updateQueryCondition: updateQueryCondition,
|
|
456
480
|
getRequestParams: getRequestParams,
|
|
481
|
+
getFilterRealTimeParams: getFilterRealTimeParams,
|
|
457
482
|
onResetRequest: onResetRequest,
|
|
458
483
|
form: form,
|
|
459
484
|
dataSource: respOriginalDataRef.current,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/cache.ts","@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/fold-operate-dropdown.tsx","@flatbiz/antd/src/easy-table/utils.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/hooks/columns.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { isArray, isObject } from '@dimjs/lang';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { localStorageCache, sessionStorageCache } from '@flatbiz/utils';\n\nexport const filterCache = {\n set: (cacheKey: string, filterCondition: TPlainObject) => {\n const value = filterCache.get(cacheKey);\n const mergeParams = {\n ...value,\n ...filterCondition,\n };\n sessionStorageCache.set(`easy_tab_filter_${cacheKey}`, mergeParams);\n return mergeParams as TPlainObject;\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_filter_${cacheKey}`\n ) as TPlainObject;\n return isObject(value) ? value : {};\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_filter_${cacheKey}`);\n },\n};\n\nexport const firstQueryCache = {\n set: (cacheKey: string, flag: boolean) => {\n sessionStorageCache.set(`easy_tab_firstQuery_${cacheKey}`, { value: flag });\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_firstQuery_${cacheKey}`\n )?.value;\n return value === false ? false : true;\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_firstQuery_${cacheKey}`);\n },\n};\n\nexport const columnFoldCache = {\n set: (cacheKey: string, value: string[]) => {\n localStorageCache.set(`easy_tab_columnFold_${cacheKey}`, { value });\n },\n get: (cacheKey: string) => {\n const value = localStorageCache.get(\n `easy_tab_columnFold_${cacheKey}`\n )?.value;\n return isArray(value) ? (value as string[]) : [];\n },\n remove: (cacheKey: string) => {\n localStorageCache.remove(`easy_tab_columnFold_${cacheKey}`);\n },\n};\n","import { createContext } from 'react';\nimport { type FormInstance } from 'antd';\nimport { noop, type TPlainObject } from '@flatbiz/utils';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\n\nexport type EditableFieldContextContextApi = {\n cacheKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initialValues?: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n getPaginationStatus: () => boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n onSetBaseColumns: (\n baseColumns?: TEasyTableTableColumn<TPlainObject>[]\n ) => void;\n onSetColumns: (columns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columns?: TEasyTableTableColumn<TPlainObject>[];\n dynamicColumnsConfig: {\n showFoldKeyList: string[];\n onChangeShowFoldKeyList: (keys: string[]) => void;\n columnFoldOpen: boolean;\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onCloseColumnFoldModal: () => void;\n asyncColumnRequest?: EasyTableProps['asyncColumnRequest'];\n };\n filterFormItemKeys?: string[];\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n useState,\n} from 'react';\nimport { Checkbox, Popover } from 'antd';\nimport { columnFoldCache } from './cache.js';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex: string; title: string }[];\n onChange: (keys: string[]) => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n children?: ReactElement;\n};\n\nexport const FoldOperateDropdown = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(\n props.initSelectedRowKeys || []\n );\n\n const onChange = (keys) => {\n setSelectedRowKeys(keys);\n props.onChange(keys);\n if (props.cacheKey) {\n columnFoldCache.set(props.cacheKey, keys);\n }\n };\n const content = (\n <Fragment>\n <Checkbox.Group\n defaultValue={selectedRowKeys}\n onChange={onChange}\n value={selectedRowKeys}\n style={{ display: 'flex', flexDirection: 'column' }}\n >\n {props.dataList.map((item) => {\n const label = item['_isFoldTitle'] || item.title;\n return (\n <Checkbox\n value={item.dataIndex}\n key={item.dataIndex}\n style={{ padding: '0 0 5px 0' }}\n >\n {label}\n </Checkbox>\n );\n })}\n </Checkbox.Group>\n </Fragment>\n );\n\n const onChangeAll = (e) => {\n if (e.target.checked) {\n onChange(props.dataList.map((item) => item.dataIndex));\n } else {\n onChange([]);\n }\n };\n\n return (\n <Popover\n content={content}\n title={\n <Checkbox\n checked={selectedRowKeys.length === props.dataList.length}\n onChange={onChangeAll}\n >\n 全选\n </Checkbox>\n }\n placement=\"bottomRight\"\n overlayClassName=\"fold-operate-popiver\"\n >\n {props.children}\n </Popover>\n );\n};\n","import type { FormInstance } from 'antd';\nimport { type TPlainObject } from '@flatbiz/utils';\n\nexport const getFormFieldsValue = (\n form: FormInstance,\n filterFormItemKeys?: string[]\n) => {\n const formValues = (form.getFieldsValue() || {}) as TPlainObject;\n if (!filterFormItemKeys?.length) {\n return formValues;\n }\n const values: TPlainObject = {};\n\n filterFormItemKeys.forEach((item) => {\n values[item] = formValues[item];\n });\n return values;\n};\n\n/**\n * 请求参数内部转换处理\n * ```\n * 1. 对象中值为空字符串、null、undefined 的key值,直接删除\n * 2. 对象中以`__#invalid_xxxx`开头的key值,直接删除\n * 3. 注意params可能会有嵌套,只考虑object嵌套\n * ```\n */\nexport const requestParamsInternalAdapter = (\n params: TPlainObject,\n options: {\n /** 移除值为空字符串字段 */\n removeEmptyValue?: boolean;\n } = {}\n): TPlainObject => {\n if (!params || typeof params !== 'object' || Array.isArray(params)) {\n return params;\n }\n\n const { removeEmptyValue = true } = options;\n const result: TPlainObject = {};\n\n for (const key in params) {\n if (!Object.prototype.hasOwnProperty.call(params, key)) {\n continue;\n }\n\n const value = params[key];\n\n // 删除以 `__#invalid_` 开头的key\n if (\n key.includes('__#invalid_') ||\n (removeEmptyValue &&\n (value === '' || value === null || value === undefined))\n ) {\n continue;\n }\n\n // 处理嵌套对象\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n result[key] = requestParamsInternalAdapter(\n value as TPlainObject,\n options\n );\n } else {\n result[key] = value;\n }\n }\n\n return result;\n};\n","import {\n cloneElement,\n type CSSProperties,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Form, message } from 'antd';\nimport { isArray, isString, isUndefined } from '@dimjs/lang';\nimport { classNames, get } from '@dimjs/utils';\nimport { getUuid, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { PaginationWrapper } from '../pagination-wrapper/pagination.jsx';\nimport { columnFoldCache, filterCache, firstQueryCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperateDropdown } from './fold-operate-dropdown.jsx';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\nimport { getFormFieldsValue, requestParamsInternalAdapter } from './utils.js';\nimport './style.less';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>(\n (props, ref) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const columnFoldConfig = props.columnFoldConfig;\n const asyncColumnRequest = props.asyncColumnRequest;\n const removeRequestParamsEmptyValue =\n props.removeRequestParamsEmptyValue === undefined\n ? true\n : props.removeRequestParamsEmptyValue;\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const cacheKey = useMemo(() => {\n if (props.cacheKey) {\n try {\n const iframe = window.frameElement;\n const iframeId = iframe?.id || '';\n return `${props.cacheKey}_${iframeId}`;\n } catch (_error) {\n return props.cacheKey;\n }\n }\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return `${Date.now()}-${getUuid()}`;\n }, [props.cacheSwitch, props.cacheKey]);\n\n const cacheParams = filterCache.get(cacheKey);\n\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (cacheKey) {\n const columnFoldCacheValue = columnFoldCache.get(cacheKey);\n const cacheKeyList = isArray(columnFoldCacheValue)\n ? columnFoldCacheValue.filter((item) => isString(item))\n : [];\n return cacheKeyList.length > 0\n ? cacheKeyList\n : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const pageSize =\n props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest =\n props.initRequest === undefined ? true : props.initRequest;\n const paginationStatusRef = useRef(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] =\n useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const columnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n const outerForm = Form.useFormInstance();\n const [form] = Form.useForm(props.form || outerForm);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n if (props.breforeRequest) {\n try {\n await props.breforeRequest(form);\n } catch (_error) {\n return;\n }\n }\n firstQueryCache.set(cacheKey, false);\n const paramsAll = filterCache.set(cacheKey, params);\n setLoading(true);\n const {\n requestParamsAdapter,\n onRequest,\n requestResultAdapter,\n dynamicColumsAdapter,\n } = props.serviceConfig;\n\n let paramsNew = requestParamsInternalAdapter(paramsAll, {\n removeEmptyValue: removeRequestParamsEmptyValue,\n });\n\n paramsNew = requestParamsAdapter\n ? requestParamsAdapter(paramsNew, paramsAll)\n : paramsNew;\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(\n respData,\n baseColumnsRef.current\n );\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: any) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = getPaginationStatus();\n const firstQueryFlag = firstQueryCache.get(cacheKey);\n form.setFieldsValue({\n ...props.initialValues,\n ...cacheParams,\n });\n if (initRequest || !firstQueryFlag) {\n if (hasPagination) {\n void onInnerRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...cacheParams,\n });\n } else {\n void onInnerRequest(props.initialValues);\n }\n } else {\n filterCache.set(cacheKey, props.initialValues || {});\n }\n }, []);\n\n const clearQueryCondition = hooks.useCallbackRef(\n (values?: TPlainObject) => {\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n }\n );\n\n const updateQueryCondition = hooks.useCallbackRef(\n (values: TPlainObject) => {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n );\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (getPaginationStatus()) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {\n [fieldNames.pageNo]: undefined,\n [fieldNames.pageSize]: undefined,\n };\n }\n };\n\n const onResetRequest = hooks.useCallbackRef((values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n const cacheParams = filterCache.get(cacheKey);\n if (!props.filterFormItemKeys?.length) {\n return cacheParams;\n }\n const values: TPlainObject = {};\n props.filterFormItemKeys.forEach((item) => {\n values[item] = cacheParams[item];\n });\n return values;\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getEasyTableRef = (): EasyTableRefApi => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n updateQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n dataSource: respOriginalDataRef.current,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n getTableDataList: () => {\n return dataSource || [];\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = { [fieldNames.list]: dataList };\n props.onDataSourceChange?.(respOriginalDataRef.current);\n },\n columnFoldTriggerRender: (\n children,\n columns: TEasyTableTableColumn<TPlainObject>[]\n ) => {\n if (props.columnFoldConfig?.triggerType === 'drawer') {\n return cloneElement(children, {\n onClick: onOpenColumnFoldModal,\n });\n }\n\n const foldColumnList = columns.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n return (\n <FoldOperateDropdown\n dataList={\n foldColumnList as { dataIndex: string; title: string }[]\n }\n onChange={onChangeFoldColumnList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n >\n {children}\n </FoldOperateDropdown>\n );\n },\n onChangeTableColumns: (columns) => {\n setDynamicColumns(columns);\n },\n getTableColumns: () => {\n return columnsRef.current;\n },\n loading,\n setEnabledInitRequest: () => {\n firstQueryCache.set(cacheKey, false);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n paginationStatusRef.current = status;\n };\n\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onSetColumns = (columns) => {\n columnsRef.current = columns;\n };\n const onFormFinish = () => {\n if (loading) {\n console.log('loading...');\n return;\n }\n const values = getFormFieldsValue(form, props.filterFormItemKeys);\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n\n const filterFixedFt = screenType === 'xs' ? false : props.filterFixed;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': filterFixedFt,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className\n );\n\n const paginationData = fbaHooks.useMemoCustom(() => {\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [\n fieldNames.pageNo,\n cacheParams,\n fieldNames.pageSize,\n cacheKey,\n pageSize,\n props.pagination,\n total,\n ]);\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n const params = {\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n };\n filterCache.set(cacheKey, params);\n void onInnerRequest(params);\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const getPaginationStatus = () => {\n return props.paginationFixed || paginationStatusRef.current;\n };\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (props.paginationFixed) {\n void onInnerRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n void onInnerRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }, [props.paginationFixed]);\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'\n ? props.children(respOriginalDataRef.current)\n : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n onSetColumns,\n getEasyTableRef,\n cacheKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n onSetPaginationStatus,\n getPaginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n columns: dynamicColumns,\n initialValues: props.initialValues,\n filterFormItemKeys: props.filterFormItemKeys,\n dynamicColumnsConfig: {\n showFoldKeyList,\n onChangeShowFoldKeyList: onChangeFoldColumnList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onCloseColumnFoldModal,\n columnFoldOpen,\n asyncColumnRequest,\n },\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\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n </div>\n )}\n </EasyTableContext.Provider>\n );\n }\n);\n","import {\n Children,\n type CSSProperties,\n type ReactElement,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport { isFragment } from 'react-is';\nimport { Form, type FormInstance } from 'antd';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { type TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { EasyFormProps } from '../easy-form/form.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormOperateColProps } from '../form-grid/form-operate-col.jsx';\nimport type { FormRowProps } from '../form-grid/form-row.jsx';\nimport { FormGrid } from '../form-grid/index.js';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\n\nexport type EasyTableFilterProps = {\n children:\n | ReactElement\n | ReactElement[]\n | ((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 * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\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 = fbaHooks.useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const inheritForm = Form.useFormInstance();\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 cacheKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n getPaginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n\n const children =\n typeof props.children === 'function'\n ? props.children(form)\n : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray(\n (children as ReactElement).props.children\n ) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n /** 是否支持回车事件 */\n const supportEnterEvent = useMemo(() => {\n if (ctx.filterFormItemKeys?.length || inheritForm) {\n return false;\n }\n return true;\n }, [ctx.filterFormItemKeys?.length, inheritForm]);\n\n const onReset = hooks.useCallbackRef(async () => {\n if (ctx.loading) {\n console.log('loading...');\n return;\n }\n filterCache.remove(cacheKey);\n form.resetFields();\n form.setFieldsValue(initialValues);\n if (\n isUndefined(defaultResetButtonTriggerRequest) ||\n defaultResetButtonTriggerRequest\n ) {\n await form.validateFields(ctx.filterFormItemKeys);\n if (getPaginationStatus()) {\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\n key=\"1\"\n type=\"primary\"\n htmlType={supportEnterEvent ? 'submit' : undefined}\n loadingPosition=\"center\"\n loading={ctx.loading}\n onClick={async () => {\n // 当前EasyTable嵌套在Form内部时,EasyForm 的 onFinish={onFormFinish}配置将失效\n if (inheritForm || ctx.filterFormItemKeys?.length) {\n form.validateFields(ctx.filterFormItemKeys).then(() => {\n onFormFinish?.();\n });\n }\n }}\n {...queryButtonProps}\n style={{\n ...queryButtonProps?.style,\n cursor: ctx.loading ? 'not-allowed' : undefined,\n }}\n >\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper\n key=\"2\"\n onClick={onReset}\n {...resetButtonProps}\n style={{\n ...resetButtonProps?.style,\n cursor: ctx.loading ? 'not-allowed' : undefined,\n }}\n >\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 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 (\n !openFold &&\n foldKeys.find((keyItem) => `.$${keyItem}` === item.key)\n )\n 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\n key={999}\n {...customFormOperateCol}\n leftList={leftList}\n rightList={rightList}\n />\n );\n }, [\n queryButtonProps,\n supportEnterEvent,\n ctx.loading,\n ctx.filterFormItemKeys,\n resetButtonProps,\n onReset,\n filterOperate,\n form,\n foldKeys,\n childrens,\n inheritForm,\n onFormFinish,\n rightOperateAreaAppendTypeFt,\n openFold,\n ]);\n\n const labelAlign =\n 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={supportEnterEvent ? onFormFinish : undefined}\n // initialValues={initialValues}\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.js';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n * @deprecated 已过时 @4.5.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { type CSSProperties, Fragment, useState } from 'react';\nimport { Drawer, Table } from 'antd';\nimport { type ColumnsType } from 'antd/lib/table/index.js';\nimport { type TableRowSelection } from 'antd/lib/table/interface.js';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { columnFoldCache } from './cache.js';\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[]>(\n props.initSelectedRowKeys || []\n );\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 columnFoldCache.set(props.cacheKey, 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 { useMemo } from 'react';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { ButtonWrapper } from '../../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../../fba-hooks/index.js';\nimport { FlexLayout } from '../../flex-layout/flex-layout.jsx';\nimport { IconWrapper } from '../../icon-wrapper/icon-wrapper.jsx';\nimport { SvgHttpView } from '../../svg-http-view/svg.jsx';\nimport { TableTitleTooltip } from '../../table-title-tooltip/title-render.jsx';\nimport { TipsWrapper } from '../../tips-wrapper/tips-wrapper.jsx';\nimport { FoldOperateDropdown } from '../fold-operate-dropdown.jsx';\nimport { type EasyTableProps } from '../type.js';\n\nexport const useColumnsAppendTips = (props: { columns: TPlainObject[] }) => {\n return useMemo(() => {\n const tempList = props.columns\n .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\n tipType=\"popover\"\n popoverProps={{ content: tipsWrapperProps }}\n >\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: (\n <TableTitleTooltip\n tooltip={tooltip}\n title={title}\n ></TableTitleTooltip>\n ),\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns]);\n};\n\nexport const useColumnsAppendInnerColumn = (props: {\n columns: TPlainObject[];\n cacheKey: string;\n showFoldKeyList: string[];\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onChangeFoldColumnList: (keyList: string[]) => void;\n foldColumnList: TPlainObject[];\n}) => {\n const columnsNew = props.columns;\n return fbaHooks.useMemoCustom(() => {\n if (props.columnFoldConfig?.hidden) return columnsNew;\n const finalItem = columnsNew[columnsNew.length - 1];\n if (props.foldColumnList.length > 0 && columnsNew.length > 0) {\n const foldColumnTarget = columnsNew.find((item) => item['_isFoldColumn']);\n\n if (\n foldColumnTarget &&\n finalItem.dataIndex !== foldColumnTarget.dataIndex\n ) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] =\n finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n\n const triggerType = props.columnFoldConfig?.triggerType;\n\n finalItem.title = (\n <FlexLayout\n direction=\"horizontal\"\n fullIndex={0}\n style={{ alignItems: 'center' }}\n >\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n {triggerType === 'drawer' ? (\n <IconWrapper\n onClick={props.onOpenColumnFoldModal}\n text={props.columnFoldConfig?.text}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n hoverTips={props.columnFoldConfig?.hoverTipText || '字段列表'}\n style={{ padding: 0, margin: 0 }}\n />\n ) : (\n <FoldOperateDropdown\n dataList={props.foldColumnList as TAny[]}\n onChange={props.onChangeFoldColumnList}\n cacheKey={props.cacheKey}\n initSelectedRowKeys={props.showFoldKeyList}\n >\n <IconWrapper\n text={props.columnFoldConfig?.text}\n style={{ padding: 0, margin: 0 }}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n />\n </FoldOperateDropdown>\n )}\n </div>\n </FlexLayout>\n );\n }\n }\n return columnsNew;\n }, [props.columns, props.columnFoldConfig]);\n};\n\nexport const useColumnsToHidden = (props: {\n columns: TPlainObject[];\n showFoldKeyList: string[];\n}) => {\n return useMemo(() => {\n const tempList = props.columns\n .map((item) => {\n const { hidden, isFold } = item;\n if (hidden) return null;\n if (isFold && !props.showFoldKeyList.includes(item.dataIndex as string))\n return null;\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns, props.showFoldKeyList]);\n};\n\nexport const useColumnByAsyncColumnRequest = (props: {\n columns: TPlainObject[];\n asyncColumnRequestResult: TPlainObject;\n}) => {\n return useMemo(() => {\n if (!Object.keys(props.asyncColumnRequestResult)) return props.columns;\n return props.columns.map((item: TAny) => {\n const dataIndex = item.dataIndex as string;\n const result = props.asyncColumnRequestResult[dataIndex];\n if (dataIndex && result) {\n if (result.loading) {\n item.render = (value) => {\n return (\n <ButtonWrapper\n loading\n type=\"text\"\n loadingPosition=\"center\"\n removeGap\n >\n {value}\n </ButtonWrapper>\n );\n };\n } else if (item.asyncRender) {\n item.render = (value, record, index) => {\n return item.asyncRender?.(value, record, index, result.respData);\n };\n }\n }\n return item;\n });\n }, [props.columns, props.asyncColumnRequestResult]);\n};\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Space, Table, type TableProps } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport {\n getUuid,\n isMacEnv,\n isUndefinedOrNull,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { TableScrollbar } from '../table-scrollbar/table-scrollbar.jsx';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperate } from './fold-operate.jsx';\nimport {\n useColumnByAsyncColumnRequest,\n useColumnsAppendInnerColumn,\n useColumnsAppendTips,\n useColumnsToHidden,\n} from './hooks/columns.jsx';\nimport { type TEasyTableTableColumn } from './type.js';\n\nconst TitleRender = (props: {\n /** 标题 */\n title?: ReactNode;\n /** 动作 */\n actions?: ReactElement[];\n}) => {\n if (!props.title && !props.actions?.length) {\n return null;\n }\n return (\n <FlexLayout\n fullIndex={0}\n direction=\"horizontal\"\n style={{ marginBottom: 10, alignItems: 'center' }}\n >\n {props.title ? (\n <div style={{ fontWeight: 400, fontSize: 16 }}>{props.title}</div>\n ) : null}\n <Space size={10}>{props.actions}</Space>\n </FlexLayout>\n );\n};\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns' | 'title'\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 /**\n * ```\n * 1. 当配置了 EasyTable.serviceConfig.dynamicColumsAdapter 后,columns配置只在初始化有效,再次修改无效\n * 2. 可通过 EasyTableRef.onChangeTableColumns 实现 columns 的指定修改\n * ```\n */\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 title?: ReactNode;\n /** 与标题对齐的动作 */\n actions?: ReactElement[];\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(\n props: EasyTableTableProps<T>\n) => {\n const ctx = useContext(EasyTableContext);\n const {\n children,\n rowKey,\n pagination,\n isSync,\n title,\n actions,\n ...otherProps\n } = props;\n const screenType = fbaHooks.useResponsivePoint() || '';\n const asyncColumnRequestResultRef = useRef<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n const [asyncColumnRequestResult, setAsyncColumnRequestResult] = useState<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n\n const {\n columnFoldConfig,\n onCloseColumnFoldModal,\n columnFoldOpen,\n onOpenColumnFoldModal,\n asyncColumnRequest,\n showFoldKeyList,\n onChangeShowFoldKeyList,\n } = ctx.dynamicColumnsConfig;\n\n const {\n cacheKey,\n fieldNames,\n onRequest,\n tableDataSource,\n pageSize,\n tableTotal,\n loading,\n paginationFixed,\n onSetPaginationStatus,\n } = ctx;\n\n const cacheParams = filterCache.get(cacheKey);\n\n fbaHooks.useEffectCustom(() => {\n /** 获取初始化 columns 数据 */\n ctx.onSetBaseColumns(\n (props.columns || []) as TEasyTableTableColumn<TPlainObject>[]\n );\n }, []);\n\n useEffect(() => {\n if (asyncColumnRequest?.length) {\n for (let index = 0; index < asyncColumnRequest.length; index++) {\n const element = asyncColumnRequest[index];\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: true },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n element\n .onRequest()\n .then((respData) => {\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false, respData },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n })\n .catch((error) => {\n console.error(error?.message);\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n });\n }\n }\n }, [asyncColumnRequest]);\n\n const columnsOriginal = fbaHooks.useMemoCustom(() => {\n if (ctx.columns) {\n ctx.onSetColumns(ctx.columns);\n return ctx.columns as TEasyTableTableColumn<T>[];\n } else {\n ctx.onSetColumns(props.columns as TEasyTableTableColumn<TPlainObject>[]);\n return props.columns;\n }\n }, [ctx.columns, props.columns]);\n\n let columnsNew = useColumnsAppendTips({\n columns: [...columnsOriginal],\n });\n\n const foldColumnList = columnsOriginal.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n columnsNew = useColumnsAppendInnerColumn({\n cacheKey,\n columns: columnsNew,\n foldColumnList,\n showFoldKeyList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onChangeFoldColumnList: onChangeShowFoldKeyList,\n });\n\n columnsNew = useColumnsToHidden({\n columns: columnsNew,\n showFoldKeyList,\n });\n\n columnsNew = useColumnByAsyncColumnRequest({\n columns: columnsNew,\n asyncColumnRequestResult,\n });\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(pagination !== false);\n }, [pagination]);\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (!paginationFixed) {\n if (pagination !== false) {\n onRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n onRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }\n }, [pagination]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n // selectComponentClass: SmallSelect,\n };\n }, [\n cacheParams,\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (\n pagination,\n filters,\n sorter,\n extra\n ) => {\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 (\n typeof rowKey === 'string' &&\n isUndefinedOrNull(tableDataSource[0][rowKey])\n ) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n columnsNew = useMemo(() => {\n return columnsNew.map((item) => {\n if (!!item.fixed && screenType === 'xs') {\n item.fixed = undefined;\n }\n if (!!item.defaultValue && !item.render) {\n item.render = (value) => {\n return isUndefinedOrNull(value) || value == ''\n ? item.defaultValue\n : value;\n };\n }\n return item;\n });\n }, [columnsNew, screenType]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n rowKey={rowKey as TAny}\n columns={columnsNew}\n loading={loading}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\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 <TitleRender title={title} actions={actions} />\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\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\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={onCloseColumnFoldModal}\n open={columnFoldOpen}\n onChange={onChangeShowFoldKeyList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils/index.js';\nimport { firstQueryCache } from './cache.js';\nimport { EasyTable as EasyTableInner } from './easy-table.jsx';\nimport { EasyTableFilter } from './filter.jsx';\nimport { useEasyTable, useEasyTablRef } from './hooks.js';\nimport { EasyTableTable } from './table.jsx';\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;如果存在多个EasyTable缓存情况可设置cacheSwitch为自定义字符串\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 * 12. 通过asyncColumnRequest、asyncRender配合使用可实现表格列数据接口渲染(demo:https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-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 * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\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 setEnabledInitRequest: (cacheKey: string) => {\n firstQueryCache.set(cacheKey, false);\n },\n});\n"],"names":["filterCache","set","cacheKey","filterCondition","value","get","mergeParams","_objectSpread","sessionStorageCache","concat","_isObject","remove","firstQueryCache","flag","_sessionStorageCache$","columnFoldCache","localStorageCache","_localStorageCache$ge","_isArray","EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","FoldOperateDropdown","props","_useState","useState","initSelectedRowKeys","_useState2","_slicedToArray","selectedRowKeys","setSelectedRowKeys","onChange","keys","content","_jsx","Fragment","children","Checkbox","Group","defaultValue","style","display","flexDirection","dataList","map","item","label","title","dataIndex","padding","onChangeAll","e","target","checked","Popover","length","placement","overlayClassName","getFormFieldsValue","form","filterFormItemKeys","formValues","getFieldsValue","values","forEach","requestParamsInternalAdapter","params","options","arguments","undefined","Array","isArray","_options$removeEmptyV","removeEmptyValue","result","key","Object","prototype","hasOwnProperty","call","includes","EasyTable","forwardRef","ref","_props$initialPaginat","screenType","fbaHooks","useResponsivePoint","dataSource","setDataSource","_useState3","_useState4","total","setTotal","_useState5","_useState6","loading","setLoading","columnFoldConfig","asyncColumnRequest","removeRequestParamsEmptyValue","_useState7","_useState8","columnFoldOpen","setColumnFoldOpen","useMemo","iframe","window","frameElement","iframeId","id","_error","cacheSwitch","location","pathname","Date","now","getUuid","cacheParams","_useState9","columnFoldCacheValue","cacheKeyList","filter","_isString","initSelectedKeys","_useState0","showFoldKeyList","setShowFoldKeyList","pageSize","initialPaginationParams","initRequest","paginationStatusRef","useRef","respOriginalDataRef","baseColumnsRef","_useState1","_useState10","dynamicColumns","setDynamicColumns","columnsRef","fieldNames","list","pageNo","outerForm","Form","useFormInstance","_Form$useForm","useForm","_Form$useForm2","onInnerRequest","_hooks","useCallbackRef","Promise","$return","$error","_props$onDataSourceCh","paramsAll","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_2_Post","$boundEx","$Try_2_Catch","error","onRequestErrorHandle","message","breforeRequest","$Try_3_Post","$If_4","bind","$Try_3_Catch","resolve","then","$await_5","serviceConfig","$await_6","current","onDataSourceChange","_get","useEffectCustom","hasPagination","getPaginationStatus","firstQueryFlag","setFieldsValue","initialValues","_defineProperty","clearQueryCondition","resetFields","updateQueryCondition","getPaginationData","_pageSize","onResetRequest","getRequestParams","_props$filterFormItem","onOpenColumnFoldModal","onCloseColumnFoldModal","getDataSource","onFilterDataSource","filterDataSource","getTableDataList","onClearDataSource","onUpdateDataSource","_props$onDataSourceCh2","columnFoldTriggerRender","columns","_props$columnFoldConf","triggerType","cloneElement","onClick","foldColumnList","hidden","isFold","onChangeFoldColumnList","onChangeTableColumns","getTableColumns","setEnabledInitRequest","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onSetColumns","onFormFinish","console","log","isFull","_isUndefined","filterFixedFt","filterFixed","className","_classNames","paginationFixed","paginationData","useMemoCustom","showSizeChanger","showTotal","pagination","keyList","_columnFoldConfig$onC","page","_props$pagination","_props$pagination$onC","useUpdateEffect","wrapperClassName","isInline","wrapperStyle","overflowY","Provider","tableDataSource","tableTotal","foldKeys","dynamicColumnsConfig","onChangeShowFoldKeyList","_jsxs","PaginationWrapper","size","EasyTableFilter","_ctx$filterFormItemKe2","ctx","useContext","inheritForm","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","supportEnterEvent","_ctx$filterFormItemKe","onReset","validateFields","$await_2","$If_1","formRowChildren","defaultRightList","ButtonWrapper","type","htmlType","loadingPosition","_ctx$filterFormItemKe3","cursor","text","Boolean","customFormOperateCol","customRightList","rightList","leftList","_toConsumableArray","changeFolditem","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","index","find","keyItem","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","FoldOperate","rowSelection","render","recrd","Drawer","open","onClose","width","styles","body","Table","bordered","rowKey","scroll","x","useColumnsAppendTips","tempList","tooltip","tipsWrapperProps","otherProps","_objectWithoutProperties","_excluded","TipsWrapper","tipType","popoverProps","TableTitleTooltip","useColumnsAppendInnerColumn","columnsNew","finalItem","foldColumnTarget","_props$columnFoldConf2","_props$columnFoldConf3","_props$columnFoldConf4","_props$columnFoldConf5","_props$columnFoldConf6","_props$columnFoldConf7","FlexLayout","direction","fullIndex","alignItems","IconWrapper","icon","SvgHttpView","svgPath","color","hoverTips","hoverTipText","margin","useColumnsToHidden","useColumnByAsyncColumnRequest","asyncColumnRequestResult","removeGap","asyncRender","record","_item$asyncRender","TitleRender","_props$actions","actions","marginBottom","fontWeight","Space","EasyTableTable","isSync","asyncColumnRequestResultRef","setAsyncColumnRequestResult","_ctx$dynamicColumnsCo","useEffect","_loop","element","catch","columnsOriginal","tablePaginationData","onChangePage","filters","sorter","extra","action","_props$onChange","isUndefinedOrNull","fixed","tableRender","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/cache.ts","@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/fold-operate-dropdown.tsx","@flatbiz/antd/src/easy-table/utils.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/hooks/columns.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { isArray, isObject } from '@dimjs/lang';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { localStorageCache, sessionStorageCache } from '@flatbiz/utils';\n\nexport const filterCache = {\n set: (cacheKey: string, filterCondition: TPlainObject) => {\n const value = filterCache.get(cacheKey);\n const mergeParams = {\n ...value,\n ...filterCondition,\n };\n sessionStorageCache.set(`easy_tab_filter_${cacheKey}`, mergeParams);\n return mergeParams as TPlainObject;\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_filter_${cacheKey}`\n ) as TPlainObject;\n return isObject(value) ? value : {};\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_filter_${cacheKey}`);\n },\n};\n\nexport const firstQueryCache = {\n set: (cacheKey: string, flag: boolean) => {\n sessionStorageCache.set(`easy_tab_firstQuery_${cacheKey}`, { value: flag });\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_firstQuery_${cacheKey}`\n )?.value;\n return value === false ? false : true;\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_firstQuery_${cacheKey}`);\n },\n};\n\nexport const columnFoldCache = {\n set: (cacheKey: string, value: string[]) => {\n localStorageCache.set(`easy_tab_columnFold_${cacheKey}`, { value });\n },\n get: (cacheKey: string) => {\n const value = localStorageCache.get(\n `easy_tab_columnFold_${cacheKey}`\n )?.value;\n return isArray(value) ? (value as string[]) : [];\n },\n remove: (cacheKey: string) => {\n localStorageCache.remove(`easy_tab_columnFold_${cacheKey}`);\n },\n};\n","import { createContext } from 'react';\nimport { type FormInstance } from 'antd';\nimport { noop, type TPlainObject } from '@flatbiz/utils';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\n\nexport type EditableFieldContextContextApi = {\n cacheKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initialValues?: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n getPaginationStatus: () => boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n onSetBaseColumns: (\n baseColumns?: TEasyTableTableColumn<TPlainObject>[]\n ) => void;\n onSetColumns: (columns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columns?: TEasyTableTableColumn<TPlainObject>[];\n dynamicColumnsConfig: {\n showFoldKeyList: string[];\n onChangeShowFoldKeyList: (keys: string[]) => void;\n columnFoldOpen: boolean;\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onCloseColumnFoldModal: () => void;\n asyncColumnRequest?: EasyTableProps['asyncColumnRequest'];\n };\n filterFormItemKeys?: string[];\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n useState,\n} from 'react';\nimport { Checkbox, Popover } from 'antd';\nimport { columnFoldCache } from './cache.js';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex: string; title: string }[];\n onChange: (keys: string[]) => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n children?: ReactElement;\n};\n\nexport const FoldOperateDropdown = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(\n props.initSelectedRowKeys || []\n );\n\n const onChange = (keys) => {\n setSelectedRowKeys(keys);\n props.onChange(keys);\n if (props.cacheKey) {\n columnFoldCache.set(props.cacheKey, keys);\n }\n };\n const content = (\n <Fragment>\n <Checkbox.Group\n defaultValue={selectedRowKeys}\n onChange={onChange}\n value={selectedRowKeys}\n style={{ display: 'flex', flexDirection: 'column' }}\n >\n {props.dataList.map((item) => {\n const label = item['_isFoldTitle'] || item.title;\n return (\n <Checkbox\n value={item.dataIndex}\n key={item.dataIndex}\n style={{ padding: '0 0 5px 0' }}\n >\n {label}\n </Checkbox>\n );\n })}\n </Checkbox.Group>\n </Fragment>\n );\n\n const onChangeAll = (e) => {\n if (e.target.checked) {\n onChange(props.dataList.map((item) => item.dataIndex));\n } else {\n onChange([]);\n }\n };\n\n return (\n <Popover\n content={content}\n title={\n <Checkbox\n checked={selectedRowKeys.length === props.dataList.length}\n onChange={onChangeAll}\n >\n 全选\n </Checkbox>\n }\n placement=\"bottomRight\"\n overlayClassName=\"fold-operate-popiver\"\n >\n {props.children}\n </Popover>\n );\n};\n","import type { FormInstance } from 'antd';\nimport { type TPlainObject, trim } from '@flatbiz/utils';\n\nexport const getFormFieldsValue = (\n form: FormInstance,\n filterFormItemKeys?: string[]\n) => {\n const formValues = (form.getFieldsValue() || {}) as TPlainObject;\n if (!filterFormItemKeys?.length) {\n return formValues;\n }\n const values: TPlainObject = {};\n\n filterFormItemKeys.forEach((item) => {\n values[item] = formValues[item];\n });\n return values;\n};\n\n/**\n * 请求参数内部转换处理\n * ```\n * 1. 对象中值为空字符串、null、undefined 的key值,直接删除\n * 2. 对象中以`__#invalid_xxxx`开头的key值,直接删除\n * 3. 注意params可能会有嵌套,只考虑object嵌套\n * 4. 如果value为string类型,则清除左右空格\n * ```\n */\nexport const requestParamsInternalAdapter = (\n params: TPlainObject,\n options: {\n /** 移除值为空字符串字段 */\n removeEmptyValue?: boolean;\n } = {}\n): TPlainObject => {\n if (!params || typeof params !== 'object' || Array.isArray(params)) {\n return params;\n }\n\n const { removeEmptyValue = true } = options;\n const result: TPlainObject = {};\n\n for (const key in params) {\n /** 如果key不是对象的自有属性,则跳过 */\n if (!Object.prototype.hasOwnProperty.call(params, key)) {\n continue;\n }\n\n let value = params[key];\n if (typeof value === 'string') {\n value = trim(value, true);\n }\n // 删除以 `__#invalid_` 开头的key\n if (key.includes('__#invalid_')) {\n continue;\n }\n if (\n removeEmptyValue &&\n (value === '' || value === null || value === undefined)\n ) {\n continue;\n }\n\n // 处理嵌套对象\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n result[key] = requestParamsInternalAdapter(\n value as TPlainObject,\n options\n );\n } else {\n result[key] = value;\n }\n }\n\n return result;\n};\n","import {\n cloneElement,\n type CSSProperties,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Form, message } from 'antd';\nimport { isArray, isString, isUndefined } from '@dimjs/lang';\nimport { classNames, get } from '@dimjs/utils';\nimport { getUuid, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { PaginationWrapper } from '../pagination-wrapper/pagination.jsx';\nimport { columnFoldCache, filterCache, firstQueryCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperateDropdown } from './fold-operate-dropdown.jsx';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\nimport { getFormFieldsValue, requestParamsInternalAdapter } from './utils.js';\nimport './style.less';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>(\n (props, ref) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const columnFoldConfig = props.columnFoldConfig;\n const asyncColumnRequest = props.asyncColumnRequest;\n const removeRequestParamsEmptyValue =\n props.removeRequestParamsEmptyValue === undefined\n ? true\n : props.removeRequestParamsEmptyValue;\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const cacheKey = useMemo(() => {\n if (props.cacheKey) {\n try {\n const iframe = window.frameElement;\n const iframeId = iframe?.id || '';\n return `${props.cacheKey}_${iframeId}`;\n } catch (_error) {\n return props.cacheKey;\n }\n }\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return `${Date.now()}-${getUuid()}`;\n }, [props.cacheSwitch, props.cacheKey]);\n\n const cacheParams = filterCache.get(cacheKey);\n\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (cacheKey) {\n const columnFoldCacheValue = columnFoldCache.get(cacheKey);\n const cacheKeyList = isArray(columnFoldCacheValue)\n ? columnFoldCacheValue.filter((item) => isString(item))\n : [];\n return cacheKeyList.length > 0\n ? cacheKeyList\n : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const pageSize =\n props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest =\n props.initRequest === undefined ? true : props.initRequest;\n const paginationStatusRef = useRef(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] =\n useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const columnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n const outerForm = Form.useFormInstance();\n const [form] = Form.useForm(props.form || outerForm);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n if (props.breforeRequest) {\n try {\n await props.breforeRequest(form);\n } catch (_error) {\n return;\n }\n }\n firstQueryCache.set(cacheKey, false);\n const paramsAll = filterCache.set(cacheKey, params);\n setLoading(true);\n const {\n requestParamsAdapter,\n onRequest,\n requestResultAdapter,\n dynamicColumsAdapter,\n } = props.serviceConfig;\n\n let paramsNew = requestParamsInternalAdapter(paramsAll, {\n removeEmptyValue: removeRequestParamsEmptyValue,\n });\n\n paramsNew = requestParamsAdapter\n ? requestParamsAdapter(paramsNew, paramsAll)\n : paramsNew;\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(\n respData,\n baseColumnsRef.current\n );\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: any) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = getPaginationStatus();\n const firstQueryFlag = firstQueryCache.get(cacheKey);\n form.setFieldsValue({\n ...props.initialValues,\n ...cacheParams,\n });\n if (initRequest || !firstQueryFlag) {\n if (hasPagination) {\n void onInnerRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...cacheParams,\n });\n } else {\n void onInnerRequest(props.initialValues);\n }\n } else {\n filterCache.set(cacheKey, props.initialValues || {});\n }\n }, []);\n\n const clearQueryCondition = hooks.useCallbackRef(\n (values?: TPlainObject) => {\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n }\n );\n\n const updateQueryCondition = hooks.useCallbackRef(\n (values: TPlainObject) => {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n );\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (getPaginationStatus()) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {\n [fieldNames.pageNo]: undefined,\n [fieldNames.pageSize]: undefined,\n };\n }\n };\n\n const onResetRequest = hooks.useCallbackRef((values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n const cacheParams = filterCache.get(cacheKey);\n if (!props.filterFormItemKeys?.length) {\n return cacheParams;\n }\n const params: TPlainObject = {\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n };\n props.filterFormItemKeys.forEach((item) => {\n params[item] = cacheParams[item];\n });\n return requestParamsInternalAdapter(params, {\n removeEmptyValue: removeRequestParamsEmptyValue,\n });\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getFilterRealTimeParams = hooks.useCallbackRef(() => {\n const formValues = form.getFieldsValue() || {};\n let params: TPlainObject = {\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n };\n if (props.filterFormItemKeys?.length) {\n props.filterFormItemKeys.forEach((item) => {\n params[item] = formValues[item];\n });\n } else {\n params = { ...formValues, ...params };\n }\n\n return requestParamsInternalAdapter(params, {\n removeEmptyValue: removeRequestParamsEmptyValue,\n });\n });\n\n const getEasyTableRef = (): EasyTableRefApi => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n updateQueryCondition,\n getRequestParams,\n getFilterRealTimeParams,\n onResetRequest,\n form,\n dataSource: respOriginalDataRef.current,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n getTableDataList: () => {\n return dataSource || [];\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = { [fieldNames.list]: dataList };\n props.onDataSourceChange?.(respOriginalDataRef.current);\n },\n columnFoldTriggerRender: (\n children,\n columns: TEasyTableTableColumn<TPlainObject>[]\n ) => {\n if (props.columnFoldConfig?.triggerType === 'drawer') {\n return cloneElement(children, {\n onClick: onOpenColumnFoldModal,\n });\n }\n\n const foldColumnList = columns.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n return (\n <FoldOperateDropdown\n dataList={\n foldColumnList as { dataIndex: string; title: string }[]\n }\n onChange={onChangeFoldColumnList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n >\n {children}\n </FoldOperateDropdown>\n );\n },\n onChangeTableColumns: (columns) => {\n setDynamicColumns(columns);\n },\n getTableColumns: () => {\n return columnsRef.current;\n },\n loading,\n setEnabledInitRequest: () => {\n firstQueryCache.set(cacheKey, false);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n paginationStatusRef.current = status;\n };\n\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onSetColumns = (columns) => {\n columnsRef.current = columns;\n };\n const onFormFinish = () => {\n if (loading) {\n console.log('loading...');\n return;\n }\n const values = getFormFieldsValue(form, props.filterFormItemKeys);\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n\n const filterFixedFt = screenType === 'xs' ? false : props.filterFixed;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': filterFixedFt,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className\n );\n\n const paginationData = fbaHooks.useMemoCustom(() => {\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [\n fieldNames.pageNo,\n cacheParams,\n fieldNames.pageSize,\n cacheKey,\n pageSize,\n props.pagination,\n total,\n ]);\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n const params = {\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n };\n filterCache.set(cacheKey, params);\n void onInnerRequest(params);\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const getPaginationStatus = () => {\n return props.paginationFixed || paginationStatusRef.current;\n };\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (props.paginationFixed) {\n void onInnerRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n void onInnerRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }, [props.paginationFixed]);\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'\n ? props.children(respOriginalDataRef.current)\n : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n onSetColumns,\n getEasyTableRef,\n cacheKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n onSetPaginationStatus,\n getPaginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n columns: dynamicColumns,\n initialValues: props.initialValues,\n filterFormItemKeys: props.filterFormItemKeys,\n dynamicColumnsConfig: {\n showFoldKeyList,\n onChangeShowFoldKeyList: onChangeFoldColumnList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onCloseColumnFoldModal,\n columnFoldOpen,\n asyncColumnRequest,\n },\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\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n </div>\n )}\n </EasyTableContext.Provider>\n );\n }\n);\n","import {\n Children,\n type CSSProperties,\n type ReactElement,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport { isFragment } from 'react-is';\nimport { Form, type FormInstance } from 'antd';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { type TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { EasyFormProps } from '../easy-form/form.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormOperateColProps } from '../form-grid/form-operate-col.jsx';\nimport type { FormRowProps } from '../form-grid/form-row.jsx';\nimport { FormGrid } from '../form-grid/index.js';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\n\nexport type EasyTableFilterProps = {\n children:\n | ReactElement\n | ReactElement[]\n | ((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 * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\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 = fbaHooks.useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const inheritForm = Form.useFormInstance();\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 cacheKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n getPaginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n\n const children =\n typeof props.children === 'function'\n ? props.children(form)\n : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray(\n (children as ReactElement).props.children\n ) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n /** 是否支持回车事件 */\n const supportEnterEvent = useMemo(() => {\n if (ctx.filterFormItemKeys?.length || inheritForm) {\n return false;\n }\n return true;\n }, [ctx.filterFormItemKeys?.length, inheritForm]);\n\n const onReset = hooks.useCallbackRef(async () => {\n if (ctx.loading) {\n console.log('loading...');\n return;\n }\n filterCache.remove(cacheKey);\n form.resetFields();\n form.setFieldsValue(initialValues);\n if (\n isUndefined(defaultResetButtonTriggerRequest) ||\n defaultResetButtonTriggerRequest\n ) {\n await form.validateFields(ctx.filterFormItemKeys);\n if (getPaginationStatus()) {\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\n key=\"1\"\n type=\"primary\"\n htmlType={supportEnterEvent ? 'submit' : undefined}\n loadingPosition=\"center\"\n loading={ctx.loading}\n onClick={async () => {\n // 当前EasyTable嵌套在Form内部时,EasyForm 的 onFinish={onFormFinish}配置将失效\n if (inheritForm || ctx.filterFormItemKeys?.length) {\n form.validateFields(ctx.filterFormItemKeys).then(() => {\n onFormFinish?.();\n });\n }\n }}\n {...queryButtonProps}\n style={{\n ...queryButtonProps?.style,\n cursor: ctx.loading ? 'not-allowed' : undefined,\n }}\n >\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper\n key=\"2\"\n onClick={onReset}\n {...resetButtonProps}\n style={{\n ...resetButtonProps?.style,\n cursor: ctx.loading ? 'not-allowed' : undefined,\n }}\n >\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 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 (\n !openFold &&\n foldKeys.find((keyItem) => `.$${keyItem}` === item.key)\n )\n 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\n key={999}\n {...customFormOperateCol}\n leftList={leftList}\n rightList={rightList}\n />\n );\n }, [\n queryButtonProps,\n supportEnterEvent,\n ctx.loading,\n ctx.filterFormItemKeys,\n resetButtonProps,\n onReset,\n filterOperate,\n form,\n foldKeys,\n childrens,\n inheritForm,\n onFormFinish,\n rightOperateAreaAppendTypeFt,\n openFold,\n ]);\n\n const labelAlign =\n 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={supportEnterEvent ? onFormFinish : undefined}\n // initialValues={initialValues}\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.js';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n * @deprecated 已过时 @4.5.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { type CSSProperties, Fragment, useState } from 'react';\nimport { Drawer, Table } from 'antd';\nimport { type ColumnsType } from 'antd/lib/table/index.js';\nimport { type TableRowSelection } from 'antd/lib/table/interface.js';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { columnFoldCache } from './cache.js';\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[]>(\n props.initSelectedRowKeys || []\n );\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 columnFoldCache.set(props.cacheKey, 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 { useMemo } from 'react';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { ButtonWrapper } from '../../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../../fba-hooks/index.js';\nimport { FlexLayout } from '../../flex-layout/flex-layout.jsx';\nimport { IconWrapper } from '../../icon-wrapper/icon-wrapper.jsx';\nimport { SvgHttpView } from '../../svg-http-view/svg.jsx';\nimport { TableTitleTooltip } from '../../table-title-tooltip/title-render.jsx';\nimport { TipsWrapper } from '../../tips-wrapper/tips-wrapper.jsx';\nimport { FoldOperateDropdown } from '../fold-operate-dropdown.jsx';\nimport { type EasyTableProps } from '../type.js';\n\nexport const useColumnsAppendTips = (props: { columns: TPlainObject[] }) => {\n return useMemo(() => {\n const tempList = props.columns\n .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\n tipType=\"popover\"\n popoverProps={{ content: tipsWrapperProps }}\n >\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: (\n <TableTitleTooltip\n tooltip={tooltip}\n title={title}\n ></TableTitleTooltip>\n ),\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns]);\n};\n\nexport const useColumnsAppendInnerColumn = (props: {\n columns: TPlainObject[];\n cacheKey: string;\n showFoldKeyList: string[];\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onChangeFoldColumnList: (keyList: string[]) => void;\n foldColumnList: TPlainObject[];\n}) => {\n const columnsNew = props.columns;\n return fbaHooks.useMemoCustom(() => {\n if (props.columnFoldConfig?.hidden) return columnsNew;\n const finalItem = columnsNew[columnsNew.length - 1];\n if (props.foldColumnList.length > 0 && columnsNew.length > 0) {\n const foldColumnTarget = columnsNew.find((item) => item['_isFoldColumn']);\n\n if (\n foldColumnTarget &&\n finalItem.dataIndex !== foldColumnTarget.dataIndex\n ) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] =\n finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n\n const triggerType = props.columnFoldConfig?.triggerType;\n\n finalItem.title = (\n <FlexLayout\n direction=\"horizontal\"\n fullIndex={0}\n style={{ alignItems: 'center' }}\n >\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n {triggerType === 'drawer' ? (\n <IconWrapper\n onClick={props.onOpenColumnFoldModal}\n text={props.columnFoldConfig?.text}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n hoverTips={props.columnFoldConfig?.hoverTipText || '字段列表'}\n style={{ padding: 0, margin: 0 }}\n />\n ) : (\n <FoldOperateDropdown\n dataList={props.foldColumnList as TAny[]}\n onChange={props.onChangeFoldColumnList}\n cacheKey={props.cacheKey}\n initSelectedRowKeys={props.showFoldKeyList}\n >\n <IconWrapper\n text={props.columnFoldConfig?.text}\n style={{ padding: 0, margin: 0 }}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n />\n </FoldOperateDropdown>\n )}\n </div>\n </FlexLayout>\n );\n }\n }\n return columnsNew;\n }, [props.columns, props.columnFoldConfig]);\n};\n\nexport const useColumnsToHidden = (props: {\n columns: TPlainObject[];\n showFoldKeyList: string[];\n}) => {\n return useMemo(() => {\n const tempList = props.columns\n .map((item) => {\n const { hidden, isFold } = item;\n if (hidden) return null;\n if (isFold && !props.showFoldKeyList.includes(item.dataIndex as string))\n return null;\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns, props.showFoldKeyList]);\n};\n\nexport const useColumnByAsyncColumnRequest = (props: {\n columns: TPlainObject[];\n asyncColumnRequestResult: TPlainObject;\n}) => {\n return useMemo(() => {\n if (!Object.keys(props.asyncColumnRequestResult)) return props.columns;\n return props.columns.map((item: TAny) => {\n const dataIndex = item.dataIndex as string;\n const result = props.asyncColumnRequestResult[dataIndex];\n if (dataIndex && result) {\n if (result.loading) {\n item.render = (value) => {\n return (\n <ButtonWrapper\n loading\n type=\"text\"\n loadingPosition=\"center\"\n removeGap\n >\n {value}\n </ButtonWrapper>\n );\n };\n } else if (item.asyncRender) {\n item.render = (value, record, index) => {\n return item.asyncRender?.(value, record, index, result.respData);\n };\n }\n }\n return item;\n });\n }, [props.columns, props.asyncColumnRequestResult]);\n};\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Space, Table, type TableProps } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport {\n getUuid,\n isMacEnv,\n isUndefinedOrNull,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { TableScrollbar } from '../table-scrollbar/table-scrollbar.jsx';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperate } from './fold-operate.jsx';\nimport {\n useColumnByAsyncColumnRequest,\n useColumnsAppendInnerColumn,\n useColumnsAppendTips,\n useColumnsToHidden,\n} from './hooks/columns.jsx';\nimport { type TEasyTableTableColumn } from './type.js';\n\nconst TitleRender = (props: {\n /** 标题 */\n title?: ReactNode;\n /** 动作 */\n actions?: ReactElement[];\n}) => {\n if (!props.title && !props.actions?.length) {\n return null;\n }\n return (\n <FlexLayout\n fullIndex={0}\n direction=\"horizontal\"\n style={{ marginBottom: 10, alignItems: 'center' }}\n >\n {props.title ? (\n <div style={{ fontWeight: 400, fontSize: 16 }}>{props.title}</div>\n ) : null}\n <Space size={10}>{props.actions}</Space>\n </FlexLayout>\n );\n};\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns' | 'title'\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 /**\n * ```\n * 1. 当配置了 EasyTable.serviceConfig.dynamicColumsAdapter 后,columns配置只在初始化有效,再次修改无效\n * 2. 可通过 EasyTableRef.onChangeTableColumns 实现 columns 的指定修改\n * ```\n */\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 title?: ReactNode;\n /** 与标题对齐的动作 */\n actions?: ReactElement[];\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(\n props: EasyTableTableProps<T>\n) => {\n const ctx = useContext(EasyTableContext);\n const {\n children,\n rowKey,\n pagination,\n isSync,\n title,\n actions,\n ...otherProps\n } = props;\n const screenType = fbaHooks.useResponsivePoint() || '';\n const asyncColumnRequestResultRef = useRef<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n const [asyncColumnRequestResult, setAsyncColumnRequestResult] = useState<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n\n const {\n columnFoldConfig,\n onCloseColumnFoldModal,\n columnFoldOpen,\n onOpenColumnFoldModal,\n asyncColumnRequest,\n showFoldKeyList,\n onChangeShowFoldKeyList,\n } = ctx.dynamicColumnsConfig;\n\n const {\n cacheKey,\n fieldNames,\n onRequest,\n tableDataSource,\n pageSize,\n tableTotal,\n loading,\n paginationFixed,\n onSetPaginationStatus,\n } = ctx;\n\n const cacheParams = filterCache.get(cacheKey);\n\n fbaHooks.useEffectCustom(() => {\n /** 获取初始化 columns 数据 */\n ctx.onSetBaseColumns(\n (props.columns || []) as TEasyTableTableColumn<TPlainObject>[]\n );\n }, []);\n\n useEffect(() => {\n if (asyncColumnRequest?.length) {\n for (let index = 0; index < asyncColumnRequest.length; index++) {\n const element = asyncColumnRequest[index];\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: true },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n element\n .onRequest()\n .then((respData) => {\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false, respData },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n })\n .catch((error) => {\n console.error(error?.message);\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n });\n }\n }\n }, [asyncColumnRequest]);\n\n const columnsOriginal = fbaHooks.useMemoCustom(() => {\n if (ctx.columns) {\n ctx.onSetColumns(ctx.columns);\n return ctx.columns as TEasyTableTableColumn<T>[];\n } else {\n ctx.onSetColumns(props.columns as TEasyTableTableColumn<TPlainObject>[]);\n return props.columns;\n }\n }, [ctx.columns, props.columns]);\n\n let columnsNew = useColumnsAppendTips({\n columns: [...columnsOriginal],\n });\n\n const foldColumnList = columnsOriginal.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n columnsNew = useColumnsAppendInnerColumn({\n cacheKey,\n columns: columnsNew,\n foldColumnList,\n showFoldKeyList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onChangeFoldColumnList: onChangeShowFoldKeyList,\n });\n\n columnsNew = useColumnsToHidden({\n columns: columnsNew,\n showFoldKeyList,\n });\n\n columnsNew = useColumnByAsyncColumnRequest({\n columns: columnsNew,\n asyncColumnRequestResult,\n });\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(pagination !== false);\n }, [pagination]);\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (!paginationFixed) {\n if (pagination !== false) {\n onRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n onRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }\n }, [pagination]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n // selectComponentClass: SmallSelect,\n };\n }, [\n cacheParams,\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (\n pagination,\n filters,\n sorter,\n extra\n ) => {\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 (\n typeof rowKey === 'string' &&\n isUndefinedOrNull(tableDataSource[0][rowKey])\n ) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n columnsNew = useMemo(() => {\n return columnsNew.map((item) => {\n if (!!item.fixed && screenType === 'xs') {\n item.fixed = undefined;\n }\n if (!!item.defaultValue && !item.render) {\n item.render = (value) => {\n return isUndefinedOrNull(value) || value == ''\n ? item.defaultValue\n : value;\n };\n }\n return item;\n });\n }, [columnsNew, screenType]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n rowKey={rowKey as TAny}\n columns={columnsNew}\n loading={loading}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\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 <TitleRender title={title} actions={actions} />\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\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\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={onCloseColumnFoldModal}\n open={columnFoldOpen}\n onChange={onChangeShowFoldKeyList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils/index.js';\nimport { firstQueryCache } from './cache.js';\nimport { EasyTable as EasyTableInner } from './easy-table.jsx';\nimport { EasyTableFilter } from './filter.jsx';\nimport { useEasyTable, useEasyTablRef } from './hooks.js';\nimport { EasyTableTable } from './table.jsx';\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;如果存在多个EasyTable缓存情况可设置cacheSwitch为自定义字符串\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 * 12. 通过asyncColumnRequest、asyncRender配合使用可实现表格列数据接口渲染(demo:https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-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 * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\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 setEnabledInitRequest: (cacheKey: string) => {\n firstQueryCache.set(cacheKey, false);\n },\n});\n"],"names":["filterCache","set","cacheKey","filterCondition","value","get","mergeParams","_objectSpread","sessionStorageCache","concat","_isObject","remove","firstQueryCache","flag","_sessionStorageCache$","columnFoldCache","localStorageCache","_localStorageCache$ge","_isArray","EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","FoldOperateDropdown","props","_useState","useState","initSelectedRowKeys","_useState2","_slicedToArray","selectedRowKeys","setSelectedRowKeys","onChange","keys","content","_jsx","Fragment","children","Checkbox","Group","defaultValue","style","display","flexDirection","dataList","map","item","label","title","dataIndex","padding","onChangeAll","e","target","checked","Popover","length","placement","overlayClassName","getFormFieldsValue","form","filterFormItemKeys","formValues","getFieldsValue","values","forEach","requestParamsInternalAdapter","params","options","arguments","undefined","Array","isArray","_options$removeEmptyV","removeEmptyValue","result","key","Object","prototype","hasOwnProperty","call","trim","includes","EasyTable","forwardRef","ref","_props$initialPaginat","screenType","fbaHooks","useResponsivePoint","dataSource","setDataSource","_useState3","_useState4","total","setTotal","_useState5","_useState6","loading","setLoading","columnFoldConfig","asyncColumnRequest","removeRequestParamsEmptyValue","_useState7","_useState8","columnFoldOpen","setColumnFoldOpen","useMemo","iframe","window","frameElement","iframeId","id","_error","cacheSwitch","location","pathname","Date","now","getUuid","cacheParams","_useState9","columnFoldCacheValue","cacheKeyList","filter","_isString","initSelectedKeys","_useState0","showFoldKeyList","setShowFoldKeyList","pageSize","initialPaginationParams","initRequest","paginationStatusRef","useRef","respOriginalDataRef","baseColumnsRef","_useState1","_useState10","dynamicColumns","setDynamicColumns","columnsRef","fieldNames","list","pageNo","outerForm","Form","useFormInstance","_Form$useForm","useForm","_Form$useForm2","onInnerRequest","_hooks","useCallbackRef","Promise","$return","$error","_props$onDataSourceCh","paramsAll","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_2_Post","$boundEx","$Try_2_Catch","error","onRequestErrorHandle","message","breforeRequest","$Try_3_Post","$If_4","bind","$Try_3_Catch","resolve","then","$await_5","serviceConfig","$await_6","current","onDataSourceChange","_get","useEffectCustom","hasPagination","getPaginationStatus","firstQueryFlag","setFieldsValue","initialValues","_defineProperty","clearQueryCondition","resetFields","updateQueryCondition","getPaginationData","_pageSize","onResetRequest","getRequestParams","_props$filterFormItem","onOpenColumnFoldModal","onCloseColumnFoldModal","getFilterRealTimeParams","_props$filterFormItem2","getDataSource","onFilterDataSource","filterDataSource","getTableDataList","onClearDataSource","onUpdateDataSource","_props$onDataSourceCh2","columnFoldTriggerRender","columns","_props$columnFoldConf","triggerType","cloneElement","onClick","foldColumnList","hidden","isFold","onChangeFoldColumnList","onChangeTableColumns","getTableColumns","setEnabledInitRequest","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onSetColumns","onFormFinish","console","log","isFull","_isUndefined","filterFixedFt","filterFixed","className","_classNames","paginationFixed","paginationData","useMemoCustom","showSizeChanger","showTotal","pagination","keyList","_columnFoldConfig$onC","page","_props$pagination","_props$pagination$onC","useUpdateEffect","wrapperClassName","isInline","wrapperStyle","overflowY","Provider","tableDataSource","tableTotal","foldKeys","dynamicColumnsConfig","onChangeShowFoldKeyList","_jsxs","PaginationWrapper","size","EasyTableFilter","_ctx$filterFormItemKe2","ctx","useContext","inheritForm","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","supportEnterEvent","_ctx$filterFormItemKe","onReset","validateFields","$await_2","$If_1","formRowChildren","defaultRightList","ButtonWrapper","type","htmlType","loadingPosition","_ctx$filterFormItemKe3","cursor","text","Boolean","customFormOperateCol","customRightList","rightList","leftList","_toConsumableArray","changeFolditem","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","index","find","keyItem","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","FoldOperate","rowSelection","render","recrd","Drawer","open","onClose","width","styles","body","Table","bordered","rowKey","scroll","x","useColumnsAppendTips","tempList","tooltip","tipsWrapperProps","otherProps","_objectWithoutProperties","_excluded","TipsWrapper","tipType","popoverProps","TableTitleTooltip","useColumnsAppendInnerColumn","columnsNew","finalItem","foldColumnTarget","_props$columnFoldConf2","_props$columnFoldConf3","_props$columnFoldConf4","_props$columnFoldConf5","_props$columnFoldConf6","_props$columnFoldConf7","FlexLayout","direction","fullIndex","alignItems","IconWrapper","icon","SvgHttpView","svgPath","color","hoverTips","hoverTipText","margin","useColumnsToHidden","useColumnByAsyncColumnRequest","asyncColumnRequestResult","removeGap","asyncRender","record","_item$asyncRender","TitleRender","_props$actions","actions","marginBottom","fontWeight","Space","EasyTableTable","isSync","asyncColumnRequestResultRef","setAsyncColumnRequestResult","_ctx$dynamicColumnsCo","useEffect","_loop","element","catch","columnsOriginal","tablePaginationData","onChangePage","filters","sorter","extra","action","_props$onChange","isUndefinedOrNull","fixed","tableRender","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","fbaUtils","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3137,8 +3137,14 @@ export type EasyTableProps = {
|
|
|
3137
3137
|
export type EasyTableRefApi = {
|
|
3138
3138
|
/** 外部发起请求服务 */
|
|
3139
3139
|
onRequest: (params?: TPlainObject) => void;
|
|
3140
|
-
/**
|
|
3140
|
+
/**
|
|
3141
|
+
* 已经点击查询后的请求参数,不包含实时输入后未点击查询的参数
|
|
3142
|
+
*/
|
|
3141
3143
|
getRequestParams: () => TPlainObject;
|
|
3144
|
+
/**
|
|
3145
|
+
* 实时输入的请求参数
|
|
3146
|
+
*/
|
|
3147
|
+
getFilterRealTimeParams: () => TPlainObject;
|
|
3142
3148
|
/**
|
|
3143
3149
|
* 清除Form查询条件
|
|
3144
3150
|
* ```
|
|
@@ -74,7 +74,7 @@ var getFormLayoutClassName = function getFormLayoutClassName(props) {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
if (props.labelAlign) {
|
|
77
|
-
var _regex2 = /.*form-label-align-(left|right).*/;
|
|
77
|
+
var _regex2 = /.*form-label-align-(?:left|right).*/;
|
|
78
78
|
if (!_regex2.test(oldClassName)) {
|
|
79
79
|
newClassName = classNames(newClassName, "form-label-align-".concat(props.labelAlign));
|
|
80
80
|
}
|
|
@@ -103,7 +103,7 @@ var getFormItemLayoutClassName = function getFormItemLayoutClassName(props) {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
if (props.labelAlign) {
|
|
106
|
-
var _regex5 = /.*form-item-label-align-(left|right).*/;
|
|
106
|
+
var _regex5 = /.*form-item-label-align-(?:left|right).*/;
|
|
107
107
|
if (!_regex5.test(oldClassName)) {
|
|
108
108
|
newClassName = classNames(newClassName, "form-item-label-align-".concat(props.labelAlign));
|
|
109
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pre-defined-class-name/form/index.tsx","@flatbiz/antd/src/pre-defined-class-name/index.ts"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport './style.less';\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_140: 'form-label-140',\n label_width_150: 'form-label-150',\n label_width_160: 'form-label-160',\n label_width_170: 'form-label-170',\n label_width_180: 'form-label-180',\n label_width_190: 'form-label-190',\n label_width_200: 'form-label-200',\n label_width_auto: 'form-label-auto',\n label_align_left: 'form-label-align-left',\n label_align_right: 'form-label-align-right',\n label_value_vertical: 'form-label-value-vertical',\n /** formItem之间的垂直间距为15 */\n formItemGap15: 'form-formitem-gap-15',\n /** formItem之间的垂直间距为8 */\n formItemGap8: 'form-formitem-gap-8',\n /** formItem之间的垂直间距为8 */\n formItemGap5: 'form-formitem-gap-5',\n /** formItem之间的垂直间距为0 */\n formItemGap0: 'form-formitem-gap-0',\n};\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_140: 'form-item-label-140',\n label_width_150: 'form-item-label-150',\n label_width_160: 'form-item-label-160',\n label_width_170: 'form-item-label-170',\n label_width_180: 'form-item-label-180',\n label_width_190: 'form-item-label-190',\n label_width_200: 'form-item-label-200',\n label_width_auto: 'form-item-label-auto',\n label_align_left: 'form-item-label-align-left',\n label_align_right: 'form-item-label-align-right',\n label_value_vertical: 'form-item-label-value-vertical',\n};\n\nexport type TFormLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /** formItem之间竖直间距,默认值:24 */\n formItemGap?: '24' | '15' | '8' | '5' | '0';\n /**\n * className 中可能会包含 preDefinedClassName.form.xx,优先级大于 labelWidth、labelItemVertical、labelAlign、formItemGap\n */\n className?: string;\n};\n\nexport const getFormLayoutClassName = (props: TFormLayoutPreClassNameProps) => {\n const oldClassName = props.className || '';\n let newClassName = '';\n if (props.labelWidth) {\n const regex = /.*form-label-\\d.*/;\n if (!regex.test(oldClassName)) {\n newClassName = `form-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /.*form-label-value-vertical.*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(newClassName, 'form-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /.*form-label-align-(left|right).*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(\n newClassName,\n `form-label-align-${props.labelAlign}`\n );\n }\n }\n if (props.formItemGap) {\n const regex = /.*form-formitem-gap-\\d.*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(\n newClassName,\n `form-formitem-gap-${props.formItemGap}`\n );\n }\n }\n\n return classNames(newClassName, oldClassName);\n};\n\nexport type TFormItemLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /**\n * className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign\n */\n className?: string;\n};\n\nexport const getFormItemLayoutClassName = (\n props: TFormItemLayoutPreClassNameProps\n) => {\n const oldClassName = props.className || '';\n let newClassName = '';\n if (props.labelWidth) {\n const regex = /.*form-label-\\d.*/;\n if (!regex.test(oldClassName)) {\n newClassName = `form-item-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /.*form-item-label-value-vertical.*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(newClassName, 'form-item-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /.*form-item-label-align-(left|right).*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(\n newClassName,\n `form-item-label-align-${props.labelAlign}`\n );\n }\n }\n return classNames(newClassName, oldClassName);\n};\n","import {\n formClassName,\n formItemClassName,\n getFormItemLayoutClassName,\n getFormLayoutClassName,\n} from './form/index.jsx';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n /**\n * @deprecated,已过期,使用preDefinedClassName.getFormLayoutClassName(...)\n */\n form: formClassName,\n /**\n * @deprecated 已过期,使用preDefinedClassName.getFormItemLayoutClassName(...)\n */\n formItem: formItemClassName,\n /**\n * 获取针对Form下全部label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * 4. formItem之间的间距\n * ```\n */\n getFormLayoutClassName,\n /**\n * 获取针对单个FormItem label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * ```\n */\n getFormItemLayoutClassName,\n};\n"],"names":["formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_140","label_width_150","label_width_160","label_width_170","label_width_180","label_width_190","label_width_200","label_width_auto","label_align_left","label_align_right","label_value_vertical","formItemGap15","formItemGap8","formItemGap5","formItemGap0","formItemClassName","getFormLayoutClassName","props","oldClassName","className","newClassName","labelWidth","regex","test","concat","labelItemVertical","_classNames","labelAlign","formItemGap","getFormItemLayoutClassName","preDefinedClassName","form","formItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pre-defined-class-name/form/index.tsx","@flatbiz/antd/src/pre-defined-class-name/index.ts"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport './style.less';\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_140: 'form-label-140',\n label_width_150: 'form-label-150',\n label_width_160: 'form-label-160',\n label_width_170: 'form-label-170',\n label_width_180: 'form-label-180',\n label_width_190: 'form-label-190',\n label_width_200: 'form-label-200',\n label_width_auto: 'form-label-auto',\n label_align_left: 'form-label-align-left',\n label_align_right: 'form-label-align-right',\n label_value_vertical: 'form-label-value-vertical',\n /** formItem之间的垂直间距为15 */\n formItemGap15: 'form-formitem-gap-15',\n /** formItem之间的垂直间距为8 */\n formItemGap8: 'form-formitem-gap-8',\n /** formItem之间的垂直间距为8 */\n formItemGap5: 'form-formitem-gap-5',\n /** formItem之间的垂直间距为0 */\n formItemGap0: 'form-formitem-gap-0',\n};\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_140: 'form-item-label-140',\n label_width_150: 'form-item-label-150',\n label_width_160: 'form-item-label-160',\n label_width_170: 'form-item-label-170',\n label_width_180: 'form-item-label-180',\n label_width_190: 'form-item-label-190',\n label_width_200: 'form-item-label-200',\n label_width_auto: 'form-item-label-auto',\n label_align_left: 'form-item-label-align-left',\n label_align_right: 'form-item-label-align-right',\n label_value_vertical: 'form-item-label-value-vertical',\n};\n\nexport type TFormLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /** formItem之间竖直间距,默认值:24 */\n formItemGap?: '24' | '15' | '8' | '5' | '0';\n /**\n * className 中可能会包含 preDefinedClassName.form.xx,优先级大于 labelWidth、labelItemVertical、labelAlign、formItemGap\n */\n className?: string;\n};\n\nexport const getFormLayoutClassName = (props: TFormLayoutPreClassNameProps) => {\n const oldClassName = props.className || '';\n let newClassName = '';\n if (props.labelWidth) {\n const regex = /.*form-label-\\d.*/;\n if (!regex.test(oldClassName)) {\n newClassName = `form-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /.*form-label-value-vertical.*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(newClassName, 'form-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /.*form-label-align-(?:left|right).*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(\n newClassName,\n `form-label-align-${props.labelAlign}`\n );\n }\n }\n if (props.formItemGap) {\n const regex = /.*form-formitem-gap-\\d.*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(\n newClassName,\n `form-formitem-gap-${props.formItemGap}`\n );\n }\n }\n\n return classNames(newClassName, oldClassName);\n};\n\nexport type TFormItemLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /**\n * className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign\n */\n className?: string;\n};\n\nexport const getFormItemLayoutClassName = (\n props: TFormItemLayoutPreClassNameProps\n) => {\n const oldClassName = props.className || '';\n let newClassName = '';\n if (props.labelWidth) {\n const regex = /.*form-label-\\d.*/;\n if (!regex.test(oldClassName)) {\n newClassName = `form-item-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /.*form-item-label-value-vertical.*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(newClassName, 'form-item-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /.*form-item-label-align-(?:left|right).*/;\n if (!regex.test(oldClassName)) {\n newClassName = classNames(\n newClassName,\n `form-item-label-align-${props.labelAlign}`\n );\n }\n }\n return classNames(newClassName, oldClassName);\n};\n","import {\n formClassName,\n formItemClassName,\n getFormItemLayoutClassName,\n getFormLayoutClassName,\n} from './form/index.jsx';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n /**\n * @deprecated,已过期,使用preDefinedClassName.getFormLayoutClassName(...)\n */\n form: formClassName,\n /**\n * @deprecated 已过期,使用preDefinedClassName.getFormItemLayoutClassName(...)\n */\n formItem: formItemClassName,\n /**\n * 获取针对Form下全部label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * 4. formItem之间的间距\n * ```\n */\n getFormLayoutClassName,\n /**\n * 获取针对单个FormItem label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * ```\n */\n getFormItemLayoutClassName,\n};\n"],"names":["formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_140","label_width_150","label_width_160","label_width_170","label_width_180","label_width_190","label_width_200","label_width_auto","label_align_left","label_align_right","label_value_vertical","formItemGap15","formItemGap8","formItemGap5","formItemGap0","formItemClassName","getFormLayoutClassName","props","oldClassName","className","newClassName","labelWidth","regex","test","concat","labelItemVertical","_classNames","labelAlign","formItemGap","getFormItemLayoutClassName","preDefinedClassName","form","formItem"],"mappings":"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"}
|