UNPKG

tdesign-vue-next

Version:
1 lines 4.13 kB
{"version":3,"file":"useAsyncLoading.mjs","sources":["../../../../components/table/hooks/useAsyncLoading.tsx"],"sourcesContent":["import { isString } from 'lodash-es';\nimport { computed } from 'vue';\nimport { useConfig, useTNodeJSX } from '@tdesign/shared-hooks';\nimport { TdPrimaryTableProps } from '../type';\nimport Loading from '../../loading';\nimport useClassName from './useClassName';\n\nexport default function useAsyncLoading(props: TdPrimaryTableProps) {\n const renderTNode = useTNodeJSX();\n const { globalConfig } = useConfig('table', props.locale);\n const { isLoadingClass, isLoadMoreClass, asyncLoadingClass } = useClassName();\n\n const classes = computed(() => [\n asyncLoadingClass,\n {\n [isLoadingClass]: props.asyncLoading === 'loading',\n [isLoadMoreClass]: props.asyncLoading === 'load-more',\n },\n ]);\n\n function onLoadClick() {\n if (!isString(props.asyncLoading)) return;\n props.onAsyncLoadingClick?.({ status: props.asyncLoading });\n }\n\n function renderAsyncLoading() {\n const asyncLoadingNode = renderTNode('asyncLoading');\n if (isString(asyncLoadingNode)) {\n const { asyncLoading } = props;\n const loadingText = {\n 'load-more': globalConfig.value.loadingMoreText,\n loading: globalConfig.value.loadingText,\n }[String(asyncLoading)];\n return (\n <div class={classes.value} onClick={onLoadClick}>\n {<Loading indicator={asyncLoading === 'loading'} loading={!!asyncLoading} size=\"small\" text={loadingText} />}\n </div>\n );\n }\n if (![null, false, undefined].includes(asyncLoadingNode)) {\n return (\n <div class={classes.value} onClick={onLoadClick}>\n {asyncLoadingNode}\n </div>\n );\n }\n return null;\n }\n return {\n renderAsyncLoading,\n };\n}\n"],"names":["useAsyncLoading","props","renderTNode","useTNodeJSX","_useConfig","useConfig","locale","globalConfig","_useClassName","useClassName","isLoadingClass","isLoadMoreClass","asyncLoadingClass","classes","computed","_defineProperty","asyncLoading","onLoadClick","_props$onAsyncLoading","isString","onAsyncLoadingClick","call","status","renderAsyncLoading","asyncLoadingNode","loadingText","value","loadingMoreText","loading","String","_createVNode","Loading","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAAwBA,gBAAgBC,KAA4B,EAAA;AAClE,EAAA,IAAMC,cAAcC,WAAY,EAAA,CAAA;EAChC,IAAAC,UAAA,GAAyBC,SAAU,CAAA,OAAA,EAASJ,MAAMK,MAAM,CAAA;IAAhDC,YAAa,GAAAH,UAAA,CAAbG,YAAa,CAAA;AACrB,EAAA,IAAAC,aAAA,GAA+DC,YAAa,EAAA;IAApEC,cAAA,GAAAF,aAAA,CAAAE,cAAA;IAAgBC,eAAiB,GAAAH,aAAA,CAAjBG,eAAiB;IAAAC,iBAAA,GAAAJ,aAAA,CAAAI,iBAAA,CAAA;EAEnC,IAAAC,OAAA,GAAUC,SAAS,YAAA;IAAA,OAAM,CAC7BF,iBAAA,EAAAG,eAAA,CAAAA,eAAA,CAAA,EAAA,EAEGL,cAAiB,EAAAT,KAAA,CAAMe,YAAiB,KAAA,SAAA,GACxCL,eAAkB,EAAAV,KAAA,CAAMe,YAAiB,KAAA,WAAA,CAE7C,CAAA,CAAA;GAAA,CAAA,CAAA;EAED,SAASC,WAAcA,GAAA;AAAA,IAAA,IAAAC,qBAAA,CAAA;AACjB,IAAA,IAAA,CAACC,QAAS,CAAAlB,KAAA,CAAMe,YAAY,CAAA,EAAG,OAAA;AACnC,IAAA,CAAAE,qBAAA,GAAAjB,KAAA,CAAMmB,mBAAsB,MAAA,IAAA,IAAAF,qBAAA,KAAA,KAAA,CAAA,IAA5BA,qBAAA,CAAAG,IAAA,CAAApB,KAAA,EAA4B;MAAEqB,MAAQ,EAAArB,KAAA,CAAMe,YAAAA;AAAa,KAAC,CAAA,CAAA;AAC5D,GAAA;EAEA,SAASO,kBAAqBA,GAAA;AACtB,IAAA,IAAAC,gBAAA,GAAmBtB,YAAY,cAAc,CAAA,CAAA;AAC/C,IAAA,IAAAiB,QAAA,CAASK,gBAAgB,CAAG,EAAA;AACxB,MAAA,IAAER,eAAiBf,KAAA,CAAjBe;AACR,MAAA,IAAMS,WAAc,GAAA;AAClB,QAAA,WAAA,EAAalB,aAAamB,KAAM,CAAAC,eAAA;AAChCC,QAAAA,OAAA,EAASrB,aAAamB,KAAM,CAAAD,WAAAA;AAC9B,OAAA,CAAEI,OAAOb,YAAY,CAAA,CAAA,CAAA;AAEnB,MAAA,OAAAc,WAAA,CAAA,KAAA,EAAA;QAAA,OAAYjB,EAAAA,OAAA,CAAQa;iBAAgBT,EAAAA,WAAAA;OAAAa,EAAAA,CAAAA,WAAA,CAAAC,OAAA,EAAA;QAAA,WACbf,EAAAA,iBAAiB,SAAW;QAAA,SAAS,EAAA,CAAC,CAACA,YAAA;AAAA,QAAA,MAAA,EAAA,OAAA;QAAA,MAAiCS,EAAAA,WAAAA;AAAa,OAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAGhH,KAAA;AACI,IAAA,IAAA,CAAC,CAAC,IAAM,EAAA,KAAA,EAAO,MAAS,CAAE,CAAAO,QAAA,CAASR,gBAAgB,CAAG,EAAA;AAEtD,MAAA,OAAAM,WAAA,CAAA,KAAA,EAAA;QAAA,OAAYjB,EAAAA,OAAA,CAAQa;iBAAgBT,EAAAA,WAAAA;AAAA,OAAA,EAAA,CACjCO;AAGP,KAAA;AACO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;EACO,OAAA;AACLD,IAAAA,kBAAA,EAAAA,kBAAAA;GACF,CAAA;AACF;;;;"}