@lvce-editor/extension-detail-view 3.49.0 → 3.52.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.
|
@@ -16,6 +16,8 @@ const Changelog$2 = 'Changelog';
|
|
|
16
16
|
const Commands$1 = 'Commands';
|
|
17
17
|
const ContentSecurityPolicy = 'ContentSecurityPolicy';
|
|
18
18
|
const Copy = 'Copy';
|
|
19
|
+
const CopyImage = 'Copy Image';
|
|
20
|
+
const CopyImageUrl = 'Copy Image Url';
|
|
19
21
|
const Details$1 = 'Details';
|
|
20
22
|
const Disable$1 = 'Disable';
|
|
21
23
|
const Elements = 'Elements';
|
|
@@ -27,6 +29,8 @@ const JsonValidation$1 = 'Json Validation';
|
|
|
27
29
|
const Label = 'Label';
|
|
28
30
|
const Marketplace = 'Marketplace';
|
|
29
31
|
const None$2 = 'None';
|
|
32
|
+
const NoReadmeFound = 'No Readme Found.';
|
|
33
|
+
const EmptyCommandsArray = 'The extension contributed an empty commands array.';
|
|
30
34
|
const OpenImageInNewTab = 'Open Image in New Tab';
|
|
31
35
|
const OpenInNewTab = 'Open in New Tab';
|
|
32
36
|
const ProgrammingLanguages$1 = 'Programming Languages';
|
|
@@ -34,7 +38,6 @@ const Resources$1 = 'Resources';
|
|
|
34
38
|
const SaveImageAs = 'Save Image as';
|
|
35
39
|
const Schema = 'Schema';
|
|
36
40
|
const ScrollToTop$1 = 'Scroll to top';
|
|
37
|
-
const NoReadmeFound = 'No Readme Found.';
|
|
38
41
|
const Selector = 'Selector';
|
|
39
42
|
const SetColorTheme$1 = 'Set Color Theme';
|
|
40
43
|
const Settings$1 = 'Settings';
|
|
@@ -57,6 +60,12 @@ const resources = () => {
|
|
|
57
60
|
const copy = () => {
|
|
58
61
|
return i18nString(Copy);
|
|
59
62
|
};
|
|
63
|
+
const copyImage$1 = () => {
|
|
64
|
+
return i18nString(CopyImage);
|
|
65
|
+
};
|
|
66
|
+
const copyImageUrl$1 = () => {
|
|
67
|
+
return i18nString(CopyImageUrl);
|
|
68
|
+
};
|
|
60
69
|
const changelog = () => {
|
|
61
70
|
return i18nString(Changelog$2);
|
|
62
71
|
};
|
|
@@ -78,7 +87,7 @@ const openInNewTab = () => {
|
|
|
78
87
|
const label = () => {
|
|
79
88
|
return i18nString(Label);
|
|
80
89
|
};
|
|
81
|
-
const openImageInNewTab = () => {
|
|
90
|
+
const openImageInNewTab$1 = () => {
|
|
82
91
|
return i18nString(OpenImageInNewTab);
|
|
83
92
|
};
|
|
84
93
|
const saveImageAs = () => {
|
|
@@ -135,6 +144,9 @@ const scrollToTop = () => {
|
|
|
135
144
|
const noReadmeFound = () => {
|
|
136
145
|
return i18nString(NoReadmeFound);
|
|
137
146
|
};
|
|
147
|
+
const emptyCommandsArray = () => {
|
|
148
|
+
return i18nString(EmptyCommandsArray);
|
|
149
|
+
};
|
|
138
150
|
|
|
139
151
|
const getActivationEventsDetails = async extension => {
|
|
140
152
|
const activationEvents = extension.activation || [];
|
|
@@ -345,6 +357,19 @@ const getCommandTableEntries = rows => {
|
|
|
345
357
|
};
|
|
346
358
|
};
|
|
347
359
|
|
|
360
|
+
const getFeatureCommandsEmptyVirtualDom = () => {
|
|
361
|
+
const heading = commands$1();
|
|
362
|
+
const emptyCommandsArray$1 = emptyCommandsArray();
|
|
363
|
+
return [{
|
|
364
|
+
type: VirtualDomElements.Div,
|
|
365
|
+
className: FeatureContent,
|
|
366
|
+
childCount: 2
|
|
367
|
+
}, ...getFeatureContentHeadingVirtualDom(heading), {
|
|
368
|
+
type: VirtualDomElements.P,
|
|
369
|
+
childCount: 1
|
|
370
|
+
}, text(emptyCommandsArray$1)];
|
|
371
|
+
};
|
|
372
|
+
|
|
348
373
|
const getTableHeadingVirtualDom = heading => {
|
|
349
374
|
return [{
|
|
350
375
|
type: VirtualDomElements.Th,
|
|
@@ -422,6 +447,9 @@ const getTableVirtualDom = tableInfo => {
|
|
|
422
447
|
|
|
423
448
|
// TODO have typed view-model
|
|
424
449
|
const getFeatureCommandsVirtualDom = commands => {
|
|
450
|
+
if (commands.length === 0) {
|
|
451
|
+
return getFeatureCommandsEmptyVirtualDom();
|
|
452
|
+
}
|
|
425
453
|
const heading = commands$1();
|
|
426
454
|
const tableInfo = getCommandTableEntries(commands);
|
|
427
455
|
return [{
|
|
@@ -740,9 +768,16 @@ const create$7 = rpcId => {
|
|
|
740
768
|
}
|
|
741
769
|
};
|
|
742
770
|
};
|
|
771
|
+
const ExtensionHostWorker = 44;
|
|
743
772
|
const RendererWorker$1 = 1;
|
|
744
773
|
const FileSystemWorker$1 = 209;
|
|
745
774
|
const MarkdownWorker$1 = 300;
|
|
775
|
+
const {
|
|
776
|
+
set: set$9} = create$7(ExtensionHostWorker);
|
|
777
|
+
const ExtensionHost = {
|
|
778
|
+
__proto__: null,
|
|
779
|
+
set: set$9
|
|
780
|
+
};
|
|
746
781
|
const {
|
|
747
782
|
invoke: invoke$7,
|
|
748
783
|
set: set$7} = create$7(FileSystemWorker$1);
|
|
@@ -761,7 +796,7 @@ const FileSystemWorker = {
|
|
|
761
796
|
set: set$7};
|
|
762
797
|
const {
|
|
763
798
|
invoke: invoke$5,
|
|
764
|
-
set: set$5} = create$7(MarkdownWorker$1);
|
|
799
|
+
set: set$5$1} = create$7(MarkdownWorker$1);
|
|
765
800
|
const getVirtualDom$1 = async html => {
|
|
766
801
|
// @ts-ignore
|
|
767
802
|
return invoke$5('Markdown.getVirtualDom', html);
|
|
@@ -774,7 +809,7 @@ const MarkdownWorker = {
|
|
|
774
809
|
__proto__: null,
|
|
775
810
|
getVirtualDom: getVirtualDom$1,
|
|
776
811
|
render: render$1,
|
|
777
|
-
set: set$5
|
|
812
|
+
set: set$5$1
|
|
778
813
|
};
|
|
779
814
|
const {
|
|
780
815
|
invoke: invoke$3,
|
|
@@ -797,6 +832,17 @@ const sendMessagePortToFileSystemWorker$2 = async (port, rpcId) => {
|
|
|
797
832
|
// @ts-ignore
|
|
798
833
|
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
|
|
799
834
|
};
|
|
835
|
+
const sendMessagePortToExtensionHostWorker$2 = async (port, rpcId = 0) => {
|
|
836
|
+
const command = 'HandleMessagePort.handleMessagePort2';
|
|
837
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
|
|
838
|
+
};
|
|
839
|
+
const writeClipBoardText$1 = async text => {
|
|
840
|
+
await invoke$3('ClipBoard.writeText', /* text */text);
|
|
841
|
+
};
|
|
842
|
+
const writeClipBoardImage$1 = async blob => {
|
|
843
|
+
// @ts-ignore
|
|
844
|
+
await invoke$3('ClipBoard.writeImage', /* text */blob);
|
|
845
|
+
};
|
|
800
846
|
const getAllExtensions$2 = async () => {
|
|
801
847
|
return invoke$3('ExtensionManagement.getAllExtensions');
|
|
802
848
|
};
|
|
@@ -815,26 +861,35 @@ const openExtensionSearch$2 = async () => {
|
|
|
815
861
|
// @ts-ignore
|
|
816
862
|
return invoke$3('SideBar.openViewlet', 'Extensions');
|
|
817
863
|
};
|
|
818
|
-
const setExtensionsSearchValue$1 = async
|
|
864
|
+
const setExtensionsSearchValue$1 = async searchValue => {
|
|
819
865
|
// @ts-ignore
|
|
820
866
|
return invoke$3('Extensions.handleInput', searchValue);
|
|
821
867
|
};
|
|
868
|
+
const openUrl$2 = async uri => {
|
|
869
|
+
// @ts-ignore
|
|
870
|
+
await invoke$3('Open.openUrl', uri);
|
|
871
|
+
};
|
|
822
872
|
const RendererWorker = {
|
|
823
873
|
__proto__: null,
|
|
824
874
|
getAllExtensions: getAllExtensions$2,
|
|
825
875
|
getExtension: getExtension$3,
|
|
826
876
|
openExtensionSearch: openExtensionSearch$2,
|
|
827
877
|
openNativeFolder: openNativeFolder$1,
|
|
878
|
+
openUrl: openUrl$2,
|
|
879
|
+
sendMessagePortToExtensionHostWorker: sendMessagePortToExtensionHostWorker$2,
|
|
828
880
|
sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$2,
|
|
829
881
|
sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$2,
|
|
830
882
|
set: set$3$1,
|
|
831
883
|
setColorTheme: setColorTheme$2,
|
|
832
884
|
setExtensionsSearchValue: setExtensionsSearchValue$1,
|
|
833
885
|
showContextMenu: showContextMenu$1,
|
|
834
|
-
uninstallExtension: uninstallExtension$1
|
|
886
|
+
uninstallExtension: uninstallExtension$1,
|
|
887
|
+
writeClipBoardImage: writeClipBoardImage$1,
|
|
888
|
+
writeClipBoardText: writeClipBoardText$1
|
|
889
|
+
};
|
|
835
890
|
|
|
836
891
|
const {
|
|
837
|
-
set: set$
|
|
892
|
+
set: set$5,
|
|
838
893
|
getVirtualDom,
|
|
839
894
|
render
|
|
840
895
|
} = MarkdownWorker;
|
|
@@ -1571,7 +1626,7 @@ const create$4 = (method, params) => {
|
|
|
1571
1626
|
};
|
|
1572
1627
|
};
|
|
1573
1628
|
const callbacks = Object.create(null);
|
|
1574
|
-
const set$
|
|
1629
|
+
const set$4 = (id, fn) => {
|
|
1575
1630
|
callbacks[id] = fn;
|
|
1576
1631
|
};
|
|
1577
1632
|
const get$1 = id => {
|
|
@@ -1590,7 +1645,7 @@ const registerPromise = () => {
|
|
|
1590
1645
|
resolve,
|
|
1591
1646
|
promise
|
|
1592
1647
|
} = Promise.withResolvers();
|
|
1593
|
-
set$
|
|
1648
|
+
set$4(id, resolve);
|
|
1594
1649
|
return {
|
|
1595
1650
|
id,
|
|
1596
1651
|
promise
|
|
@@ -2141,13 +2196,73 @@ const terminate = () => {
|
|
|
2141
2196
|
globalThis.close();
|
|
2142
2197
|
};
|
|
2143
2198
|
|
|
2144
|
-
const
|
|
2199
|
+
const {
|
|
2200
|
+
getAllExtensions: getAllExtensions$1,
|
|
2201
|
+
getExtension: getExtension$2,
|
|
2202
|
+
openExtensionSearch: openExtensionSearch$1,
|
|
2203
|
+
sendMessagePortToExtensionHostWorker: sendMessagePortToExtensionHostWorker$1,
|
|
2204
|
+
openNativeFolder,
|
|
2205
|
+
writeClipBoardText,
|
|
2206
|
+
sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$1,
|
|
2207
|
+
sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$1,
|
|
2208
|
+
set: set$3,
|
|
2209
|
+
setColorTheme: setColorTheme$1,
|
|
2210
|
+
setExtensionsSearchValue,
|
|
2211
|
+
showContextMenu,
|
|
2212
|
+
uninstallExtension,
|
|
2213
|
+
writeClipBoardImage,
|
|
2214
|
+
openUrl: openUrl$1
|
|
2215
|
+
} = RendererWorker;
|
|
2216
|
+
|
|
2217
|
+
const writeClipboardImage = async blob => {
|
|
2218
|
+
await writeClipBoardImage(blob);
|
|
2219
|
+
};
|
|
2220
|
+
const writeText = async text => {
|
|
2221
|
+
await writeClipBoardText(text);
|
|
2222
|
+
};
|
|
2223
|
+
|
|
2224
|
+
const {
|
|
2225
|
+
set: set$2,
|
|
2226
|
+
exists,
|
|
2227
|
+
readFile: readFile$1,
|
|
2228
|
+
invoke
|
|
2229
|
+
} = FileSystemWorker;
|
|
2230
|
+
const readFileAsBlob = async uri => {
|
|
2231
|
+
// TODO maybe readAsObjectUrl?
|
|
2232
|
+
// @ts-ignore
|
|
2233
|
+
return invoke('FileSystem.readFileAsBlob', uri);
|
|
2234
|
+
};
|
|
2235
|
+
|
|
2236
|
+
const getImageCopyUrl = iconSrc => {
|
|
2237
|
+
// TODO support gitpod url prefixes
|
|
2238
|
+
// @ts-ignore
|
|
2239
|
+
const prefix = `${location.protocol}//${location.host}`;
|
|
2240
|
+
const absoluteIconSrc = `${prefix}${iconSrc}`;
|
|
2241
|
+
return absoluteIconSrc;
|
|
2242
|
+
};
|
|
2243
|
+
|
|
2244
|
+
const copyImage = async state => {
|
|
2245
|
+
const {
|
|
2246
|
+
iconSrc
|
|
2247
|
+
} = state;
|
|
2248
|
+
const absoluteIconSrc = getImageCopyUrl(iconSrc);
|
|
2249
|
+
const blob = await readFileAsBlob(absoluteIconSrc);
|
|
2250
|
+
await writeClipboardImage(blob);
|
|
2251
|
+
return state;
|
|
2252
|
+
};
|
|
2253
|
+
|
|
2254
|
+
const copyImageUrl = async state => {
|
|
2255
|
+
const {
|
|
2256
|
+
iconSrc
|
|
2257
|
+
} = state;
|
|
2258
|
+
const absoluteIconSrc = getImageCopyUrl(iconSrc);
|
|
2259
|
+
await writeText(absoluteIconSrc);
|
|
2145
2260
|
return state;
|
|
2146
2261
|
};
|
|
2147
2262
|
|
|
2148
2263
|
const {
|
|
2149
2264
|
get,
|
|
2150
|
-
set: set$
|
|
2265
|
+
set: set$1,
|
|
2151
2266
|
dispose: dispose$1,
|
|
2152
2267
|
wrapCommand,
|
|
2153
2268
|
wrapGetter,
|
|
@@ -2157,6 +2272,8 @@ const {
|
|
|
2157
2272
|
|
|
2158
2273
|
const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
2159
2274
|
const state = {
|
|
2275
|
+
wasActivatedByEvent: '',
|
|
2276
|
+
status: '',
|
|
2160
2277
|
uid,
|
|
2161
2278
|
activationEvents: [],
|
|
2162
2279
|
assetDir: assetDir || '',
|
|
@@ -2167,6 +2284,7 @@ const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
|
2167
2284
|
categories: [],
|
|
2168
2285
|
changelogScrollTop: 0,
|
|
2169
2286
|
changelogVirtualDom: [],
|
|
2287
|
+
extensionUri: '',
|
|
2170
2288
|
commands: [],
|
|
2171
2289
|
hasReadme: false,
|
|
2172
2290
|
description: '',
|
|
@@ -2205,7 +2323,7 @@ const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
|
2205
2323
|
width,
|
|
2206
2324
|
readmeUrl: ''
|
|
2207
2325
|
};
|
|
2208
|
-
set$
|
|
2326
|
+
set$1(uid, state, state);
|
|
2209
2327
|
};
|
|
2210
2328
|
|
|
2211
2329
|
const isEqual$2 = (oldState, newState) => {
|
|
@@ -2264,7 +2382,7 @@ const getImageMenuEntries = props => {
|
|
|
2264
2382
|
}
|
|
2265
2383
|
return [{
|
|
2266
2384
|
id: 'openImageInNewTab',
|
|
2267
|
-
label: openImageInNewTab(),
|
|
2385
|
+
label: openImageInNewTab$1(),
|
|
2268
2386
|
flags: None,
|
|
2269
2387
|
command: 'Open.openUrl',
|
|
2270
2388
|
args: [props.url || '']
|
|
@@ -2297,24 +2415,28 @@ const ExtensionDetailIconContextMenu = 4091;
|
|
|
2297
2415
|
const getMenus = () => {
|
|
2298
2416
|
return [{
|
|
2299
2417
|
id: ExtensionDetailIconContextMenu,
|
|
2300
|
-
entries: [
|
|
2418
|
+
entries: [{
|
|
2419
|
+
id: 'openImageInNewTab',
|
|
2420
|
+
label: openImageInNewTab$1(),
|
|
2421
|
+
flags: None,
|
|
2422
|
+
command: 'ExtensionDetail.openImageInNewTab',
|
|
2423
|
+
args: []
|
|
2424
|
+
}, {
|
|
2425
|
+
id: 'copyImage',
|
|
2426
|
+
label: copyImage$1(),
|
|
2427
|
+
flags: None,
|
|
2428
|
+
command: 'ExtensionDetail.copyImage',
|
|
2429
|
+
args: []
|
|
2430
|
+
}, {
|
|
2431
|
+
id: 'copyImageUrl',
|
|
2432
|
+
label: copyImageUrl$1(),
|
|
2433
|
+
flags: None,
|
|
2434
|
+
command: 'ExtensionDetail.copyImageUrl',
|
|
2435
|
+
args: []
|
|
2436
|
+
}]
|
|
2301
2437
|
}];
|
|
2302
2438
|
};
|
|
2303
2439
|
|
|
2304
|
-
const {
|
|
2305
|
-
getAllExtensions: getAllExtensions$1,
|
|
2306
|
-
getExtension: getExtension$2,
|
|
2307
|
-
openExtensionSearch: openExtensionSearch$1,
|
|
2308
|
-
openNativeFolder,
|
|
2309
|
-
sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$1,
|
|
2310
|
-
sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$1,
|
|
2311
|
-
set: set$1,
|
|
2312
|
-
setColorTheme: setColorTheme$1,
|
|
2313
|
-
setExtensionsSearchValue,
|
|
2314
|
-
uninstallExtension,
|
|
2315
|
-
showContextMenu
|
|
2316
|
-
} = RendererWorker;
|
|
2317
|
-
|
|
2318
2440
|
const openExtensionSearch = async searchValue => {
|
|
2319
2441
|
await openExtensionSearch$1();
|
|
2320
2442
|
await setExtensionsSearchValue(searchValue);
|
|
@@ -2449,7 +2571,7 @@ const handleIconError = state => {
|
|
|
2449
2571
|
};
|
|
2450
2572
|
|
|
2451
2573
|
const show = async (menuId, x, y) => {
|
|
2452
|
-
await showContextMenu(
|
|
2574
|
+
await showContextMenu(x, y, menuId);
|
|
2453
2575
|
};
|
|
2454
2576
|
|
|
2455
2577
|
const handleImageContextMenu = async (state, eventX, eventY) => {
|
|
@@ -2466,13 +2588,6 @@ const handleScroll = (state, scrollTop, scrollSource = Script) => {
|
|
|
2466
2588
|
};
|
|
2467
2589
|
};
|
|
2468
2590
|
|
|
2469
|
-
const {
|
|
2470
|
-
set,
|
|
2471
|
-
exists,
|
|
2472
|
-
readFile: readFile$1,
|
|
2473
|
-
invoke
|
|
2474
|
-
} = FileSystemWorker;
|
|
2475
|
-
|
|
2476
2591
|
const readFile = async uri => {
|
|
2477
2592
|
return readFile$1(uri);
|
|
2478
2593
|
};
|
|
@@ -2623,6 +2738,30 @@ const handleTabsClick = (state, name) => {
|
|
|
2623
2738
|
return selectTab(state, name);
|
|
2624
2739
|
};
|
|
2625
2740
|
|
|
2741
|
+
const sendMessagePortToExtensionHostWorker = async port => {
|
|
2742
|
+
await sendMessagePortToExtensionHostWorker$1(port, 0);
|
|
2743
|
+
};
|
|
2744
|
+
|
|
2745
|
+
const createExtensionHostWorkerRpc = async () => {
|
|
2746
|
+
try {
|
|
2747
|
+
const rpc = await TransferMessagePortRpcParent.create({
|
|
2748
|
+
commandMap: {},
|
|
2749
|
+
send: sendMessagePortToExtensionHostWorker
|
|
2750
|
+
});
|
|
2751
|
+
return rpc;
|
|
2752
|
+
} catch (error) {
|
|
2753
|
+
throw new VError(error, `Failed to create extension host rpc`);
|
|
2754
|
+
}
|
|
2755
|
+
};
|
|
2756
|
+
|
|
2757
|
+
const {
|
|
2758
|
+
set} = ExtensionHost;
|
|
2759
|
+
|
|
2760
|
+
const initializeExtensionHostWorker = async () => {
|
|
2761
|
+
const rpc = await createExtensionHostWorkerRpc();
|
|
2762
|
+
set(rpc);
|
|
2763
|
+
};
|
|
2764
|
+
|
|
2626
2765
|
const sendMessagePortToFileSystemWorker = async port => {
|
|
2627
2766
|
await sendMessagePortToFileSystemWorker$1(port, 0);
|
|
2628
2767
|
};
|
|
@@ -2641,7 +2780,7 @@ const createFileSystemWorkerRpc = async () => {
|
|
|
2641
2780
|
|
|
2642
2781
|
const initializeFileSystemWorker = async () => {
|
|
2643
2782
|
const rpc = await createFileSystemWorkerRpc();
|
|
2644
|
-
set(rpc);
|
|
2783
|
+
set$2(rpc);
|
|
2645
2784
|
};
|
|
2646
2785
|
|
|
2647
2786
|
const sendMessagePortToMarkdownWorker = async port => {
|
|
@@ -2662,11 +2801,11 @@ const createMarkdownWorkerRpc = async () => {
|
|
|
2662
2801
|
|
|
2663
2802
|
const initializeMarkdownWorker = async () => {
|
|
2664
2803
|
const rpc = await createMarkdownWorkerRpc();
|
|
2665
|
-
set$
|
|
2804
|
+
set$5(rpc);
|
|
2666
2805
|
};
|
|
2667
2806
|
|
|
2668
2807
|
const initialize = async () => {
|
|
2669
|
-
await Promise.all([initializeMarkdownWorker(), initializeFileSystemWorker()]);
|
|
2808
|
+
await Promise.all([initializeMarkdownWorker(), initializeFileSystemWorker(), initializeExtensionHostWorker()]);
|
|
2670
2809
|
};
|
|
2671
2810
|
|
|
2672
2811
|
const existsFile = async uri => {
|
|
@@ -3176,6 +3315,7 @@ const loadContent = async (state, platform, savedState) => {
|
|
|
3176
3315
|
displaySize,
|
|
3177
3316
|
extension,
|
|
3178
3317
|
extensionId,
|
|
3318
|
+
extensionUri,
|
|
3179
3319
|
extensionVersion,
|
|
3180
3320
|
features,
|
|
3181
3321
|
folderSize,
|
|
@@ -3201,6 +3341,19 @@ const loadContent2 = async (state, savedState) => {
|
|
|
3201
3341
|
return loadContent(state, state.platform, savedState);
|
|
3202
3342
|
};
|
|
3203
3343
|
|
|
3344
|
+
const openUrl = async uri => {
|
|
3345
|
+
await openUrl$1(uri);
|
|
3346
|
+
};
|
|
3347
|
+
|
|
3348
|
+
const openImageInNewTab = async state => {
|
|
3349
|
+
const {
|
|
3350
|
+
iconSrc
|
|
3351
|
+
} = state;
|
|
3352
|
+
const absoluteIconSrc = getImageCopyUrl(iconSrc);
|
|
3353
|
+
await openUrl(absoluteIconSrc);
|
|
3354
|
+
return state;
|
|
3355
|
+
};
|
|
3356
|
+
|
|
3204
3357
|
const getChangelogVirtualDom = changelogDom => {
|
|
3205
3358
|
// const notImplemented = ExtensionDetailStrings.notImplemented()
|
|
3206
3359
|
// TODO set tabpanel role
|
|
@@ -3685,7 +3838,7 @@ const render2 = (uid, diffResult) => {
|
|
|
3685
3838
|
oldState,
|
|
3686
3839
|
newState
|
|
3687
3840
|
} = get(uid);
|
|
3688
|
-
set$
|
|
3841
|
+
set$1(uid, newState, newState);
|
|
3689
3842
|
const commands = applyRender(oldState, newState, diffResult);
|
|
3690
3843
|
return commands;
|
|
3691
3844
|
};
|
|
@@ -3760,12 +3913,13 @@ const saveState = state => {
|
|
|
3760
3913
|
|
|
3761
3914
|
const commandMap = {
|
|
3762
3915
|
'ExtensionDetail.copyImage': wrapCommand(copyImage),
|
|
3763
|
-
'ExtensionDetail.
|
|
3916
|
+
'ExtensionDetail.copyImageUrl': wrapCommand(copyImageUrl),
|
|
3764
3917
|
'ExtensionDetail.create': create,
|
|
3765
3918
|
'ExtensionDetail.diff2': diff2,
|
|
3766
3919
|
'ExtensionDetail.dispose': dispose,
|
|
3767
3920
|
'ExtensionDetail.getCommandIds': getCommandIds,
|
|
3768
3921
|
'ExtensionDetail.getMenuEntries': getMenuEntries,
|
|
3922
|
+
'ExtensionDetail.getMenus': getMenus,
|
|
3769
3923
|
'ExtensionDetail.handleClickCategory': wrapCommand(handleClickCategory),
|
|
3770
3924
|
'ExtensionDetail.handleClickDisable': wrapCommand(handleClickDisable),
|
|
3771
3925
|
'ExtensionDetail.handleClickScrollToTop': wrapCommand(handleClickScrollToTop),
|
|
@@ -3775,14 +3929,15 @@ const commandMap = {
|
|
|
3775
3929
|
'ExtensionDetail.handleClickUninstall': wrapCommand(handleClickUninstall),
|
|
3776
3930
|
'ExtensionDetail.handleFeaturesClick': wrapCommand(handleClickFeatures),
|
|
3777
3931
|
'ExtensionDetail.handleIconError': wrapCommand(handleIconError),
|
|
3932
|
+
'ExtensionDetail.handleImageContextMenu': wrapCommand(handleImageContextMenu),
|
|
3778
3933
|
'ExtensionDetail.handleScroll': wrapCommand(handleScroll),
|
|
3779
3934
|
'ExtensionDetail.handleTabsClick': wrapCommand(handleTabsClick),
|
|
3780
3935
|
'ExtensionDetail.handleWheel': wrapCommand(handleScroll),
|
|
3781
3936
|
// deprecated
|
|
3782
3937
|
'ExtensionDetail.loadContent2': wrapCommand(loadContent2),
|
|
3938
|
+
'ExtensionDetail.openImageInNewTab': wrapCommand(openImageInNewTab),
|
|
3783
3939
|
'ExtensionDetail.render2': render2,
|
|
3784
3940
|
'ExtensionDetail.renderEventListeners': renderEventListeners,
|
|
3785
|
-
'ExtensionDetail.handleImageContextMenu': wrapCommand(handleImageContextMenu),
|
|
3786
3941
|
'ExtensionDetail.resize': wrapCommand(resize),
|
|
3787
3942
|
// @ts-ignore
|
|
3788
3943
|
'ExtensionDetail.saveState': wrapGetter(saveState),
|
|
@@ -3796,7 +3951,7 @@ const listen = async () => {
|
|
|
3796
3951
|
const rpc = await WebWorkerRpcClient.create({
|
|
3797
3952
|
commandMap: commandMap
|
|
3798
3953
|
});
|
|
3799
|
-
set$
|
|
3954
|
+
set$3(rpc);
|
|
3800
3955
|
};
|
|
3801
3956
|
|
|
3802
3957
|
const main = async () => {
|