@lvce-editor/status-bar-worker 1.6.0 → 1.8.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.
@@ -1008,18 +1008,12 @@ const WebWorkerRpcClient = {
1008
1008
  create: create$4
1009
1009
  };
1010
1010
 
1011
- const Button$1 = 'button';
1011
+ const Button = 'button';
1012
1012
 
1013
1013
  const Div = 4;
1014
1014
  const Text = 12;
1015
1015
 
1016
- const Button = 'event.button';
1017
- const ClientX = 'event.clientX';
1018
- const ClientY = 'event.clientY';
1019
- const DeltaMode = 'event.deltaMode';
1020
- const DeltaY = 'event.deltaY';
1021
1016
  const TargetName = 'event.target.name';
1022
- const TargetValue = 'event.target.value';
1023
1017
 
1024
1018
  const ExtensionHostWorker = 44;
1025
1019
  const RendererWorker = 1;
@@ -1208,7 +1202,52 @@ const diff2 = uid => {
1208
1202
  return result;
1209
1203
  };
1210
1204
 
1211
- const handleClick = (state, name) => {
1205
+ const getMatchingItem = (itemsLeft, itemsRight, name) => {
1206
+ for (const item of itemsLeft) {
1207
+ if (item.name === name) {
1208
+ return item;
1209
+ }
1210
+ }
1211
+ for (const item of itemsRight) {
1212
+ if (item.name === name) {
1213
+ return item;
1214
+ }
1215
+ }
1216
+ return undefined;
1217
+ };
1218
+
1219
+ const handleClickNotification = async () => {
1220
+ // TODO toggle notifications
1221
+ };
1222
+
1223
+ const handleClickProblems = async () => {
1224
+ // @ts-ignore
1225
+ await invoke('Layout.showPanel');
1226
+ // @ts-ignore
1227
+ await invoke('Panel.selectView', 'Problems');
1228
+ };
1229
+
1230
+ const Notifications = 'Notifications';
1231
+ const Problems = 'Problems';
1232
+
1233
+ const handleClick = async (state, name) => {
1234
+ if (!name) {
1235
+ return state;
1236
+ }
1237
+ const {
1238
+ statusBarItemsLeft,
1239
+ statusBarItemsRight
1240
+ } = state;
1241
+ const item = getMatchingItem(statusBarItemsLeft, statusBarItemsRight, name);
1242
+ if (!item) {
1243
+ return state;
1244
+ }
1245
+ if (item.name === Notifications) {
1246
+ await handleClickNotification();
1247
+ }
1248
+ if (item.name === Problems) {
1249
+ await handleClickProblems();
1250
+ }
1212
1251
  // TODO
1213
1252
  // sendExtensionWorker([/* statusBarItemHandleClick */ 7657, /* name */ name])
1214
1253
  return state;
@@ -1243,6 +1282,7 @@ const getIndex = (items, item) => {
1243
1282
  }
1244
1283
  return -1;
1245
1284
  };
1285
+
1246
1286
  const updateArray = (items, newItem) => {
1247
1287
  const index = getIndex(items, newItem);
1248
1288
  const before = items.slice(0, index);
@@ -1337,7 +1377,20 @@ const getStatusBarItems = async showItems => {
1337
1377
  await activateByEvent('onSourceControl');
1338
1378
  const extensionStatusBarItems = await getStatusBarItems$1();
1339
1379
  const uiStatusBarItems = toUiStatusBarItems(extensionStatusBarItems);
1340
- return uiStatusBarItems;
1380
+ const extraItems = [{
1381
+ command: '',
1382
+ icon: '',
1383
+ name: Notifications,
1384
+ text: 'Notifications',
1385
+ tooltip: ''
1386
+ }, {
1387
+ command: '',
1388
+ icon: '',
1389
+ name: Problems,
1390
+ text: 'Problems',
1391
+ tooltip: ''
1392
+ }];
1393
+ return [...uiStatusBarItems, ...extraItems];
1341
1394
  };
1342
1395
 
1343
1396
  const get = async key => {
@@ -1345,7 +1398,7 @@ const get = async key => {
1345
1398
  };
1346
1399
 
1347
1400
  const itemsVisible = async () => {
1348
- const statusBarItemsPreference = (await get('statusBar.itemsVisible')) ?? false;
1401
+ const statusBarItemsPreference = (await get('statusBar.itemsVisible')) ?? true;
1349
1402
  return statusBarItemsPreference;
1350
1403
  };
1351
1404
 
@@ -1354,14 +1407,11 @@ const loadContent = async state => {
1354
1407
  const statusBarItems = await getStatusBarItems(statusBarItemsPreference);
1355
1408
  return {
1356
1409
  ...state,
1357
- statusBarItemsLeft: [...statusBarItems]
1410
+ statusBarItemsLeft: [...statusBarItems],
1411
+ statusBarItemsRight: []
1358
1412
  };
1359
1413
  };
1360
1414
 
1361
- const StatusBarItem = 'StatusBarItem';
1362
- const StatusBarItemsLeft = 'StatusBarItemsLeft';
1363
- const StatusBarItemsRight = 'StatusBarItemsRight';
1364
-
1365
1415
  const text = data => {
1366
1416
  return {
1367
1417
  type: Text,
@@ -1370,14 +1420,22 @@ const text = data => {
1370
1420
  };
1371
1421
  };
1372
1422
 
1423
+ const StatusBarItem = 'StatusBarItem';
1424
+ const StatusBarItemsLeft = 'StatusBarItemsLeft';
1425
+ const StatusBarItemsRight = 'StatusBarItemsRight';
1426
+
1427
+ const HandleClick = 11;
1428
+
1373
1429
  const getStatusBarItemVirtualDom = statusBarItem => {
1374
1430
  const {
1431
+ name,
1375
1432
  tooltip
1376
1433
  } = statusBarItem;
1377
1434
  return [{
1378
1435
  childCount: 1,
1379
1436
  className: StatusBarItem,
1380
- role: Button$1,
1437
+ name,
1438
+ role: Button,
1381
1439
  tabIndex: -1,
1382
1440
  title: tooltip,
1383
1441
  type: Div
@@ -1385,6 +1443,9 @@ const getStatusBarItemVirtualDom = statusBarItem => {
1385
1443
  };
1386
1444
 
1387
1445
  const getStatusBarItemsVirtualDom = (items, className) => {
1446
+ if (items.length === 0) {
1447
+ return [];
1448
+ }
1388
1449
  return [{
1389
1450
  childCount: items.length,
1390
1451
  className,
@@ -1392,14 +1453,23 @@ const getStatusBarItemsVirtualDom = (items, className) => {
1392
1453
  }, ...items.flatMap(getStatusBarItemVirtualDom)];
1393
1454
  };
1394
1455
 
1395
- const getStatusBarVirtualDom = (statusBarItemsLeft, statusBarItemsRight) => {
1396
- const dom = [];
1397
- if (statusBarItemsLeft.length > 0) {
1398
- dom.push(...getStatusBarItemsVirtualDom(statusBarItemsLeft, StatusBarItemsLeft));
1456
+ const getChildCount = (leftCount, rightCount) => {
1457
+ let count = 0;
1458
+ if (leftCount > 0) {
1459
+ count++;
1399
1460
  }
1400
- if (statusBarItemsRight.length > 0) {
1401
- dom.push(...getStatusBarItemsVirtualDom(statusBarItemsRight, StatusBarItemsRight));
1461
+ if (rightCount > 0) {
1462
+ count++;
1402
1463
  }
1464
+ return count;
1465
+ };
1466
+ const getStatusBarVirtualDom = (statusBarItemsLeft, statusBarItemsRight) => {
1467
+ const dom = [{
1468
+ childCount: getChildCount(statusBarItemsLeft.length, statusBarItemsRight.length),
1469
+ className: 'StatusBar',
1470
+ onClick: HandleClick,
1471
+ type: Div
1472
+ }, ...getStatusBarItemsVirtualDom(statusBarItemsLeft, StatusBarItemsLeft), ...getStatusBarItemsVirtualDom(statusBarItemsRight, StatusBarItemsRight)];
1403
1473
  return dom;
1404
1474
  };
1405
1475
 
@@ -1444,50 +1514,10 @@ const render2 = (uid, diffResult) => {
1444
1514
  return commands;
1445
1515
  };
1446
1516
 
1447
- const HandleClickAt = 1;
1448
- const HandleContextMenu = 2;
1449
- const HandleFocus = 3;
1450
- const HandleInput = 4;
1451
- const HandleMouseOutAt = 6;
1452
- const HandleMouseOver = 7;
1453
- const HandleMouseOverAt = 8;
1454
- const HandleWheel = 9;
1455
- const HandleClickAction = 10;
1456
-
1457
1517
  const renderEventListeners = () => {
1458
1518
  return [{
1459
- name: HandleWheel,
1460
- params: ['handleWheel', DeltaMode, DeltaY],
1461
- passive: true
1462
- }, {
1463
- name: HandleFocus,
1464
- params: ['handleFocus']
1465
- }, {
1466
- name: HandleClickAt,
1467
- params: ['handleClickAt', ClientX, ClientY, TargetName]
1468
- }, {
1469
- name: HandleMouseOverAt,
1470
- params: ['handleMouseOverAt', ClientX, ClientY]
1471
- }, {
1472
- name: HandleMouseOver,
1473
- params: ['handleMouseOver', ClientX, ClientY]
1474
- }, {
1475
- name: HandleMouseOutAt,
1476
- params: ['handleMouseOutAt', ClientX, ClientY]
1477
- }, {
1478
- name: HandleInput,
1479
- params: ['handleInput', TargetValue]
1480
- }, {
1481
- name: HandleContextMenu,
1482
- params: ['handleContextMenu', Button, ClientX, ClientY],
1483
- preventDefault: true
1484
- }, {
1485
- name: HandleWheel,
1486
- params: ['handleWheel', DeltaMode, DeltaY],
1487
- passive: true
1488
- }, {
1489
- name: HandleClickAction,
1490
- params: ['handleActionClick', TargetName]
1519
+ name: HandleClick,
1520
+ params: ['handleClick', TargetName]
1491
1521
  }];
1492
1522
  };
1493
1523
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/status-bar-worker",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "description": "Status Bar Worker",
5
5
  "repository": {
6
6
  "type": "git",