xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 2.45 kB
Source Map (JSON)
{"version":3,"file":"directive.mjs","sources":["../../src/loading/directive.ts"],"sourcesContent":["import type { Directive, DirectiveBinding } from 'vue';\nimport { TdLoadingProps } from './type';\nimport produceLoading from './plugin';\n\nconst INSTANCE_KEY = Symbol('TdLoading');\n\nconst createInstance = (el: HTMLElement, binding: DirectiveBinding) => {\n const { fullscreen, inheritColor } = binding.modifiers;\n const options: TdLoadingProps = {\n attach: () => el,\n fullscreen: fullscreen ?? false,\n inheritColor: inheritColor ?? false,\n loading: binding.value,\n };\n\n el[INSTANCE_KEY] = {\n options,\n instance: produceLoading(options),\n };\n};\n\nexport const vLoading: Directive = {\n mounted(el, binding) {\n if (binding.value) {\n createInstance(el, binding);\n }\n },\n updated(el, binding) {\n const instance = el[INSTANCE_KEY];\n const { value, oldValue } = binding;\n if (!!oldValue !== !!value) {\n if (value) {\n createInstance(el, binding);\n } else {\n instance?.instance.hide();\n }\n }\n },\n unmounted(el) {\n el[INSTANCE_KEY]?.instance.hide();\n },\n};\n"],"names":["fullscreen","inheritColor","options","mounted","createInstance","updated"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAA,YAAA,GAAA,MAAA,CAAA,WAAA,CAAA,CAAA;AAEA,IAAA,cAAA,GAAA,SAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA;AACE,EAAA,IAAA,kBAAA,GAAA,OAAA,CAAA,SAAA;;;AACA,EAAA,IAAA,OAAA,GAAA;;AACU,MAAA,OAAA,EAAA,CAAA;AAAM,KAAA;AACdA,IAAAA,UAAAA,EAAAA,UAAAA,KAAAA,IAAAA,IAAAA,UAAAA,KAAAA,KAAAA,CAAAA,GAAAA,UAAAA,GAAAA,KAAAA;AACAC,IAAAA,YAAAA,EAAAA,YAAAA,KAAAA,IAAAA,IAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAAA,YAAAA,GAAAA,KAAAA;;;;AAKAC,IAAAA,OAAAA,EAAAA,OAAAA;;;AAGJ,CAAA,CAAA;AAEO,IAAA,QAAA,GAAA;AACLC,EAAAA,OAAAA,EAAAA,SAAAA,OAAAA,CAAAA,EAAAA,EAAAA,OAAAA,EAAAA;;AAEIC,MAAAA,cAAAA,CAAAA,EAAAA,EAAAA,OAAAA,CAAAA,CAAAA;AACF,KAAA;;AAEFC,EAAAA,OAAAA,EAAAA,SAAAA,OAAAA,CAAAA,EAAAA,EAAAA,OAAAA,EAAAA;AACE,IAAA,IAAA,QAAA,GAAA,EAAA,CAAA,YAAA,CAAA,CAAA;AACM,IAAA,IAAA,KAAA,GAAA,OAAA,CAAA,KAAA;;AACN,IAAA,IAAA,CAAA,CAAA,QAAA,KAAA,CAAA,CAAA,KAAA,EAAA;AACE,MAAA,IAAA,KAAA,EAAA;AACED,QAAAA,cAAAA,CAAAA,EAAAA,EAAAA,OAAAA,CAAAA,CAAAA;AACF,OAAA,MAAA;;AAEA,OAAA;AACF,KAAA;;;AAEY,IAAA,IAAA,gBAAA,CAAA;AACT,IAAA,CAAA,gBAAA,GAAA,EAAA,CAAA,YAAA,CAAA,MAAA,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,QAAA,CAAA,IAAA,EAAA,CAAA;AACL,GAAA;AACF;;;;"}