UNPKG

tav-ui

Version:
1 lines 4.54 kB
{"version":3,"file":"index2.mjs","sources":["../../../../../../../../packages/components/permission/src/TablePermissionDataQuery/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n useAttrs,\n // useSlots,\n watch,\n} from 'vue'\nimport { Spin as ASpain } from 'ant-design-vue'\nimport { DEFAULT_APIPARAMS, permissionContextKey, permissionsContextKey } from '../constants'\nimport { useMergedProps } from '../hooks/use-props'\nimport {\n DEFAULT_TABLEPERMISSIONDATAQUERY_CLASSNAME,\n DEFAULT_TABLEPERMISSIONDATAQUERY_ID,\n} from './constants'\nimport { tablePermissionDataQueryProps } from './types'\nimport type { PermissionContext } from '../types'\n\ndefineOptions({\n name: 'TaTablePermissionDataQuery',\n // inheritAttrs: false,\n})\n\nconst id = ref(DEFAULT_TABLEPERMISSIONDATAQUERY_ID())\nconst type = ref(DEFAULT_TABLEPERMISSIONDATAQUERY_CLASSNAME)\nconst props = defineProps(tablePermissionDataQueryProps)\n// const emits = defineEmits(pagePermissionEmits)\n// const slots = useSlots()\nconst attrs = useAttrs()\n\nconst mergedProps = useMergedProps(props, 'TaTablePermissionDataQuery', DEFAULT_APIPARAMS)\nconst permissionContent = ref<PermissionContext['permission']>()\nconst isUseApi = computed(() => mergedProps.value.apiParams && mergedProps.value.apiPermissionData)\nconst loading = ref(false)\n\nasync function handlePermission() {\n if (mergedProps.value.disabled) return\n if (isUseApi.value) {\n permissionContent.value = {\n apiParams: mergedProps.value.apiParams!,\n apiPermissionData: mergedProps.value.apiPermissionData!,\n }\n }\n}\n\nonBeforeMount(async () => {\n if (props.immediate) {\n await handlePermission()\n }\n})\n\nwatch(\n () => JSON.stringify(mergedProps.value.apiParams),\n async (curVal, preVal) => {\n if (curVal && curVal !== '{}' && curVal !== preVal) {\n if (props.immediate) {\n await handlePermission()\n }\n }\n }\n)\n\nconst permissionsContext = inject(permissionsContextKey, undefined)\nconst context: PermissionContext = reactive({\n // ...toRefs(props),\n id,\n type,\n disabled: mergedProps.value.disabled,\n permission: permissionContent,\n})\n\nonMounted(() => {\n permissionsContext?.addPermission(context)\n})\n\nonBeforeUnmount(() => {\n permissionsContext?.removePermission(context)\n})\n\nprovide(permissionContextKey, context)\n\ndefineExpose({\n id,\n permissionContext: context,\n})\n</script>\n\n<template>\n <ASpain v-if=\"loading\" size=\"large\" tip=\"正在加载权限,请稍等 👾\" />\n <slot v-else v-bind=\"{ ...mergedProps.value, ...attrs, permission: permissionContent }\" />\n</template>\n"],"names":["_openBlock","_createBlock","_unref","ASpain"],"mappings":";;;;;;;;;;;;;AA6BA,EAAA,MAAA,EAAA,GAAA,GAAA,CAAA,mCAAA,EAAA,CAAA,CAAA;AACA,EAAA,MAAA,IAAA,GAAA,IAAA,0CAAA,CAAA,CAAA;AAIA,EAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AAEA,EAAA,MAAA,WAAA,GAAA,cAAA,CAAA,KAAA,EAAA,4BAAA,EAAA,iBAAA,CAAA,CAAA;AACA,EAAA,MAAA,oBAAA,GAAA,EAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,SAAA,MAAA,WAAA,CAAA,MAAA,SAAA,IAAA,WAAA,CAAA,MAAA,iBAAA,CAAA,CAAA;AACA,EAAA,MAAA,OAAA,GAAA,IAAA,KAAA,CAAA,CAAA;AAEA,EAAA,eAAA,gBAAA,GAAA;AACA,IAAA,IAAA,YAAA,KAAA,CAAA,QAAA;AAAA,MAAA,OAAA;AACA,IAAA,IAAA,SAAA,KAAA,EAAA;AACA,MAAA,iBAAA,CAAA,KAAA,GAAA;AAAA,QACA,SAAA,EAAA,YAAA,KAAA,CAAA,SAAA;AAAA,QACA,iBAAA,EAAA,YAAA,KAAA,CAAA,iBAAA;AAAA,OACA,CAAA;AAAA,KACA;AAAA,GACA;AAEA,EAAA,aAAA,CAAA,YAAA;AACA,IAAA,IAAA,MAAA,SAAA,EAAA;AACA,MAAA,MAAA,gBAAA,EAAA,CAAA;AAAA,KACA;AAAA,GACA,CAAA,CAAA;AAEA,EAAA,KAAA,CAAA,MAAA,IAAA,CAAA,SAAA,CAAA,WAAA,CAAA,KAAA,CAAA,SAAA,CAAA,EAAA,OAAA,MAAA,EAAA,MAAA,KAAA;AAAA,IACA,IAAA,MAAA,IAAA,MAAA,KAAA,IAAA,IAAA,MAAA,KAAA,MAAA,EAAA;AAAA,MACA,IAAA,eAAA,EAAA;AACA,QAAA,MAAA,gBAAA,EAAA,CAAA;AACA,OAAA;AACA,KAAA;AAAA,GACA,CAAA,CAAA;AAAA,EACA,MAAA,kBAAA,GAAA,MAAA,CAAA,qBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAAA,EACA,MAAA,OAAA,GAAA,QAAA,CAAA;AAAA,IACA,EAAA;AAEA,IAAA,IAAA;AACA,IAAA,qBAAA,CAAA,KAAA,CAAA,QAAA;AAAA,IAEA,UAAA,EAAA,iBAAA;AAAA,GACA,CAAA,CAAA;AAAA,EACA,SAAA,CAAA;AAAA,IACA,kBAAA,EAAA,aAAA,CAAA,OAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AAEA,EAAA,eAAA,CAAA,MAAA;AACA,IAAA,kBAAA,EAAA,gBAAA,CAAA,OAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA;AAEA,EAAA,OAAA,CAAA,oBAAA,EAAA,OAAA,CAAA,CAAA;AACA,EAAA,MAAA,CAAA;AAAA,IACA,EAAA;AAEA,IAAA;AAEA,GAAA,CAAA,CAAA;AAAA,EACA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,IACA,OAAA,OAAA,CAAA,KAAA,IAAAA,SAAA,EAAA,EAAAC,WAAA,CAAAC,KAAA,CAAAC,IAAA,CAAA,EAAA;AAAA,MACA,GAAA,EAAA,CAAA;;;;;;;;;;;;;;;"}