tav-ui
Version:
58 lines (53 loc) • 1.86 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var constants$1 = require('../constants2.js');
var constants = require('./constants2.js');
var types = require('./types2.js');
var pluginVue_exportHelper = require('../../../../../_virtual/plugin-vue_export-helper.js');
const __default__ = {
name: "TaPermissions"
};
function setup(__props, { expose }) {
const props = __props;
const id = vue.ref(constants.DEFAULT_PERMISSIONS_ID());
const type = vue.ref(constants.DEFAULT_PERMISSIONS_CLASSNAME);
const attrs = vue.useAttrs();
const { disabled } = vue.toRefs(props);
const permissionsContext = [];
const getPermission = (id2) => {
return permissionsContext.find((permissionContext) => permissionContext.id === id2);
};
const addPermission = (permissionContext) => {
permissionsContext.push(permissionContext);
};
const removePermission = (permissionContext) => {
if (permissionContext.id) {
permissionsContext.splice(permissionsContext.indexOf(permissionContext), 1);
}
};
vue.provide(constants$1.permissionsContextKey, vue.reactive({
id,
type,
disabled,
getPermission,
addPermission,
removePermission
}));
expose({
id,
permissionsContext,
getPermission
});
return (_ctx, _cache) => {
return vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps({ ...vue.toRefs(props), ...vue.unref(attrs) })));
};
}
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: types.pagePermissionProps,
setup
});
var Permissions = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/tav-ui/tav-ui/packages/components/permission/src/Permissions/index.vue"]]);
exports["default"] = Permissions;
//# sourceMappingURL=index2.js.map