@lvce-editor/problems-view 1.7.0 → 1.9.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.
- package/dist/problemsViewWorkerMain.js +289 -63
- package/package.json +1 -1
|
@@ -423,9 +423,103 @@ const IpcChildWithModuleWorkerAndMessagePort$1 = {
|
|
|
423
423
|
listen: listen$6,
|
|
424
424
|
wrap: wrap$e
|
|
425
425
|
};
|
|
426
|
+
const addListener = (emitter, type, callback) => {
|
|
427
|
+
if ('addEventListener' in emitter) {
|
|
428
|
+
emitter.addEventListener(type, callback);
|
|
429
|
+
} else {
|
|
430
|
+
emitter.on(type, callback);
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
const removeListener = (emitter, type, callback) => {
|
|
434
|
+
if ('removeEventListener' in emitter) {
|
|
435
|
+
emitter.removeEventListener(type, callback);
|
|
436
|
+
} else {
|
|
437
|
+
emitter.off(type, callback);
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
const getFirstEvent = (eventEmitter, eventMap) => {
|
|
441
|
+
const {
|
|
442
|
+
resolve,
|
|
443
|
+
promise
|
|
444
|
+
} = Promise.withResolvers();
|
|
445
|
+
const listenerMap = Object.create(null);
|
|
446
|
+
const cleanup = value => {
|
|
447
|
+
for (const event of Object.keys(eventMap)) {
|
|
448
|
+
removeListener(eventEmitter, event, listenerMap[event]);
|
|
449
|
+
}
|
|
450
|
+
resolve(value);
|
|
451
|
+
};
|
|
452
|
+
for (const [event, type] of Object.entries(eventMap)) {
|
|
453
|
+
const listener = event => {
|
|
454
|
+
cleanup({
|
|
455
|
+
type,
|
|
456
|
+
event
|
|
457
|
+
});
|
|
458
|
+
};
|
|
459
|
+
addListener(eventEmitter, event, listener);
|
|
460
|
+
listenerMap[event] = listener;
|
|
461
|
+
}
|
|
462
|
+
return promise;
|
|
463
|
+
};
|
|
464
|
+
const Message$1$1 = 3;
|
|
465
|
+
const create$5$1 = async ({
|
|
466
|
+
messagePort,
|
|
467
|
+
isMessagePortOpen
|
|
468
|
+
}) => {
|
|
469
|
+
if (!isMessagePort(messagePort)) {
|
|
470
|
+
throw new IpcError('port must be of type MessagePort');
|
|
471
|
+
}
|
|
472
|
+
if (isMessagePortOpen) {
|
|
473
|
+
return messagePort;
|
|
474
|
+
}
|
|
475
|
+
const eventPromise = getFirstEvent(messagePort, {
|
|
476
|
+
message: Message$1$1
|
|
477
|
+
});
|
|
478
|
+
messagePort.start();
|
|
479
|
+
const {
|
|
480
|
+
type,
|
|
481
|
+
event
|
|
482
|
+
} = await eventPromise;
|
|
483
|
+
if (type !== Message$1$1) {
|
|
484
|
+
throw new IpcError('Failed to wait for ipc message');
|
|
485
|
+
}
|
|
486
|
+
if (event.data !== readyMessage) {
|
|
487
|
+
throw new IpcError('unexpected first message');
|
|
488
|
+
}
|
|
489
|
+
return messagePort;
|
|
490
|
+
};
|
|
491
|
+
const signal$1 = messagePort => {
|
|
492
|
+
messagePort.start();
|
|
493
|
+
};
|
|
494
|
+
class IpcParentWithMessagePort extends Ipc {
|
|
495
|
+
getData = getData$2;
|
|
496
|
+
send(message) {
|
|
497
|
+
this._rawIpc.postMessage(message);
|
|
498
|
+
}
|
|
499
|
+
sendAndTransfer(message) {
|
|
500
|
+
const transfer = getTransferrables(message);
|
|
501
|
+
this._rawIpc.postMessage(message, transfer);
|
|
502
|
+
}
|
|
503
|
+
dispose() {
|
|
504
|
+
this._rawIpc.close();
|
|
505
|
+
}
|
|
506
|
+
onMessage(callback) {
|
|
507
|
+
this._rawIpc.addEventListener('message', callback);
|
|
508
|
+
}
|
|
509
|
+
onClose(callback) {}
|
|
510
|
+
}
|
|
511
|
+
const wrap$5 = messagePort => {
|
|
512
|
+
return new IpcParentWithMessagePort(messagePort);
|
|
513
|
+
};
|
|
514
|
+
const IpcParentWithMessagePort$1 = {
|
|
515
|
+
__proto__: null,
|
|
516
|
+
create: create$5$1,
|
|
517
|
+
signal: signal$1,
|
|
518
|
+
wrap: wrap$5
|
|
519
|
+
};
|
|
426
520
|
|
|
427
521
|
const Two = '2.0';
|
|
428
|
-
const create$4 = (method, params) => {
|
|
522
|
+
const create$4$1 = (method, params) => {
|
|
429
523
|
return {
|
|
430
524
|
jsonrpc: Two,
|
|
431
525
|
method,
|
|
@@ -433,7 +527,7 @@ const create$4 = (method, params) => {
|
|
|
433
527
|
};
|
|
434
528
|
};
|
|
435
529
|
const callbacks = Object.create(null);
|
|
436
|
-
const set$
|
|
530
|
+
const set$4 = (id, fn) => {
|
|
437
531
|
callbacks[id] = fn;
|
|
438
532
|
};
|
|
439
533
|
const get$2 = id => {
|
|
@@ -452,7 +546,7 @@ const registerPromise = () => {
|
|
|
452
546
|
resolve,
|
|
453
547
|
promise
|
|
454
548
|
} = Promise.withResolvers();
|
|
455
|
-
set$
|
|
549
|
+
set$4(id, resolve);
|
|
456
550
|
return {
|
|
457
551
|
id,
|
|
458
552
|
promise
|
|
@@ -679,7 +773,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
|
|
|
679
773
|
const errorProperty = getErrorProperty(error, prettyError);
|
|
680
774
|
return create$1$1(id, errorProperty);
|
|
681
775
|
};
|
|
682
|
-
const create$
|
|
776
|
+
const create$6 = (message, result) => {
|
|
683
777
|
return {
|
|
684
778
|
jsonrpc: Two,
|
|
685
779
|
id: message.id,
|
|
@@ -688,7 +782,7 @@ const create$5 = (message, result) => {
|
|
|
688
782
|
};
|
|
689
783
|
const getSuccessResponse = (message, result) => {
|
|
690
784
|
const resultProperty = result ?? null;
|
|
691
|
-
return create$
|
|
785
|
+
return create$6(message, resultProperty);
|
|
692
786
|
};
|
|
693
787
|
const getErrorResponseSimple = (id, error) => {
|
|
694
788
|
return {
|
|
@@ -792,11 +886,11 @@ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
|
|
|
792
886
|
const responseMessage = await promise;
|
|
793
887
|
return unwrapJsonRpcResult(responseMessage);
|
|
794
888
|
};
|
|
795
|
-
const send = (transport, method, ...params) => {
|
|
796
|
-
const message = create$4(method, params);
|
|
889
|
+
const send$1 = (transport, method, ...params) => {
|
|
890
|
+
const message = create$4$1(method, params);
|
|
797
891
|
transport.send(message);
|
|
798
892
|
};
|
|
799
|
-
const invoke = (ipc, method, ...params) => {
|
|
893
|
+
const invoke$1 = (ipc, method, ...params) => {
|
|
800
894
|
return invokeHelper(ipc, method, params, false);
|
|
801
895
|
};
|
|
802
896
|
const invokeAndTransfer = (ipc, method, ...params) => {
|
|
@@ -826,10 +920,10 @@ const createRpc = ipc => {
|
|
|
826
920
|
* @deprecated
|
|
827
921
|
*/
|
|
828
922
|
send(method, ...params) {
|
|
829
|
-
send(ipc, method, ...params);
|
|
923
|
+
send$1(ipc, method, ...params);
|
|
830
924
|
},
|
|
831
925
|
invoke(method, ...params) {
|
|
832
|
-
return invoke(ipc, method, ...params);
|
|
926
|
+
return invoke$1(ipc, method, ...params);
|
|
833
927
|
},
|
|
834
928
|
invokeAndTransfer(method, ...params) {
|
|
835
929
|
return invokeAndTransfer(ipc, method, ...params);
|
|
@@ -870,7 +964,41 @@ const listen$1 = async (module, options) => {
|
|
|
870
964
|
const ipc = module.wrap(rawIpc);
|
|
871
965
|
return ipc;
|
|
872
966
|
};
|
|
967
|
+
const create$5 = async ({
|
|
968
|
+
commandMap,
|
|
969
|
+
messagePort
|
|
970
|
+
}) => {
|
|
971
|
+
// TODO create a commandMap per rpc instance
|
|
972
|
+
register(commandMap);
|
|
973
|
+
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
974
|
+
messagePort,
|
|
975
|
+
isMessagePortOpen: true
|
|
976
|
+
});
|
|
977
|
+
const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
|
|
978
|
+
handleIpc(ipc);
|
|
979
|
+
const rpc = createRpc(ipc);
|
|
980
|
+
messagePort.start();
|
|
981
|
+
return rpc;
|
|
982
|
+
};
|
|
873
983
|
const create$3 = async ({
|
|
984
|
+
commandMap,
|
|
985
|
+
send
|
|
986
|
+
}) => {
|
|
987
|
+
const {
|
|
988
|
+
port1,
|
|
989
|
+
port2
|
|
990
|
+
} = new MessageChannel();
|
|
991
|
+
await send(port1);
|
|
992
|
+
return create$5({
|
|
993
|
+
commandMap,
|
|
994
|
+
messagePort: port2
|
|
995
|
+
});
|
|
996
|
+
};
|
|
997
|
+
const TransferMessagePortRpcParent = {
|
|
998
|
+
__proto__: null,
|
|
999
|
+
create: create$3
|
|
1000
|
+
};
|
|
1001
|
+
const create$4 = async ({
|
|
874
1002
|
commandMap
|
|
875
1003
|
}) => {
|
|
876
1004
|
// TODO create a commandMap per rpc instance
|
|
@@ -882,7 +1010,7 @@ const create$3 = async ({
|
|
|
882
1010
|
};
|
|
883
1011
|
const WebWorkerRpcClient = {
|
|
884
1012
|
__proto__: null,
|
|
885
|
-
create: create$
|
|
1013
|
+
create: create$4
|
|
886
1014
|
};
|
|
887
1015
|
|
|
888
1016
|
const create$2 = () => {
|
|
@@ -980,22 +1108,38 @@ const create$1 = rpcId => {
|
|
|
980
1108
|
}
|
|
981
1109
|
};
|
|
982
1110
|
};
|
|
1111
|
+
const EditorWorker$1 = 99;
|
|
983
1112
|
const RendererWorker$1 = 1;
|
|
1113
|
+
const {
|
|
1114
|
+
invoke: invoke$c,
|
|
1115
|
+
set: set$c} = create$1(EditorWorker$1);
|
|
1116
|
+
const EditorWorker = {
|
|
1117
|
+
__proto__: null,
|
|
1118
|
+
invoke: invoke$c,
|
|
1119
|
+
set: set$c};
|
|
984
1120
|
const {
|
|
985
1121
|
invoke: invoke$3,
|
|
1122
|
+
invokeAndTransfer: invokeAndTransfer$3,
|
|
986
1123
|
set: set$3} = create$1(RendererWorker$1);
|
|
1124
|
+
const sendMessagePortToEditorWorker$1 = async (port, rpcId) => {
|
|
1125
|
+
const command = 'HandleMessagePort.handleMessagePort';
|
|
1126
|
+
// @ts-ignore
|
|
1127
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
|
|
1128
|
+
};
|
|
987
1129
|
const writeClipBoardText$1 = async text => {
|
|
988
1130
|
await invoke$3('ClipBoard.writeText', /* text */text);
|
|
989
1131
|
};
|
|
990
1132
|
const RendererWorker = {
|
|
991
1133
|
__proto__: null,
|
|
1134
|
+
sendMessagePortToEditorWorker: sendMessagePortToEditorWorker$1,
|
|
992
1135
|
set: set$3,
|
|
993
1136
|
writeClipBoardText: writeClipBoardText$1
|
|
994
1137
|
};
|
|
995
1138
|
|
|
996
1139
|
const {
|
|
997
|
-
set: set$
|
|
998
|
-
writeClipBoardText
|
|
1140
|
+
set: set$2,
|
|
1141
|
+
writeClipBoardText,
|
|
1142
|
+
sendMessagePortToEditorWorker
|
|
999
1143
|
} = RendererWorker;
|
|
1000
1144
|
|
|
1001
1145
|
const writeText = async text => {
|
|
@@ -1017,7 +1161,7 @@ const Script = 2;
|
|
|
1017
1161
|
|
|
1018
1162
|
const {
|
|
1019
1163
|
get,
|
|
1020
|
-
set,
|
|
1164
|
+
set: set$1,
|
|
1021
1165
|
wrapCommand
|
|
1022
1166
|
} = create$2();
|
|
1023
1167
|
|
|
@@ -1047,17 +1191,22 @@ const create = (id, uri, x, y, width, height, args, parentUid) => {
|
|
|
1047
1191
|
smallWidthBreakPoint: 650,
|
|
1048
1192
|
filteredProblems: []
|
|
1049
1193
|
};
|
|
1050
|
-
set(id, state, state);
|
|
1194
|
+
set$1(id, state, state);
|
|
1195
|
+
};
|
|
1196
|
+
|
|
1197
|
+
const isEqual$1 = (oldState, newState) => {
|
|
1198
|
+
return newState.inputSource === User || oldState.filterValue === newState.filterValue;
|
|
1051
1199
|
};
|
|
1052
1200
|
|
|
1053
1201
|
const isEqual = (oldState, newState) => {
|
|
1054
|
-
return oldState.problems === newState.problems;
|
|
1202
|
+
return oldState.problems === newState.problems && oldState.filterValue === newState.filterValue && oldState.message === newState.message;
|
|
1055
1203
|
};
|
|
1056
1204
|
|
|
1057
1205
|
const RenderItems = 1;
|
|
1206
|
+
const RenderFilterValue = 2;
|
|
1058
1207
|
|
|
1059
|
-
const modules = [isEqual];
|
|
1060
|
-
const numbers = [RenderItems];
|
|
1208
|
+
const modules = [isEqual, isEqual$1];
|
|
1209
|
+
const numbers = [RenderItems, RenderFilterValue];
|
|
1061
1210
|
|
|
1062
1211
|
const diff = (oldState, newState) => {
|
|
1063
1212
|
const diffResult = [];
|
|
@@ -1310,6 +1459,14 @@ const handleContextMenu = async (state, eventX, eventY) => {
|
|
|
1310
1459
|
return state;
|
|
1311
1460
|
};
|
|
1312
1461
|
|
|
1462
|
+
const handleFilterInput = (state, value, inputSource = Script) => {
|
|
1463
|
+
return {
|
|
1464
|
+
...state,
|
|
1465
|
+
filterValue: value,
|
|
1466
|
+
inputSource
|
|
1467
|
+
};
|
|
1468
|
+
};
|
|
1469
|
+
|
|
1313
1470
|
const handleIconThemeChange = state => {
|
|
1314
1471
|
return {
|
|
1315
1472
|
...state,
|
|
@@ -1317,13 +1474,46 @@ const handleIconThemeChange = state => {
|
|
|
1317
1474
|
};
|
|
1318
1475
|
};
|
|
1319
1476
|
|
|
1477
|
+
const send = port => {
|
|
1478
|
+
return sendMessagePortToEditorWorker(port, 0);
|
|
1479
|
+
};
|
|
1480
|
+
const createEditorWorkerRpc = async () => {
|
|
1481
|
+
try {
|
|
1482
|
+
const rpc = await TransferMessagePortRpcParent.create({
|
|
1483
|
+
commandMap: {},
|
|
1484
|
+
send
|
|
1485
|
+
});
|
|
1486
|
+
return rpc;
|
|
1487
|
+
} catch (error) {
|
|
1488
|
+
throw new VError(error, `Failed to create editor worker rpc`);
|
|
1489
|
+
}
|
|
1490
|
+
};
|
|
1491
|
+
|
|
1492
|
+
const {
|
|
1493
|
+
invoke,
|
|
1494
|
+
set} = EditorWorker;
|
|
1495
|
+
|
|
1320
1496
|
const initialize = async () => {
|
|
1321
|
-
|
|
1497
|
+
const rpc = await createEditorWorkerRpc();
|
|
1498
|
+
set(rpc);
|
|
1322
1499
|
};
|
|
1323
1500
|
|
|
1324
1501
|
const getProblems = async state => {
|
|
1325
|
-
|
|
1326
|
-
|
|
1502
|
+
try {
|
|
1503
|
+
// TODO send event listener to editor, asking to send problem updates to this worker
|
|
1504
|
+
// @ts-ignore
|
|
1505
|
+
await invoke('Editor.getProblems');
|
|
1506
|
+
// TODO ask editor worker for problems
|
|
1507
|
+
return {
|
|
1508
|
+
problems: [],
|
|
1509
|
+
error: ''
|
|
1510
|
+
};
|
|
1511
|
+
} catch (error) {
|
|
1512
|
+
return {
|
|
1513
|
+
problems: [],
|
|
1514
|
+
error: `${error}`
|
|
1515
|
+
};
|
|
1516
|
+
}
|
|
1327
1517
|
};
|
|
1328
1518
|
|
|
1329
1519
|
const emptyObject = {};
|
|
@@ -1427,7 +1617,16 @@ const getSavedCollapsedUris = savedState => {
|
|
|
1427
1617
|
return [];
|
|
1428
1618
|
};
|
|
1429
1619
|
const loadContent = async (state, savedState) => {
|
|
1430
|
-
const
|
|
1620
|
+
const {
|
|
1621
|
+
problems,
|
|
1622
|
+
error
|
|
1623
|
+
} = await getProblems();
|
|
1624
|
+
if (error) {
|
|
1625
|
+
return {
|
|
1626
|
+
...state,
|
|
1627
|
+
message: error
|
|
1628
|
+
};
|
|
1629
|
+
}
|
|
1431
1630
|
const message = getMessage(problems.length);
|
|
1432
1631
|
const viewMode = getSavedViewMode(savedState);
|
|
1433
1632
|
const filterValue = getSavedFilterValue(savedState);
|
|
@@ -1445,12 +1644,18 @@ const loadContent = async (state, savedState) => {
|
|
|
1445
1644
|
};
|
|
1446
1645
|
};
|
|
1447
1646
|
|
|
1647
|
+
const Filter$2 = 'filter';
|
|
1648
|
+
|
|
1649
|
+
const renderFilterValue = (oldState, newState) => {
|
|
1650
|
+
return ['Viewlet.setValueByName', Filter$2, newState.filterValue];
|
|
1651
|
+
};
|
|
1652
|
+
|
|
1448
1653
|
const Button = 1;
|
|
1449
1654
|
const ProblemsFilter = 4;
|
|
1450
1655
|
|
|
1451
1656
|
const Chevron = 'Chevron';
|
|
1452
1657
|
const FileIcon = 'FileIcon';
|
|
1453
|
-
const Filter$
|
|
1658
|
+
const Filter$1 = 'Filter';
|
|
1454
1659
|
const FilterBadge = 'FilterBadge';
|
|
1455
1660
|
const Highlight = 'Highlight';
|
|
1456
1661
|
const IconButton = 'IconButton';
|
|
@@ -1520,8 +1725,6 @@ const getInputBoxVirtualDom = (name, onInput, placeholder) => {
|
|
|
1520
1725
|
};
|
|
1521
1726
|
};
|
|
1522
1727
|
|
|
1523
|
-
const Filter$1 = 'filter';
|
|
1524
|
-
|
|
1525
1728
|
const CollapseAll = 'CollapseAll';
|
|
1526
1729
|
const Filter = 'Filter';
|
|
1527
1730
|
const ListFlat = 'ListFlat';
|
|
@@ -1549,9 +1752,9 @@ const getBadgeDom = badgeText => {
|
|
|
1549
1752
|
const getProblemsFilterVirtualDom = action => {
|
|
1550
1753
|
return [{
|
|
1551
1754
|
type: VirtualDomElements.Div,
|
|
1552
|
-
className: Filter$
|
|
1755
|
+
className: Filter$1,
|
|
1553
1756
|
childCount: getChildCount(action.badgeText)
|
|
1554
|
-
}, getInputBoxVirtualDom(Filter$
|
|
1757
|
+
}, getInputBoxVirtualDom(Filter$2, action.command, action.placeholder || ''), ...getBadgeDom(action.badgeText), ...getActionButtonVirtualDom({
|
|
1555
1758
|
id: 'more filters',
|
|
1556
1759
|
// TODO use i18n string
|
|
1557
1760
|
icon: Filter,
|
|
@@ -1559,6 +1762,22 @@ const getProblemsFilterVirtualDom = action => {
|
|
|
1559
1762
|
})];
|
|
1560
1763
|
};
|
|
1561
1764
|
|
|
1765
|
+
const getNoResultsWithFilterVirtualDom = () => {
|
|
1766
|
+
return [{
|
|
1767
|
+
type: VirtualDomElements.Div,
|
|
1768
|
+
className: Message,
|
|
1769
|
+
childCount: 3
|
|
1770
|
+
}, {
|
|
1771
|
+
type: VirtualDomElements.Span,
|
|
1772
|
+
childCount: 1
|
|
1773
|
+
}, text(noResultsFoundWithProvidedFilterCriteria()), {
|
|
1774
|
+
type: VirtualDomElements.A,
|
|
1775
|
+
className: MessageAction,
|
|
1776
|
+
childCount: 1,
|
|
1777
|
+
onClick: HandleClearFilterClick
|
|
1778
|
+
}, text(clearFilter()), text('.')];
|
|
1779
|
+
};
|
|
1780
|
+
|
|
1562
1781
|
const getBadgeVirtualDom = (className, count) => {
|
|
1563
1782
|
return [{
|
|
1564
1783
|
type: VirtualDomElements.Div,
|
|
@@ -1722,29 +1941,12 @@ const getProblemsListVirtualDom = problems => {
|
|
|
1722
1941
|
return dom;
|
|
1723
1942
|
};
|
|
1724
1943
|
|
|
1725
|
-
const getProblemsNoProblemsFoundVirtualDom =
|
|
1726
|
-
|
|
1727
|
-
const dom = [];
|
|
1728
|
-
dom.push({
|
|
1944
|
+
const getProblemsNoProblemsFoundVirtualDom = () => {
|
|
1945
|
+
return [{
|
|
1729
1946
|
type: VirtualDomElements.Div,
|
|
1730
1947
|
className: Message,
|
|
1731
1948
|
childCount: 1
|
|
1732
|
-
});
|
|
1733
|
-
if (filterValue) {
|
|
1734
|
-
dom[0].childCount += 2;
|
|
1735
|
-
dom.push({
|
|
1736
|
-
type: VirtualDomElements.Span,
|
|
1737
|
-
childCount: 1
|
|
1738
|
-
}, text(noResultsFoundWithProvidedFilterCriteria()), {
|
|
1739
|
-
type: VirtualDomElements.A,
|
|
1740
|
-
className: MessageAction,
|
|
1741
|
-
childCount: 1,
|
|
1742
|
-
onClick: HandleClearFilterClick
|
|
1743
|
-
}, text(clearFilter()), text('.'));
|
|
1744
|
-
} else {
|
|
1745
|
-
dom.push(text(noProblemsDetected()));
|
|
1746
|
-
}
|
|
1747
|
-
return dom;
|
|
1949
|
+
}, text(noProblemsDetected())];
|
|
1748
1950
|
};
|
|
1749
1951
|
|
|
1750
1952
|
const getClassName = isEven => {
|
|
@@ -1850,9 +2052,19 @@ const getProblemsTableVirtualDom = problems => {
|
|
|
1850
2052
|
return dom;
|
|
1851
2053
|
};
|
|
1852
2054
|
|
|
1853
|
-
const getProblemsVirtualDom$1 = (viewMode, problems, filterValue) => {
|
|
2055
|
+
const getProblemsVirtualDom$1 = (viewMode, problems, filterValue, message) => {
|
|
2056
|
+
if (message) {
|
|
2057
|
+
return [{
|
|
2058
|
+
type: VirtualDomElements.Div,
|
|
2059
|
+
className: Message,
|
|
2060
|
+
childCount: 1
|
|
2061
|
+
}, text(message)];
|
|
2062
|
+
}
|
|
2063
|
+
if (problems.length === 0 && filterValue) {
|
|
2064
|
+
return getNoResultsWithFilterVirtualDom();
|
|
2065
|
+
}
|
|
1854
2066
|
if (problems.length === 0) {
|
|
1855
|
-
return getProblemsNoProblemsFoundVirtualDom(
|
|
2067
|
+
return getProblemsNoProblemsFoundVirtualDom();
|
|
1856
2068
|
}
|
|
1857
2069
|
if (viewMode === Table) {
|
|
1858
2070
|
return getProblemsTableVirtualDom(problems);
|
|
@@ -1860,7 +2072,7 @@ const getProblemsVirtualDom$1 = (viewMode, problems, filterValue) => {
|
|
|
1860
2072
|
return getProblemsListVirtualDom(problems);
|
|
1861
2073
|
};
|
|
1862
2074
|
|
|
1863
|
-
const getProblemsVirtualDom = (viewMode, problems, filterValue, isSmall) => {
|
|
2075
|
+
const getProblemsVirtualDom = (viewMode, problems, filterValue, isSmall, message) => {
|
|
1864
2076
|
// TODO avoid mutation
|
|
1865
2077
|
const dom = [];
|
|
1866
2078
|
dom.push({
|
|
@@ -1879,7 +2091,7 @@ const getProblemsVirtualDom = (viewMode, problems, filterValue, isSmall) => {
|
|
|
1879
2091
|
badgeText: '',
|
|
1880
2092
|
placeholder: filter()}));
|
|
1881
2093
|
}
|
|
1882
|
-
dom.push(...getProblemsVirtualDom$1(viewMode, problems, filterValue));
|
|
2094
|
+
dom.push(...getProblemsVirtualDom$1(viewMode, problems, filterValue, message));
|
|
1883
2095
|
return dom;
|
|
1884
2096
|
};
|
|
1885
2097
|
|
|
@@ -1956,9 +2168,19 @@ const getVisibleProblems = (problems, collapsedUris, focusedIndex, filterValue)
|
|
|
1956
2168
|
};
|
|
1957
2169
|
|
|
1958
2170
|
const renderItems = (oldState, newState) => {
|
|
1959
|
-
const
|
|
1960
|
-
|
|
1961
|
-
|
|
2171
|
+
const {
|
|
2172
|
+
problems,
|
|
2173
|
+
width,
|
|
2174
|
+
smallWidthBreakPoint,
|
|
2175
|
+
collapsedUris,
|
|
2176
|
+
focusedIndex,
|
|
2177
|
+
viewMode,
|
|
2178
|
+
filterValue,
|
|
2179
|
+
message
|
|
2180
|
+
} = newState;
|
|
2181
|
+
const visible = getVisibleProblems(problems, collapsedUris, focusedIndex, filterValue);
|
|
2182
|
+
const isSmall = width <= smallWidthBreakPoint;
|
|
2183
|
+
const dom = getProblemsVirtualDom(viewMode, visible, filterValue, isSmall, message);
|
|
1962
2184
|
return ['Viewlet.setDom2', dom];
|
|
1963
2185
|
};
|
|
1964
2186
|
|
|
@@ -1966,6 +2188,8 @@ const getRenderer = diffType => {
|
|
|
1966
2188
|
switch (diffType) {
|
|
1967
2189
|
case RenderItems:
|
|
1968
2190
|
return renderItems;
|
|
2191
|
+
case RenderFilterValue:
|
|
2192
|
+
return renderFilterValue;
|
|
1969
2193
|
default:
|
|
1970
2194
|
throw new Error('unknown renderer');
|
|
1971
2195
|
}
|
|
@@ -1985,7 +2209,7 @@ const render2 = (uid, diffResult) => {
|
|
|
1985
2209
|
oldState,
|
|
1986
2210
|
newState
|
|
1987
2211
|
} = get(uid);
|
|
1988
|
-
set(uid, newState, newState);
|
|
2212
|
+
set$1(uid, newState, newState);
|
|
1989
2213
|
const commands = applyRender(oldState, newState, diffResult);
|
|
1990
2214
|
return commands;
|
|
1991
2215
|
};
|
|
@@ -2077,7 +2301,8 @@ const renderEventListeners = () => {
|
|
|
2077
2301
|
preventDefault: true
|
|
2078
2302
|
}, {
|
|
2079
2303
|
name: HandleFilterInput,
|
|
2080
|
-
|
|
2304
|
+
// @ts-ignore
|
|
2305
|
+
params: ['handleFilterInput', 'event.target.value', User]
|
|
2081
2306
|
}, {
|
|
2082
2307
|
name: HandleClearFilterClick,
|
|
2083
2308
|
params: ['clearFilter']
|
|
@@ -2123,26 +2348,27 @@ const viewAsTable = state => {
|
|
|
2123
2348
|
|
|
2124
2349
|
const commandMap = {
|
|
2125
2350
|
'Problems.copyMessage': copyMessage,
|
|
2126
|
-
'Problems.renderEventListeners': renderEventListeners,
|
|
2127
2351
|
'Problems.create': create,
|
|
2128
2352
|
'Problems.diff2': diff2,
|
|
2129
2353
|
'Problems.focusIndex': focusIndex,
|
|
2354
|
+
'Problems.getCommandIds': getCommandIds,
|
|
2130
2355
|
'Problems.getKeyBindings': getKeyBindings,
|
|
2131
2356
|
'Problems.handleArrowLeft': wrapCommand(handleArrowLeft),
|
|
2132
2357
|
'Problems.handleArrowRight': wrapCommand(handleArrowRight),
|
|
2358
|
+
'Problems.handleClickAt': wrapCommand(handleClickAt),
|
|
2359
|
+
'Problems.handleContextMenu': handleContextMenu,
|
|
2360
|
+
'Problems.handleFilterInput': wrapCommand(handleFilterInput),
|
|
2361
|
+
'Problems.handleIconThemeChange': handleIconThemeChange,
|
|
2133
2362
|
'Problems.initialize': initialize,
|
|
2134
2363
|
'Problems.loadContent': wrapCommand(loadContent),
|
|
2135
2364
|
'Problems.render2': render2,
|
|
2136
2365
|
'Problems.renderActions': renderActions,
|
|
2366
|
+
'Problems.renderEventListeners': renderEventListeners,
|
|
2137
2367
|
'Problems.resize': resize,
|
|
2138
2368
|
'Problems.saveState': saveState,
|
|
2139
2369
|
'Problems.terminate': terminate,
|
|
2140
|
-
'Problems.handleIconThemeChange': handleIconThemeChange,
|
|
2141
|
-
'Problems.handleContextMenu': handleContextMenu,
|
|
2142
|
-
'Problems.viewAsTable': viewAsTable,
|
|
2143
2370
|
'Problems.viewAsList': viewAsList,
|
|
2144
|
-
'Problems.
|
|
2145
|
-
'Problems.getCommandIds': getCommandIds
|
|
2371
|
+
'Problems.viewAsTable': viewAsTable
|
|
2146
2372
|
};
|
|
2147
2373
|
|
|
2148
2374
|
const listen = async () => {
|
|
@@ -2150,7 +2376,7 @@ const listen = async () => {
|
|
|
2150
2376
|
const rpc = await WebWorkerRpcClient.create({
|
|
2151
2377
|
commandMap: commandMapRef
|
|
2152
2378
|
});
|
|
2153
|
-
set$
|
|
2379
|
+
set$2(rpc);
|
|
2154
2380
|
};
|
|
2155
2381
|
|
|
2156
2382
|
const main = async () => {
|