tav-ui
Version:
1 lines • 3.23 kB
Source Map (JSON)
{"version":3,"file":"count-down-button2.mjs","sources":["../../../../../../../packages/components/count-down/src/count-down-button.vue"],"sourcesContent":["<template>\n <Button v-bind=\"$attrs\" :disabled=\"isStart\" :loading=\"loading\" @click=\"handleStart\">\n {{ getButtonText }}\n </Button>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, ref, unref, watchEffect } from 'vue'\nimport { Button } from 'ant-design-vue'\nimport { isFunction } from '@tav-ui/utils/is'\nimport { tavI18n } from '@tav-ui/locales'\nimport { useCountdown } from './useCountdown'\nimport { countDownButtonProps } from './types'\n\nexport default defineComponent({\n name: 'TaCountDownButton',\n components: { Button },\n props: countDownButtonProps,\n setup(props) {\n const loading = ref(false)\n\n const { currentCount, isStart, start, reset } = useCountdown(props.count)\n\n const getButtonText = computed(() => {\n return !unref(isStart)\n ? tavI18n('Tav.countButton.text1')\n : tavI18n('Tav.countButton.text2', [unref(currentCount)])\n })\n\n watchEffect(() => {\n props.value === undefined && reset()\n })\n\n /**\n * @description: Judge whether there is an external function before execution, and decide whether to start after execution\n */\n async function handleStart() {\n const { beforeStartFunc } = props\n if (beforeStartFunc && isFunction(beforeStartFunc)) {\n loading.value = true\n try {\n const canStart = await beforeStartFunc()\n canStart && start()\n } finally {\n loading.value = false\n }\n } else {\n start()\n }\n }\n return { handleStart, currentCount, loading, getButtonText, isStart }\n },\n})\n</script>\n"],"names":["_createBlock","_mergeProps","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;AAaA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,mBAAA;AAAA,EACN,UAAA,EAAY,EAAE,MAAO,EAAA;AAAA,EACrB,KAAO,EAAA,oBAAA;AAAA,EACP,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AAEzB,IAAM,MAAA,EAAE,cAAc,OAAS,EAAA,KAAA,EAAO,OAAU,GAAA,YAAA,CAAa,MAAM,KAAK,CAAA,CAAA;AAExE,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,OAAO,CAAC,KAAA,CAAM,OAAO,CAAA,GACjB,OAAQ,CAAA,uBAAuB,CAC/B,GAAA,OAAA,CAAQ,uBAAyB,EAAA,CAAC,KAAM,CAAA,YAAY,CAAC,CAAC,CAAA,CAAA;AAAA,KAC3D,CAAA,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,KAAA,CAAA,KAAA,KAAU,UAAa,KAAM,EAAA,CAAA;AAAA,KACpC,CAAA,CAAA;AAKD,IAAA,eAAe,WAAc,GAAA;AAC3B,MAAM,MAAA,EAAE,iBAAoB,GAAA,KAAA,CAAA;AAC5B,MAAI,IAAA,eAAA,IAAmB,UAAW,CAAA,eAAe,CAAG,EAAA;AAClD,QAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,QAAI,IAAA;AACF,UAAM,MAAA,QAAA,GAAW,MAAM,eAAgB,EAAA,CAAA;AACvC,UAAA,QAAA,IAAY,KAAM,EAAA,CAAA;AAAA,SAClB,SAAA;AACA,UAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,SAClB;AAAA,OACK,MAAA;AACL,QAAM,KAAA,EAAA,CAAA;AAAA,OACR;AAAA,KACF;AACA,IAAA,OAAO,EAAE,WAAA,EAAa,YAAc,EAAA,OAAA,EAAS,eAAe,OAAQ,EAAA,CAAA;AAAA,GACtE;AACF,CAAC,CAAA,CAAA;;;sBAlDCA,WAES,CAAA,iBAAA,EAFTC,UAAgB,CAAA,IAAA,CAEP,MAFa,EAAA;AAAA,IAAG,QAAU,EAAA,IAAA,CAAA,OAAA;AAAA,IAAU,OAAS,EAAA,IAAA,CAAA,OAAA;AAAA,IAAU,OAAO,EAAA,IAAA,CAAA,WAAA;AAAA,GAAA,CAAA,EAAA;qBACrE,MAAmB;AAAA,MAAAC,eAAA,CAAAC,eAAA,CAAhB,IAAa,CAAA,aAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;;"}