@lvce-editor/activity-bar-worker 1.10.0 → 1.12.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.
@@ -378,7 +378,7 @@ const create$4 = (method, params) => {
378
378
  };
379
379
  };
380
380
  const callbacks = Object.create(null);
381
- const set$4 = (id, fn) => {
381
+ const set$3 = (id, fn) => {
382
382
  callbacks[id] = fn;
383
383
  };
384
384
  const get$2 = id => {
@@ -397,7 +397,7 @@ const registerPromise = () => {
397
397
  resolve,
398
398
  promise
399
399
  } = Promise.withResolvers();
400
- set$4(id, resolve);
400
+ set$3(id, resolve);
401
401
  return {
402
402
  id,
403
403
  promise
@@ -745,7 +745,7 @@ const send = (transport, method, ...params) => {
745
745
  const invoke$1 = (ipc, method, ...params) => {
746
746
  return invokeHelper(ipc, method, params, false);
747
747
  };
748
- const invokeAndTransfer$1 = (ipc, method, ...params) => {
748
+ const invokeAndTransfer = (ipc, method, ...params) => {
749
749
  return invokeHelper(ipc, method, params, true);
750
750
  };
751
751
 
@@ -784,7 +784,7 @@ const createRpc = ipc => {
784
784
  return invoke$1(ipc, method, ...params);
785
785
  },
786
786
  invokeAndTransfer(method, ...params) {
787
- return invokeAndTransfer$1(ipc, method, ...params);
787
+ return invokeAndTransfer(ipc, method, ...params);
788
788
  },
789
789
  async dispose() {
790
790
  await ipc?.dispose();
@@ -836,31 +836,86 @@ const WebWorkerRpcClient = {
836
836
  __proto__: null,
837
837
  create: create$3
838
838
  };
839
- const createMockRpc = ({
840
- commandMap
841
- }) => {
842
- const invocations = [];
843
- const invoke = (method, ...params) => {
844
- invocations.push([method, ...params]);
845
- const command = commandMap[method];
846
- if (!command) {
847
- throw new Error(`command ${method} not found`);
839
+
840
+ const Button$2 = 'button';
841
+ const None = 'none';
842
+ const Tab$1 = 'tab';
843
+ const ToolBar = 'toolbar';
844
+
845
+ const Div = 4;
846
+
847
+ const Button$1 = 'event.button';
848
+ const ClientX = 'event.clientX';
849
+ const ClientY = 'event.clientY';
850
+
851
+ const Enter = 3;
852
+ const Space = 9;
853
+ const PageUp = 10;
854
+ const PageDown = 11;
855
+ const End = 255;
856
+ const Home = 12;
857
+ const UpArrow = 14;
858
+ const DownArrow = 16;
859
+
860
+ const ActivityBar$3 = 1;
861
+ const Settings$1 = 12;
862
+ const ActivityBarAdditionalViews = 17;
863
+
864
+ const LeftClick = 0;
865
+
866
+ const RendererWorker = 1;
867
+
868
+ const SetCss = 'Viewlet.setCss';
869
+ const SetDom2 = 'Viewlet.setDom2';
870
+ const SetFocusContext = 'Viewlet.setFocusContext';
871
+
872
+ const FocusActivityBar = 5;
873
+ const FocusExplorer = 13;
874
+
875
+ const rpcs = Object.create(null);
876
+ const set$2 = (id, rpc) => {
877
+ rpcs[id] = rpc;
878
+ };
879
+ const get$1 = id => {
880
+ return rpcs[id];
881
+ };
882
+
883
+ const create$2 = rpcId => {
884
+ return {
885
+ // @ts-ignore
886
+ invoke(method, ...params) {
887
+ const rpc = get$1(rpcId);
888
+ // @ts-ignore
889
+ return rpc.invoke(method, ...params);
890
+ },
891
+ // @ts-ignore
892
+ invokeAndTransfer(method, ...params) {
893
+ const rpc = get$1(rpcId);
894
+ // @ts-ignore
895
+ return rpc.invokeAndTransfer(method, ...params);
896
+ },
897
+ set(rpc) {
898
+ set$2(rpcId, rpc);
899
+ },
900
+ async dispose() {
901
+ const rpc = get$1(rpcId);
902
+ await rpc.dispose();
848
903
  }
849
- return command(...params);
850
904
  };
851
- const mockRpc = {
852
- invoke,
853
- invokeAndTransfer: invoke,
854
- invocations
855
- };
856
- return mockRpc;
905
+ };
906
+
907
+ const {
908
+ invoke,
909
+ set: set$1} = create$2(RendererWorker);
910
+ const showContextMenu = async (x, y, id, ...args) => {
911
+ return invoke('ContextMenu.show', x, y, id, ...args);
857
912
  };
858
913
 
859
914
  const toCommandId = key => {
860
915
  const dotIndex = key.indexOf('.');
861
916
  return key.slice(dotIndex + 1);
862
917
  };
863
- const create$2 = () => {
918
+ const create$1 = () => {
864
919
  const states = Object.create(null);
865
920
  const commandMapRef = {};
866
921
  return {
@@ -941,16 +996,17 @@ const terminate = () => {
941
996
  };
942
997
 
943
998
  const {
944
- get: get$1,
945
- set: set$3,
999
+ get,
1000
+ set,
946
1001
  registerCommands,
947
1002
  getCommandIds,
948
1003
  wrapGetter,
949
- wrapCommand
950
- } = create$2();
1004
+ wrapCommand,
1005
+ diff
1006
+ } = create$1();
951
1007
 
952
1008
  // TODO parentUid might ot be needed
953
- const create$1 = (id, uri, x, y, width, height, args, parentUid, platform = 0) => {
1009
+ const create = (id, uri, x, y, width, height, args, parentUid, platform = 0) => {
954
1010
  const state = {
955
1011
  currentViewletId: '',
956
1012
  uid: id,
@@ -959,14 +1015,14 @@ const create$1 = (id, uri, x, y, width, height, args, parentUid, platform = 0) =
959
1015
  focusedIndex: -1,
960
1016
  scrollBarHeight: 0,
961
1017
  width: 0,
962
- x: 0,
963
- y: 0,
1018
+ x,
1019
+ y,
964
1020
  sideBarVisible: false,
965
1021
  activityBarItems: [],
966
1022
  selectedIndex: -1,
967
1023
  itemHeight: 48
968
1024
  };
969
- set$3(id, state, state);
1025
+ set(id, state, state);
970
1026
  return state;
971
1027
  };
972
1028
 
@@ -993,30 +1049,17 @@ const RenderCss = 11;
993
1049
  const modules = [isEqual, isEqual$1, isEqual$1, isEqual$2];
994
1050
  const numbers = [RenderItems, RenderFocus, RenderFocusContext, RenderCss];
995
1051
 
996
- const diff = (oldState, newState) => {
997
- const diffResult = [];
998
- for (let i = 0; i < modules.length; i++) {
999
- const fn = modules[i];
1000
- if (!fn(oldState, newState)) {
1001
- diffResult.push(numbers[i]);
1002
- }
1003
- }
1004
- return diffResult;
1005
- };
1006
-
1007
1052
  const diff2 = uid => {
1008
- const {
1009
- oldState,
1010
- newState
1011
- } = get$1(uid);
1012
- const result = diff(oldState, newState);
1013
- return result;
1053
+ return diff(uid, modules, numbers);
1014
1054
  };
1015
1055
 
1016
1056
  const List = 1;
1017
1057
 
1018
1058
  const focus = state => {
1019
- if (state.focus) {
1059
+ const {
1060
+ focus
1061
+ } = state;
1062
+ if (focus) {
1020
1063
  return state;
1021
1064
  }
1022
1065
  return {
@@ -1055,40 +1098,7 @@ const focusNone = state => {
1055
1098
  return focusIndex(state, -1);
1056
1099
  };
1057
1100
 
1058
- const Button$2 = 'button';
1059
- const None = 'none';
1060
- const Tab$1 = 'tab';
1061
- const ToolBar = 'toolbar';
1062
-
1063
- const Button$1 = 'event.button';
1064
- const ClientX = 'event.clientX';
1065
- const ClientY = 'event.clientY';
1066
-
1067
- const Enter = 3;
1068
- const Space = 9;
1069
- const PageUp = 10;
1070
- const PageDown = 11;
1071
- const End = 255;
1072
- const Home = 12;
1073
- const UpArrow = 14;
1074
- const DownArrow = 16;
1075
-
1076
- const ActivityBar$3 = 1;
1077
- const Settings$1 = 12;
1078
- const ActivityBarAdditionalViews = 17;
1079
-
1080
- const LeftClick = 0;
1081
-
1082
- const DebugWorker = 55;
1083
- const RendererWorker$1 = 1;
1084
-
1085
- const SetDom2 = 'Viewlet.setDom2';
1086
- const SetFocusContext = 'Viewlet.setFocusContext';
1087
-
1088
- const FocusActivityBar = 5;
1089
- const FocusExplorer = 13;
1090
-
1091
- const getKeyBindings$1 = () => {
1101
+ const getKeyBindings = () => {
1092
1102
  return [{
1093
1103
  key: DownArrow,
1094
1104
  command: 'ActivityBar.focusNext',
@@ -1140,393 +1150,6 @@ const getIndexFromPosition = (y, eventX, eventY, itemHeight, itemCount) => {
1140
1150
  return index;
1141
1151
  };
1142
1152
 
1143
- const rpcs = Object.create(null);
1144
- const set$2 = (id, rpc) => {
1145
- rpcs[id] = rpc;
1146
- };
1147
- const get = id => {
1148
- return rpcs[id];
1149
- };
1150
-
1151
- const create = rpcId => {
1152
- return {
1153
- // @ts-ignore
1154
- invoke(method, ...params) {
1155
- const rpc = get(rpcId);
1156
- // @ts-ignore
1157
- return rpc.invoke(method, ...params);
1158
- },
1159
- // @ts-ignore
1160
- invokeAndTransfer(method, ...params) {
1161
- const rpc = get(rpcId);
1162
- // @ts-ignore
1163
- return rpc.invokeAndTransfer(method, ...params);
1164
- },
1165
- set(rpc) {
1166
- set$2(rpcId, rpc);
1167
- },
1168
- async dispose() {
1169
- const rpc = get(rpcId);
1170
- await rpc.dispose();
1171
- }
1172
- };
1173
- };
1174
-
1175
- const {
1176
- invoke,
1177
- invokeAndTransfer,
1178
- set: set$1,
1179
- dispose
1180
- } = create(RendererWorker$1);
1181
- const searchFileHtml = async uri => {
1182
- return invoke('ExtensionHost.searchFileWithHtml', uri);
1183
- };
1184
- const getFilePathElectron = async file => {
1185
- return invoke('FileSystemHandle.getFilePathElectron', file);
1186
- };
1187
- const showContextMenu = async (x, y, id, ...args) => {
1188
- return invoke('ContextMenu.show', x, y, id, ...args);
1189
- };
1190
- const getElectronVersion = async () => {
1191
- return invoke('Process.getElectronVersion');
1192
- };
1193
- const applyBulkReplacement = async bulkEdits => {
1194
- await invoke('BulkReplacement.applyBulkReplacement', bulkEdits);
1195
- };
1196
- const setColorTheme = async id => {
1197
- // @ts-ignore
1198
- return invoke(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1199
- };
1200
- const getNodeVersion = async () => {
1201
- return invoke('Process.getNodeVersion');
1202
- };
1203
- const getChromeVersion = async () => {
1204
- return invoke('Process.getChromeVersion');
1205
- };
1206
- const getV8Version = async () => {
1207
- return invoke('Process.getV8Version');
1208
- };
1209
- const getFileHandles = async fileIds => {
1210
- const files = await invoke('FileSystemHandle.getFileHandles', fileIds);
1211
- return files;
1212
- };
1213
- const setWorkspacePath = async path => {
1214
- await invoke('Workspace.setPath', path);
1215
- };
1216
- const registerWebViewInterceptor = async (id, port) => {
1217
- await invokeAndTransfer('WebView.registerInterceptor', id, port);
1218
- };
1219
- const unregisterWebViewInterceptor = async id => {
1220
- await invoke('WebView.unregisterInterceptor', id);
1221
- };
1222
- const sendMessagePortToEditorWorker = async (port, rpcId) => {
1223
- const command = 'HandleMessagePort.handleMessagePort';
1224
- // @ts-ignore
1225
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
1226
- };
1227
- const sendMessagePortToErrorWorker = async (port, rpcId) => {
1228
- const command = 'Errors.handleMessagePort';
1229
- // @ts-ignore
1230
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
1231
- };
1232
- const sendMessagePortToMarkdownWorker = async (port, rpcId) => {
1233
- const command = 'Markdown.handleMessagePort';
1234
- // @ts-ignore
1235
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
1236
- };
1237
- const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
1238
- const command = 'IconTheme.handleMessagePort';
1239
- // @ts-ignore
1240
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToIconThemeWorker', port, command, rpcId);
1241
- };
1242
- const sendMessagePortToFileSystemWorker = async (port, rpcId) => {
1243
- const command = 'FileSystem.handleMessagePort';
1244
- // @ts-ignore
1245
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1246
- };
1247
- const readFile = async uri => {
1248
- return invoke('FileSystem.readFile', uri);
1249
- };
1250
- const getWebViewSecret = async key => {
1251
- // @ts-ignore
1252
- return invoke('WebView.getSecret', key);
1253
- };
1254
- const setWebViewPort = async (uid, port, origin, portType) => {
1255
- return invokeAndTransfer('WebView.setPort', uid, port, origin, portType);
1256
- };
1257
- const setFocus = key => {
1258
- return invoke('Focus.setFocus', key);
1259
- };
1260
- const getFileIcon = async options => {
1261
- return invoke('IconTheme.getFileIcon', options);
1262
- };
1263
- const getColorThemeNames = async () => {
1264
- return invoke('ColorTheme.getColorThemeNames');
1265
- };
1266
- const disableExtension = async id => {
1267
- // @ts-ignore
1268
- return invoke('ExtensionManagement.disable', id);
1269
- };
1270
- const enableExtension = async id => {
1271
- // @ts-ignore
1272
- return invoke('ExtensionManagement.enable', id);
1273
- };
1274
- const handleDebugChange = async params => {
1275
- // @ts-ignore
1276
- return invoke('Run And Debug.handleChange', params);
1277
- };
1278
- const getFolderIcon = async options => {
1279
- return invoke('IconTheme.getFolderIcon', options);
1280
- };
1281
- const closeWidget = async widgetId => {
1282
- return invoke('Viewlet.closeWidget', widgetId);
1283
- };
1284
- const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
1285
- const command = 'HandleMessagePort.handleMessagePort2';
1286
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1287
- };
1288
- const sendMessagePortToSearchProcess = async port => {
1289
- await invokeAndTransfer('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
1290
- };
1291
- const confirm = async (message, options) => {
1292
- // @ts-ignore
1293
- const result = await invoke('ConfirmPrompt.prompt', message, options);
1294
- return result;
1295
- };
1296
- const getRecentlyOpened = async () => {
1297
- return invoke(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1298
- };
1299
- const getKeyBindings = async () => {
1300
- return invoke('KeyBindingsInitial.getKeyBindings');
1301
- };
1302
- const writeClipBoardText = async text => {
1303
- await invoke('ClipBoard.writeText', /* text */text);
1304
- };
1305
- const writeClipBoardImage = async blob => {
1306
- // @ts-ignore
1307
- await invoke('ClipBoard.writeImage', /* text */blob);
1308
- };
1309
- const searchFileMemory = async uri => {
1310
- // @ts-ignore
1311
- return invoke('ExtensionHost.searchFileWithMemory', uri);
1312
- };
1313
- const searchFileFetch = async uri => {
1314
- return invoke('ExtensionHost.searchFileWithFetch', uri);
1315
- };
1316
- const showMessageBox = async options => {
1317
- return invoke('ElectronDialog.showMessageBox', options);
1318
- };
1319
- const handleDebugResumed = async params => {
1320
- await invoke('Run And Debug.handleResumed', params);
1321
- };
1322
- const openWidget = async name => {
1323
- await invoke('Viewlet.openWidget', name);
1324
- };
1325
- const getIcons = async requests => {
1326
- const icons = await invoke('IconTheme.getIcons', requests);
1327
- return icons;
1328
- };
1329
- const activateByEvent = event => {
1330
- return invoke('ExtensionHostManagement.activateByEvent', event);
1331
- };
1332
- const setAdditionalFocus = focusKey => {
1333
- // @ts-ignore
1334
- return invoke('Focus.setAdditionalFocus', focusKey);
1335
- };
1336
- const getActiveEditorId = () => {
1337
- // @ts-ignore
1338
- return invoke('GetActiveEditor.getActiveEditorId');
1339
- };
1340
- const getWorkspacePath = () => {
1341
- return invoke('Workspace.getPath');
1342
- };
1343
- const sendMessagePortToRendererProcess = async port => {
1344
- const command = 'HandleMessagePort.handleMessagePort';
1345
- // @ts-ignore
1346
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
1347
- };
1348
- const getPreference = async key => {
1349
- return await invoke('Preferences.get', key);
1350
- };
1351
- const getAllExtensions = async () => {
1352
- return invoke('ExtensionManagement.getAllExtensions');
1353
- };
1354
- const rerenderEditor = async key => {
1355
- // @ts-ignore
1356
- return invoke('Editor.rerender', key);
1357
- };
1358
- const handleDebugPaused = async params => {
1359
- await invoke('Run And Debug.handlePaused', params);
1360
- };
1361
- const openUri = async (uri, focus, options) => {
1362
- await invoke('Main.openUri', uri, focus, options);
1363
- };
1364
- const sendMessagePortToSyntaxHighlightingWorker = async port => {
1365
- await invokeAndTransfer(
1366
- // @ts-ignore
1367
- 'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort2');
1368
- };
1369
- const handleDebugScriptParsed = async script => {
1370
- await invoke('Run And Debug.handleScriptParsed', script);
1371
- };
1372
- const getWindowId = async () => {
1373
- return invoke('GetWindowId.getWindowId');
1374
- };
1375
- const getBlob = async uri => {
1376
- // @ts-ignore
1377
- return invoke('FileSystem.getBlob', uri);
1378
- };
1379
- const getExtensionCommands = async () => {
1380
- return invoke('ExtensionHost.getCommands');
1381
- };
1382
- const showErrorDialog = async errorInfo => {
1383
- // @ts-ignore
1384
- await invoke('ErrorHandling.showErrorDialog', errorInfo);
1385
- };
1386
- const getFolderSize = async uri => {
1387
- // @ts-ignore
1388
- return await invoke('FileSystem.getFolderSize', uri);
1389
- };
1390
- const getExtension = async id => {
1391
- // @ts-ignore
1392
- return invoke('ExtensionManagement.getExtension', id);
1393
- };
1394
- const getMarkdownDom = async html => {
1395
- // @ts-ignore
1396
- return invoke('Markdown.getVirtualDom', html);
1397
- };
1398
- const renderMarkdown = async (markdown, options) => {
1399
- // @ts-ignore
1400
- return invoke('Markdown.renderMarkdown', markdown, options);
1401
- };
1402
- const openNativeFolder = async uri => {
1403
- // @ts-ignore
1404
- await invoke('OpenNativeFolder.openNativeFolder', uri);
1405
- };
1406
- const uninstallExtension = async id => {
1407
- return invoke('ExtensionManagement.uninstall', id);
1408
- };
1409
- const installExtension = async id => {
1410
- // @ts-ignore
1411
- return invoke('ExtensionManagement.install', id);
1412
- };
1413
- const openExtensionSearch = async () => {
1414
- // @ts-ignore
1415
- return invoke('SideBar.openViewlet', 'Extensions');
1416
- };
1417
- const setExtensionsSearchValue = async searchValue => {
1418
- // @ts-ignore
1419
- return invoke('Extensions.handleInput', searchValue);
1420
- };
1421
- const openExternal = async uri => {
1422
- // @ts-ignore
1423
- await invoke('Open.openExternal', uri);
1424
- };
1425
- const openUrl = async uri => {
1426
- // @ts-ignore
1427
- await invoke('Open.openUrl', uri);
1428
- };
1429
- const getAllPreferences = async () => {
1430
- // @ts-ignore
1431
- return invoke('Preferences.getAll');
1432
- };
1433
- const showSaveFilePicker = async () => {
1434
- // @ts-ignore
1435
- return invoke('FilePicker.showSaveFilePicker');
1436
- };
1437
- const getLogsDir = async () => {
1438
- // @ts-ignore
1439
- return invoke('PlatformPaths.getLogsDir');
1440
- };
1441
- const registerMockRpc = commandMap => {
1442
- const mockRpc = createMockRpc({
1443
- commandMap
1444
- });
1445
- set$1(mockRpc);
1446
- return mockRpc;
1447
- };
1448
-
1449
- const RendererWorker = {
1450
- __proto__: null,
1451
- activateByEvent,
1452
- applyBulkReplacement,
1453
- closeWidget,
1454
- confirm,
1455
- disableExtension,
1456
- dispose,
1457
- enableExtension,
1458
- getActiveEditorId,
1459
- getAllExtensions,
1460
- getAllPreferences,
1461
- getBlob,
1462
- getChromeVersion,
1463
- getColorThemeNames,
1464
- getElectronVersion,
1465
- getExtension,
1466
- getExtensionCommands,
1467
- getFileHandles,
1468
- getFileIcon,
1469
- getFilePathElectron,
1470
- getFolderIcon,
1471
- getFolderSize,
1472
- getIcons,
1473
- getKeyBindings,
1474
- getLogsDir,
1475
- getMarkdownDom,
1476
- getNodeVersion,
1477
- getPreference,
1478
- getRecentlyOpened,
1479
- getV8Version,
1480
- getWebViewSecret,
1481
- getWindowId,
1482
- getWorkspacePath,
1483
- handleDebugChange,
1484
- handleDebugPaused,
1485
- handleDebugResumed,
1486
- handleDebugScriptParsed,
1487
- installExtension,
1488
- invoke,
1489
- invokeAndTransfer,
1490
- openExtensionSearch,
1491
- openExternal,
1492
- openNativeFolder,
1493
- openUri,
1494
- openUrl,
1495
- openWidget,
1496
- readFile,
1497
- registerMockRpc,
1498
- registerWebViewInterceptor,
1499
- renderMarkdown,
1500
- rerenderEditor,
1501
- searchFileFetch,
1502
- searchFileHtml,
1503
- searchFileMemory,
1504
- sendMessagePortToEditorWorker,
1505
- sendMessagePortToErrorWorker,
1506
- sendMessagePortToExtensionHostWorker,
1507
- sendMessagePortToFileSystemWorker,
1508
- sendMessagePortToIconThemeWorker,
1509
- sendMessagePortToMarkdownWorker,
1510
- sendMessagePortToRendererProcess,
1511
- sendMessagePortToSearchProcess,
1512
- sendMessagePortToSyntaxHighlightingWorker,
1513
- set: set$1,
1514
- setAdditionalFocus,
1515
- setColorTheme,
1516
- setExtensionsSearchValue,
1517
- setFocus,
1518
- setWebViewPort,
1519
- setWorkspacePath,
1520
- showContextMenu,
1521
- showErrorDialog,
1522
- showMessageBox,
1523
- showSaveFilePicker,
1524
- uninstallExtension,
1525
- unregisterWebViewInterceptor,
1526
- writeClipBoardImage,
1527
- writeClipBoardText
1528
- };
1529
-
1530
1153
  const show$1 = async (x, y, id, ...args) => {
1531
1154
  await showContextMenu(x, y, id, args);
1532
1155
  };
@@ -1536,9 +1159,13 @@ const handleClickAdditionalViews = async (state, x, y, viewletId) => {
1536
1159
  return state;
1537
1160
  };
1538
1161
 
1539
- const show = async id => {
1540
- // @ts-ignore
1541
- await invoke('Layout.showSideBar', /* id */id);
1162
+ const show = async (sideBarVisible, id) => {
1163
+ if (sideBarVisible) {
1164
+ await invoke('SideBar.show', id);
1165
+ } else {
1166
+ // @ts-ignore
1167
+ await invoke('Layout.showSideBar', /* id */id);
1168
+ }
1542
1169
  };
1543
1170
  const hide = async () => {
1544
1171
  await invoke('Layout.hideSideBar');
@@ -1553,10 +1180,10 @@ const handleClickOther = async (state, x, y, viewletId) => {
1553
1180
  if (currentViewletId === viewletId) {
1554
1181
  await hide();
1555
1182
  } else {
1556
- await show(viewletId);
1183
+ await show(sideBarVisible, viewletId);
1557
1184
  }
1558
1185
  } else {
1559
- await show(currentViewletId);
1186
+ await show(sideBarVisible, currentViewletId);
1560
1187
  }
1561
1188
  return state;
1562
1189
  };
@@ -1607,6 +1234,14 @@ const handleResize = state => {
1607
1234
  return state;
1608
1235
  };
1609
1236
 
1237
+ const handleSideBarHidden = state => {
1238
+ return {
1239
+ ...state,
1240
+ focusedIndex: -1,
1241
+ selectedIndex: -1
1242
+ };
1243
+ };
1244
+
1610
1245
  const findIndex = (activityBarItems, id) => {
1611
1246
  for (let i = 0; i < activityBarItems.length; i++) {
1612
1247
  if (activityBarItems[i].id === id) {
@@ -1616,15 +1251,25 @@ const findIndex = (activityBarItems, id) => {
1616
1251
  return -1;
1617
1252
  };
1618
1253
 
1254
+ const getNewItems = (items, selectedIndex) => {
1255
+ return items.map(item => {
1256
+ return {
1257
+ ...item
1258
+ // TODO set selected property if it matches the selected index
1259
+ };
1260
+ });
1261
+ };
1619
1262
  const handleSideBarViewletChange = (state, id, ...args) => {
1620
1263
  const {
1621
1264
  activityBarItems
1622
1265
  } = state;
1623
1266
  const index = findIndex(activityBarItems, id);
1267
+ const newActivityBarItems = getNewItems(activityBarItems);
1624
1268
  return {
1625
1269
  ...state,
1626
1270
  selectedIndex: index,
1627
- currentViewletId: id
1271
+ currentViewletId: id,
1272
+ activityBarItems: newActivityBarItems
1628
1273
  };
1629
1274
  };
1630
1275
 
@@ -1740,12 +1385,25 @@ const loadContent = async (state, savedState) => {
1740
1385
  return {
1741
1386
  ...state,
1742
1387
  activityBarItems: items,
1743
- sideBarVisible: true
1388
+ sideBarVisible: true,
1389
+ currentViewletId: Explorer
1744
1390
  };
1745
1391
  };
1746
1392
 
1393
+ const getCss = itemHeight => {
1394
+ return `:root {
1395
+ --ActivityBarItemHeight: var(--${itemHeight}px);
1396
+ }
1397
+ `;
1398
+ };
1399
+
1747
1400
  const renderCss = (oldState, newState) => {
1748
- return [];
1401
+ const {
1402
+ uid,
1403
+ itemHeight
1404
+ } = newState;
1405
+ const css = getCss(itemHeight);
1406
+ return [SetCss, uid, css];
1749
1407
  };
1750
1408
 
1751
1409
  const renderFocusContext = (oldState, newState) => {
@@ -1772,14 +1430,26 @@ const Icon = 'Icon';
1772
1430
  const MarginTopAuto = 'MarginTopAuto';
1773
1431
  const Viewlet = 'Viewlet';
1774
1432
 
1775
- const HandleBlur = 'handleBlur';
1776
- const HandleContextMenu = 'handleContextMenu';
1777
- const HandleFocus = 'handleFocus';
1778
- const HandleMouseDown = 'handleMouseDown';
1433
+ const HandleBlur = 1;
1434
+ const HandleContextMenu = 2;
1435
+ const HandleFocus = 3;
1436
+ const HandleMouseDown = 4;
1779
1437
 
1780
1438
  const ActivityBar = 'ActivityBar';
1781
1439
 
1782
- const Div = 4;
1440
+ const getClassName = (isFocused, marginTop, isSelected) => {
1441
+ const classNames = [ActivityBarItem];
1442
+ if (isFocused) {
1443
+ classNames.push(FocusOutline);
1444
+ }
1445
+ if (marginTop) {
1446
+ classNames.push(MarginTopAuto);
1447
+ }
1448
+ if (isSelected) {
1449
+ classNames.push(ActivityBarItemSelected);
1450
+ }
1451
+ return mergeClassNames(...classNames);
1452
+ };
1783
1453
 
1784
1454
  const getIconVirtualDom = (icon, type = Div) => {
1785
1455
  return {
@@ -1809,15 +1479,8 @@ const createActivityBarItem = item => {
1809
1479
  const role = isTab ? Tab$1 : Button$2;
1810
1480
  const ariaSelected = getAriaSelected(isTab, isSelected);
1811
1481
  const marginTop = flags & MarginTop;
1812
- let className = ActivityBarItem;
1813
- if (isFocused) {
1814
- className += ' ' + FocusOutline;
1815
- }
1816
- if (marginTop) {
1817
- className += ' ' + MarginTopAuto;
1818
- }
1482
+ let className = getClassName(isFocused, marginTop, isSelected);
1819
1483
  if (isSelected) {
1820
- className += ' ' + ActivityBarItemSelected;
1821
1484
  return [{
1822
1485
  type: Div,
1823
1486
  className,
@@ -1862,7 +1525,7 @@ const createActivityBarItem = item => {
1862
1525
  }
1863
1526
  return [{
1864
1527
  type: Div,
1865
- className: `${className} Icon${icon}`,
1528
+ className: mergeClassNames(className, `Icon${icon}`),
1866
1529
  ariaLabel: '',
1867
1530
  title,
1868
1531
  role,
@@ -1933,8 +1596,8 @@ const render2 = (uid, diffResult) => {
1933
1596
  const {
1934
1597
  oldState,
1935
1598
  newState
1936
- } = get$1(uid);
1937
- set$3(uid, newState, newState);
1599
+ } = get(uid);
1600
+ set(uid, newState, newState);
1938
1601
  const commands = applyRender(oldState, newState, diffResult);
1939
1602
  return commands;
1940
1603
  };
@@ -1968,7 +1631,7 @@ const saveState = state => {
1968
1631
  };
1969
1632
 
1970
1633
  const commandMap = {
1971
- 'ActivityBar.create': create$1,
1634
+ 'ActivityBar.create': create,
1972
1635
  'ActivityBar.diff2': diff2,
1973
1636
  'ActivityBar.focus': wrapCommand(focus),
1974
1637
  'ActivityBar.focusFirst': wrapCommand(focusFirst),
@@ -1977,11 +1640,12 @@ const commandMap = {
1977
1640
  'ActivityBar.focusNext': wrapCommand(focusNext),
1978
1641
  'ActivityBar.focusNone': wrapCommand(focusNone),
1979
1642
  'ActivityBar.getCommandIds': getCommandIds,
1980
- 'ActivityBar.getKeyBindings': getKeyBindings$1,
1643
+ 'ActivityBar.getKeyBindings': getKeyBindings,
1981
1644
  'ActivityBar.handleBlur': wrapCommand(handleBlur),
1982
1645
  'ActivityBar.handleResize': wrapCommand(handleResize),
1983
1646
  'ActivityBar.handleClick': wrapCommand(handleClick),
1984
1647
  'ActivityBar.handleContextMenu': wrapCommand(handleContextMenu),
1648
+ 'ActivityBar.handleSideBarHidden': wrapCommand(handleSideBarHidden),
1985
1649
  'ActivityBar.handleClickIndex': wrapCommand(handleClickIndex),
1986
1650
  'ActivityBar.handleSideBarViewletChange': wrapCommand(handleSideBarViewletChange),
1987
1651
  'ActivityBar.loadContent': wrapCommand(loadContent),
@@ -1991,15 +1655,12 @@ const commandMap = {
1991
1655
  'ActivityBar.terminate': terminate
1992
1656
  };
1993
1657
 
1994
- const {
1995
- set} = RendererWorker;
1996
-
1997
1658
  const listen = async () => {
1998
1659
  registerCommands(commandMap);
1999
1660
  const rpc = await WebWorkerRpcClient.create({
2000
1661
  commandMap: commandMap
2001
1662
  });
2002
- set(rpc);
1663
+ set$1(rpc);
2003
1664
  };
2004
1665
 
2005
1666
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/activity-bar-worker",
3
- "version": "1.10.0",
3
+ "version": "1.12.0",
4
4
  "description": "Explorer Worker",
5
5
  "repository": {
6
6
  "type": "git",