@flatbiz/antd
Version:
1,243 lines (1,223 loc) • 60.1 kB
JavaScript
/* eslint-disable */
import './../box-grid/index.css';
import './../fba-hooks/index.css';
import './../fba-utils/index.css';
import './../form-grid/index.css';
import './../pre-defined-class-name/index.css';
import './index.css';
/*! @flatjs/forge MIT @flatbiz/antd */
import { f as fbaUtils } from '../fba-utils-CusZeveq.js';
import { isArray } from '@dimjs/lang/is-array';
import { isObject } from '@dimjs/lang/is-object';
import { b as _objectSpread2, a as _slicedToArray, i as _defineProperty, c as _toConsumableArray, _ as _objectWithoutProperties } from '../_rollupPluginBabelHelpers-BspM60Sw.js';
import { sessionStorageCache, localStorageCache, noop, trim, getUuid, isUndefinedOrNull, isMac } from '@flatbiz/utils';
import { classNames } from '@dimjs/utils/class-names/class-names';
import { isUndefined } from '@dimjs/lang/is-undefined';
import { get } from '@dimjs/utils/get/get';
import { isString } from '@dimjs/lang/is-string';
import { createContext, useState, Fragment, forwardRef, useRef, useMemo, useImperativeHandle, cloneElement, useContext, Children, useEffect } from 'react';
import { useMemoizedFn, useUpdateEffect } from 'ahooks';
import { Checkbox, Popover, Form, message, Badge, Drawer, Table, Empty, Space } from 'antd';
import { fbaHooks } from '../fba-hooks/index.js';
import { P as PaginationWrapper } from '../pagination-BHbEACI4.js';
import { jsx, jsxs } from 'react/jsx-runtime';
import _DownOutlined from '@ant-design/icons/es/icons/DownOutlined.js';
import _UpOutlined from '@ant-design/icons/es/icons/UpOutlined.js';
import { isFragment } from 'react-is';
import { B as BlockLayout } from '../layout-2woF_D6T.js';
import { B as ButtonWrapper } from '../button-wrapper-BGjkUPpk.js';
import { E as EasyForm } from '../form-ByFljQr9.js';
import { FormGrid } from '../form-grid/index.js';
import { F as FlexLayout } from '../flex-layout-BGtMe7zr.js';
import { T as TableScrollbar } from '../table-scrollbar-yqz5FkCz.js';
import { I as IconWrapper } from '../icon-wrapper-DE97bI14.js';
import { S as SvgHttpView } from '../svg-CqFW3W-s.js';
import { T as TipsWrapper } from '../tips-wrapper-DvbgHMwl.js';
import '../use-responsive-point-Bp3D3lZT.js';
import '@ant-design/icons/es/icons/LoadingOutlined.js';
import '@dimjs/lang/is-promise';
import '../config-provider-wrapper-Bxh9JdL4.js';
import 'antd/es/locale/en_US.js';
import 'antd/es/locale/zh_CN.js';
import 'dayjs';
import 'dayjs/plugin/advancedFormat.js';
import 'dayjs/plugin/customParseFormat.js';
import 'dayjs/plugin/localeData.js';
import 'dayjs/plugin/utc.js';
import 'dayjs/plugin/weekday.js';
import 'dayjs/plugin/weekOfYear.js';
import 'dayjs/plugin/weekYear.js';
import '@dimjs/utils/extend/extend';
import 'dayjs/locale/en.js';
import 'dayjs/locale/zh-cn.js';
import '../box-grid/index.js';
import '@dimjs/lang/is-number';
import '../form-wrapper-DBDMN0mN.js';
import '../pre-defined-class-name/index.js';
import '@ant-design/icons/es/icons/QuestionCircleOutlined.js';
var filterCache = {
set: function set(cacheKey, filterCondition) {
var value = filterCache.get(cacheKey);
var mergeParams = _objectSpread2(_objectSpread2({}, value), filterCondition);
sessionStorageCache.set("easy_tab_filter_".concat(cacheKey), mergeParams);
return mergeParams;
},
get: function get(cacheKey) {
var value = sessionStorageCache.get("easy_tab_filter_".concat(cacheKey));
return isObject(value) ? value : {};
},
remove: function remove(cacheKey) {
sessionStorageCache.remove("easy_tab_filter_".concat(cacheKey));
}
};
var firstQueryCache = {
set: function set(cacheKey, flag) {
sessionStorageCache.set("easy_tab_firstQuery_".concat(cacheKey), {
value: flag
});
},
get: function get(cacheKey) {
var _sessionStorageCache$;
var value = (_sessionStorageCache$ = sessionStorageCache.get("easy_tab_firstQuery_".concat(cacheKey))) === null || _sessionStorageCache$ === void 0 ? void 0 : _sessionStorageCache$.value;
return value === false ? false : true;
},
remove: function remove(cacheKey) {
sessionStorageCache.remove("easy_tab_firstQuery_".concat(cacheKey));
}
};
var columnFoldCache = {
set: function set(cacheKey, value) {
localStorageCache.set("easy_tab_columnFold_".concat(cacheKey), {
value: value
});
},
get: function get(cacheKey) {
var _localStorageCache$ge;
var value = (_localStorageCache$ge = localStorageCache.get("easy_tab_columnFold_".concat(cacheKey))) === null || _localStorageCache$ge === void 0 ? void 0 : _localStorageCache$ge.value;
return isArray(value) ? value : [];
},
remove: function remove(cacheKey) {
localStorageCache.remove("easy_tab_columnFold_".concat(cacheKey));
}
};
var EasyTableContext = /*#__PURE__*/createContext({
onRequest: noop,
tableList: [],
getEasyTableRef: function getEasyTableRef() {
//
}
});
var FoldOperateDropdown = function FoldOperateDropdown(props) {
var _useState = useState(props.initSelectedRowKeys || []),
_useState2 = _slicedToArray(_useState, 2),
selectedRowKeys = _useState2[0],
setSelectedRowKeys = _useState2[1];
var onChange = function onChange(keys) {
setSelectedRowKeys(keys);
props.onChange(keys);
if (props.cacheKey) {
columnFoldCache.set(props.cacheKey, keys);
}
};
var content = /*#__PURE__*/jsx(Fragment, {
children: /*#__PURE__*/jsx(Checkbox.Group, {
defaultValue: selectedRowKeys,
onChange: onChange,
value: selectedRowKeys,
style: {
display: 'flex',
flexDirection: 'column'
},
children: props.dataList.map(function (item) {
var label = item['_isFoldTitle'] || item.title;
return /*#__PURE__*/jsx(Checkbox, {
value: item.dataIndex,
style: {
padding: '0 0 5px 0'
},
children: label
}, item.dataIndex);
})
})
});
var onChangeAll = function onChangeAll(e) {
if (e.target.checked) {
onChange(props.dataList.map(function (item) {
return item.dataIndex;
}));
} else {
onChange([]);
}
};
return /*#__PURE__*/jsx(Popover, {
content: content,
title: /*#__PURE__*/jsx(Checkbox, {
checked: selectedRowKeys.length === props.dataList.length,
onChange: onChangeAll,
children: "\u5168\u9009"
}),
placement: "bottomRight",
overlayClassName: "fold-operate-popiver",
children: props.children
});
};
var getFormFieldsValue = function getFormFieldsValue(form, filterFormItemKeys) {
var formValues = form.getFieldsValue() || {};
if (!(filterFormItemKeys !== null && filterFormItemKeys !== void 0 && filterFormItemKeys.length)) {
return formValues;
}
var values = {};
filterFormItemKeys.forEach(function (item) {
values[item] = formValues[item];
});
return values;
};
/**
* 请求参数内部转换处理
* ```
* 1. 对象中值为空字符串、null、undefined 的key值,直接删除
* 2. 对象中以`__#invalid_xxxx`开头的key值,直接删除
* 3. 注意params可能会有嵌套,只考虑object嵌套
* ```
*/
var _requestParamsInternalAdapter = function requestParamsInternalAdapter(params) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (!params || typeof params !== 'object' || Array.isArray(params)) {
return params;
}
var _options$removeEmptyV = options.removeEmptyValue,
removeEmptyValue = _options$removeEmptyV === void 0 ? true : _options$removeEmptyV;
var result = {};
for (var key in params) {
if (!Object.prototype.hasOwnProperty.call(params, key)) {
continue;
}
var value = params[key];
if (typeof value === 'string') {
value = trim(value, true);
}
// 删除以 `__#invalid_` 开头的key
if (key.includes('__#invalid_') || removeEmptyValue && (value === '' || value === null || value === undefined)) {
continue;
}
// 处理嵌套对象
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
result[key] = _requestParamsInternalAdapter(value, options);
} else {
result[key] = value;
}
}
return result;
};
var EasyTable$1 = /*#__PURE__*/forwardRef(function (props, ref) {
var screenType = fbaHooks.useResponsivePoint() || '';
var _useState = useState(),
_useState2 = _slicedToArray(_useState, 2),
dataSource = _useState2[0],
setDataSource = _useState2[1];
var _useState3 = useState(0),
_useState4 = _slicedToArray(_useState3, 2),
total = _useState4[0],
setTotal = _useState4[1];
var _useState5 = useState(false),
_useState6 = _slicedToArray(_useState5, 2),
loading = _useState6[0],
setLoading = _useState6[1];
var columnFoldConfig = props.columnFoldConfig;
var asyncColumnRequest = props.asyncColumnRequest;
// 记录是否发起过请求
var alreadyRequestFlag = useRef(false);
var removeRequestParamsEmptyValue = props.removeRequestParamsEmptyValue === undefined ? true : props.removeRequestParamsEmptyValue;
var _useState7 = useState(false),
_useState8 = _slicedToArray(_useState7, 2),
columnFoldOpen = _useState8[0],
setColumnFoldOpen = _useState8[1];
var cacheKey = useMemo(function () {
if (props.cacheKey) {
try {
var iframe = window.frameElement;
var iframeId = (iframe === null || iframe === void 0 ? void 0 : iframe.id) || '';
return "".concat(props.cacheKey, "_").concat(iframeId);
} catch (_error) {
return props.cacheKey;
}
}
return "".concat(Date.now(), "-").concat(getUuid());
}, [props.cacheKey]);
var cacheParams = filterCache.get(cacheKey);
var _useState9 = useState(function () {
if (cacheKey) {
var columnFoldCacheValue = columnFoldCache.get(cacheKey);
var cacheKeyList = isArray(columnFoldCacheValue) ? columnFoldCacheValue.filter(function (item) {
return isString(item);
}) : [];
return cacheKeyList.length > 0 ? cacheKeyList : (columnFoldConfig === null || columnFoldConfig === void 0 ? void 0 : columnFoldConfig.initSelectedKeys) || [];
} else {
return (columnFoldConfig === null || columnFoldConfig === void 0 ? void 0 : columnFoldConfig.initSelectedKeys) || [];
}
}),
_useState0 = _slicedToArray(_useState9, 2),
showFoldKeyList = _useState0[0],
setShowFoldKeyList = _useState0[1];
var pageSize = props.pageSize || 10;
var cancelInitAutoRequest = useMemo(function () {
if (typeof props.cancelInitAutoRequest === 'function') {
return props.cancelInitAutoRequest();
}
if (!isUndefinedOrNull(props.cancelInitAutoRequest)) {
return props.cancelInitAutoRequest;
}
return props.initRequest == false ? true : false;
}, [props]);
var alwaysCancelInitAutoRequest = useMemo(function () {
if (typeof props.alwaysCancelInitAutoRequest === 'function') {
return props.alwaysCancelInitAutoRequest();
}
return props.alwaysCancelInitAutoRequest;
}, [props]);
var paginationStatusRef = useRef(false);
var respOriginalDataRef = useRef();
var baseColumnsRef = useRef([]);
var _useState1 = useState(),
_useState10 = _slicedToArray(_useState1, 2),
dynamicColumns = _useState10[0],
setDynamicColumns = _useState10[1];
var columnsRef = useRef([]);
var fieldNames = _objectSpread2({
list: 'list',
total: 'total',
pageNo: 'pageNo',
pageSize: 'pageSize'
}, props.fieldNames);
var outerForm = Form.useFormInstance();
var _Form$useForm = Form.useForm(props.form || outerForm),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var onInnerRequest = useMemoizedFn(function (params) {
return new Promise(function ($return, $error) {
var _props$onDataSourceCh, paramsAll, _props$serviceConfig, requestParamsAdapter, onRequest, requestResultAdapter, dynamicColumsAdapter, paramsNew, respData, respDataNew, _dynamicColumns, respList;
var $Try_2_Post = function () {
try {
return $return();
} catch ($boundEx) {
return $error($boundEx);
}
};
var $Try_2_Catch = function (error) {
try {
setLoading(false);
if (props.onRequestErrorHandle) {
props.onRequestErrorHandle(error);
} else {
void message.error((error === null || error === void 0 ? void 0 : error.message) || '未知异常');
}
return $Try_2_Post();
} catch ($boundEx) {
return $error($boundEx);
}
};
try {
if (props.breforeRequest) {
var $Try_3_Post = function () {
try {
return $If_4.call(this);
} catch ($boundEx) {
return $Try_2_Catch($boundEx);
}
}.bind(this);
var $Try_3_Catch = function (_error) {
try {
return $return();
} catch ($boundEx) {
return $Try_2_Catch($boundEx);
}
};
try {
return Promise.resolve(props.breforeRequest(form)).then(function ($await_5) {
try {
return $Try_3_Post();
} catch ($boundEx) {
return $Try_3_Catch($boundEx);
}
}, $Try_3_Catch);
} catch (_error) {
$Try_3_Catch(_error);
}
}
function $If_4() {
firstQueryCache.set(cacheKey, false);
paramsAll = filterCache.set(cacheKey, params);
setLoading(true);
_props$serviceConfig = props.serviceConfig, requestParamsAdapter = _props$serviceConfig.requestParamsAdapter, onRequest = _props$serviceConfig.onRequest, requestResultAdapter = _props$serviceConfig.requestResultAdapter, dynamicColumsAdapter = _props$serviceConfig.dynamicColumsAdapter;
paramsNew = _requestParamsInternalAdapter(paramsAll, {
removeEmptyValue: removeRequestParamsEmptyValue
});
paramsNew = requestParamsAdapter ? requestParamsAdapter(paramsNew, paramsAll) : paramsNew;
return Promise.resolve(onRequest(paramsNew)).then(function ($await_6) {
try {
respData = $await_6 || {};
alreadyRequestFlag.current = true;
respOriginalDataRef.current = respData;
(_props$onDataSourceCh = props.onDataSourceChange) === null || _props$onDataSourceCh === void 0 || _props$onDataSourceCh.call(props, respData);
respDataNew = respData;
if (requestResultAdapter) {
respDataNew = requestResultAdapter(respData);
}
if (dynamicColumsAdapter) {
_dynamicColumns = dynamicColumsAdapter(respData, baseColumnsRef.current);
/** 不要添加默认值 */
setDynamicColumns(_dynamicColumns);
}
respList = get(respDataNew, fieldNames.list);
setDataSource(isArray(respList) ? respList : []);
setTotal(get(respDataNew, fieldNames.total));
setLoading(false);
return $Try_2_Post();
} catch ($boundEx) {
return $Try_2_Catch($boundEx);
}
}, $Try_2_Catch);
}
return $If_4.call(this);
} catch (error) {
$Try_2_Catch(error);
}
});
});
fbaHooks.useEffectCustom(function () {
var hasPagination = getPaginationStatus();
var firstQueryFlag = firstQueryCache.get(cacheKey);
/** 缓存的优先级高于 initialValues */
form.setFieldsValue(_objectSpread2(_objectSpread2({}, props.initialValues), cacheParams));
if (alwaysCancelInitAutoRequest) {
filterCache.set(cacheKey, props.initialValues || {});
return;
}
if (!cancelInitAutoRequest || !firstQueryFlag) {
if (hasPagination) {
void onInnerRequest(_objectSpread2(_objectSpread2(_defineProperty(_defineProperty({}, fieldNames.pageNo, 1), fieldNames.pageSize, pageSize), props.initialValues), cacheParams));
} else {
void onInnerRequest(props.initialValues);
}
} else {
filterCache.set(cacheKey, props.initialValues || {});
}
}, []);
var clearQueryCondition = useMemoizedFn(function (values) {
filterCache.remove(cacheKey);
form.resetFields();
if (values) {
filterCache.set(cacheKey, values);
form.setFieldsValue(values);
}
});
var updateQueryCondition = useMemoizedFn(function (values) {
filterCache.set(cacheKey, values);
form.setFieldsValue(values);
});
var getPaginationData = function getPaginationData(pageNo, _pageSize) {
if (getPaginationStatus()) {
return _defineProperty(_defineProperty({}, fieldNames.pageNo, pageNo), fieldNames.pageSize, _pageSize || pageSize);
} else {
return _defineProperty(_defineProperty({}, fieldNames.pageNo, undefined), fieldNames.pageSize, undefined);
}
};
var onResetRequest = useMemoizedFn(function (values) {
var params = _objectSpread2(_objectSpread2(_objectSpread2({}, getPaginationData(1, cacheParams[fieldNames.pageSize])), props.initialValues), values);
filterCache.remove(cacheKey);
form.resetFields();
if (values) {
form.setFieldsValue(values);
}
void onInnerRequest(params);
});
var getRequestParams = useMemoizedFn(function () {
var _props$filterFormItem;
var cacheParams = filterCache.get(cacheKey);
var parameAll = _objectSpread2(_objectSpread2({}, cacheParams), form.getFieldsValue());
var params = _objectSpread2({}, getPaginationData(1, parameAll[fieldNames.pageSize]));
if ((_props$filterFormItem = props.filterFormItemKeys) !== null && _props$filterFormItem !== void 0 && _props$filterFormItem.length) {
props.filterFormItemKeys.forEach(function (item) {
params[item] = parameAll[item];
});
} else {
params = _objectSpread2(_objectSpread2({}, parameAll), params);
}
return _requestParamsInternalAdapter(params, {
removeEmptyValue: removeRequestParamsEmptyValue
});
});
var onOpenColumnFoldModal = useMemoizedFn(function () {
setColumnFoldOpen(true);
});
var onCloseColumnFoldModal = useMemoizedFn(function () {
setColumnFoldOpen(false);
});
var getSubmitParams = useMemoizedFn(function () {
var _props$filterFormItem2;
var cacheParams = filterCache.get(cacheKey);
var params = _objectSpread2({}, getPaginationData(1, cacheParams[fieldNames.pageSize]));
if ((_props$filterFormItem2 = props.filterFormItemKeys) !== null && _props$filterFormItem2 !== void 0 && _props$filterFormItem2.length) {
props.filterFormItemKeys.forEach(function (item) {
params[item] = cacheParams[item];
});
} else {
params = _objectSpread2(_objectSpread2({}, cacheParams), params);
}
return _requestParamsInternalAdapter(params, {
removeEmptyValue: removeRequestParamsEmptyValue
});
});
var getEasyTableRef = function getEasyTableRef() {
return {
/**
* 参数
* 1. 不用添加已存在的搜索条件
* 2. 此处可重新
*/
onRequest: onInnerRequest,
clearQueryCondition: clearQueryCondition,
updateQueryCondition: updateQueryCondition,
getRequestParams: getRequestParams,
getSubmitParams: getSubmitParams,
onResetRequest: onResetRequest,
form: form,
dataSource: respOriginalDataRef.current,
getDataSource: function getDataSource() {
return respOriginalDataRef.current;
},
onFilterDataSource: function onFilterDataSource(filterDataSource) {
setDataSource(filterDataSource);
},
getTableDataList: function getTableDataList() {
return dataSource || [];
},
onClearDataSource: function onClearDataSource() {
setTotal(0);
setDataSource([]);
},
onUpdateDataSource: function onUpdateDataSource(dataList) {
var _props$onDataSourceCh2;
setDataSource(dataList);
respOriginalDataRef.current = _defineProperty({}, fieldNames.list, dataList);
(_props$onDataSourceCh2 = props.onDataSourceChange) === null || _props$onDataSourceCh2 === void 0 || _props$onDataSourceCh2.call(props, respOriginalDataRef.current);
},
columnFoldTriggerRender: function columnFoldTriggerRender(children, columns) {
var _props$columnFoldConf;
if (((_props$columnFoldConf = props.columnFoldConfig) === null || _props$columnFoldConf === void 0 ? void 0 : _props$columnFoldConf.triggerType) === 'drawer') {
return /*#__PURE__*/cloneElement(children, {
onClick: onOpenColumnFoldModal
});
}
var foldColumnList = columns.filter(function (item) {
return !item.hidden && item.isFold && item.dataIndex;
});
return /*#__PURE__*/jsx(FoldOperateDropdown, {
dataList: foldColumnList,
onChange: onChangeFoldColumnList,
cacheKey: cacheKey,
initSelectedRowKeys: showFoldKeyList,
children: children
});
},
onChangeTableColumns: function onChangeTableColumns(columns) {
setDynamicColumns(columns);
},
getTableColumns: function getTableColumns() {
return columnsRef.current;
},
loading: loading,
setEnabledInitRequest: function setEnabledInitRequest() {
firstQueryCache.set(cacheKey, false);
}
};
};
useImperativeHandle(ref, function () {
return getEasyTableRef();
});
var onSetPaginationStatus = function onSetPaginationStatus(status) {
paginationStatusRef.current = status;
};
var onSetBaseColumns = function onSetBaseColumns(base) {
baseColumnsRef.current = base;
};
var onSetColumns = function onSetColumns(columns) {
columnsRef.current = columns;
};
var onFormFinish = function onFormFinish() {
if (loading) {
console.log('loading...');
return;
}
var values = getFormFieldsValue(form, props.filterFormItemKeys);
if (props.onFormFinish) {
props.onFormFinish(_objectSpread2(_objectSpread2({}, values), getPaginationData(1, cacheParams[fieldNames.pageSize])));
} else {
void onInnerRequest(_objectSpread2(_objectSpread2({}, values), getPaginationData(1, cacheParams[fieldNames.pageSize])));
}
};
var isFull = isUndefined(props.isFull) ? true : props.isFull;
var filterFixedFt = screenType === 'xs' ? false : props.filterFixed;
var className = classNames('fba-easy-table', {
'fba-easy-table-full': isFull,
'fba-easy-table-filter-fixed': filterFixedFt,
'fba-easy-table-pagination-fixed': props.paginationFixed
}, props.className);
var paginationData = fbaHooks.useMemoCustom(function () {
return _objectSpread2({
showSizeChanger: true,
current: cacheParams[fieldNames.pageNo] || 1,
pageSize: cacheParams[fieldNames.pageSize] || pageSize,
total: total,
showTotal: function showTotal(total) {
return "\u5171 ".concat(total, " \u6761\u8BB0\u5F55");
}
}, props.pagination);
}, [fieldNames.pageNo, cacheParams, fieldNames.pageSize, cacheKey, pageSize, props.pagination, total]);
var onChangeFoldColumnList = function onChangeFoldColumnList(keyList) {
var _columnFoldConfig$onC;
setShowFoldKeyList(keyList);
columnFoldConfig === null || columnFoldConfig === void 0 || (_columnFoldConfig$onC = columnFoldConfig.onChange) === null || _columnFoldConfig$onC === void 0 || _columnFoldConfig$onC.call(columnFoldConfig, keyList);
};
var onChange = useMemoizedFn(function (page, pageSize) {
var _props$pagination, _props$pagination$onC;
var params = _defineProperty(_defineProperty({}, fieldNames.pageSize, pageSize), fieldNames.pageNo, page);
filterCache.set(cacheKey, params);
void onInnerRequest(params);
(_props$pagination = props.pagination) === null || _props$pagination === void 0 || (_props$pagination$onC = _props$pagination.onChange) === null || _props$pagination$onC === void 0 || _props$pagination$onC.call(_props$pagination, page, pageSize);
});
var getPaginationStatus = function getPaginationStatus() {
return props.paginationFixed || paginationStatusRef.current;
};
// 分页参数发生变更
useUpdateEffect(function () {
if (props.paginationFixed) {
void onInnerRequest(_defineProperty(_defineProperty({}, fieldNames.pageSize, cacheParams[fieldNames.pageSize] || pageSize), fieldNames.pageNo, 1));
} else {
void onInnerRequest(_defineProperty(_defineProperty({}, fieldNames.pageSize, undefined), fieldNames.pageNo, undefined));
}
}, [props.paginationFixed]);
var wrapperClassName = classNames('fba-easy-table-wrapper', {
'fba-easy-table-wrapper-inline': props.isInline
}, props.className);
var wrapperStyle = _objectSpread2({
overflowY: props.filterFixed || props.paginationFixed ? 'hidden' : 'auto'
}, props.style);
var children = typeof props.children === 'function' ? props.children(respOriginalDataRef.current) : props.children;
var showCancelInitRequestTips = alreadyRequestFlag.current ? false : cancelInitAutoRequest || alwaysCancelInitAutoRequest;
return /*#__PURE__*/jsx(EasyTableContext.Provider, {
value: {
onSetBaseColumns: onSetBaseColumns,
onSetColumns: onSetColumns,
getEasyTableRef: getEasyTableRef,
cacheKey: cacheKey,
onRequest: onInnerRequest,
tableDataSource: dataSource,
tableTotal: total,
loading: loading,
fieldNames: fieldNames,
pageSize: pageSize,
onSetPaginationStatus: onSetPaginationStatus,
getPaginationStatus: getPaginationStatus,
onFormFinish: onFormFinish,
form: form,
paginationFixed: props.paginationFixed || false,
foldKeys: props.foldKeys || [],
columns: dynamicColumns,
initialValues: props.initialValues,
filterFormItemKeys: props.filterFormItemKeys,
showCancelInitRequestTips: showCancelInitRequestTips,
dynamicColumnsConfig: {
showFoldKeyList: showFoldKeyList,
onChangeShowFoldKeyList: onChangeFoldColumnList,
columnFoldConfig: columnFoldConfig,
onOpenColumnFoldModal: onOpenColumnFoldModal,
onCloseColumnFoldModal: onCloseColumnFoldModal,
columnFoldOpen: columnFoldOpen,
asyncColumnRequest: asyncColumnRequest
}
},
children: props.paginationFixed ? /*#__PURE__*/jsxs("div", {
className: wrapperClassName,
style: wrapperStyle,
children: [/*#__PURE__*/jsx("div", {
className: className,
children: children
}), total > 0 && /*#__PURE__*/jsx("div", {
className: "fba-easy-table-pagination",
children: /*#__PURE__*/jsx(PaginationWrapper, _objectSpread2(_objectSpread2({
size: "small"
}, paginationData), {}, {
onChange: onChange
}))
})]
}) : /*#__PURE__*/jsx("div", {
className: wrapperClassName,
style: props.style,
children: /*#__PURE__*/jsx("div", {
className: className,
children: children
})
})
});
});
/**
* 过滤条件
*```
* 1. 用法1
* -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
* <EasyTableFilter>
* <FormItemWrapper name="field1" label="条件1">xxx</FormItemWrapper>
* </EasyTableFilter>
*
* -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper
* <EasyTableFilter>
* <FormGrid.Col span={12}><FormItemWrapper name="field1" label="条件1">xxx</FormItemWrapper></FormGrid.Col>
* </EasyTableFilter>
*
* -- children 可为 function
* <EasyTableFilter>
* {(form) => {
* return <FormItemWrapper name="field1" label="条件1">xxx</FormItemWrapper>
* }}
* </EasyTableFilter>
*
* 2. 用户2(自定义布局)
* EasyTableFilter设置 isPure = true,FormItem无布局规则
* 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例
* 4. 默认布局下,可通过设置 filterOperate 设置操作按钮
* 5. Filter 子节点包含 hidden = true 会被忽略
* 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden
* 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true
* 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等
*```
*/
var EasyTableFilter = function EasyTableFilter(props) {
var _ctx$filterFormItemKe2;
var screenType = fbaHooks.useResponsivePoint() || 'md';
var ctx = useContext(EasyTableContext);
var inheritForm = Form.useFormInstance();
// 当条件输入有变化时,在查询按钮上添加一个小红点提示
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
showQueryTips = _useState2[0],
setShowQueryTips = _useState2[1];
// const [emptyText, setEmptyText] = useState<string>('');
var queryButtonProps = props.queryButtonProps,
resetButtonProps = props.resetButtonProps,
filterOperate = props.filterOperate,
_props$formClassName = props.formClassName,
formClassName = _props$formClassName === void 0 ? '' : _props$formClassName,
defaultResetButtonTriggerRequest = props.defaultResetButtonTriggerRequest,
filterWrapperStyle = props.filterWrapperStyle,
filterWrapperClassName = props.filterWrapperClassName,
rightOperateAreaAppendType = props.rightOperateAreaAppendType,
easyFormProps = props.easyFormProps;
var cacheKey = ctx.cacheKey,
foldKeys = ctx.foldKeys,
fieldNames = ctx.fieldNames,
onRequest = ctx.onRequest,
pageSize = ctx.pageSize,
getPaginationStatus = ctx.getPaginationStatus,
initialValues = ctx.initialValues,
form = ctx.form,
onFormFinish = ctx.onFormFinish;
var children = typeof props.children === 'function' ? props.children(form) : props.children;
var rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';
var childrens = useMemo(function () {
if (isFragment(children)) {
return Children.toArray(children.props.children);
} else {
return Children.toArray(children);
}
}, [children]);
var _useState3 = useState(false),
_useState4 = _slicedToArray(_useState3, 2),
openFold = _useState4[0],
setOpenFold = _useState4[1];
/** 是否支持回车事件 */
var supportEnterEvent = useMemo(function () {
var _ctx$filterFormItemKe;
if ((_ctx$filterFormItemKe = ctx.filterFormItemKeys) !== null && _ctx$filterFormItemKe !== void 0 && _ctx$filterFormItemKe.length || inheritForm) {
return false;
}
return true;
}, [(_ctx$filterFormItemKe2 = ctx.filterFormItemKeys) === null || _ctx$filterFormItemKe2 === void 0 ? void 0 : _ctx$filterFormItemKe2.length, inheritForm]);
var onReset = useMemoizedFn(function () {
return new Promise(function ($return, $error) {
if (ctx.loading) {
console.log('loading...');
return $return();
}
setShowQueryTips(false);
filterCache.remove(cacheKey);
form.resetFields();
form.setFieldsValue(initialValues);
if (isUndefined(defaultResetButtonTriggerRequest) || defaultResetButtonTriggerRequest) {
return Promise.resolve(form.validateFields(ctx.filterFormItemKeys)).then(function ($await_2) {
try {
if (getPaginationStatus()) {
onRequest(_objectSpread2(_defineProperty(_defineProperty({}, fieldNames.pageNo, 1), fieldNames.pageSize, pageSize), initialValues));
} else {
onRequest(initialValues);
}
return $If_1.call(this);
} catch ($boundEx) {
return $error($boundEx);
}
}.bind(this), $error);
}
function $If_1() {
return $return();
}
return $If_1.call(this);
});
});
var onFormFinishFn = useMemoizedFn(function () {
return new Promise(function ($return, $error) {
setShowQueryTips(false);
onFormFinish === null || onFormFinish === void 0 || onFormFinish();
return $return();
});
});
var formRowChildren = useMemo(function () {
var defaultRightList = [!(queryButtonProps !== null && queryButtonProps !== void 0 && queryButtonProps.hidden) ? /*#__PURE__*/jsx(ButtonWrapper, _objectSpread2(_objectSpread2({
type: "primary",
htmlType: supportEnterEvent ? 'submit' : undefined,
loadingPosition: "center",
loading: ctx.loading,
onClick: function onClick() {
return new Promise(function ($return, $error) {
var _ctx$filterFormItemKe3;
// 当前EasyTable嵌套在Form内部时,EasyForm 的 onFinish={onFormFinish}配置将失效
if (inheritForm || (_ctx$filterFormItemKe3 = ctx.filterFormItemKeys) !== null && _ctx$filterFormItemKe3 !== void 0 && _ctx$filterFormItemKe3.length) {
form.validateFields(ctx.filterFormItemKeys).then(function () {
onFormFinishFn === null || onFormFinishFn === void 0 || onFormFinishFn();
});
}
return $return();
});
}
}, queryButtonProps), {}, {
style: _objectSpread2(_objectSpread2({}, queryButtonProps === null || queryButtonProps === void 0 ? void 0 : queryButtonProps.style), {}, {
cursor: ctx.loading ? 'not-allowed' : undefined
}),
children: showQueryTips ? /*#__PURE__*/jsx(Badge, {
classNames: {
root: 'query-button-badge'
},
dot: true,
style: {
right: -3
},
children: (queryButtonProps === null || queryButtonProps === void 0 ? void 0 : queryButtonProps.text) || '查询'
}) : (queryButtonProps === null || queryButtonProps === void 0 ? void 0 : queryButtonProps.text) || '查询'
}), "1") : null, !(resetButtonProps !== null && resetButtonProps !== void 0 && resetButtonProps.hidden) ? /*#__PURE__*/jsx(ButtonWrapper, _objectSpread2(_objectSpread2({
onClick: onReset
}, resetButtonProps), {}, {
style: _objectSpread2(_objectSpread2({}, resetButtonProps === null || resetButtonProps === void 0 ? void 0 : resetButtonProps.style), {}, {
cursor: ctx.loading ? 'not-allowed' : undefined
}),
children: (resetButtonProps === null || resetButtonProps === void 0 ? void 0 : resetButtonProps.text) || '重置'
}), "2") : null].filter(Boolean);
var customFormOperateCol = filterOperate === null || filterOperate === void 0 ? void 0 : filterOperate(form);
var customRightList = customFormOperateCol === null || customFormOperateCol === void 0 ? void 0 : customFormOperateCol.rightList;
var leftList = (customFormOperateCol === null || customFormOperateCol === void 0 ? void 0 : customFormOperateCol.leftList) || [];
var rightList = defaultRightList;
if (customRightList) {
if (rightOperateAreaAppendTypeFt === 'afterAppend') {
rightList = [].concat(_toConsumableArray(defaultRightList), _toConsumableArray(customRightList));
} else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {
rightList = [].concat(_toConsumableArray(customRightList), _toConsumableArray(defaultRightList));
} else {
rightList = customRightList;
}
}
if (foldKeys.length > 0) {
var changeFolditem = /*#__PURE__*/jsx(ButtonWrapper, {
type: "link",
style: {
padding: '0'
},
onClick: function onClick() {
setOpenFold(!openFold);
},
children: openFold ? /*#__PURE__*/jsxs("span", {
children: ["\u6536\u8D77", /*#__PURE__*/jsx(_UpOutlined, {
style: {
marginLeft: 3,
fontSize: 12
}
})]
}) : /*#__PURE__*/jsxs("span", {
children: ["\u5C55\u5F00", /*#__PURE__*/jsx(_DownOutlined, {
style: {
marginLeft: 3,
fontSize: 12
}
})]
})
}, "fold-trigger");
if (rightList.length > 0 || leftList.length === 0) {
rightList.push(changeFolditem);
} else if ((leftList === null || leftList === void 0 ? void 0 : leftList.length) > 0) {
leftList.push(changeFolditem);
}
}
return childrens.map(function (item, index) {
if (!openFold && foldKeys.find(function (keyItem) {
return ".$".concat(keyItem) === item.key;
})) return null;
if (item.props['hidden']) return null;
if (item.type['domTypeName'] === 'FormCol') return item;
return /*#__PURE__*/jsx(FormGrid.Col, {
children: item
}, index);
}).filter(Boolean).concat(/*#__PURE__*/jsx(FormGrid.OperateCol, _objectSpread2(_objectSpread2({}, customFormOperateCol), {}, {
leftList: leftList,
rightList: rightList
}), 999));
}, [showQueryTips, queryButtonProps, supportEnterEvent, ctx.loading, ctx.filterFormItemKeys, resetButtonProps, onReset, filterOperate, form, foldKeys, childrens, inheritForm, onFormFinishFn, rightOperateAreaAppendTypeFt, openFold]);
var labelAlign = screenType === 'xs' ? 'left' : (easyFormProps === null || easyFormProps === void 0 ? void 0 : easyFormProps.labelAlign) || 'right';
return /*#__PURE__*/jsx(BlockLayout, {
className: classNames('easy-table-filter', filterWrapperClassName),
style: filterWrapperStyle,
children: /*#__PURE__*/jsx(EasyForm, _objectSpread2(_objectSpread2({
form: form,
autoComplete: "off",
onFinish: supportEnterEvent ? onFormFinishFn : undefined,
className: formClassName,
style: props.formStyle,
isPure: true,
labelWidth: "auto",
formItemGap: "15"
}, easyFormProps), {}, {
onValuesChange: function onValuesChange(changedValues, allValues) {
var _easyFormProps$onValu;
setShowQueryTips(true);
easyFormProps === null || easyFormProps === void 0 || (_easyFormProps$onValu = easyFormProps.onValuesChange) === null || _easyFormProps$onValu === void 0 || _easyFormProps$onValu.call(easyFormProps, changedValues, allValues);
},
labelAlign: labelAlign,
children: props.isPure ? children : /*#__PURE__*/jsx(FormGrid.Row, {
gutter: [15, 0],
gridSize: props.formGridSize,
children: formRowChildren
})
}))
});
};
/**
* 在 EasyTable子组件内才可使用
* @returns
*/
var useEasyTable = function useEasyTable() {
var ctx = useContext(EasyTableContext);
return ctx.getEasyTableRef();
};
var FoldOperate = function FoldOperate(props) {
var _useState = useState(props.initSelectedRowKeys || []),
_useState2 = _slicedToArray(_useState, 2),
selectedRowKeys = _useState2[0],
setSelectedRowKeys = _useState2[1];
var rowSelection = {
type: 'checkbox',
selectedRowKeys: selectedRowKeys,
onChange: function onChange(selectedRowKeys) {
setSelectedRowKeys(selectedRowKeys);
props.onChange(selectedRowKeys);
if (props.cacheKey) {
columnFoldCache.set(props.cacheKey, selectedRowKeys);
}
}
};
var columns = [{
title: '字段名称',
dataIndex: 'title',
render: function render(value, recrd) {
return recrd['_isFoldTitle'] || value;
}
}, {
title: '字段Key',
dataIndex: 'dataIndex'
}];
return /*#__PURE__*/jsx(Fragment, {
children: /*#__PURE__*/jsx(Drawer, {
title: "\u9009\u62E9\u5B57\u6BB5",
open: props.open,
onClose: props.onClose,
width: '35%',
styles: {
body: {
padding: 15
}
},
children: /*#__PURE__*/jsx(Table, {
bordered: true,
size: "small",
columns: columns,
rowSelection: rowSelection,
rowKey: "dataIndex",
pagination: false,
scroll: {
x: 'max-content'
},
dataSource: props.dataList
})
})
});
};
var _excluded$1 = ["tipsWrapperProps", "title"];
var useColumnsAppendTips = function useColumnsAppendTips(props) {
return useMemo(function () {
var tempList = props.columns.map(function (item) {
var tipsWrapperProps = item.tipsWrapperProps,
title = item.title,
otherProps = _objectWithoutProperties(item, _excluded$1);
if (typeof title === 'string' && tipsWrapperProps) {
if (typeof tipsWrapperProps === 'string') {
return _objectSpread2(_objectSpread2({}, otherProps), {}, {
title: /*#__PURE__*/jsx(TipsWrapper, {
tipType: "popover",
popoverProps: {
content: tipsWrapperProps
},
children: title
})
});
}
return _objectSpread2(_objectSpread2({}, otherProps), {}, {
title: /*#__PURE__*/jsx(TipsWrapper, _objectSpread2(_objectSpread2({}, tipsWrapperProps), {}, {
children: title
}))
});
}
return item;
}).filter(Boolean);
return _toConsumableArray(tempList);
}, [props.columns]);
};
var useColumnsAppendInnerColumn = function useColumnsAppendInnerColumn(props) {
var columnsNew = props.columns;
return fbaHooks.useMemoCustom(function () {
var _props$columnFoldConf;
if ((_props$columnFoldConf = props.columnFoldConfig) !== null && _props$columnFoldConf !== void 0 && _props$columnFoldConf.hidden) return columnsNew;
var finalItem = columnsNew[columnsNew.length - 1];
if (props.foldColumnList.length > 0 && columnsNew.length > 0) {
var foldColumnTarget = columnsNew.find(function (item) {
return item['_isFoldColumn'];
});
if (foldColumnTarget && finalItem.dataIndex !== foldColumnTarget.dataIndex) {
foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];
foldColumnTarget['_isFoldColumn'] = false;
}
if (!finalItem['_isFoldColumn']) {
var _props$columnFoldConf2, _props$columnFoldConf3, _props$columnFoldConf4, _props$columnFoldConf5, _props$columnFoldConf6, _props$columnFoldConf7;
finalItem['_isFoldTitle'] = finalItem['_isFoldTitle'] || finalItem.title;
finalItem['_isFoldColumn'] = true;
var triggerType = (_props$columnFoldConf2 = props.columnFoldConfig) === null || _props$columnFoldConf2 === void 0 ? void 0 : _props$columnFoldConf2.triggerType;
finalItem.title = /*#__PURE__*/jsxs(FlexLayout, {
direction: "horizontal",
fullIndex: 0,
style: {
alignItems: 'center'
},
children: [/*#__PURE__*/jsx("span", {
children: finalItem.title
}), /*#__PURE__*/jsx("div", {
style: {
padding: '0 5px 0 20px',
display: 'flex'
},
children: triggerType === 'drawer' ? /*#__PURE__*/jsx(IconWrapper, {
onClick: props.onOpenColumnFoldModal,
text: (_props$columnFoldConf3 = props.columnFoldConfig) === null || _props$columnFoldConf3 === void 0 ? void 0 : _props$columnFoldConf3.text,
size: "small",
icon: ((_props$columnFoldConf4 = props.columnFoldConfig) === null || _props$columnFoldConf4 === void 0 ? void 0 : _props$columnFoldConf4.icon) || /*#__PURE__*/jsx(SvgHttpView, {
svgPath: "ionic/list-circle",
color: "#868686"
}),
hoverTips: ((_props$columnFoldConf5 = props.columnFoldConfig) === null || _props$columnFoldConf5 === void 0 ? void 0 : _props$columnFoldConf5.hoverTipText) || '字段列表',
style: {
padding: 0,
margin: 0
}
}) : /*#__PURE__*/jsx(FoldOperateDropdown, {
dataList: props.foldColumnList,
onChange: props.onChangeFoldColumnList,
cacheKey: props.cacheKey,
initSelectedRowKeys: props.showFoldKeyList,
children: /*#__PURE__*/jsx(IconWrapper, {
text: (_props$columnFoldConf6 = props.columnFoldConfig) === null || _props$columnFoldConf6 === void 0 ? void 0 : _props$columnFoldConf6.text,
style: {
padding: 0,
margin: 0
},
size: "small",
icon: ((_props$columnFoldConf7 = props.columnFoldConfig) === null || _props$columnFoldConf7 === void 0 ? void 0 : _props$columnFoldConf7.icon) || /*#__PURE__*/jsx(SvgHttpView, {
svgPath: "ionic/list-circle",
color: "#868686"
})
})
})
})]
});
}
}
return columnsNew;
}, [props.columns, props.columnFoldConfig]);
};
var useColumnsToHidden = function useColumnsToHidden(props) {
return useMemo(function () {
var tempList = props.columns.map(function (item) {
var hidden = item.hidden,
isFold = item.isFold;
if (hidden) return null;
if (isFold && !props.showFoldKeyList.includes(item.dataIndex)) return null;
return item;
}).filter(Boolean);
return _toConsumableArray(tempList);
}, [props.columns, props.showFoldKeyList]);
};
var useColumnByAsyncColumnRequest = function useColumnByAsyncColumnRequest(props) {
return useMemo(function () {
if (!Object.keys(props.asyncColumnRequestResult)) return props.columns;
return props.columns.map(function (item) {
var dataIndex = item.dataIndex;
var result = props.asyncColumnRequestResult[dataIndex];
if (dataIndex && result) {
if (result.loading) {
item.render = function (value) {
return /*#__PURE__*/jsx(ButtonWrapper, {
loading: true,
type: "text",
loadingPosition: "center",
removeGap: true,
children: value
});
};
} else if (item.asyncRender) {
item.render = function (value, record, index) {
var _item$asyncRender;
return (_item$asyncRender = item.asyncRender) === null || _item$asyncRender === void 0 ? void 0 : _item$asyncRender.call(item, value, record, index, result.respData);
};
}
}
return item;
});
}, [props.columns, props.asyncColumnRequestResult]);
};
var _excluded = ["children", "rowKey", "pagination", "isSync", "title", "actions"];
var TitleRender = function TitleRender(props) {
var _props$actions;
if (!props.title && !((_props$actions = props.actions) !== null && _props$actions !== void 0 && _props$actions.length)) {
return null;
}
return /*#__PURE__*/jsxs(FlexLayout, {
fullIndex: 0,
direction: "horizontal",
style: {
marginBottom: 10,
alignItems: 'center'
},
children: [props.title ? /*#__PURE__*/jsx("div", {
style: {
fontWeight: 400,
fontSize: 16
},
children: props.title
}) : null, /*#__PURE__*/jsx(Space, {
size: 10,
children: props.actions
})]
});
};
/**
* 表格渲染
* @param props
* ```
* 1. 继承了 TableProps 可设置antd table功能
* 2. 分页功能已内置处理,不调用 onChange
* ```
*/
var EasyTableTable = function EasyTableTable(props) {
var ctx = useContext(EasyTableContext);
var children = props.children,
rowKey = props.rowKey,
pagination = props.pagination,
isSync = props.isSync,
title = props.title,
actions = props.actions,
otherProps = _objectWithoutProperties(props, _excluded);
var screenType = fbaHooks.useResponsivePoint() || '';
var asyncColumnRequestResultRef = useRef({});
var _useState = useState({}),
_useState2 = _slicedToArray(_useState, 2),
asyncColumnRequestResult = _useState2[0],
setAsyncColumnRequestResult = _useState2[1];
var _ctx$dynamicColumnsCo = ctx.dynamicColumnsConfig,
columnFoldConfig = _ctx$dynamicColumnsCo.columnFoldConfig,
onCloseColumnFoldModal = _ctx$dynamicColumnsCo.onCloseColumnFoldModal,
columnFoldOpen = _ctx$dynamicColumnsCo.columnFoldOpen,
onOpenColumnFoldModal = _ctx$dynamicColumnsCo.onOpenColumnFoldModal,
asyncColumnRequest = _ctx$dynamicColumnsCo.asyncColumnRequest,
showFoldKeyList = _ctx$dynamicColumnsCo.showFoldKeyList,
onChangeShowFoldKeyList = _ctx$dynamicColumnsCo.onChangeShowFoldKeyList;
var cacheKey = ctx.cacheKey,
fieldNames = ctx.fieldNames,
onRequest = ctx.onRequest,
tableDataSource = ctx.tableDataSource,
pageSize = ctx.pageSize,
tableTotal = ctx.tableTotal,
loading = ctx.loading,
paginationFixed = ctx.paginationFixed,
onSetPaginationStatus = ctx.onSetPaginationStatus;
var cacheParams = filterCache.get(cacheKey);
fbaHooks.useEffectCustom(function () {
/** 获取初始化 columns 数据 */
ctx.onSetBaseColumns(props.columns || []);
}, []);
useEffect(function () {
if (asyncColumnRequest !== null && asyncColumnRequest !== void 0 && asyncColumnRequest.length) {
var _loop = function _loop() {
var element = asyncColumnRequest[index];
asyncColumnRequestResultRef.current = _objectSpread2(_objectSpread2({}, asyncColumnRequestResultRef.current), {}, _defineProperty({}, element.dataIndex, {
loading: true
}));
setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);
element.onRequest().then(function (respData) {
asyncColumnRequestResultRef.current = _objectSpread2(_objectSpread2({}, asyncColumnRequestResultRef.current), {}, _defineProperty({}, element.dataIndex, {
loading: false,
respData: respData
}));
setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);
}).catch(function (error) {
console.error(error === null || error === void 0 ? void 0 : error.message);
asyncColumnRequestResultRef.current = _objectSpread2(_objectSpread2({}, asyncColumnRequestResultRef.current), {}, _defineProperty({}, element.dataIndex, {
loading: false
}));
setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);
});
};
for (var index = 0; index < asyncColumnRequest.length; index++) {
_loop();
}
}
}, [asyncColumnRequest]);
var columnsOriginal = fbaHooks.useMemoCustom(function () {
if (ctx.columns) {
ctx.onSetColumns(ctx.columns);
return ctx.columns;
} else {
ctx.onSetColumns(props.columns);
return props.columns;
}
}, [ctx.columns, props.columns]);
var columnsNew = useColumnsAppendTips({
columns: _toConsumableArray(columnsOriginal)
});
var foldColumnList = columnsOriginal.filter(function (item) {
return !item.hidden && item.isFold && item.dataIndex;
});
columnsNew = useColumnsAppendInnerColumn({
cacheKey: cacheKey,
columns: columnsNew,