tdesign-react
Version:
TDesign Component for React
91 lines (87 loc) • 3.32 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _defineProperty } from '../../_chunks/dep-d67deb2c.js';
import { _ as _slicedToArray } from '../../_chunks/dep-10d5731f.js';
import React from 'react';
import { isString } from 'lodash-es';
import classNames from 'classnames';
import { Loading } from '../../loading/index.js';
import useClassName from './useClassName.js';
import { useLocaleReceiver } from '../../locale/LocalReceiver.js';
import '../../_chunks/dep-8abcbcbc.js';
import '../../_chunks/dep-74a10cfb.js';
import '../../loading/Loading.js';
import '../../_chunks/dep-ca8d3fa0.js';
import '../../common/Portal.js';
import 'react-dom';
import '../../hooks/useConfig.js';
import '../../config-provider/ConfigContext.js';
import '../../_chunks/dep-6b235a32.js';
import '../../_chunks/dep-b9afa32b.js';
import 'dayjs';
import '../../hooks/useLayoutEffect.js';
import '../../hooks/useDefaultProps.js';
import '../../loading/defaultProps.js';
import '../../loading/gradient.js';
import '../../_chunks/dep-79351403.js';
import '../../_chunks/dep-fe89155e.js';
import '../../_chunks/dep-a3a3e527.js';
import '../../_chunks/dep-ed34fbd4.js';
import '../../hooks/useDomRefCallback.js';
import '../../loading/plugin.js';
import '../../_util/react-render.js';
import '../../_chunks/dep-4f115c18.js';
import '../../common/PluginContainer.js';
import '../../config-provider/ConfigProvider.js';
function useAsyncLoading(props) {
var _useLocaleReceiver = useLocaleReceiver("table"),
_useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
local = _useLocaleReceiver2[0];
var _useClassName = useClassName(),
isLoadingClass = _useClassName.isLoadingClass,
isLoadMoreClass = _useClassName.isLoadMoreClass,
asyncLoadingClass = _useClassName.asyncLoadingClass;
var classes = [asyncLoadingClass, _defineProperty(_defineProperty({}, isLoadingClass, props.asyncLoading === "loading"), isLoadMoreClass, props.asyncLoading === "load-more")];
function onLoadClick() {
var _props$onAsyncLoading;
if (typeof props.asyncLoading !== "string") return;
var status = props.asyncLoading === "loading" ? "loading" : "load-more";
(_props$onAsyncLoading = props.onAsyncLoadingClick) === null || _props$onAsyncLoading === void 0 || _props$onAsyncLoading.call(props, {
status: status
});
}
function renderAsyncLoading() {
var asyncLoadingNode = props.asyncLoading;
if (isString(asyncLoadingNode)) {
var asyncLoading = props.asyncLoading;
var loadingText = {
"load-more": local.loadingMoreText,
loading: local.loadingText
}[String(asyncLoading)];
return /* @__PURE__ */React.createElement("div", {
className: classNames(classes),
onClick: onLoadClick
}, /* @__PURE__ */React.createElement(Loading, {
loading: true,
size: "small",
text: loadingText,
indicator: asyncLoading === "loading"
}));
}
if (asyncLoadingNode) {
return /* @__PURE__ */React.createElement("div", {
className: classNames(classes),
onClick: onLoadClick
}, asyncLoadingNode);
}
return null;
}
return {
renderAsyncLoading: renderAsyncLoading
};
}
export { useAsyncLoading as default };
//# sourceMappingURL=useAsyncLoading.js.map