@lvce-editor/api 9.16.2 → 9.17.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/parts/Host/Host.js +2 -1
- package/dist/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.d.ts +1 -0
- package/dist/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +2 -2
- package/dist/parts/ViewRegistry/ViewRegistry.js +1 -1
- package/dist/parts/ViewStatusBarItems/ViewStatusBarItems.d.ts +1 -1
- package/dist/parts/ViewStatusBarItems/ViewStatusBarItems.js +13 -14
- package/package.json +1 -1
package/dist/parts/Host/Host.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ExtensionManagementWorker } from '@lvce-editor/rpc-registry';
|
|
1
2
|
import { executeCommand } from "../ExecuteCommand/ExecuteCommand.js";
|
|
2
3
|
import { getFileSystemProviderPathSeparator } from "../FileSystemProviderRegistry/FileSystemProviderRegistry.js";
|
|
3
4
|
export const closeUri = async (uri) => {
|
|
@@ -22,7 +23,7 @@ export const openUri = async (uri) => {
|
|
|
22
23
|
await executeCommand('Main.openUri', uri);
|
|
23
24
|
};
|
|
24
25
|
export const showNotification = async (type, message) => {
|
|
25
|
-
await
|
|
26
|
+
await ExtensionManagementWorker.invoke('Extensions.showNotification', type, message);
|
|
26
27
|
};
|
|
27
28
|
export const setWorkspaceUri = async (uri) => {
|
|
28
29
|
const protocolEnd = uri.indexOf(':');
|
|
@@ -25,9 +25,9 @@ export const registerStatusBarItemProvider = (provider) => {
|
|
|
25
25
|
ExtensionApiCommandRegistry.registerCommandMap(commandMap);
|
|
26
26
|
void NotifyStatusBarChange.notifyStatusBarChange(registeredProvider.id);
|
|
27
27
|
return {
|
|
28
|
-
dispose() {
|
|
28
|
+
async dispose() {
|
|
29
29
|
registry.deleteProvider(registeredProvider.id);
|
|
30
|
-
|
|
30
|
+
await NotifyStatusBarChange.notifyStatusBarChange(registeredProvider.id);
|
|
31
31
|
},
|
|
32
32
|
async refresh() {
|
|
33
33
|
await NotifyStatusBarChange.notifyStatusBarChange(registeredProvider.id);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { VirtualDomViewInstance } from '../View/View.ts';
|
|
2
2
|
export declare const renderViewStatusBarItems: (uid: number, viewId: string, instance: VirtualDomViewInstance) => Promise<void>;
|
|
3
3
|
export declare const setViewInstanceActive: (uid: number, active: boolean) => Promise<void>;
|
|
4
|
-
export declare const disposeViewStatusBarItems: (uid: number) => void
|
|
4
|
+
export declare const disposeViewStatusBarItems: (uid: number) => Promise<void>;
|
|
5
5
|
export declare const resetViewStatusBarItems: () => void;
|
|
@@ -51,14 +51,13 @@ const areItemsEqual = (oldItems, newItems) => {
|
|
|
51
51
|
oldItem.title === newItem.title);
|
|
52
52
|
});
|
|
53
53
|
};
|
|
54
|
-
const disposeHandles = (viewId) => {
|
|
55
|
-
|
|
56
|
-
handle.dispose();
|
|
57
|
-
}
|
|
54
|
+
const disposeHandles = async (viewId) => {
|
|
55
|
+
const handles = handlesByViewId[viewId] || [];
|
|
58
56
|
delete handlesByViewId[viewId];
|
|
57
|
+
await Promise.all(handles.map((handle) => handle.dispose()));
|
|
59
58
|
};
|
|
60
|
-
const replaceItems = (viewId, itemCount) => {
|
|
61
|
-
disposeHandles(viewId);
|
|
59
|
+
const replaceItems = async (viewId, itemCount) => {
|
|
60
|
+
await disposeHandles(viewId);
|
|
62
61
|
handlesByViewId[viewId] = Array.from({ length: itemCount }, (_item, index) => registerStatusBarItemProvider({
|
|
63
62
|
getStatusBarItem() {
|
|
64
63
|
return itemsByUid[activeUidByViewId[viewId]]?.[index];
|
|
@@ -96,7 +95,7 @@ export const renderViewStatusBarItems = async (uid, viewId, instance) => {
|
|
|
96
95
|
return;
|
|
97
96
|
}
|
|
98
97
|
if ((handlesByViewId[viewId]?.length || 0) !== items.length) {
|
|
99
|
-
replaceItems(viewId, items.length);
|
|
98
|
+
await replaceItems(viewId, items.length);
|
|
100
99
|
return;
|
|
101
100
|
}
|
|
102
101
|
await refreshItems(viewId);
|
|
@@ -111,8 +110,8 @@ export const setViewInstanceActive = async (uid, active) => {
|
|
|
111
110
|
if (activeUidByViewId[viewId] !== uid) {
|
|
112
111
|
return;
|
|
113
112
|
}
|
|
114
|
-
disposeHandles(viewId);
|
|
115
113
|
delete activeUidByViewId[viewId];
|
|
114
|
+
await disposeHandles(viewId);
|
|
116
115
|
return;
|
|
117
116
|
}
|
|
118
117
|
const wasActive = activeUidByViewId[viewId] === uid;
|
|
@@ -122,12 +121,12 @@ export const setViewInstanceActive = async (uid, active) => {
|
|
|
122
121
|
return;
|
|
123
122
|
}
|
|
124
123
|
if ((handlesByViewId[viewId]?.length || 0) !== items.length) {
|
|
125
|
-
replaceItems(viewId, items.length);
|
|
124
|
+
await replaceItems(viewId, items.length);
|
|
126
125
|
return;
|
|
127
126
|
}
|
|
128
127
|
await refreshItems(viewId);
|
|
129
128
|
};
|
|
130
|
-
export const disposeViewStatusBarItems = (uid) => {
|
|
129
|
+
export const disposeViewStatusBarItems = async (uid) => {
|
|
131
130
|
const viewId = viewIdByUid[uid];
|
|
132
131
|
if (!viewId) {
|
|
133
132
|
return;
|
|
@@ -138,9 +137,9 @@ export const disposeViewStatusBarItems = (uid) => {
|
|
|
138
137
|
const renderedUids = renderedUidsByViewId[viewId] || [];
|
|
139
138
|
const remainingUids = renderedUids.filter((renderedUid) => renderedUid !== uid);
|
|
140
139
|
if (remainingUids.length === 0) {
|
|
141
|
-
disposeHandles(viewId);
|
|
142
140
|
delete activeUidByViewId[viewId];
|
|
143
141
|
delete renderedUidsByViewId[viewId];
|
|
142
|
+
await disposeHandles(viewId);
|
|
144
143
|
return;
|
|
145
144
|
}
|
|
146
145
|
renderedUidsByViewId[viewId] = remainingUids;
|
|
@@ -151,14 +150,14 @@ export const disposeViewStatusBarItems = (uid) => {
|
|
|
151
150
|
const items = itemsByUid[activeUid] || [];
|
|
152
151
|
activeUidByViewId[viewId] = activeUid;
|
|
153
152
|
if ((handlesByViewId[viewId]?.length || 0) !== items.length) {
|
|
154
|
-
replaceItems(viewId, items.length);
|
|
153
|
+
await replaceItems(viewId, items.length);
|
|
155
154
|
return;
|
|
156
155
|
}
|
|
157
|
-
|
|
156
|
+
await refreshItems(viewId);
|
|
158
157
|
};
|
|
159
158
|
export const resetViewStatusBarItems = () => {
|
|
160
159
|
for (const viewId of Object.keys(handlesByViewId)) {
|
|
161
|
-
disposeHandles(viewId);
|
|
160
|
+
void disposeHandles(viewId);
|
|
162
161
|
}
|
|
163
162
|
for (const uid of Object.keys(itemsByUid)) {
|
|
164
163
|
delete itemsByUid[Number(uid)];
|