@lvce-editor/menu-worker 2.2.0 → 3.0.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 +12 -17
- package/package.json +1 -1
package/dist/menuWorkerMain.js
CHANGED
|
@@ -2936,10 +2936,7 @@ const focusIndex = async (menu, index) => {
|
|
|
2936
2936
|
}
|
|
2937
2937
|
const oldFocusedIndex = menu.focusedIndex;
|
|
2938
2938
|
menu.focusedIndex = index;
|
|
2939
|
-
|
|
2940
|
-
commands: [/* Menu.focusIndex */'Menu.focusIndex', /* level */menu.level, /* oldFocusedIndex */oldFocusedIndex, /* newFocusedIndex */index],
|
|
2941
|
-
menus: getAll()
|
|
2942
|
-
};
|
|
2939
|
+
await invoke$3('Menu.focusIndex', /* level */menu.level, /* oldFocusedIndex */oldFocusedIndex, /* newFocusedIndex */index);
|
|
2943
2940
|
};
|
|
2944
2941
|
|
|
2945
2942
|
const getCurrentMenu = () => {
|
|
@@ -3120,17 +3117,18 @@ const handleContextMenu = state => {
|
|
|
3120
3117
|
const hideSubMenus = async level => {
|
|
3121
3118
|
if (level < getCount()) {
|
|
3122
3119
|
set$1(getAll().slice(0, level + 1));
|
|
3123
|
-
|
|
3124
|
-
commands: [/* Menu.hideSubMenu */'Menu.hideSubMenu', /* level */level + 1],
|
|
3125
|
-
menus: getAll()
|
|
3126
|
-
};
|
|
3120
|
+
await invoke$3('Menu.hideSubMenu', /* level */level + 1);
|
|
3127
3121
|
}
|
|
3128
3122
|
};
|
|
3129
3123
|
|
|
3130
|
-
/* eslint-disable @typescript-eslint/no-implied-eval */
|
|
3131
3124
|
const MENU_DELAY_TRIANGLE = 300;
|
|
3132
|
-
const resolveAfterTimeout =
|
|
3133
|
-
|
|
3125
|
+
const resolveAfterTimeout = async () => {
|
|
3126
|
+
const {
|
|
3127
|
+
resolve,
|
|
3128
|
+
promise
|
|
3129
|
+
} = Promise.withResolvers();
|
|
3130
|
+
setTimeout(resolve, MENU_DELAY_TRIANGLE);
|
|
3131
|
+
await promise;
|
|
3134
3132
|
};
|
|
3135
3133
|
|
|
3136
3134
|
const showSubMenuAtEnter = async (level, index, enterX, enterY) => {
|
|
@@ -3153,10 +3151,7 @@ const showSubMenuAtEnter = async (level, index, enterX, enterY) => {
|
|
|
3153
3151
|
const height = getMenuHeight(subMenuItems);
|
|
3154
3152
|
const visible = getVisible(subMenu.items, -1, false, subMenu.level);
|
|
3155
3153
|
const dom = getMenuVirtualDom(visible).slice(1);
|
|
3156
|
-
|
|
3157
|
-
commands: [/* Menu.showMenu */'Menu.showMenu', /* x */subMenu.x, /* y */subMenu.y, /* width */width, /* height */height, /* items */subMenu.items, /* level */subMenu.level, /* parentIndex */index, /* dom */dom],
|
|
3158
|
-
menus: getAll()
|
|
3159
|
-
};
|
|
3154
|
+
await invoke$3(/* Menu.showMenu */'Menu.showMenu', /* x */subMenu.x, /* y */subMenu.y, /* width */width, /* height */height, /* items */subMenu.items, /* level */subMenu.level, /* parentIndex */index, /* dom */dom);
|
|
3160
3155
|
};
|
|
3161
3156
|
const showSubMenu = async (level, index) => {
|
|
3162
3157
|
return showSubMenuAtEnter(level, index, -1, -1);
|
|
@@ -3176,7 +3171,7 @@ const handleMouseEnter = async (level, index, enterX, enterY, enterTimeStamp) =>
|
|
|
3176
3171
|
const subMenuEnterX = subMenu.enterX;
|
|
3177
3172
|
// TODO should check for triangle position here
|
|
3178
3173
|
if (enterX >= subMenuEnterX) {
|
|
3179
|
-
await
|
|
3174
|
+
await resolveAfterTimeout();
|
|
3180
3175
|
if (getLatestTimestamp() !== enterTimeStamp) {
|
|
3181
3176
|
return;
|
|
3182
3177
|
}
|
|
@@ -3185,7 +3180,7 @@ const handleMouseEnter = async (level, index, enterX, enterY, enterTimeStamp) =>
|
|
|
3185
3180
|
const item = menu.items[index];
|
|
3186
3181
|
await focusIndex(menu, index);
|
|
3187
3182
|
switch (item.flags) {
|
|
3188
|
-
case
|
|
3183
|
+
case SubMenu:
|
|
3189
3184
|
await showSubMenuAtEnter(menu.level, index, enterX, enterY);
|
|
3190
3185
|
break;
|
|
3191
3186
|
default:
|