@lvce-editor/activity-bar-worker 7.18.1 → 7.19.1
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/activityBarWorkerMain.js +116 -61
- package/package.json +1 -1
|
@@ -2164,6 +2164,69 @@ const getMenuEntryIds = () => {
|
|
|
2164
2164
|
return [ActivityBar$3, ActivityBarAdditionalViews, Settings$1, ACCOUNT_MENU_ID, ACCOUNT_SUBMENU_ID];
|
|
2165
2165
|
};
|
|
2166
2166
|
|
|
2167
|
+
const getActiveViewIds = items => {
|
|
2168
|
+
return items.filter(item => item.flags & Selected).map(item => item.id);
|
|
2169
|
+
};
|
|
2170
|
+
|
|
2171
|
+
const Account = 'Account';
|
|
2172
|
+
const DebugAlt2 = 'DebugAlt2';
|
|
2173
|
+
const Extensions$1 = 'Extensions';
|
|
2174
|
+
const Files = 'Files';
|
|
2175
|
+
const References$1 = 'References';
|
|
2176
|
+
const Search$1 = 'Search';
|
|
2177
|
+
const SettingsGear = 'SettingsGear';
|
|
2178
|
+
const SourceControl$1 = 'SourceControl';
|
|
2179
|
+
const Ellipsis = 'Ellipsis';
|
|
2180
|
+
|
|
2181
|
+
const getFilteredActivityBarItems = (items, height, itemHeight) => {
|
|
2182
|
+
const enabledItems = items.filter(item => item.flags & Enabled);
|
|
2183
|
+
const numberOfVisibleItems = getNumberOfVisibleItems({
|
|
2184
|
+
height,
|
|
2185
|
+
itemHeight
|
|
2186
|
+
});
|
|
2187
|
+
if (numberOfVisibleItems >= enabledItems.length) {
|
|
2188
|
+
return enabledItems;
|
|
2189
|
+
}
|
|
2190
|
+
const showMoreItem = {
|
|
2191
|
+
flags: Button,
|
|
2192
|
+
icon: Ellipsis,
|
|
2193
|
+
id: 'Additional Views',
|
|
2194
|
+
keyShortcuts: '',
|
|
2195
|
+
title: additionalViews()
|
|
2196
|
+
};
|
|
2197
|
+
return [...enabledItems.slice(0, numberOfVisibleItems - 2), showMoreItem, enabledItems.at(-1)];
|
|
2198
|
+
};
|
|
2199
|
+
|
|
2200
|
+
const setFlag = (item, flag, enabled) => {
|
|
2201
|
+
return {
|
|
2202
|
+
...item,
|
|
2203
|
+
flags: enabled ? item.flags | flag : item.flags & ~flag
|
|
2204
|
+
};
|
|
2205
|
+
};
|
|
2206
|
+
|
|
2207
|
+
const markActiveViews = (items, activeViewIds) => {
|
|
2208
|
+
const activeViews = new Set(activeViewIds);
|
|
2209
|
+
return items.map(item => setFlag(item, Selected, activeViews.has(item.id)));
|
|
2210
|
+
};
|
|
2211
|
+
|
|
2212
|
+
const handleActiveViewStateChange = (state, id, visible) => {
|
|
2213
|
+
const {
|
|
2214
|
+
activityBarItems,
|
|
2215
|
+
height,
|
|
2216
|
+
itemHeight
|
|
2217
|
+
} = state;
|
|
2218
|
+
const activeViewIds = getActiveViewIds(activityBarItems);
|
|
2219
|
+
const withoutView = activeViewIds.filter(activeViewId => activeViewId !== id);
|
|
2220
|
+
const newActiveViewIds = visible ? [...withoutView, id] : withoutView;
|
|
2221
|
+
const newActivityBarItems = markActiveViews(activityBarItems, newActiveViewIds);
|
|
2222
|
+
const filteredItems = getFilteredActivityBarItems(newActivityBarItems, height, itemHeight);
|
|
2223
|
+
return {
|
|
2224
|
+
...state,
|
|
2225
|
+
activityBarItems: newActivityBarItems,
|
|
2226
|
+
filteredItems
|
|
2227
|
+
};
|
|
2228
|
+
};
|
|
2229
|
+
|
|
2167
2230
|
const getBadgeText = badgeCount => {
|
|
2168
2231
|
if (badgeCount <= 999) {
|
|
2169
2232
|
return badgeCount ? String(badgeCount) : '';
|
|
@@ -2306,35 +2369,6 @@ const findIndex = (activityBarItems, id) => {
|
|
|
2306
2369
|
return -1;
|
|
2307
2370
|
};
|
|
2308
2371
|
|
|
2309
|
-
const Account = 'Account';
|
|
2310
|
-
const DebugAlt2 = 'DebugAlt2';
|
|
2311
|
-
const Extensions$1 = 'Extensions';
|
|
2312
|
-
const Files = 'Files';
|
|
2313
|
-
const References$1 = 'References';
|
|
2314
|
-
const Search$1 = 'Search';
|
|
2315
|
-
const SettingsGear = 'SettingsGear';
|
|
2316
|
-
const SourceControl$1 = 'SourceControl';
|
|
2317
|
-
const Ellipsis = 'Ellipsis';
|
|
2318
|
-
|
|
2319
|
-
const getFilteredActivityBarItems = (items, height, itemHeight) => {
|
|
2320
|
-
const enabledItems = items.filter(item => item.flags & Enabled);
|
|
2321
|
-
const numberOfVisibleItems = getNumberOfVisibleItems({
|
|
2322
|
-
height,
|
|
2323
|
-
itemHeight
|
|
2324
|
-
});
|
|
2325
|
-
if (numberOfVisibleItems >= enabledItems.length) {
|
|
2326
|
-
return enabledItems;
|
|
2327
|
-
}
|
|
2328
|
-
const showMoreItem = {
|
|
2329
|
-
flags: Button,
|
|
2330
|
-
icon: Ellipsis,
|
|
2331
|
-
id: 'Additional Views',
|
|
2332
|
-
keyShortcuts: '',
|
|
2333
|
-
title: additionalViews()
|
|
2334
|
-
};
|
|
2335
|
-
return [...enabledItems.slice(0, numberOfVisibleItems - 2), showMoreItem, enabledItems.at(-1)];
|
|
2336
|
-
};
|
|
2337
|
-
|
|
2338
2372
|
const getSideBarChange = (sideBarVisible, currentViewletId, viewletId) => {
|
|
2339
2373
|
if (sideBarVisible) {
|
|
2340
2374
|
if (currentViewletId === viewletId) {
|
|
@@ -2354,20 +2388,6 @@ const getSideBarChange = (sideBarVisible, currentViewletId, viewletId) => {
|
|
|
2354
2388
|
};
|
|
2355
2389
|
};
|
|
2356
2390
|
|
|
2357
|
-
const setFlag = (item, flag, enabled) => {
|
|
2358
|
-
return {
|
|
2359
|
-
...item,
|
|
2360
|
-
flags: enabled ? item.flags | flag : item.flags & ~flag
|
|
2361
|
-
};
|
|
2362
|
-
};
|
|
2363
|
-
|
|
2364
|
-
const markSelected = (items, selectedIndex) => {
|
|
2365
|
-
return items.map((item, index) => {
|
|
2366
|
-
const isSelected = index === selectedIndex;
|
|
2367
|
-
return setFlag(item, Selected, isSelected);
|
|
2368
|
-
});
|
|
2369
|
-
};
|
|
2370
|
-
|
|
2371
2391
|
const toggle = async id => {
|
|
2372
2392
|
await invoke('Layout.toggleSideBarView', id);
|
|
2373
2393
|
};
|
|
@@ -2380,10 +2400,24 @@ const handleClickOther = async (state, viewletId) => {
|
|
|
2380
2400
|
itemHeight,
|
|
2381
2401
|
sideBarVisible
|
|
2382
2402
|
} = state;
|
|
2403
|
+
const activeViewIds = getActiveViewIds(activityBarItems);
|
|
2404
|
+
const selectedItem = activityBarItems.find(item => item.id === viewletId);
|
|
2383
2405
|
const sideBarChange = getSideBarChange(sideBarVisible, currentViewletId, viewletId);
|
|
2384
2406
|
await toggle(viewletId);
|
|
2407
|
+
if (selectedItem?.preferredLocation === 'preview') {
|
|
2408
|
+
const isActive = activeViewIds.includes(viewletId);
|
|
2409
|
+
const newActiveViewIds = isActive ? activeViewIds.filter(id => id !== viewletId) : [...activeViewIds, viewletId];
|
|
2410
|
+
const newActivityBarItems = markActiveViews(activityBarItems, newActiveViewIds);
|
|
2411
|
+
const filteredItems = getFilteredActivityBarItems(newActivityBarItems, height, itemHeight);
|
|
2412
|
+
return {
|
|
2413
|
+
...state,
|
|
2414
|
+
activityBarItems: newActivityBarItems,
|
|
2415
|
+
filteredItems
|
|
2416
|
+
};
|
|
2417
|
+
}
|
|
2418
|
+
const withoutCurrentSideBarView = activeViewIds.filter(id => id !== currentViewletId);
|
|
2385
2419
|
if (sideBarChange.type === 'hide') {
|
|
2386
|
-
const newActivityBarItems =
|
|
2420
|
+
const newActivityBarItems = markActiveViews(activityBarItems, withoutCurrentSideBarView);
|
|
2387
2421
|
const filteredItems = getFilteredActivityBarItems(newActivityBarItems, height, itemHeight);
|
|
2388
2422
|
return {
|
|
2389
2423
|
...state,
|
|
@@ -2394,7 +2428,8 @@ const handleClickOther = async (state, viewletId) => {
|
|
|
2394
2428
|
};
|
|
2395
2429
|
}
|
|
2396
2430
|
const selectedIndex = findIndex(activityBarItems, viewletId);
|
|
2397
|
-
const
|
|
2431
|
+
const newActiveViewIds = [...withoutCurrentSideBarView, viewletId];
|
|
2432
|
+
const newActivityBarItems = markActiveViews(activityBarItems, newActiveViewIds);
|
|
2398
2433
|
const filteredItems = getFilteredActivityBarItems(newActivityBarItems, height, itemHeight);
|
|
2399
2434
|
return {
|
|
2400
2435
|
...state,
|
|
@@ -2543,6 +2578,9 @@ const toActivityBarItem = view => {
|
|
|
2543
2578
|
icon,
|
|
2544
2579
|
id: view.id,
|
|
2545
2580
|
keyShortcuts: '',
|
|
2581
|
+
...(view.preferredLocation === 'preview' && {
|
|
2582
|
+
preferredLocation: 'preview'
|
|
2583
|
+
}),
|
|
2546
2584
|
title: view.title || view.id
|
|
2547
2585
|
};
|
|
2548
2586
|
if (customIconClass && customIconUrl) {
|
|
@@ -2633,16 +2671,29 @@ const getContributedViews = async platform => {
|
|
|
2633
2671
|
}
|
|
2634
2672
|
};
|
|
2635
2673
|
|
|
2674
|
+
const resolveActiveViewIds = (state, newItems) => {
|
|
2675
|
+
const {
|
|
2676
|
+
activityBarItems,
|
|
2677
|
+
selectedIndex
|
|
2678
|
+
} = state;
|
|
2679
|
+
const activeViewIds = getActiveViewIds(activityBarItems);
|
|
2680
|
+
if (activeViewIds.length > 0 || selectedIndex === -1) {
|
|
2681
|
+
return activeViewIds;
|
|
2682
|
+
}
|
|
2683
|
+
const selectedItem = activityBarItems[selectedIndex] || newItems[selectedIndex];
|
|
2684
|
+
return selectedItem ? [selectedItem.id] : [];
|
|
2685
|
+
};
|
|
2686
|
+
|
|
2636
2687
|
const handleExtensionsChanged = async state => {
|
|
2637
2688
|
const {
|
|
2638
2689
|
height,
|
|
2639
2690
|
itemHeight,
|
|
2640
|
-
platform
|
|
2641
|
-
selectedIndex
|
|
2691
|
+
platform
|
|
2642
2692
|
} = state;
|
|
2643
2693
|
const contributedViews = await getContributedViews(platform);
|
|
2644
2694
|
const items = getActivityBarItems(state, contributedViews);
|
|
2645
|
-
const
|
|
2695
|
+
const activeViewIds = resolveActiveViewIds(state, items);
|
|
2696
|
+
const itemsWithSelected = markActiveViews(items, activeViewIds);
|
|
2646
2697
|
const activityBarItems = await updateItemsWithBadgeCount(itemsWithSelected);
|
|
2647
2698
|
const filteredItems = getFilteredActivityBarItems(activityBarItems, height, itemHeight);
|
|
2648
2699
|
return {
|
|
@@ -2710,8 +2761,7 @@ const handleSettingsChanged = async state => {
|
|
|
2710
2761
|
accountEnabled: currentAccountEnabled,
|
|
2711
2762
|
height,
|
|
2712
2763
|
itemHeight,
|
|
2713
|
-
platform
|
|
2714
|
-
selectedIndex
|
|
2764
|
+
platform
|
|
2715
2765
|
} = state;
|
|
2716
2766
|
const [accountEnabled, contributedViews, sidebarLocation] = await Promise.all([getAccountEnabled(currentAccountEnabled), getContributedViews(platform), getSideBarPosition()]);
|
|
2717
2767
|
const newState = {
|
|
@@ -2719,7 +2769,8 @@ const handleSettingsChanged = async state => {
|
|
|
2719
2769
|
accountEnabled
|
|
2720
2770
|
};
|
|
2721
2771
|
const items = getActivityBarItems(newState, contributedViews);
|
|
2722
|
-
const
|
|
2772
|
+
const activeViewIds = resolveActiveViewIds(state, items);
|
|
2773
|
+
const itemsWithSelected = markActiveViews(items, activeViewIds);
|
|
2723
2774
|
const activityBarItems = await updateItemsWithBadgeCount(itemsWithSelected);
|
|
2724
2775
|
const filteredItems = getFilteredActivityBarItems(activityBarItems, height, itemHeight);
|
|
2725
2776
|
return {
|
|
@@ -2739,9 +2790,8 @@ const getSideBarVisible = async () => {
|
|
|
2739
2790
|
}
|
|
2740
2791
|
};
|
|
2741
2792
|
|
|
2742
|
-
const
|
|
2743
|
-
|
|
2744
|
-
return setFlag(withoutSelected, Focused, false);
|
|
2793
|
+
const clearFocus = item => {
|
|
2794
|
+
return setFlag(item, Focused, false);
|
|
2745
2795
|
};
|
|
2746
2796
|
const enableReferencesItem = (items, id) => {
|
|
2747
2797
|
if (id !== References) {
|
|
@@ -2757,10 +2807,12 @@ const handleSideBarStateChange = async (state, id, sideBarVisibleOverride) => {
|
|
|
2757
2807
|
height,
|
|
2758
2808
|
itemHeight
|
|
2759
2809
|
} = state;
|
|
2810
|
+
const activeViewIds = getActiveViewIds(activityBarItems);
|
|
2760
2811
|
const resolvedId = id === undefined ? currentViewletId : id;
|
|
2761
2812
|
const sideBarVisible = typeof sideBarVisibleOverride === 'boolean' ? sideBarVisibleOverride : await getSideBarVisible();
|
|
2813
|
+
const withoutCurrentSideBarView = activeViewIds.filter(activeViewId => activeViewId !== currentViewletId && activeViewId !== resolvedId);
|
|
2762
2814
|
if (!sideBarVisible) {
|
|
2763
|
-
const itemsCleared = activityBarItems.map(
|
|
2815
|
+
const itemsCleared = markActiveViews(activityBarItems.map(clearFocus), withoutCurrentSideBarView);
|
|
2764
2816
|
const filteredItems = getFilteredActivityBarItems(itemsCleared, height, itemHeight);
|
|
2765
2817
|
return {
|
|
2766
2818
|
...state,
|
|
@@ -2773,7 +2825,8 @@ const handleSideBarStateChange = async (state, id, sideBarVisibleOverride) => {
|
|
|
2773
2825
|
}
|
|
2774
2826
|
const enabledItems = enableReferencesItem(activityBarItems, resolvedId);
|
|
2775
2827
|
const selectedIndex = findIndex(enabledItems, resolvedId);
|
|
2776
|
-
const
|
|
2828
|
+
const newActiveViewIds = selectedIndex === -1 ? withoutCurrentSideBarView : [...withoutCurrentSideBarView, resolvedId];
|
|
2829
|
+
const newActivityBarItems = markActiveViews(enabledItems, newActiveViewIds);
|
|
2777
2830
|
const filteredItems = getFilteredActivityBarItems(newActivityBarItems, height, itemHeight);
|
|
2778
2831
|
return {
|
|
2779
2832
|
...state,
|
|
@@ -2865,13 +2918,14 @@ const loadContent = async state => {
|
|
|
2865
2918
|
const items = getActivityBarItems(newState, contributedViews);
|
|
2866
2919
|
const index = items.findIndex(item => item.id === activeView);
|
|
2867
2920
|
const selectedIndex = sideBarVisible ? index : -1;
|
|
2868
|
-
const
|
|
2921
|
+
const activeViewIds = sideBarVisible && index !== -1 ? [activeView] : [];
|
|
2922
|
+
const itemsWithSelected = markActiveViews(items, activeViewIds);
|
|
2869
2923
|
const activityBarItems = await updateItemsWithBadgeCount(itemsWithSelected);
|
|
2870
2924
|
const filteredItems = getFilteredActivityBarItems(activityBarItems, height, itemHeight);
|
|
2871
2925
|
return {
|
|
2872
2926
|
...newState,
|
|
2873
2927
|
activityBarItems,
|
|
2874
|
-
currentViewletId: Explorer,
|
|
2928
|
+
currentViewletId: activeView || Explorer,
|
|
2875
2929
|
filteredItems,
|
|
2876
2930
|
initial: false,
|
|
2877
2931
|
selectedIndex,
|
|
@@ -3627,15 +3681,15 @@ const selectCurrent = async state => {
|
|
|
3627
3681
|
const setAccountEnabled = (state, enabled) => {
|
|
3628
3682
|
const {
|
|
3629
3683
|
height,
|
|
3630
|
-
itemHeight
|
|
3631
|
-
selectedIndex
|
|
3684
|
+
itemHeight
|
|
3632
3685
|
} = state;
|
|
3633
3686
|
const newState = {
|
|
3634
3687
|
...state,
|
|
3635
3688
|
accountEnabled: enabled
|
|
3636
3689
|
};
|
|
3637
3690
|
const newActivityBarItems = getActivityBarItems(newState);
|
|
3638
|
-
const
|
|
3691
|
+
const activeViewIds = resolveActiveViewIds(state, newActivityBarItems);
|
|
3692
|
+
const markedItems = markActiveViews(newActivityBarItems, activeViewIds);
|
|
3639
3693
|
const filteredItems = getFilteredActivityBarItems(markedItems, height, itemHeight);
|
|
3640
3694
|
return {
|
|
3641
3695
|
...newState,
|
|
@@ -3726,6 +3780,7 @@ const commandMap = {
|
|
|
3726
3780
|
'ActivityBar.getKeyBindings': getKeyBindings,
|
|
3727
3781
|
'ActivityBar.getMenuEntries': wrapGetter(getMenuEntries),
|
|
3728
3782
|
'ActivityBar.getMenuEntryIds': getMenuEntryIds,
|
|
3783
|
+
'ActivityBar.handleActiveViewStateChange': wrapCommand(handleActiveViewStateChange),
|
|
3729
3784
|
'ActivityBar.handleBadgeCountChange': wrapCommand(handleBadgeCountChange),
|
|
3730
3785
|
'ActivityBar.handleBlur': wrapCommand(handleBlur),
|
|
3731
3786
|
'ActivityBar.handleClick': wrapCommand(handleClick),
|