UNPKG

tdesign-vue-next

Version:
1 lines 2.75 kB
{"version":3,"file":"useDisabled.mjs","sources":["../../../components/hooks/useDisabled.ts"],"sourcesContent":["import { Ref, inject, computed, getCurrentInstance } from 'vue';\nimport { isBoolean } from 'lodash-es';\nimport { TdFormProps } from '../form/type';\n\nexport interface FormDisabledProvider {\n disabled: Ref<TdFormProps['disabled']>;\n}\n\nexport interface DisabledContext {\n beforeDisabled?: Ref<boolean>;\n afterDisabled?: Ref<boolean>;\n}\n\n/**\n * 用于实现组件全局禁用状态的hook\n * 优先级:(beforeDisabled) > Component.disabled > ComponentGroup.disabled(afterDisabled) > Form.disabled\n * @returns\n */\nexport function useDisabled(context?: DisabledContext) {\n const currentInstance = getCurrentInstance();\n const componentDisabled = computed(() => currentInstance.props.disabled as boolean);\n\n const formDisabled = inject<FormDisabledProvider>('formDisabled', Object.create(null));\n\n return computed(() => {\n if (isBoolean(context?.beforeDisabled?.value)) return context.beforeDisabled.value;\n // Component\n if (isBoolean(componentDisabled.value)) return componentDisabled.value;\n // ComponentGroup\n if (isBoolean(context?.afterDisabled?.value)) return context.afterDisabled.value;\n // Form\n if (isBoolean(formDisabled.disabled?.value)) return formDisabled.disabled.value;\n\n return false;\n });\n}\n"],"names":["useDisabled","context","currentInstance","getCurrentInstance","componentDisabled","computed","props","disabled","formDisabled","inject","Object","create","_context$beforeDisabl","_context$afterDisable","_formDisabled$disable","isBoolean","beforeDisabled","value","afterDisabled"],"mappings":";;;;;;;;;AAkBO,SAASA,YAAYC,OAA2B,EAAA;AACrD,EAAA,IAAMC,kBAAkBC,kBAAmB,EAAA,CAAA;EAC3C,IAAMC,iBAAoB,GAAAC,QAAA,CAAS,YAAA;AAAA,IAAA,OAAMH,eAAA,CAAgBI,MAAMC,QAAmB,CAAA;GAAA,CAAA,CAAA;AAElF,EAAA,IAAMC,eAAeC,MAA6B,CAAA,cAAA,iBAAuBC,MAAA,CAAAC,MAAA,CAAO,IAAI,CAAC,CAAA,CAAA;EAErF,OAAON,SAAS,YAAM;AAAA,IAAA,IAAAO,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;IAChB,IAAAC,SAAA,CAAUd,OAAS,KAATA,IAAAA,IAAAA,OAAS,gBAAAW,qBAAA,GAATX,OAAS,CAAAe,cAAA,MAAA,IAAA,IAAAJ,qBAAA,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAyBK,KAAK,CAAA,EAAG,OAAOhB,QAAQe,cAAe,CAAAC,KAAA,CAAA;IAEzE,IAAAF,SAAA,CAAUX,kBAAkBa,KAAK,CAAA,EAAG,OAAOb,iBAAkB,CAAAa,KAAA,CAAA;IAE7D,IAAAF,SAAA,CAAUd,OAAS,KAATA,IAAAA,IAAAA,OAAS,gBAAAY,qBAAA,GAATZ,OAAS,CAAAiB,aAAA,MAAA,IAAA,IAAAL,qBAAA,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAwBI,KAAK,CAAA,EAAG,OAAOhB,QAAQiB,aAAc,CAAAD,KAAA,CAAA;IAEvE,IAAAF,SAAA,EAAAD,qBAAA,GAAUN,YAAa,CAAAD,QAAA,cAAAO,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,qBAAA,CAAuBG,KAAK,CAAA,EAAG,OAAOT,aAAaD,QAAS,CAAAU,KAAA,CAAA;AAEnE,IAAA,OAAA,KAAA,CAAA;AACT,GAAC,CAAA,CAAA;AACH;;;;"}