@lvce-editor/extension-detail-view 3.47.0 → 3.49.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/README.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  Webworker for the extension detail view in Lvce Editor.
4
4
 
5
+ ## Contributing
6
+
7
+ ```sh
8
+ git clone git@github.com:lvce-editor/extension-detail-view.git &&
9
+ cd extension-detail-view &&
10
+ npm ci &&
11
+ npm test
12
+ ```
13
+
5
14
  ## Gitpod
6
15
 
7
16
  [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/lvce-editor/extension-detail-view)
@@ -671,6 +671,7 @@ const HandleClickSize = 'handleClickSize';
671
671
  const HandleClickUninstall = 'handleClickUninstall';
672
672
  const HandleFeaturesClick = 'handleFeaturesClick';
673
673
  const HandleIconError = 'handleIconError';
674
+ const HandleImageContextMenu = 'handleImageContextMenu';
674
675
  const HandleReadmeContextMenu = 'handleReadmeContextMenu';
675
676
  const HandleReadmeScroll = 'handleReadmeScroll';
676
677
  const HandleTabsClick = 'handleTabsClick';
@@ -779,6 +780,9 @@ const {
779
780
  invoke: invoke$3,
780
781
  invokeAndTransfer: invokeAndTransfer$3,
781
782
  set: set$3$1} = create$7(RendererWorker$1);
