tav-ui
Version:
1 lines • 4.95 kB
Source Map (JSON)
{"version":3,"file":"button2.mjs","sources":["../../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, defineComponent, unref } from 'vue'\nimport { Button } from 'ant-design-vue'\nimport { useAttrs } from '@tav-ui/hooks/core/useAttrs'\nimport Icon from '@tav-ui/components/icon'\nimport { usePermissionMatchedByParent } from '@tav-ui/components/permission'\nimport { useGlobalConfig } from '@tav-ui/hooks/global/useGlobalConfig'\nimport { isUnDef } from '@tav-ui/utils'\nimport { buttonProps } from './types'\nimport type { Ref } from 'vue'\n\nexport default defineComponent({\n name: 'TaButton',\n components: { Button, Icon },\n inheritAttrs: false,\n props: buttonProps,\n setup(props) {\n // get component class\n const attrs = useAttrs({ excludeDefaultKeys: false })\n const getButtonClass = computed(() => {\n const { color, disabled } = props\n return [\n {\n [`ant-btn-${color}`]: !!color,\n 'is-disabled': disabled,\n },\n ]\n })\n\n // get inherit binding value\n const getBindValue = computed(() => ({ ...unref(attrs), ...props }))\n\n const IfShow = computed(() => (code: any) => {\n const permissions = useGlobalConfig('permissions') as Ref<Record<string, any>>\n const PermissionFlag = isUnDef(code) ? true : unref(permissions)[code]?.ifShow\n const PermisionCodeFlag = isUnDef(props.permissionCode) ? true : props.permissionCode === 1\n return PermissionFlag && PermisionCodeFlag && props.ifShow\n })\n\n const computedUsePermission = computed(() => {\n if (props.usePermission) {\n return usePermissionMatchedByParent({\n ...props.usePermission,\n }).value\n }\n return true\n })\n\n return { getButtonClass, getBindValue, IfShow, computedUsePermission }\n },\n})\n</script>\n<template>\n <Button\n v-show=\"computedUsePermission && IfShow(permission)\"\n v-bind=\"getBindValue\"\n :class=\"getButtonClass\"\n class=\"ta-basic-button\"\n @click=\"onClick\"\n >\n <template #default=\"data\">\n <Icon v-if=\"!loading && preIcon\" :icon=\"preIcon\" :size=\"iconSize\" :color=\"preIconColor\" />\n <template v-if=\"!loading\">\n <slot v-bind=\"data || {}\" />\n </template>\n <Icon v-if=\"!loading && postIcon\" :icon=\"postIcon\" :size=\"iconSize\" :color=\"postIconColor\" />\n </template>\n </Button>\n</template>\n"],"names":["Button","Icon","_createBlock","_mergeProps","_withCtx","_createCommentVNode","_renderSlot","_vShow"],"mappings":"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"}