hongluan-ui
Version:
Hongluan Component Library for Vue 3
39 lines (34 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
require('../../../utils/index.js');
var error = require('../../../utils/error.js');
function useMenu(instance, currentIndex) {
const rootMenu = vue.inject("rootMenu");
if (!rootMenu)
error.throwError("useMenu", "can not inject root menu");
const indexPath = vue.computed(() => {
let parent = instance.parent;
const path = [currentIndex.value];
while ((parent == null ? void 0 : parent.type.name) !== "Menu") {
if (parent == null ? void 0 : parent.props.index) {
path.unshift(parent == null ? void 0 : parent.props.index);
}
parent = parent.parent;
}
return path;
});
const parentMenu = vue.computed(() => {
let parent = instance.parent;
while (parent && !["Menu", "SubMenu"].includes(parent.type.name)) {
parent = parent.parent;
}
return parent;
});
return {
parentMenu,
indexPath
};
}
exports["default"] = useMenu;
//# sourceMappingURL=use-menu.js.map