783
+ const showContextMenu$1 = async (x, y, id, ...args) => {
784
+ return invoke$3('ContextMenu.show', x, y, id, ...args);
785
+ };
782
786
  const setColorTheme$2 = async id => {
783
787
  // @ts-ignore
784
788
  return invoke$3(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
@@ -807,15 +811,26 @@ const openNativeFolder$1 = async uri => {
807
811
  const uninstallExtension$1 = async id => {
808
812
  return invoke$3('ExtensionManagement.uninstall', id);
809
813
  };
814
+ const openExtensionSearch$2 = async () => {
815
+ // @ts-ignore
816
+ return invoke$3('SideBar.openViewlet', 'Extensions');
817
+ };
818
+ const setExtensionsSearchValue$1 = async value => {
819
+ // @ts-ignore
820
+ return invoke$3('Extensions.handleInput', searchValue);
821
+ };
810
822
  const RendererWorker = {
811
823
  __proto__: null,
812
824
  getAllExtensions: getAllExtensions$2,
813
825
  getExtension: getExtension$3,
826
+ openExtensionSearch: openExtensionSearch$2,
814
827
  openNativeFolder: openNativeFolder$1,
815
828
  sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$2,
816
829
  sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$2,
817
830
  set: set$3$1,
818
831
  setColorTheme: setColorTheme$2,
832
+ setExtensionsSearchValue: setExtensionsSearchValue$1,
833
+ showContextMenu: showContextMenu$1,
819
834
  uninstallExtension: uninstallExtension$1};
820
835
 
821
836
  const {
@@ -2135,7 +2150,9 @@ const {
2135
2150
  set: set$2,
2136
2151
  dispose: dispose$1,
2137
2152
  wrapCommand,
2138
- wrapGetter
2153
+ wrapGetter,
2154
+ getCommandIds,
2155
+ registerCommands
2139
2156
  } = create$1();
2140
2157
 
2141
2158
  const create = (uid, uri, x, y, width, height, platform, assetDir) => {
@@ -2232,12 +2249,6 @@ const dispose = uid => {
2232
2249
  dispose$1(uid);
2233
2250
  };
2234
2251
 
2235
- const commandIds = ['copyImage', 'getMenuEntries', 'handleClickCategory', 'handleClickDisable', 'handleClickScrollToTop', 'handleClickSetColorTheme', 'handleClickSettings', 'handleClickSize', 'handleClickUninstall', 'handleFeaturesClick', 'handleIconError', 'handleScroll', 'handleTabsClick', 'handleWheel', 'renderEventListeners', 'resize', 'saveState', 'selectTab', 'terminate'];
2236
-
2237
- const getCommandIds = () => {
2238
- return commandIds;
2239
- };
2240
-
2241
2252
  const None = 0;
2242
2253
 
2243
2254
  const getCopyMenuEntry = () => ({
@@ -2281,8 +2292,40 @@ const getLinkMenuEntries = props => {
2281
2292
 
2282
2293
  const getMenuEntries = props => [...getLinkMenuEntries(props), ...getImageMenuEntries(props), getCopyMenuEntry()];
2283
2294
 
2295
+ const ExtensionDetailIconContextMenu = 4091;
2296
+
2297
+ const getMenus = () => {
2298
+ return [{
2299
+ id: ExtensionDetailIconContextMenu,
2300
+ entries: []
2301
+ }];
2302
+ };
2303
+
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
+ const openExtensionSearch = async searchValue => {
2319
+ await openExtensionSearch$1();
2320
+ await setExtensionsSearchValue(searchValue);
2321
+ };
2322
+
2284
2323
  const handleClickCategory = async (state, categoryId) => {
2285
- // TODO: Implement category click functionality
2324
+ if (!categoryId) {
2325
+ return state;
2326
+ }
2327
+ const searchValue = `@category:"${categoryId}"`;
2328
+ await openExtensionSearch(searchValue);
2286
2329
  return state;
2287
2330
  };
2288
2331
 
@@ -2338,17 +2381,6 @@ const handleClickScrollToTop = state => {
2338
2381
  };
2339
2382
  };
2340
2383
 
2341
- const {
2342
- getAllExtensions: getAllExtensions$1,
2343
- getExtension: getExtension$2,
2344
- openNativeFolder,
2345
- set: set$1,
2346
- setColorTheme: setColorTheme$1,
2347
- uninstallExtension,
2348
- sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$1,
2349
- sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$1
2350
- } = RendererWorker;
2351
-
2352
2384
  const setColorTheme = id => {
2353
2385
  return setColorTheme$1(id);
2354
2386
  };
@@ -2416,6 +2448,15 @@ const handleIconError = state => {
2416
2448
  };
2417
2449
  };
2418
2450
 
2451
+ const show = async (menuId, x, y) => {
2452
+ await showContextMenu(menuId, x, y);
2453
+ };
2454
+
2455
+ const handleImageContextMenu = async (state, eventX, eventY) => {
2456
+ await show(ExtensionDetailIconContextMenu, eventX, eventY);
2457
+ return state;
2458
+ };
2459
+
2419
2460
  const handleScroll = (state, scrollTop, scrollSource = Script) => {
2420
2461
  const newScrollTop = Math.max(0, scrollTop);
2421
2462
  return {
@@ -3460,8 +3501,9 @@ const getExtensionDetailIconVirtualDom = iconSrc => {
3460
3501
  type: VirtualDomElements.Img,
3461
3502
  className: ExtensionDetailIcon,
3462
3503
  alt: '',
3463
- draggable: false,
3464
3504
  childCount: 0,
3505
+ draggable: false,
3506
+ onContextMenu: HandleImageContextMenu,
3465
3507
  src: iconSrc
3466
3508
  };
3467
3509
  };
@@ -3658,9 +3700,12 @@ const renderEventListeners = () => {
3658
3700
  }, {
3659
3701
  name: HandleReadmeContextMenu,
3660
3702
  params: ['handleReadmeContextMenu', 'event.clientX', 'event.clientY', 'event.target.href', 'event.target.src']
3703
+ }, {
3704
+ name: HandleImageContextMenu,
3705
+ params: ['handleImageContextMenu', 'event.clientX', 'event.clientY'],
3706
+ preventDefault: true
3661
3707
  }, {
3662
3708
  name: HandleReadmeScroll,
3663
- // @ts-ignore
3664
3709
  params: ['handleScroll', 'event.target.scrollTop', User],
3665
3710
  passive: true
3666
3711
  }, {
@@ -3715,6 +3760,7 @@ const saveState = state => {
3715
3760
 
3716
3761
  const commandMap = {
3717
3762
  'ExtensionDetail.copyImage': wrapCommand(copyImage),
3763
+ 'ExtensionDetail.getMenus': getMenus,
3718
3764
  'ExtensionDetail.create': create,
3719
3765
  'ExtensionDetail.diff2': diff2,
3720
3766
  'ExtensionDetail.dispose': dispose,
@@ -3736,6 +3782,7 @@ const commandMap = {
3736
3782
  'ExtensionDetail.loadContent2': wrapCommand(loadContent2),
3737
3783
  'ExtensionDetail.render2': render2,
3738
3784
  'ExtensionDetail.renderEventListeners': renderEventListeners,
3785
+ 'ExtensionDetail.handleImageContextMenu': wrapCommand(handleImageContextMenu),
3739
3786
  'ExtensionDetail.resize': wrapCommand(resize),
3740
3787
  // @ts-ignore
3741
3788
  'ExtensionDetail.saveState': wrapGetter(saveState),
@@ -3745,6 +3792,7 @@ const commandMap = {
3745
3792
  };
3746
3793
 
3747
3794
  const listen = async () => {
3795
+ registerCommands(commandMap);
3748
3796
  const rpc = await WebWorkerRpcClient.create({
3749
3797
  commandMap: commandMap
3750
3798
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-detail-view",
3
- "version": "3.47.0",
3
+ "version": "3.49.0",
4
4
  "description": "Extension Detail View Worker",
5
5
  "license": "MIT",
6
6
  "author": "Lvce Editor",