hongluan-ui
Version:
Hongluan Component Library for Vue 3
35 lines (32 loc) • 981 B
JavaScript
import { inject, computed } from 'vue';
import '../../../utils/index.mjs';
import { throwError } from '../../../utils/error.mjs';
function useMenu(instance, currentIndex) {
const rootMenu = inject("rootMenu");
if (!rootMenu)
throwError("useMenu", "can not inject root menu");
const indexPath = 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 = computed(() => {
let parent = instance.parent;
while (parent && !["Menu", "SubMenu"].includes(parent.type.name)) {
parent = parent.parent;
}
return parent;
});
return {
parentMenu,
indexPath
};
}
export { useMenu as default };
//# sourceMappingURL=use-menu.mjs.map