UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 3.35 kB
{"version":3,"file":"useAsyncLoading.mjs","sources":["../../../src/table/hooks/useAsyncLoading.tsx"],"sourcesContent":["import isString from 'lodash/isString';\nimport { computed } from 'vue';\nimport { useTNodeJSX } from '../../hooks/tnode';\nimport { TdPrimaryTableProps } from '../type';\nimport Loading from '../../loading';\nimport useClassName from './useClassName';\nimport { useConfig } from '../../hooks/useConfig';\n\nexport default function useAsyncLoading(props: TdPrimaryTableProps) {\n const renderTNode = useTNodeJSX();\n const { globalConfig } = useConfig('table');\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":["isString","loading","_createVNode","renderAsyncLoading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAAA,eAAA,CAAA,KAAA,EAAA;AACE,EAAA,IAAA,WAAA,GAAA,WAAA,EAAA,CAAA;AACA,EAAA,IAAA,UAAA,GAAA,SAAA,CAAA,OAAA,CAAA;;AACA,EAAA,IAAA,aAAA,GAAA,YAAA,EAAA;;;;;AAEyB,IAAA,IAAA,IAAA,CAAA;AAAA,IAAA,OAAA,CAAA,iBAAA,GAAA,IAAA,GAAA,EAAA,EAAA,eAAA,CAAA,IAAA,EAAA,cAAA,EAAA,KAAA,CAAA,YAAA,KAAA,SAAA,CAAA,EAAA,eAAA,CAAA,IAAA,EAAA,eAAA,EAAA,KAAA,CAAA,YAAA,KAAA,WAAA,CAAA,EAAA,IAAA,EAAA,CAAA;;;AAQF,IAAA,IAAA,qBAAA,CAAA;AACjB,IAAA,IAAA,CAAAA,UAAA,CAAA,KAAA,CAAA,YAAA,CAAA,EAAA,OAAA;AACJ,IAAA,CAAA,qBAAA,GAAA,KAAA,CAAA,mBAAA,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA,IAAA,CAAA,KAAA,EAAA;;AAAyD,KAAA,CAAA,CAAA;AAC3D,GAAA;;AAGQ,IAAA,IAAA,gBAAA,GAAA,WAAA,CAAA,cAAA,CAAA,CAAA;AACF,IAAA,IAAAA,UAAA,CAAA,gBAAA,CAAA,EAAA;AACI,MAAA,IAAA,YAAA,GAAA,KAAA,CAAA,YAAA,CAAA;AACN,MAAA,IAAA,WAAA,GAAA;AACE,QAAA,WAAA,EAAA,YAAA,CAAA,KAAA,CAAA,eAAA;AACAC,QAAAA,OAAAA,EAAAA,YAAAA,CAAAA,KAAAA,CAAAA,WAAAA;AACF,OAAA,CAAA,MAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAEE,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;;;;;;AAC8D,QAAA,MAAA,EAAA,OAAA;;AAA8C,OAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAGhH,KAAA;AACI,IAAA,IAAA,CAAA,CAAA,IAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA,QAAA,CAAA,gBAAA,CAAA,EAAA;AAEA,MAAA,OAAAA,WAAA,CAAA,KAAA,EAAA;;;AAAoC,OAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AAIxC,KAAA;AACO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;;AAEEC,IAAAA,kBAAAA,EAAAA,kBAAAA;;AAEJ;;;;"}