@lvce-editor/status-bar-worker 1.6.0 → 1.7.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,39 @@ const diff2 = uid => {
1208
1202
  return result;
1209
1203
  };
1210
1204
 
1211
- const handleClick = (state, name) => {
1205
+ const Notifications = 'Notifications';
1206
+
1207
+ const getMatchingItem = (itemsLeft, itemsRight, name) => {
1208
+ for (const item of itemsLeft) {
1209
+ if (item.name === name) {
1210
+ return item;
1211
+ }
1212
+ }
1213
+ for (const item of itemsRight) {
1214
+ if (item.name === name) {
1215
+ return item;
1216
+ }
1217
+ }
1218
+ return undefined;
1219
+ };
1220
+ const handleClickNotification = async () => {
1221
+ // TODO toggle notifications
1222
+ };
1223
+ const handleClick = async (state, name) => {
1224
+ if (!name) {
1225
+ return state;
1226
+ }
1227
+ const {
1228
+ statusBarItemsLeft,
1229
+ statusBarItemsRight
1230
+ } = state;
1231
+ const item = getMatchingItem(statusBarItemsLeft, statusBarItemsRight, name);
1232
+ if (!item) {
1233
+ return state;
1234
+ }
1235
+ if (item.name === Notifications) {
1236
+ await handleClickNotification();
1237
+ }
1212
1238
  // TODO
1213
1239
  // sendExtensionWorker([/* statusBarItemHandleClick */ 7657, /* name */ name])
1214
1240
  return state;
@@ -1337,7 +1363,14 @@ const getStatusBarItems = async showItems => {
1337
1363
  await activateByEvent('onSourceControl');
1338
1364
  const extensionStatusBarItems = await getStatusBarItems$1();
1339
1365
  const uiStatusBarItems = toUiStatusBarItems(extensionStatusBarItems);
1340
- return uiStatusBarItems;
1366
+ const extraItems = [{
1367
+ command: '',
1368
+ icon: '',
1369
+ name: Notifications,
1370
+ text: 'Notifications',
1371
+ tooltip: ''
1372
+ }];
1373
+ return [...uiStatusBarItems, ...extraItems];
1341
1374
  };
1342
1375
 
1343
1376
  const get = async key => {
@@ -1345,7 +1378,7 @@ const get = async key => {
1345
1378
  };
1346
1379
 
1347
1380
  const itemsVisible = async () => {
1348
- const statusBarItemsPreference = (await get('statusBar.itemsVisible')) ?? false;
1381
+ const statusBarItemsPreference = (await get('statusBar.itemsVisible')) ?? true;
1349
1382
  return statusBarItemsPreference;
1350
1383
  };
1351
1384
 
@@ -1354,14 +1387,11 @@ const loadContent = async state => {
1354
1387
  const statusBarItems = await getStatusBarItems(statusBarItemsPreference);
1355
1388
  return {
1356
1389
  ...state,
1357
- statusBarItemsLeft: [...statusBarItems]
1390
+ statusBarItemsLeft: [...statusBarItems],
1391
+ statusBarItemsRight: []
1358
1392
  };
1359
1393
  };
1360
1394
 
1361
- const StatusBarItem = 'StatusBarItem';
1362
- const StatusBarItemsLeft = 'StatusBarItemsLeft';
1363
- const StatusBarItemsRight = 'StatusBarItemsRight';
1364
-
1365
1395
  const text = data => {
1366
1396
  return {
1367
1397
  type: Text,
@@ -1370,14 +1400,22 @@ const text = data => {
1370
1400
  };
1371
1401
  };
1372
1402
 
1403
+ const StatusBarItem = 'StatusBarItem';
1404
+ const StatusBarItemsLeft = 'StatusBarItemsLeft';
1405
+ const StatusBarItemsRight = 'StatusBarItemsRight';
1406
+
1407
+ const HandleClick = 11;
1408
+
1373
1409
  const getStatusBarItemVirtualDom = statusBarItem => {
1374
1410
  const {
1411
+ name,
1375
1412
  tooltip
1376
1413
  } = statusBarItem;
1377
1414
  return [{
1378
1415
  childCount: 1,
1379
1416
  className: StatusBarItem,
1380
- role: Button$1,
1417
+ name,
1418
+ role: Button,
1381
1419
  tabIndex: -1,
1382
1420
  title: tooltip,
1383
1421
  type: Div
@@ -1385,6 +1423,9 @@ const getStatusBarItemVirtualDom = statusBarItem => {
1385
1423
  };
1386
1424
 
1387
1425
  const getStatusBarItemsVirtualDom = (items, className) => {
1426
+ if (items.length === 0) {
1427
+ return [];
1428
+ }
1388
1429
  return [{
1389
1430
  childCount: items.length,
1390
1431
  className,
@@ -1392,14 +1433,23 @@ const getStatusBarItemsVirtualDom = (items, className) => {
1392
1433
  }, ...items.flatMap(getStatusBarItemVirtualDom)];
1393
1434
  };
1394
1435
 
1395
- const getStatusBarVirtualDom = (statusBarItemsLeft, statusBarItemsRight) => {
1396
- const dom = [];
1397
- if (statusBarItemsLeft.length > 0) {
1398
- dom.push(...getStatusBarItemsVirtualDom(statusBarItemsLeft, StatusBarItemsLeft));
1436
+ const getChildCount = (leftCount, rightCount) => {
1437
+ let count = 0;
1438
+ if (leftCount > 0) {
1439
+ count++;
1399
1440
  }
1400
- if (statusBarItemsRight.length > 0) {
1401
- dom.push(...getStatusBarItemsVirtualDom(statusBarItemsRight, StatusBarItemsRight));
1441
+ if (rightCount > 0) {
1442
+ count++;
1402
1443
  }
1444
+ return count;
1445
+ };
1446
+ const getStatusBarVirtualDom = (statusBarItemsLeft, statusBarItemsRight) => {
1447
+ const dom = [{
1448
+ childCount: getChildCount(statusBarItemsLeft.length, statusBarItemsRight.length),
1449
+ className: 'StatusBar',
1450
+ onClick: HandleClick,
1451
+ type: Div
1452
+ }, ...getStatusBarItemsVirtualDom(statusBarItemsLeft, StatusBarItemsLeft), ...getStatusBarItemsVirtualDom(statusBarItemsRight, StatusBarItemsRight)];
1403
1453
  return dom;
1404
1454
  };
1405
1455
 
@@ -1444,50 +1494,10 @@ const render2 = (uid, diffResult) => {
1444
1494
  return commands;
1445
1495
  };
1446
1496
 
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
1497
  const renderEventListeners = () => {
1458
1498
  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]
1499
+ name: HandleClick,
1500
+ params: ['handleClick', TargetName]
1491
1501
  }];
1492
1502
  };
1493
1503
 
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.7.0",
4
4
  "description": "Status Bar Worker",
5
5
  "repository": {
6
6
  "type": "git",