UNPKG

tav-ui

Version:
82 lines (77 loc) 3 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var antDesignVue = require('ant-design-vue'); var constants$1 = require('../constants2.js'); var useProps = require('../hooks/use-props2.js'); var constants = require('./constants2.js'); var types = require('./types2.js'); var pluginVue_exportHelper = require('../../../../../_virtual/plugin-vue_export-helper.js'); const __default__ = { name: "TaTablePermissionDataQuery" }; function setup(__props, { expose }) { const props = __props; const id = vue.ref(constants.DEFAULT_TABLEPERMISSIONDATAQUERY_ID()); const type = vue.ref(constants.DEFAULT_TABLEPERMISSIONDATAQUERY_CLASSNAME); const attrs = vue.useAttrs(); const mergedProps = useProps.useMergedProps(props, "TaTablePermissionDataQuery", constants$1.DEFAULT_APIPARAMS); const permissionContent = vue.ref(); const isUseApi = vue.computed(() => mergedProps.value.apiParams && mergedProps.value.apiPermissionData); const loading = vue.ref(false); async function handlePermission() { if (mergedProps.value.disabled) return; if (isUseApi.value) { permissionContent.value = { apiParams: mergedProps.value.apiParams, apiPermissionData: mergedProps.value.apiPermissionData }; } } vue.onBeforeMount(async () => { if (props.immediate) { await handlePermission(); } }); vue.watch(() => JSON.stringify(mergedProps.value.apiParams), async (curVal, preVal) => { if (curVal && curVal !== "{}" && curVal !== preVal) { if (props.immediate) { await handlePermission(); } } }); const permissionsContext = vue.inject(constants$1.permissionsContextKey, void 0); const context = vue.reactive({ id, type, disabled: mergedProps.value.disabled, permission: permissionContent }); vue.onMounted(() => { permissionsContext?.addPermission(context); }); vue.onBeforeUnmount(() => { permissionsContext?.removePermission(context); }); vue.provide(constants$1.permissionContextKey, context); expose({ id, permissionContext: context }); return (_ctx, _cache) => { return loading.value ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Spin), { key: 0, size: "large", tip: "\u6B63\u5728\u52A0\u8F7D\u6743\u9650\uFF0C\u8BF7\u7A0D\u7B49 \u{1F47E}" })) : vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.mergeProps({ key: 1 }, { ...vue.unref(mergedProps).value, ...vue.unref(attrs), permission: permissionContent.value }))); }; } const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...__default__, props: types.tablePermissionDataQueryProps, setup }); var TablePermissionDataQuery = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/tav-ui/tav-ui/packages/components/permission/src/TablePermissionDataQuery/index.vue"]]); exports["default"] = TablePermissionDataQuery; //# sourceMappingURL=index2.js.map