@lvce-editor/menu-worker 4.3.0 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/menuWorkerMain.js +15 -3
- package/package.json +1 -1
package/dist/menuWorkerMain.js
CHANGED
|
@@ -2918,12 +2918,22 @@ const getSubMenuItems = async (parentMenu, item) => {
|
|
|
2918
2918
|
}
|
|
2919
2919
|
return getMenuEntries$1(item.id, ...args);
|
|
2920
2920
|
};
|
|
2921
|
+
const getOpenSubMenuToLeft = parentMenu => {
|
|
2922
|
+
return parentMenu.openSubMenuToLeft === true || parentMenu.args?.[0]?.openSubMenuToLeft === true;
|
|
2923
|
+
};
|
|
2924
|
+
const getSubMenuX = (parentMenu, openSubMenuToLeft) => {
|
|
2925
|
+
return openSubMenuToLeft ? parentMenu.x - MENU_WIDTH : parentMenu.x + MENU_WIDTH;
|
|
2926
|
+
};
|
|
2921
2927
|
const showSubMenuAtEnter = async (level, index, enterX, enterY) => {
|
|
2922
|
-
// TODO delete old menus
|
|
2923
|
-
set$1(getAll().slice(0, level + 1));
|
|
2924
2928
|
const parentMenu = get$1(level);
|
|
2925
2929
|
const item = parentMenu.items[index];
|
|
2930
|
+
const existingSubMenu = getAll()[level + 1];
|
|
2931
|
+
if (existingSubMenu?.parentIndex === index && existingSubMenu.id === item.id) {
|
|
2932
|
+
return;
|
|
2933
|
+
}
|
|
2934
|
+
set$1(getAll().slice(0, level + 1));
|
|
2926
2935
|
const subMenuItems = await getSubMenuItems(parentMenu, item);
|
|
2936
|
+
const openSubMenuToLeft = getOpenSubMenuToLeft(parentMenu);
|
|
2927
2937
|
const subMenu = addMenuInternal({
|
|
2928
2938
|
args: item.args || parentMenu.args || [],
|
|
2929
2939
|
enterX,
|
|
@@ -2932,8 +2942,10 @@ const showSubMenuAtEnter = async (level, index, enterX, enterY) => {
|
|
|
2932
2942
|
id: item.id,
|
|
2933
2943
|
items: subMenuItems,
|
|
2934
2944
|
level: getCount(),
|
|
2945
|
+
openSubMenuToLeft,
|
|
2946
|
+
parentIndex: index,
|
|
2935
2947
|
uid: parentMenu.uid,
|
|
2936
|
-
x: parentMenu
|
|
2948
|
+
x: getSubMenuX(parentMenu, openSubMenuToLeft),
|
|
2937
2949
|
y: parentMenu.y + index * 25
|
|
2938
2950
|
});
|
|
2939
2951
|
const width = getMenuWidth();
|