@eclipse-docks/core 0.7.127 → 0.7.132
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/api/index.js +7 -7
- package/dist/api/services.d.ts +3 -1
- package/dist/api/services.d.ts.map +1 -1
- package/dist/{api-Da9zQcfd.js → api-DImisUWV.js} +296 -305
- package/dist/api-DImisUWV.js.map +1 -0
- package/dist/assets/{js-runtime-worker-DAva_aXx.js.map → js-runtime-worker-X93bOre4.js.map} +1 -1
- package/dist/components/attribution.d.ts +1 -0
- package/dist/components/attribution.d.ts.map +1 -1
- package/dist/components/command.d.ts +0 -1
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/extensions.d.ts +3 -0
- package/dist/components/extensions.d.ts.map +1 -1
- package/dist/components/language-selector.d.ts.map +1 -1
- package/dist/components/layout-switcher.d.ts +1 -1
- package/dist/components/layout-switcher.d.ts.map +1 -1
- package/dist/components/npm-packages.d.ts +1 -0
- package/dist/components/npm-packages.d.ts.map +1 -1
- package/dist/components/release-history.d.ts +9 -2
- package/dist/components/release-history.d.ts.map +1 -1
- package/dist/components/tasks.d.ts.map +1 -1
- package/dist/core/apploader.d.ts +2 -9
- package/dist/core/apploader.d.ts.map +1 -1
- package/dist/core/contribution-targets.d.ts +1 -0
- package/dist/core/contribution-targets.d.ts.map +1 -1
- package/dist/core/dialogservice.d.ts +3 -1
- package/dist/core/dialogservice.d.ts.map +1 -1
- package/dist/core/dropdown-item.d.ts +8 -0
- package/dist/core/dropdown-item.d.ts.map +1 -1
- package/dist/core/events.js +1 -1
- package/dist/core/layout-panels.d.ts +25 -0
- package/dist/core/layout-panels.d.ts.map +1 -0
- package/dist/dialogs/navigable-info-dialog.d.ts.map +1 -1
- package/dist/dialogs/version-info-dialog.d.ts +18 -2
- package/dist/dialogs/version-info-dialog.d.ts.map +1 -1
- package/dist/{events-B_ZxkU_G.js → events-BAE5R6TH.js} +1 -1
- package/dist/{events-B_ZxkU_G.js.map → events-BAE5R6TH.js.map} +1 -1
- package/dist/{extensions.de-Ct1DIybE.js → extensions.de-O6Sx3_t4.js} +1 -1
- package/dist/{extensions.de-Ct1DIybE.js.map → extensions.de-O6Sx3_t4.js.map} +1 -1
- package/dist/{extensions.en-DRPFtVHT.js → extensions.en-fwqJr8P-.js} +1 -1
- package/dist/{extensions.en-DRPFtVHT.js.map → extensions.en-fwqJr8P-.js.map} +1 -1
- package/dist/externals/lit.js +1 -1
- package/dist/externals/third-party.js.map +1 -1
- package/dist/externals/webawesome.js +1 -1
- package/dist/{fastviews.de-BFxFslBz.js → fastviews.de-C-B48vwv.js} +1 -1
- package/dist/fastviews.de-C-B48vwv.js.map +1 -0
- package/dist/{fastviews.en-Cb4J_JXL.js → fastviews.en-BlAxYlHD.js} +1 -1
- package/dist/fastviews.en-BlAxYlHD.js.map +1 -0
- package/dist/{filebrowser.de-GEf6Eilh.js → filebrowser.de-LWsrI9xj.js} +1 -1
- package/dist/{filebrowser.de-GEf6Eilh.js.map → filebrowser.de-LWsrI9xj.js.map} +1 -1
- package/dist/{filebrowser.en-o0Ad5f7Z.js → filebrowser.en-C02vpzAs.js} +1 -1
- package/dist/{filebrowser.en-o0Ad5f7Z.js.map → filebrowser.en-C02vpzAs.js.map} +1 -1
- package/dist/{fs-access-DTXPsV1W.js → fs-access-Cjcg0_Me.js} +27 -25
- package/dist/{fs-access-DTXPsV1W.js.map → fs-access-Cjcg0_Me.js.map} +1 -1
- package/dist/fs-access-Dp9Fwsxk.js +2 -0
- package/dist/index.js +7 -7
- package/dist/layouts/standard-layout.d.ts +9 -1
- package/dist/layouts/standard-layout.d.ts.map +1 -1
- package/dist/{logger-DT0_NW3S.js → logger-CiT0Cc4g.js} +1 -1
- package/dist/{logger-DT0_NW3S.js.map → logger-CiT0Cc4g.js.map} +1 -1
- package/dist/{logterminal.de-DKp940Ox.js → logterminal.de-BP1FuxHH.js} +1 -1
- package/dist/{logterminal.de-DKp940Ox.js.map → logterminal.de-BP1FuxHH.js.map} +1 -1
- package/dist/{logterminal.en-Ci2nm0b2.js → logterminal.en-BeDRvTvb.js} +1 -1
- package/dist/{logterminal.en-Ci2nm0b2.js.map → logterminal.en-BeDRvTvb.js.map} +1 -1
- package/dist/{partname.de-v76uEl0F.js → partname.de-C0I4Wf2X.js} +1 -1
- package/dist/{partname.de-v76uEl0F.js.map → partname.de-C0I4Wf2X.js.map} +1 -1
- package/dist/{partname.en-By5aAawT.js → partname.en-CIT8z3cY.js} +1 -1
- package/dist/{partname.en-By5aAawT.js.map → partname.en-CIT8z3cY.js.map} +1 -1
- package/dist/parts/contextmenu.d.ts.map +1 -1
- package/dist/parts/index.js +1 -1
- package/dist/parts/part.d.ts +2 -0
- package/dist/parts/part.d.ts.map +1 -1
- package/dist/parts/resizable-grid.d.ts +10 -3
- package/dist/parts/resizable-grid.d.ts.map +1 -1
- package/dist/parts/tabs.d.ts +6 -0
- package/dist/parts/tabs.d.ts.map +1 -1
- package/dist/{parts-CRVxaDd-.js → parts-DQRktiiR.js} +1086 -611
- package/dist/parts-DQRktiiR.js.map +1 -0
- package/dist/{tasks.de-y2xPmQ1k.js → tasks.de-DRvUVugd.js} +1 -1
- package/dist/{tasks.de-y2xPmQ1k.js.map → tasks.de-DRvUVugd.js.map} +1 -1
- package/dist/{tasks.en-BTbFrxJj.js → tasks.en-dRDildBd.js} +1 -1
- package/dist/{tasks.en-BTbFrxJj.js.map → tasks.en-dRDildBd.js.map} +1 -1
- package/dist/vite-plugin-app-splash.js.map +1 -1
- package/dist/vite-plugin-local-aliases.js +1 -1
- package/dist/vite-plugin-local-aliases.js.map +1 -1
- package/dist/vite-plugin-resolve-deps.d.ts +6 -3
- package/dist/vite-plugin-resolve-deps.d.ts.map +1 -1
- package/dist/vite-plugin-resolve-deps.js +17 -15
- package/dist/vite-plugin-resolve-deps.js.map +1 -1
- package/dist/{webawesome-Y1_HnKa_.js → webawesome-C0Da7hPu.js} +19 -11
- package/dist/webawesome-C0Da7hPu.js.map +1 -0
- package/dist/{widget-BqQtioK1.js → widget-DUR6wxME.js} +6 -5
- package/dist/{widget-BqQtioK1.js.map → widget-DUR6wxME.js.map} +1 -1
- package/dist/widgets/index.js +1 -1
- package/dist/{widgets-C9V42Mqq.js → widgets-A9XMOA_j.js} +2 -2
- package/dist/{widgets-C9V42Mqq.js.map → widgets-A9XMOA_j.js.map} +1 -1
- package/package.json +1 -1
- package/src/api/services.ts +12 -0
- package/src/components/attribution.ts +2 -0
- package/src/components/command.ts +2 -8
- package/src/components/extensions.ts +20 -3
- package/src/components/language-selector.ts +0 -1
- package/src/components/layout-switcher.ts +39 -26
- package/src/components/npm-packages.ts +2 -0
- package/src/components/release-history.ts +29 -40
- package/src/components/tasks.ts +0 -1
- package/src/contributions/default-layout-contributions.ts +7 -43
- package/src/contributions/default-ui-contributions.ts +4 -4
- package/src/core/apploader.ts +7 -54
- package/src/core/contribution-targets.ts +1 -0
- package/src/core/dialogservice.ts +76 -19
- package/src/core/dropdown-item.ts +52 -17
- package/src/core/extensionregistry.ts +1 -1
- package/src/core/layout-panels.ts +121 -0
- package/src/dialogs/navigable-info-dialog.ts +5 -2
- package/src/dialogs/version-info-dialog.ts +163 -21
- package/src/icons/icons.txt +4 -2
- package/src/icons/layout-standard-bottom-panel.svg +4 -4
- package/src/icons/layout-standard-full.svg +4 -4
- package/src/icons/layout-standard-left-aux.svg +8 -0
- package/src/icons/layout-standard-left-sidebar.svg +5 -0
- package/src/icons/layout-standard-right-aux.svg +8 -0
- package/src/icons/layout-standard-right-sidebar.svg +5 -0
- package/src/layouts/standard-layout.ts +81 -5
- package/src/parts/contextmenu.ts +2 -1
- package/src/parts/part.ts +24 -0
- package/src/parts/resizable-grid.ts +125 -57
- package/src/parts/tabs.ts +103 -0
- package/src/vite-plugin-resolve-deps.ts +29 -25
- package/dist/api-Da9zQcfd.js.map +0 -1
- package/dist/fastviews.de-BFxFslBz.js.map +0 -1
- package/dist/fastviews.en-Cb4J_JXL.js.map +0 -1
- package/dist/fs-access-CzOh5ot8.js +0 -2
- package/dist/parts-CRVxaDd-.js.map +0 -1
- package/dist/webawesome-Y1_HnKa_.js.map +0 -1
- package/src/icons/layout-standard-bottom-sidebar.svg +0 -6
- package/src/icons/layout-standard.svg +0 -6
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
import { a as unregisterLogHandler, o as rootContext, r as registerLogHandler, s as uiContext, t as createLogger } from "./logger-
|
|
3
|
-
import { E as toastWarning, T as toastInfo, d as activeSelectionSignal, f as activeTasksSignal, g as contributionRegistry, h as TOPIC_CONTRIBUTEIONS_CHANGED, n as watchSignal, s as registerAll, t as DocksWidget, u as activePartSignal, v as getContributionVisible, w as toastError } from "./widget-
|
|
4
|
-
import { n as subscribe, t as publish } from "./events-
|
|
5
|
-
import { a as File, d as UnavailableWorkspaceFolderDirectory, i as Directory, l as TOPIC_WORKSPACE_CHANGED, o as FileContentType, p as workspaceService, s as Resource, u as TOPIC_WORKSPACE_CONNECTED } from "./fs-access-
|
|
6
|
-
import "./widgets-
|
|
1
|
+
import { A as filebrowserDialog, C as TOOLBAR_INFO, D as TOOLBAR_THEME_SWITCHER, E as TOOLBAR_TASKS, G as keyBindingManager, H as DocksElement, J as esmShService, K as TOPIC_EXTENSIONS_CHANGED, L as promptDialog, M as confirmDialog, O as VIEW_FILEBROWSER, R as appLoaderService, S as TOOLBAR_FULLSCREEN, T as TOOLBAR_LAYOUT_SWITCHER, X as TOPIC_SETTINGS_CHANGED, Y as taskService, Z as appSettings, _t as TOOLBAR_MAIN_CENTER, a as renderDropdownItem, at as SIDEBAR_AUXILIARY, b as TOOLBAR_ACTIVE_PART_NAME, ct as SIDEBAR_MAIN_BOTTOM, d as DocksContainer, dt as SYSTEM_LAYOUTS, f as ABOUT_TAB_ATTRIBUTIONS, gt as TOOLBAR_MAIN, h as ATTRIBUTION_ECLIPSE_DOCKS, ht as TOOLBAR_BOTTOM_END, it as PANEL_BOTTOM, k as VIEW_LOG_TERMINAL, l as versionInfoDialog, lt as SIDEBAR_MAIN_TOOLBAR, m as ABOUT_TAB_RELEASE, mt as TOOLBAR_BOTTOM_CENTER, nt as ABOUT_TABS, o as renderDropdownSubmenu, ot as SIDEBAR_AUXILIARY_BOTTOM, p as ABOUT_TAB_PACKAGES, pt as TOOLBAR_BOTTOM, q as extensionRegistry, r as renderDropdownContribution, rt as EDITOR_AREA_MAIN, s as icon, st as SIDEBAR_MAIN, t as handleDropdownWaSelect, tt as constants_exports, u as DocksPart, ut as SYSTEM_ATTRIBUTIONS, v as SIDEBAR_TOOLBAR_EXTENSIONS, vt as TOOLBAR_MAIN_RIGHT, w as TOOLBAR_LANGUAGE_SELECTOR, x as TOOLBAR_FAST_VIEWS, z as deleteIndexedDbWorkspaceData } from "./parts-DQRktiiR.js";
|
|
2
|
+
import { a as unregisterLogHandler, o as rootContext, r as registerLogHandler, s as uiContext, t as createLogger } from "./logger-CiT0Cc4g.js";
|
|
3
|
+
import { E as toastWarning, T as toastInfo, d as activeSelectionSignal, f as activeTasksSignal, g as contributionRegistry, h as TOPIC_CONTRIBUTEIONS_CHANGED, n as watchSignal, s as registerAll, t as DocksWidget, u as activePartSignal, v as getContributionVisible, w as toastError } from "./widget-DUR6wxME.js";
|
|
4
|
+
import { n as subscribe, t as publish } from "./events-BAE5R6TH.js";
|
|
5
|
+
import { a as File, d as UnavailableWorkspaceFolderDirectory, i as Directory, l as TOPIC_WORKSPACE_CHANGED, o as FileContentType, p as workspaceService, s as Resource, u as TOPIC_WORKSPACE_CONNECTED } from "./fs-access-Cjcg0_Me.js";
|
|
6
|
+
import "./widgets-A9XMOA_j.js";
|
|
7
7
|
import { css, html, nothing, render } from "lit";
|
|
8
8
|
import { signal } from "@lit-labs/signals";
|
|
9
9
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
@@ -37,7 +37,7 @@ function replaceParameters(text, params) {
|
|
|
37
37
|
if (!params) return text;
|
|
38
38
|
return text.replace(/\{(\w+)\}/g, (match, paramKey) => params[paramKey] !== void 0 ? params[paramKey] : match);
|
|
39
39
|
}
|
|
40
|
-
var supportedLocales = new Set(["en"]);
|
|
40
|
+
var supportedLocales = /* @__PURE__ */ new Set(["en"]);
|
|
41
41
|
var supportedLocalesSignal = signal(supportedLocales);
|
|
42
42
|
var languageFromSettings = null;
|
|
43
43
|
function addSupportedLocales(locales) {
|
|
@@ -133,7 +133,8 @@ var EditorRegistry = class {
|
|
|
133
133
|
}
|
|
134
134
|
getSortedIconContributions() {
|
|
135
135
|
if (this.cachedIconContributions !== null) return this.cachedIconContributions;
|
|
136
|
-
|
|
136
|
+
const contributions = contributionRegistry.getContributions("system.icons");
|
|
137
|
+
this.cachedIconContributions = [...contributions].sort((a, b) => {
|
|
137
138
|
const priorityA = a.priority ?? 0;
|
|
138
139
|
const priorityB = b.priority ?? 0;
|
|
139
140
|
if (priorityB !== priorityA) return priorityB - priorityA;
|
|
@@ -299,10 +300,10 @@ var treeNodeComparator = (c1, c2) => {
|
|
|
299
300
|
//#endregion
|
|
300
301
|
//#region src/components/filebrowser.ts
|
|
301
302
|
var _DocksFileBrowser;
|
|
302
|
-
var logger$
|
|
303
|
-
var t$6 = await i18n(/*
|
|
304
|
-
"./filebrowser.de.json": () => import("./filebrowser.de-
|
|
305
|
-
"./filebrowser.en.json": () => import("./filebrowser.en-
|
|
303
|
+
var logger$1 = createLogger("DocksFileBrowser");
|
|
304
|
+
var t$6 = await i18n(/* #__PURE__ */ Object.assign({
|
|
305
|
+
"./filebrowser.de.json": () => import("./filebrowser.de-LWsrI9xj.js"),
|
|
306
|
+
"./filebrowser.en.json": () => import("./filebrowser.en-C02vpzAs.js")
|
|
306
307
|
}));
|
|
307
308
|
var WORKSPACE_CHANGED_DEBOUNCE_MS = 250;
|
|
308
309
|
var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
@@ -501,7 +502,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
501
502
|
}
|
|
502
503
|
if (info?.backendName) node.workspaceTag = info.backendName;
|
|
503
504
|
} catch (e) {
|
|
504
|
-
logger$
|
|
505
|
+
logger$1.debug("Failed to get workspace info for directory", e);
|
|
505
506
|
}
|
|
506
507
|
if (resource instanceof Directory && loadChildren) {
|
|
507
508
|
try {
|
|
@@ -529,7 +530,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
529
530
|
return node;
|
|
530
531
|
}
|
|
531
532
|
node.loadError = error instanceof Error ? error.message : String(error);
|
|
532
|
-
logger$
|
|
533
|
+
logger$1.error("Failed to load directory children:", error);
|
|
533
534
|
}
|
|
534
535
|
node.loaded = true;
|
|
535
536
|
}
|
|
@@ -628,7 +629,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
628
629
|
return;
|
|
629
630
|
}
|
|
630
631
|
node.loadError = error instanceof Error ? error.message : String(error);
|
|
631
|
-
logger$
|
|
632
|
+
logger$1.error("Failed to load directory children:", error);
|
|
632
633
|
this.requestUpdate();
|
|
633
634
|
} finally {
|
|
634
635
|
this.loadingNodes.delete(node);
|
|
@@ -698,8 +699,10 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
698
699
|
return;
|
|
699
700
|
}
|
|
700
701
|
e.preventDefault();
|
|
701
|
-
if (e.dataTransfer)
|
|
702
|
-
|
|
702
|
+
if (e.dataTransfer) {
|
|
703
|
+
if (isWorkspaceDrop) e.dataTransfer.dropEffect = e.ctrlKey || e.metaKey ? "copy" : "move";
|
|
704
|
+
else e.dataTransfer.dropEffect = "copy";
|
|
705
|
+
}
|
|
703
706
|
treeElement.classList.add("drag-over");
|
|
704
707
|
const treeItem = e.target.closest("wa-tree-item");
|
|
705
708
|
if (!treeItem) {
|
|
@@ -770,7 +773,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
770
773
|
if (paths.length === 0) return;
|
|
771
774
|
const workspace = await workspaceService.getWorkspace();
|
|
772
775
|
if (!workspace) {
|
|
773
|
-
logger$
|
|
776
|
+
logger$1.warn("Workspace drop ignored because no workspace is connected");
|
|
774
777
|
return;
|
|
775
778
|
}
|
|
776
779
|
const moveWithinSameBackend = async (src) => {
|
|
@@ -787,7 +790,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
787
790
|
for (const path of paths) try {
|
|
788
791
|
const src = await workspace.getResource(path);
|
|
789
792
|
if (!src) {
|
|
790
|
-
logger$
|
|
793
|
+
logger$1.warn(`Workspace drop: source not found for path "${path}"`);
|
|
791
794
|
failed++;
|
|
792
795
|
continue;
|
|
793
796
|
}
|
|
@@ -798,11 +801,11 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
798
801
|
const root = src.getWorkspace();
|
|
799
802
|
if (root) srcRoots.add(root);
|
|
800
803
|
} catch (error) {
|
|
801
|
-
logger$
|
|
804
|
+
logger$1.error(`Failed to handle workspace drop for "${path}":`, error);
|
|
802
805
|
failed++;
|
|
803
806
|
}
|
|
804
807
|
if (sources.length === 0) {
|
|
805
|
-
if (failed > 0) logger$
|
|
808
|
+
if (failed > 0) logger$1.info(`Workspace drop failed for ${failed} item(s)`);
|
|
806
809
|
return;
|
|
807
810
|
}
|
|
808
811
|
let isCrossConnection = false;
|
|
@@ -824,17 +827,17 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
824
827
|
destBackend
|
|
825
828
|
}))) return;
|
|
826
829
|
} catch (err) {
|
|
827
|
-
logger$
|
|
830
|
+
logger$1.debug("Failed to resolve cross-connection info for DnD", err);
|
|
828
831
|
}
|
|
829
832
|
for (const { path, resource } of sources) try {
|
|
830
833
|
const move = await moveWithinSameBackend(resource);
|
|
831
834
|
await workspaceService.copyResource(resource, targetDir, { move });
|
|
832
835
|
processed++;
|
|
833
836
|
} catch (error) {
|
|
834
|
-
logger$
|
|
837
|
+
logger$1.error(`Failed to handle workspace drop for "${path}":`, error);
|
|
835
838
|
failed++;
|
|
836
839
|
}
|
|
837
|
-
logger$
|
|
840
|
+
logger$1.info(`Workspace drop completed: ${processed}/${sources.length} items ${failed > 0 ? `, ${failed} failed` : ""}`);
|
|
838
841
|
await this.loadWorkspace(this.workspaceDir, true);
|
|
839
842
|
}
|
|
840
843
|
async handleFilesDrop(files, targetDir) {
|
|
@@ -853,10 +856,10 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
853
856
|
await (await this.workspaceDir.getResource(targetPath, { create: true })).saveContents(file);
|
|
854
857
|
processed++;
|
|
855
858
|
} catch (error) {
|
|
856
|
-
logger$
|
|
859
|
+
logger$1.error(`Failed to upload ${file.name}:`, error);
|
|
857
860
|
failed++;
|
|
858
861
|
}
|
|
859
|
-
logger$
|
|
862
|
+
logger$1.info(`Uploaded ${processed}/${total} files${skipped > 0 ? `, ${skipped} skipped` : ""}${failed > 0 ? `, ${failed} failed` : ""}`);
|
|
860
863
|
await this.loadWorkspace(this.workspaceDir);
|
|
861
864
|
}
|
|
862
865
|
buildTargetPath(targetDir, fileName) {
|
|
@@ -958,37 +961,10 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
958
961
|
_decorate([state()], DocksFileBrowser.prototype, "root", void 0);
|
|
959
962
|
DocksFileBrowser = _DocksFileBrowser = _decorate([customElement("docks-filebrowser")], DocksFileBrowser);
|
|
960
963
|
//#endregion
|
|
961
|
-
//#region src/core/contribution-names.ts
|
|
962
|
-
var VIEW_FILEBROWSER = "view.filebrowser";
|
|
963
|
-
var VIEW_LOG_TERMINAL = "view.logTerminal";
|
|
964
|
-
var TOOLBAR_INFO = "toolbar.info";
|
|
965
|
-
var TOOLBAR_FAST_VIEWS = "toolbar.fastViews";
|
|
966
|
-
var TOOLBAR_LANGUAGE_SELECTOR = "toolbar.languageSelector";
|
|
967
|
-
/** Main toolbar (right): layout picker (`docks-layout-switcher`). */
|
|
968
|
-
var TOOLBAR_LAYOUT_SWITCHER = "toolbar.layoutSwitcher";
|
|
969
|
-
/** Main toolbar (right): dark/light theme toggle (`switch_theme`). */
|
|
970
|
-
var TOOLBAR_THEME_SWITCHER = "toolbar.themeSwitcher";
|
|
971
|
-
/** Main toolbar (right): document fullscreen toggle (`fullscreen`). */
|
|
972
|
-
var TOOLBAR_FULLSCREEN = "toolbar.fullscreen";
|
|
973
|
-
/** Bottom-center toolbar: focused part title / active part indicator (`docks-part-name`). */
|
|
974
|
-
var TOOLBAR_ACTIVE_PART_NAME = "toolbar.activePartName";
|
|
975
|
-
/** Bottom-center toolbar: background tasks / progress (`docks-tasks`). */
|
|
976
|
-
var TOOLBAR_TASKS = "toolbar.tasks";
|
|
977
|
-
/** Main sidebar header toolbar: open extensions (`open_extensions` command). */
|
|
978
|
-
var SIDEBAR_TOOLBAR_EXTENSIONS = "sidebar.toolbar.extensions";
|
|
979
|
-
/** Default file-type → icon mappings on `system.icons`. */
|
|
980
|
-
var SYSTEM_DEFAULT_FILE_ICONS = "system.icons.default";
|
|
981
|
-
var ABOUT_TAB_RELEASE = "about.tab.release";
|
|
982
|
-
var ABOUT_TAB_PACKAGES = "about.tab.packages";
|
|
983
|
-
var ABOUT_TAB_ATTRIBUTIONS = "about.tab.attributions";
|
|
984
|
-
var ATTRIBUTION_ECLIPSE_DOCKS = "attribution.eclipse-docks";
|
|
985
|
-
var CTXMENU_FILEBROWSER_RENAME = "contextmenu.filebrowser.rename";
|
|
986
|
-
var CTXMENU_FILEBROWSER_DELETE = "contextmenu.filebrowser.delete";
|
|
987
|
-
//#endregion
|
|
988
964
|
//#region src/components/tasks.ts
|
|
989
|
-
var t$5 = await i18n(/*
|
|
990
|
-
"./tasks.de.json": () => import("./tasks.de-
|
|
991
|
-
"./tasks.en.json": () => import("./tasks.en-
|
|
965
|
+
var t$5 = await i18n(/* #__PURE__ */ Object.assign({
|
|
966
|
+
"./tasks.de.json": () => import("./tasks.de-DRvUVugd.js"),
|
|
967
|
+
"./tasks.en.json": () => import("./tasks.en-dRDildBd.js")
|
|
992
968
|
}));
|
|
993
969
|
contributionRegistry.registerContribution(TOOLBAR_BOTTOM_CENTER, {
|
|
994
970
|
name: TOOLBAR_TASKS,
|
|
@@ -1019,20 +995,15 @@ function updateProgressDialog(forceOpen = false) {
|
|
|
1019
995
|
}
|
|
1020
996
|
const existingDialog = getDialogElement();
|
|
1021
997
|
if (!(forceOpen || existingDialog?.open === true)) return;
|
|
1022
|
-
const handleClose = () => {
|
|
1023
|
-
const dialog = getDialogElement();
|
|
1024
|
-
if (dialog) dialog.open = false;
|
|
1025
|
-
};
|
|
1026
998
|
const handleAfterHide = () => {
|
|
1027
999
|
render(html``, container);
|
|
1028
1000
|
};
|
|
1029
|
-
|
|
1001
|
+
const template = html`
|
|
1030
1002
|
<wa-dialog
|
|
1031
1003
|
label="${t$5.ACTIVE_TASKS}"
|
|
1032
1004
|
open
|
|
1033
1005
|
light-dismiss
|
|
1034
1006
|
style="--width: 600px;"
|
|
1035
|
-
@wa-request-close=${handleClose}
|
|
1036
1007
|
@wa-after-hide=${handleAfterHide}
|
|
1037
1008
|
>
|
|
1038
1009
|
<style>
|
|
@@ -1138,7 +1109,8 @@ function updateProgressDialog(forceOpen = false) {
|
|
|
1138
1109
|
})}
|
|
1139
1110
|
</div>
|
|
1140
1111
|
</wa-dialog>
|
|
1141
|
-
|
|
1112
|
+
`;
|
|
1113
|
+
render(template, container);
|
|
1142
1114
|
}
|
|
1143
1115
|
var DocksTasks = class DocksTasks extends DocksElement {
|
|
1144
1116
|
static {
|
|
@@ -1212,9 +1184,9 @@ var DocksTasks = class DocksTasks extends DocksElement {
|
|
|
1212
1184
|
DocksTasks = _decorate([customElement("docks-tasks")], DocksTasks);
|
|
1213
1185
|
//#endregion
|
|
1214
1186
|
//#region src/components/document-title.ts
|
|
1215
|
-
var t$4 = await i18n(/*
|
|
1216
|
-
"./partname.de.json": () => import("./partname.de-
|
|
1217
|
-
"./partname.en.json": () => import("./partname.en-
|
|
1187
|
+
var t$4 = await i18n(/* #__PURE__ */ Object.assign({
|
|
1188
|
+
"./partname.de.json": () => import("./partname.de-C0I4Wf2X.js"),
|
|
1189
|
+
"./partname.en.json": () => import("./partname.en-CIT8z3cY.js")
|
|
1218
1190
|
}));
|
|
1219
1191
|
/**
|
|
1220
1192
|
* Human-readable label for the focused part (same logic as docks-part-name).
|
|
@@ -1255,9 +1227,9 @@ window.addEventListener("app-loaded", () => {
|
|
|
1255
1227
|
});
|
|
1256
1228
|
//#endregion
|
|
1257
1229
|
//#region src/components/part-name.ts
|
|
1258
|
-
var t$3 = await i18n(/*
|
|
1259
|
-
"./partname.de.json": () => import("./partname.de-
|
|
1260
|
-
"./partname.en.json": () => import("./partname.en-
|
|
1230
|
+
var t$3 = await i18n(/* #__PURE__ */ Object.assign({
|
|
1231
|
+
"./partname.de.json": () => import("./partname.de-C0I4Wf2X.js"),
|
|
1232
|
+
"./partname.en.json": () => import("./partname.en-CIT8z3cY.js")
|
|
1261
1233
|
}));
|
|
1262
1234
|
contributionRegistry.registerContribution(TOOLBAR_BOTTOM_CENTER, {
|
|
1263
1235
|
name: TOOLBAR_ACTIVE_PART_NAME,
|
|
@@ -1289,10 +1261,10 @@ var DocksPartName = class DocksPartName extends DocksElement {
|
|
|
1289
1261
|
DocksPartName = _decorate([customElement("docks-part-name")], DocksPartName);
|
|
1290
1262
|
//#endregion
|
|
1291
1263
|
//#region src/components/extensions.ts
|
|
1292
|
-
var logger
|
|
1293
|
-
var t$2 = await i18n(/*
|
|
1294
|
-
"./extensions.de.json": () => import("./extensions.de-
|
|
1295
|
-
"./extensions.en.json": () => import("./extensions.en-
|
|
1264
|
+
var logger = createLogger("DocksExtensions");
|
|
1265
|
+
var t$2 = await i18n(/* #__PURE__ */ Object.assign({
|
|
1266
|
+
"./extensions.de.json": () => import("./extensions.de-O6Sx3_t4.js"),
|
|
1267
|
+
"./extensions.en.json": () => import("./extensions.en-fwqJr8P-.js")
|
|
1296
1268
|
}));
|
|
1297
1269
|
var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
1298
1270
|
constructor(..._args) {
|
|
@@ -1300,6 +1272,9 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1300
1272
|
this.filterText = "";
|
|
1301
1273
|
this.showRegisterDialog = false;
|
|
1302
1274
|
this.registerExtensionData = {};
|
|
1275
|
+
this.handleRegisterDialogAfterHide = () => {
|
|
1276
|
+
this.finishRegisterDialogClose();
|
|
1277
|
+
};
|
|
1303
1278
|
}
|
|
1304
1279
|
doInitUI() {
|
|
1305
1280
|
subscribe(TOPIC_EXTENSIONS_CHANGED, () => {
|
|
@@ -1387,20 +1362,25 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1387
1362
|
const packageJson = await esmShService.fetchGitHubPackageJson(parsed);
|
|
1388
1363
|
const owner = parsed.owner;
|
|
1389
1364
|
const repo = parsed.repo;
|
|
1365
|
+
const extensionId = packageJson.name || `ext.${owner}-${repo}`;
|
|
1366
|
+
const extensionName = packageJson.name || `${owner}/${repo}`;
|
|
1367
|
+
const description = packageJson.description || "";
|
|
1368
|
+
const version = packageJson.version || "";
|
|
1369
|
+
const author = packageJson.author || (typeof packageJson.author === "string" ? packageJson.author : packageJson.author?.name) || "";
|
|
1390
1370
|
this.registerExtensionData = {
|
|
1391
|
-
id:
|
|
1392
|
-
name:
|
|
1393
|
-
description
|
|
1371
|
+
id: extensionId,
|
|
1372
|
+
name: extensionName,
|
|
1373
|
+
description,
|
|
1394
1374
|
url,
|
|
1395
|
-
version
|
|
1396
|
-
author
|
|
1375
|
+
version,
|
|
1376
|
+
author,
|
|
1397
1377
|
icon: "puzzle-piece",
|
|
1398
1378
|
external: true
|
|
1399
1379
|
};
|
|
1400
1380
|
this.showRegisterDialog = true;
|
|
1401
1381
|
this.requestUpdate();
|
|
1402
1382
|
} catch (error) {
|
|
1403
|
-
logger
|
|
1383
|
+
logger.warn(`Could not fetch package.json, using defaults: ${error}`);
|
|
1404
1384
|
this.registerExtensionData = {
|
|
1405
1385
|
url,
|
|
1406
1386
|
id: "",
|
|
@@ -1439,7 +1419,7 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1439
1419
|
extensionRegistry.registerExtension(extension);
|
|
1440
1420
|
await extensionRegistry.loadExtensionFromUrl(this.registerExtensionData.url, extension.id);
|
|
1441
1421
|
toastInfo(`Extension ${extension.name} registered successfully`);
|
|
1442
|
-
this.
|
|
1422
|
+
this.closeRegisterDialog();
|
|
1443
1423
|
this.registerExtensionData = {};
|
|
1444
1424
|
this.requestUpdate();
|
|
1445
1425
|
});
|
|
@@ -1447,11 +1427,22 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1447
1427
|
toastError(`Failed to register extension: ${error}`);
|
|
1448
1428
|
}
|
|
1449
1429
|
}
|
|
1450
|
-
|
|
1430
|
+
closeRegisterDialog() {
|
|
1431
|
+
const dialog = this.renderRoot.querySelector("wa-dialog");
|
|
1432
|
+
if (dialog && dialog.open !== false) {
|
|
1433
|
+
dialog.open = false;
|
|
1434
|
+
return;
|
|
1435
|
+
}
|
|
1436
|
+
this.finishRegisterDialogClose();
|
|
1437
|
+
}
|
|
1438
|
+
finishRegisterDialogClose() {
|
|
1451
1439
|
this.showRegisterDialog = false;
|
|
1452
1440
|
this.registerExtensionData = {};
|
|
1453
1441
|
this.requestUpdate();
|
|
1454
1442
|
}
|
|
1443
|
+
cancelRegisterExtension() {
|
|
1444
|
+
this.closeRegisterDialog();
|
|
1445
|
+
}
|
|
1455
1446
|
renderToolbar() {
|
|
1456
1447
|
return html`
|
|
1457
1448
|
<wa-input
|
|
@@ -1482,7 +1473,7 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1482
1473
|
<wa-dialog
|
|
1483
1474
|
label="Register Extension"
|
|
1484
1475
|
open
|
|
1485
|
-
@wa-
|
|
1476
|
+
@wa-after-hide=${this.handleRegisterDialogAfterHide}
|
|
1486
1477
|
style="--wa-dialog-width: 500px;">
|
|
1487
1478
|
<div style="display: flex; flex-direction: column; gap: 1rem; padding: 1rem;">
|
|
1488
1479
|
<wa-input
|
|
@@ -1860,9 +1851,9 @@ _decorate([state()], DocksExtensions.prototype, "registerExtensionData", void 0)
|
|
|
1860
1851
|
DocksExtensions = _decorate([customElement("docks-extensions")], DocksExtensions);
|
|
1861
1852
|
//#endregion
|
|
1862
1853
|
//#region src/components/log-terminal.ts
|
|
1863
|
-
var t$1 = await i18n(/*
|
|
1864
|
-
"./logterminal.de.json": () => import("./logterminal.de-
|
|
1865
|
-
"./logterminal.en.json": () => import("./logterminal.en-
|
|
1854
|
+
var t$1 = await i18n(/* #__PURE__ */ Object.assign({
|
|
1855
|
+
"./logterminal.de.json": () => import("./logterminal.de-BP1FuxHH.js"),
|
|
1856
|
+
"./logterminal.en.json": () => import("./logterminal.en-BeDRvTvb.js")
|
|
1866
1857
|
}));
|
|
1867
1858
|
var DocksLogTerminal = class DocksLogTerminal extends DocksPart {
|
|
1868
1859
|
constructor(..._args) {
|
|
@@ -2154,11 +2145,8 @@ var DocksCommand = class DocksCommand extends DocksWidget {
|
|
|
2154
2145
|
this.placement = "bottom-start";
|
|
2155
2146
|
this.dropdownContributions = [];
|
|
2156
2147
|
}
|
|
2157
|
-
closeDropdown(dropdown) {
|
|
2158
|
-
if (dropdown && dropdown.open !== void 0) dropdown.open = false;
|
|
2159
|
-
}
|
|
2160
2148
|
handleSelect(event) {
|
|
2161
|
-
|
|
2149
|
+
handleDropdownWaSelect(event);
|
|
2162
2150
|
}
|
|
2163
2151
|
getKeybinding() {
|
|
2164
2152
|
if (!this.cmd || this.action) return null;
|
|
@@ -2295,9 +2283,9 @@ _decorate([state()], DocksCommand.prototype, "dropdownContributions", void 0);
|
|
|
2295
2283
|
DocksCommand = _decorate([customElement("docks-command")], DocksCommand);
|
|
2296
2284
|
//#endregion
|
|
2297
2285
|
//#region src/components/fastviews.ts
|
|
2298
|
-
var t = await i18n(/*
|
|
2299
|
-
"./fastviews.de.json": () => import("./fastviews.de-
|
|
2300
|
-
"./fastviews.en.json": () => import("./fastviews.en-
|
|
2286
|
+
var t = await i18n(/* #__PURE__ */ Object.assign({
|
|
2287
|
+
"./fastviews.de.json": () => import("./fastviews.de-C-B48vwv.js"),
|
|
2288
|
+
"./fastviews.en.json": () => import("./fastviews.en-BlAxYlHD.js")
|
|
2301
2289
|
}));
|
|
2302
2290
|
var DocksFastViews = class DocksFastViews extends DocksWidget {
|
|
2303
2291
|
constructor(..._args) {
|
|
@@ -2419,7 +2407,8 @@ var DocksFastViews = class DocksFastViews extends DocksWidget {
|
|
|
2419
2407
|
}
|
|
2420
2408
|
loadTabContributions() {
|
|
2421
2409
|
if (!this.target) return;
|
|
2422
|
-
|
|
2410
|
+
const allContributions = contributionRegistry.getContributions(this.target);
|
|
2411
|
+
this.tabContributions = allContributions.filter((c) => "name" in c);
|
|
2423
2412
|
this.requestUpdate();
|
|
2424
2413
|
}
|
|
2425
2414
|
renderTabContribution(contribution) {
|
|
@@ -2573,12 +2562,11 @@ var showLanguageSelectorDialog = async () => {
|
|
|
2573
2562
|
await appSettings.set(SETTINGS_KEY_LANGUAGE, language);
|
|
2574
2563
|
handleClose();
|
|
2575
2564
|
};
|
|
2576
|
-
|
|
2565
|
+
const template = html`
|
|
2577
2566
|
<wa-dialog
|
|
2578
2567
|
label="Select Language"
|
|
2579
2568
|
open
|
|
2580
2569
|
light-dismiss
|
|
2581
|
-
@wa-request-close=${handleClose}
|
|
2582
2570
|
@wa-after-hide=${handleAfterHide}>
|
|
2583
2571
|
<style>
|
|
2584
2572
|
.language-list {
|
|
@@ -2632,7 +2620,8 @@ var showLanguageSelectorDialog = async () => {
|
|
|
2632
2620
|
`)}
|
|
2633
2621
|
</div>
|
|
2634
2622
|
</wa-dialog>
|
|
2635
|
-
|
|
2623
|
+
`;
|
|
2624
|
+
render(template, container);
|
|
2636
2625
|
});
|
|
2637
2626
|
};
|
|
2638
2627
|
var DocksLanguageSelector = class DocksLanguageSelector extends DocksElement {
|
|
@@ -2661,38 +2650,145 @@ var DocksLanguageSelector = class DocksLanguageSelector extends DocksElement {
|
|
|
2661
2650
|
};
|
|
2662
2651
|
DocksLanguageSelector = _decorate([customElement("docks-language-selector")], DocksLanguageSelector);
|
|
2663
2652
|
//#endregion
|
|
2653
|
+
//#region src/core/layout-panels.ts
|
|
2654
|
+
var DEFAULT_LAYOUT_PANEL_VISIBILITY = {
|
|
2655
|
+
showLeftSidebar: true,
|
|
2656
|
+
showAuxSidebar: true,
|
|
2657
|
+
showBottomPanel: true,
|
|
2658
|
+
showLeftAux: false,
|
|
2659
|
+
showRightAux: false
|
|
2660
|
+
};
|
|
2661
|
+
function normalizePanelVisibility(stored) {
|
|
2662
|
+
return {
|
|
2663
|
+
showLeftSidebar: stored.showLeftSidebar ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showLeftSidebar,
|
|
2664
|
+
showAuxSidebar: stored.showAuxSidebar ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showAuxSidebar,
|
|
2665
|
+
showBottomPanel: stored.showBottomPanel ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showBottomPanel,
|
|
2666
|
+
showLeftAux: stored.showLeftAux ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showLeftAux,
|
|
2667
|
+
showRightAux: stored.showRightAux ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showRightAux
|
|
2668
|
+
};
|
|
2669
|
+
}
|
|
2670
|
+
var LAYOUT_PANEL_SETTINGS_KEY = "layoutPanelVisibility";
|
|
2671
|
+
/** @deprecated Legacy layout id persisted before panel visibility toggles. */
|
|
2672
|
+
var LEGACY_PREFERRED_LAYOUT_KEY = "preferredLayoutId";
|
|
2673
|
+
/** Maps legacy parameterized layout ids to panel visibility. */
|
|
2674
|
+
function layoutIdToPanelVisibility(layoutId) {
|
|
2675
|
+
switch (layoutId) {
|
|
2676
|
+
case "standard-bottom-panel": return {
|
|
2677
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2678
|
+
showBottomPanel: true,
|
|
2679
|
+
showLeftAux: false,
|
|
2680
|
+
showRightAux: false
|
|
2681
|
+
};
|
|
2682
|
+
case "standard-bottom-sidebar": return {
|
|
2683
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2684
|
+
showBottomPanel: false,
|
|
2685
|
+
showLeftAux: true,
|
|
2686
|
+
showRightAux: false
|
|
2687
|
+
};
|
|
2688
|
+
case "standard-full": return {
|
|
2689
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2690
|
+
showLeftAux: true,
|
|
2691
|
+
showRightAux: true
|
|
2692
|
+
};
|
|
2693
|
+
default: return {
|
|
2694
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2695
|
+
showBottomPanel: false,
|
|
2696
|
+
showLeftAux: false,
|
|
2697
|
+
showRightAux: false
|
|
2698
|
+
};
|
|
2699
|
+
}
|
|
2700
|
+
}
|
|
2701
|
+
function resolveInitialPanelVisibilityFromApp(appLayout) {
|
|
2702
|
+
if (typeof appLayout === "object" && appLayout.props) return {
|
|
2703
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2704
|
+
showLeftSidebar: appLayout.props.showLeftSidebar !== false,
|
|
2705
|
+
showAuxSidebar: appLayout.props.showAuxSidebar !== false,
|
|
2706
|
+
showBottomPanel: appLayout.props.showBottomPanel === true,
|
|
2707
|
+
showLeftAux: appLayout.props.showLeftAux === true,
|
|
2708
|
+
showRightAux: appLayout.props.showRightAux === true
|
|
2709
|
+
};
|
|
2710
|
+
if (typeof appLayout === "string") return layoutIdToPanelVisibility(appLayout);
|
|
2711
|
+
return { ...DEFAULT_LAYOUT_PANEL_VISIBILITY };
|
|
2712
|
+
}
|
|
2713
|
+
async function resolveStoredPanelVisibility(appLayout) {
|
|
2714
|
+
try {
|
|
2715
|
+
const saved = await appSettings.get(LAYOUT_PANEL_SETTINGS_KEY);
|
|
2716
|
+
if (saved && typeof saved === "object") return normalizePanelVisibility(saved);
|
|
2717
|
+
} catch {}
|
|
2718
|
+
try {
|
|
2719
|
+
const legacyLayoutId = await appSettings.get(LEGACY_PREFERRED_LAYOUT_KEY);
|
|
2720
|
+
if (legacyLayoutId) return layoutIdToPanelVisibility(legacyLayoutId);
|
|
2721
|
+
} catch {}
|
|
2722
|
+
return resolveInitialPanelVisibilityFromApp(appLayout);
|
|
2723
|
+
}
|
|
2724
|
+
function findStandardLayout(container) {
|
|
2725
|
+
const root = container ?? document.getElementById("app-root") ?? document.body;
|
|
2726
|
+
if (!root || typeof root.querySelector !== "function") return null;
|
|
2727
|
+
return root.querySelector("docks-standard-layout");
|
|
2728
|
+
}
|
|
2729
|
+
var LAYOUT_PANEL_OPTIONS = [
|
|
2730
|
+
{
|
|
2731
|
+
key: "showLeftSidebar",
|
|
2732
|
+
label: "Left sidebar",
|
|
2733
|
+
icon: "docks layout-standard-left-sidebar"
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
key: "showAuxSidebar",
|
|
2737
|
+
label: "Right sidebar",
|
|
2738
|
+
icon: "docks layout-standard-right-sidebar"
|
|
2739
|
+
},
|
|
2740
|
+
{
|
|
2741
|
+
key: "showBottomPanel",
|
|
2742
|
+
label: "Bottom panel",
|
|
2743
|
+
icon: "docks layout-standard-bottom-panel"
|
|
2744
|
+
},
|
|
2745
|
+
{
|
|
2746
|
+
key: "showLeftAux",
|
|
2747
|
+
label: "Left Aux",
|
|
2748
|
+
icon: "docks layout-standard-left-aux"
|
|
2749
|
+
},
|
|
2750
|
+
{
|
|
2751
|
+
key: "showRightAux",
|
|
2752
|
+
label: "Right Aux",
|
|
2753
|
+
icon: "docks layout-standard-right-aux"
|
|
2754
|
+
}
|
|
2755
|
+
];
|
|
2756
|
+
//#endregion
|
|
2664
2757
|
//#region src/components/layout-switcher.ts
|
|
2665
2758
|
var DocksLayoutSwitcher = class DocksLayoutSwitcher extends DocksElement {
|
|
2666
2759
|
constructor(..._args) {
|
|
2667
2760
|
super(..._args);
|
|
2668
|
-
this.
|
|
2761
|
+
this.panels = { ...DEFAULT_LAYOUT_PANEL_VISIBILITY };
|
|
2669
2762
|
}
|
|
2670
2763
|
doBeforeUI() {
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
this.
|
|
2764
|
+
const syncPanels = () => {
|
|
2765
|
+
const layout = findStandardLayout();
|
|
2766
|
+
this.panels = layout?.getPanelVisibility() ?? { ...DEFAULT_LAYOUT_PANEL_VISIBILITY };
|
|
2674
2767
|
this.requestUpdate();
|
|
2675
2768
|
};
|
|
2676
|
-
|
|
2677
|
-
window.addEventListener("
|
|
2769
|
+
syncPanels();
|
|
2770
|
+
window.addEventListener("app-loaded", syncPanels);
|
|
2771
|
+
window.addEventListener("layout-panels-changed", syncPanels);
|
|
2678
2772
|
return () => {
|
|
2679
|
-
window.removeEventListener("app-loaded",
|
|
2680
|
-
window.removeEventListener("layout-changed",
|
|
2773
|
+
window.removeEventListener("app-loaded", syncPanels);
|
|
2774
|
+
window.removeEventListener("layout-panels-changed", syncPanels);
|
|
2681
2775
|
};
|
|
2682
2776
|
}
|
|
2683
2777
|
async handleSelect(e) {
|
|
2684
|
-
const
|
|
2685
|
-
if (!
|
|
2778
|
+
const layout = findStandardLayout();
|
|
2779
|
+
if (!layout) return;
|
|
2780
|
+
const item = e.detail?.item;
|
|
2781
|
+
const key = item?.value;
|
|
2782
|
+
if (!item || !key) return;
|
|
2686
2783
|
try {
|
|
2687
|
-
await
|
|
2784
|
+
await layout.setPanelVisibility({ [key]: item.checked ?? false });
|
|
2785
|
+
this.panels = layout.getPanelVisibility();
|
|
2688
2786
|
} catch (err) {
|
|
2689
|
-
console.error("Failed to
|
|
2787
|
+
console.error("Failed to update layout panels:", err);
|
|
2690
2788
|
}
|
|
2691
2789
|
}
|
|
2692
2790
|
render() {
|
|
2693
|
-
|
|
2694
|
-
if (layouts.length <= 1) return html``;
|
|
2695
|
-
const layoutName = layouts.find((l) => l.id === this.currentLayoutId)?.name ?? this.currentLayoutId;
|
|
2791
|
+
if (!findStandardLayout()) return html``;
|
|
2696
2792
|
return html`
|
|
2697
2793
|
<wa-dropdown
|
|
2698
2794
|
placement="bottom-end"
|
|
@@ -2704,19 +2800,19 @@ var DocksLayoutSwitcher = class DocksLayoutSwitcher extends DocksElement {
|
|
|
2704
2800
|
appearance="plain"
|
|
2705
2801
|
size="s"
|
|
2706
2802
|
with-caret
|
|
2707
|
-
title="
|
|
2708
|
-
|
|
2803
|
+
title="Show or hide layout panels">
|
|
2804
|
+
${icon("docks layout-standard-full", { label: "Layout panels" })}
|
|
2709
2805
|
</wa-button>
|
|
2710
|
-
${
|
|
2806
|
+
${LAYOUT_PANEL_OPTIONS.map((panel) => html`
|
|
2711
2807
|
<wa-dropdown-item
|
|
2712
|
-
value="${
|
|
2808
|
+
value="${panel.key}"
|
|
2713
2809
|
type="checkbox"
|
|
2714
|
-
?checked=${
|
|
2715
|
-
${icon(
|
|
2716
|
-
label:
|
|
2810
|
+
?checked=${this.panels[panel.key]}>
|
|
2811
|
+
${icon(panel.icon, {
|
|
2812
|
+
label: panel.label,
|
|
2717
2813
|
slot: "icon"
|
|
2718
2814
|
})}
|
|
2719
|
-
${
|
|
2815
|
+
${panel.label}
|
|
2720
2816
|
</wa-dropdown-item>
|
|
2721
2817
|
`)}
|
|
2722
2818
|
</wa-dropdown>
|
|
@@ -2730,143 +2826,15 @@ var DocksLayoutSwitcher = class DocksLayoutSwitcher extends DocksElement {
|
|
|
2730
2826
|
`;
|
|
2731
2827
|
}
|
|
2732
2828
|
};
|
|
2733
|
-
_decorate([state()], DocksLayoutSwitcher.prototype, "
|
|
2829
|
+
_decorate([state()], DocksLayoutSwitcher.prototype, "panels", void 0);
|
|
2734
2830
|
DocksLayoutSwitcher = _decorate([customElement("docks-layout-switcher")], DocksLayoutSwitcher);
|
|
2735
2831
|
//#endregion
|
|
2736
|
-
//#region src/components/
|
|
2737
|
-
var
|
|
2738
|
-
async function loadReleases(releaseHistory) {
|
|
2739
|
-
if (!releaseHistory) return [];
|
|
2740
|
-
if (typeof releaseHistory !== "function") return releaseHistory;
|
|
2741
|
-
try {
|
|
2742
|
-
return await releaseHistory();
|
|
2743
|
-
} catch (error) {
|
|
2744
|
-
logger.error(`Failed to load release history from app: ${error instanceof Error ? error.message : String(error)}`);
|
|
2745
|
-
return [];
|
|
2746
|
-
}
|
|
2747
|
-
}
|
|
2748
|
-
function semverEqual(a, b) {
|
|
2749
|
-
return a.replace(/^v/i, "") === b.replace(/^v/i, "");
|
|
2750
|
-
}
|
|
2751
|
-
function isNewerThan(releaseTag, currentVersion) {
|
|
2752
|
-
const currentParts = currentVersion.replace(/^v/i, "").split(".").map(Number);
|
|
2753
|
-
const releaseParts = releaseTag.replace(/^v/i, "").split(".").map(Number);
|
|
2754
|
-
for (let i = 0; i < Math.max(currentParts.length, releaseParts.length); i++) {
|
|
2755
|
-
const current = currentParts[i] || 0;
|
|
2756
|
-
const releasePart = releaseParts[i] || 0;
|
|
2757
|
-
if (releasePart > current) return true;
|
|
2758
|
-
if (releasePart < current) return false;
|
|
2759
|
-
}
|
|
2760
|
-
return false;
|
|
2761
|
-
}
|
|
2762
|
-
var DocksReleaseHistory = class DocksReleaseHistory extends DocksPart {
|
|
2832
|
+
//#region src/components/npm-packages.ts
|
|
2833
|
+
var DocksNpmPackages = class DocksNpmPackages extends DocksPart {
|
|
2763
2834
|
constructor(..._args) {
|
|
2764
2835
|
super(..._args);
|
|
2765
2836
|
this.scrollMode = "none";
|
|
2766
|
-
this.appVersion = "0.0.0";
|
|
2767
|
-
this.releases = [];
|
|
2768
|
-
this.currentReleaseIndex = 0;
|
|
2769
2837
|
}
|
|
2770
|
-
static {
|
|
2771
|
-
this.styles = [css`
|
|
2772
|
-
.release-panel {
|
|
2773
|
-
display: flex;
|
|
2774
|
-
flex-direction: column;
|
|
2775
|
-
gap: 0.5rem;
|
|
2776
|
-
height: 100%;
|
|
2777
|
-
padding: 0.75rem;
|
|
2778
|
-
box-sizing: border-box;
|
|
2779
|
-
}
|
|
2780
|
-
|
|
2781
|
-
.release-panel wa-scroller {
|
|
2782
|
-
flex: 1;
|
|
2783
|
-
min-height: 0;
|
|
2784
|
-
}
|
|
2785
|
-
|
|
2786
|
-
.release-nav {
|
|
2787
|
-
display: flex;
|
|
2788
|
-
gap: 0.5rem;
|
|
2789
|
-
}
|
|
2790
|
-
`];
|
|
2791
|
-
}
|
|
2792
|
-
doInitUI() {
|
|
2793
|
-
this.load();
|
|
2794
|
-
}
|
|
2795
|
-
async load() {
|
|
2796
|
-
const app = appLoaderService.getCurrentApp();
|
|
2797
|
-
this.appVersion = app?.version ?? "0.0.0";
|
|
2798
|
-
this.releases = await loadReleases(app?.releaseHistory);
|
|
2799
|
-
const currentIndex = this.releases.findIndex((release) => semverEqual(release.tag_name, this.appVersion));
|
|
2800
|
-
this.currentReleaseIndex = currentIndex >= 0 ? currentIndex : 0;
|
|
2801
|
-
}
|
|
2802
|
-
showOlder() {
|
|
2803
|
-
if (this.currentReleaseIndex < this.releases.length - 1) this.currentReleaseIndex += 1;
|
|
2804
|
-
}
|
|
2805
|
-
showNewer() {
|
|
2806
|
-
if (this.currentReleaseIndex > 0) this.currentReleaseIndex -= 1;
|
|
2807
|
-
}
|
|
2808
|
-
renderContent() {
|
|
2809
|
-
const release = this.releases[this.currentReleaseIndex];
|
|
2810
|
-
if (!release) return html`<div class="release-panel">No release history available.</div>`;
|
|
2811
|
-
const isCurrent = semverEqual(release.tag_name, this.appVersion);
|
|
2812
|
-
const showUpdateHint = !isCurrent && isNewerThan(release.tag_name, this.appVersion);
|
|
2813
|
-
const atOldest = this.currentReleaseIndex === this.releases.length - 1;
|
|
2814
|
-
const atNewest = this.currentReleaseIndex === 0;
|
|
2815
|
-
const bodyHtml = release.body ? parseMarkdownHtml(release.body) : "";
|
|
2816
|
-
return html`
|
|
2817
|
-
<div class="release-panel">
|
|
2818
|
-
<p>
|
|
2819
|
-
<strong>Version:</strong> ${release.tag_name}${isCurrent ? " (Current)" : ""}
|
|
2820
|
-
</p>
|
|
2821
|
-
<p>
|
|
2822
|
-
<strong>Released:</strong>
|
|
2823
|
-
<wa-format-date
|
|
2824
|
-
.date=${release.published_at}
|
|
2825
|
-
month="short"
|
|
2826
|
-
day="numeric"
|
|
2827
|
-
year="numeric"
|
|
2828
|
-
></wa-format-date>
|
|
2829
|
-
</p>
|
|
2830
|
-
${showUpdateHint ? html`
|
|
2831
|
-
<wa-callout variant="warning">
|
|
2832
|
-
<wa-icon slot="icon" name="triangle-exclamation"></wa-icon>
|
|
2833
|
-
Update available — reload the page to update
|
|
2834
|
-
</wa-callout>
|
|
2835
|
-
` : ""}
|
|
2836
|
-
<wa-scroller orientation="vertical">
|
|
2837
|
-
${bodyHtml ? html`<div style="white-space: normal;">${unsafeHTML(bodyHtml)}</div>` : ""}
|
|
2838
|
-
</wa-scroller>
|
|
2839
|
-
${this.releases.length > 1 ? html`
|
|
2840
|
-
<div class="release-nav">
|
|
2841
|
-
<wa-button-group>
|
|
2842
|
-
<wa-button
|
|
2843
|
-
variant="default"
|
|
2844
|
-
?disabled=${atOldest}
|
|
2845
|
-
@click=${() => this.showOlder()}
|
|
2846
|
-
>
|
|
2847
|
-
← Previous
|
|
2848
|
-
</wa-button>
|
|
2849
|
-
<wa-button
|
|
2850
|
-
variant="default"
|
|
2851
|
-
?disabled=${atNewest}
|
|
2852
|
-
@click=${() => this.showNewer()}
|
|
2853
|
-
>
|
|
2854
|
-
Next →
|
|
2855
|
-
</wa-button>
|
|
2856
|
-
</wa-button-group>
|
|
2857
|
-
</div>
|
|
2858
|
-
` : ""}
|
|
2859
|
-
</div>
|
|
2860
|
-
`;
|
|
2861
|
-
}
|
|
2862
|
-
};
|
|
2863
|
-
_decorate([state()], DocksReleaseHistory.prototype, "appVersion", void 0);
|
|
2864
|
-
_decorate([state()], DocksReleaseHistory.prototype, "releases", void 0);
|
|
2865
|
-
_decorate([state()], DocksReleaseHistory.prototype, "currentReleaseIndex", void 0);
|
|
2866
|
-
DocksReleaseHistory = _decorate([customElement("docks-release-history")], DocksReleaseHistory);
|
|
2867
|
-
//#endregion
|
|
2868
|
-
//#region src/components/npm-packages.ts
|
|
2869
|
-
var DocksNpmPackages = class DocksNpmPackages extends DocksPart {
|
|
2870
2838
|
static {
|
|
2871
2839
|
this.styles = [css`
|
|
2872
2840
|
.packages-panel {
|
|
@@ -2912,6 +2880,7 @@ function renderHtmlContribution(contribution) {
|
|
|
2912
2880
|
var DocksAttributionPart = class DocksAttributionPart extends DocksPart {
|
|
2913
2881
|
constructor(..._args) {
|
|
2914
2882
|
super(..._args);
|
|
2883
|
+
this.scrollMode = "none";
|
|
2915
2884
|
this.attributions = [];
|
|
2916
2885
|
}
|
|
2917
2886
|
static {
|
|
@@ -2984,7 +2953,7 @@ contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
|
2984
2953
|
ranking: 100,
|
|
2985
2954
|
toolbar: false,
|
|
2986
2955
|
contextMenu: false,
|
|
2987
|
-
component: (id) => html`<docks-attribution id="${id}"></docks-attribution>`
|
|
2956
|
+
component: (id) => html`<docks-attribution id="${id}" embedded></docks-attribution>`
|
|
2988
2957
|
});
|
|
2989
2958
|
contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
2990
2959
|
name: ABOUT_TAB_RELEASE,
|
|
@@ -2993,7 +2962,7 @@ contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
|
2993
2962
|
ranking: 50,
|
|
2994
2963
|
toolbar: false,
|
|
2995
2964
|
contextMenu: false,
|
|
2996
|
-
component: (id) => html`<docks-release-history id="${id}"></docks-release-history>`
|
|
2965
|
+
component: (id) => html`<docks-release-history id="${id}" embedded></docks-release-history>`
|
|
2997
2966
|
});
|
|
2998
2967
|
contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
2999
2968
|
name: ABOUT_TAB_PACKAGES,
|
|
@@ -3002,7 +2971,7 @@ contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
|
3002
2971
|
ranking: 0,
|
|
3003
2972
|
toolbar: false,
|
|
3004
2973
|
contextMenu: false,
|
|
3005
|
-
component: (id) => html`<docks-npm-packages id="${id}"></docks-npm-packages>`
|
|
2974
|
+
component: (id) => html`<docks-npm-packages id="${id}" embedded></docks-npm-packages>`
|
|
3006
2975
|
});
|
|
3007
2976
|
contributionRegistry.registerContribution(SYSTEM_ATTRIBUTIONS, {
|
|
3008
2977
|
name: ATTRIBUTION_ECLIPSE_DOCKS,
|
|
@@ -3033,7 +3002,7 @@ contributionRegistry.registerContribution(TOOLBAR_BOTTOM_END, {
|
|
|
3033
3002
|
});
|
|
3034
3003
|
contributionRegistry.registerContribution(TOOLBAR_MAIN_RIGHT, {
|
|
3035
3004
|
name: TOOLBAR_LAYOUT_SWITCHER,
|
|
3036
|
-
label: "Layout
|
|
3005
|
+
label: "Layout panels",
|
|
3037
3006
|
component: () => html`<docks-layout-switcher></docks-layout-switcher>`
|
|
3038
3007
|
});
|
|
3039
3008
|
contributionRegistry.registerContribution(SIDEBAR_MAIN_TOOLBAR, {
|
|
@@ -3047,14 +3016,57 @@ contributionRegistry.registerContribution(SIDEBAR_MAIN_TOOLBAR, {
|
|
|
3047
3016
|
var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
3048
3017
|
constructor(..._args) {
|
|
3049
3018
|
super(..._args);
|
|
3050
|
-
this.
|
|
3051
|
-
this.showBottomPanel =
|
|
3019
|
+
this.showLeftAux = false;
|
|
3020
|
+
this.showBottomPanel = true;
|
|
3052
3021
|
this.showLeftSidebar = true;
|
|
3053
3022
|
this.showAuxSidebar = true;
|
|
3023
|
+
this.showRightAux = false;
|
|
3024
|
+
this.panelsInitialized = false;
|
|
3054
3025
|
}
|
|
3055
3026
|
createRenderRoot() {
|
|
3056
3027
|
return this;
|
|
3057
3028
|
}
|
|
3029
|
+
getPanelVisibility() {
|
|
3030
|
+
return {
|
|
3031
|
+
showLeftSidebar: this.showLeftSidebar,
|
|
3032
|
+
showAuxSidebar: this.showAuxSidebar,
|
|
3033
|
+
showBottomPanel: this.showBottomPanel,
|
|
3034
|
+
showLeftAux: this.showLeftAux,
|
|
3035
|
+
showRightAux: this.showRightAux
|
|
3036
|
+
};
|
|
3037
|
+
}
|
|
3038
|
+
applyPanelVisibility(panels) {
|
|
3039
|
+
this.showLeftSidebar = panels.showLeftSidebar;
|
|
3040
|
+
this.showAuxSidebar = panels.showAuxSidebar;
|
|
3041
|
+
this.showBottomPanel = panels.showBottomPanel;
|
|
3042
|
+
this.showLeftAux = panels.showLeftAux;
|
|
3043
|
+
this.showRightAux = panels.showRightAux;
|
|
3044
|
+
}
|
|
3045
|
+
async setPanelVisibility(panels) {
|
|
3046
|
+
const next = {
|
|
3047
|
+
...this.getPanelVisibility(),
|
|
3048
|
+
...panels
|
|
3049
|
+
};
|
|
3050
|
+
this.applyPanelVisibility(next);
|
|
3051
|
+
try {
|
|
3052
|
+
await appSettings.set(LAYOUT_PANEL_SETTINGS_KEY, next);
|
|
3053
|
+
} catch (error) {
|
|
3054
|
+
console.error("Failed to persist layout panel visibility:", error);
|
|
3055
|
+
throw error;
|
|
3056
|
+
}
|
|
3057
|
+
window.dispatchEvent(new CustomEvent("layout-panels-changed", { detail: { panels: this.getPanelVisibility() } }));
|
|
3058
|
+
}
|
|
3059
|
+
doInitUI() {
|
|
3060
|
+
this.initializePanelVisibility();
|
|
3061
|
+
}
|
|
3062
|
+
async initializePanelVisibility() {
|
|
3063
|
+
if (this.panelsInitialized) return;
|
|
3064
|
+
this.panelsInitialized = true;
|
|
3065
|
+
const appLayout = appLoaderService.getCurrentApp()?.layout;
|
|
3066
|
+
const panels = await resolveStoredPanelVisibility(appLayout);
|
|
3067
|
+
this.applyPanelVisibility(panels);
|
|
3068
|
+
window.dispatchEvent(new CustomEvent("layout-panels-changed", { detail: { panels: this.getPanelVisibility() } }));
|
|
3069
|
+
}
|
|
3058
3070
|
getGridSizes() {
|
|
3059
3071
|
if (this.showLeftSidebar && this.showAuxSidebar) return "20%, 60%, 20%";
|
|
3060
3072
|
if (this.showLeftSidebar) return "20%, 80%";
|
|
@@ -3146,7 +3158,7 @@ var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
|
3146
3158
|
sizes=${this.getGridSizes()}>
|
|
3147
3159
|
|
|
3148
3160
|
${this.showLeftSidebar ? html`
|
|
3149
|
-
${this.
|
|
3161
|
+
${this.showLeftAux ? html`
|
|
3150
3162
|
<docks-resizable-grid
|
|
3151
3163
|
id="left-sidebar-split"
|
|
3152
3164
|
orientation="vertical"
|
|
@@ -3167,7 +3179,17 @@ var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
|
3167
3179
|
</docks-resizable-grid>
|
|
3168
3180
|
` : html`<docks-tabs id="${EDITOR_AREA_MAIN}"></docks-tabs>`}
|
|
3169
3181
|
|
|
3170
|
-
${this.showAuxSidebar ? html
|
|
3182
|
+
${this.showAuxSidebar ? html`
|
|
3183
|
+
${this.showRightAux ? html`
|
|
3184
|
+
<docks-resizable-grid
|
|
3185
|
+
id="right-sidebar-split"
|
|
3186
|
+
orientation="vertical"
|
|
3187
|
+
sizes="50%, 50%">
|
|
3188
|
+
<docks-tabs id="${SIDEBAR_AUXILIARY}"></docks-tabs>
|
|
3189
|
+
<docks-tabs id="${SIDEBAR_AUXILIARY_BOTTOM}" placement="start" icon-only></docks-tabs>
|
|
3190
|
+
</docks-resizable-grid>
|
|
3191
|
+
` : html`<docks-tabs id="${SIDEBAR_AUXILIARY}"></docks-tabs>`}
|
|
3192
|
+
` : nothing}
|
|
3171
3193
|
</docks-resizable-grid>
|
|
3172
3194
|
|
|
3173
3195
|
<div class="toolbar-bottom">
|
|
@@ -3180,8 +3202,8 @@ var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
|
3180
3202
|
};
|
|
3181
3203
|
_decorate([property({
|
|
3182
3204
|
type: Boolean,
|
|
3183
|
-
attribute: "show-
|
|
3184
|
-
})], DocksStandardLayout.prototype, "
|
|
3205
|
+
attribute: "show-left-aux"
|
|
3206
|
+
})], DocksStandardLayout.prototype, "showLeftAux", void 0);
|
|
3185
3207
|
_decorate([property({
|
|
3186
3208
|
type: Boolean,
|
|
3187
3209
|
attribute: "show-bottom-panel"
|
|
@@ -3194,51 +3216,20 @@ _decorate([property({
|
|
|
3194
3216
|
type: Boolean,
|
|
3195
3217
|
attribute: "show-aux-sidebar"
|
|
3196
3218
|
})], DocksStandardLayout.prototype, "showAuxSidebar", void 0);
|
|
3219
|
+
_decorate([property({
|
|
3220
|
+
type: Boolean,
|
|
3221
|
+
attribute: "show-right-aux"
|
|
3222
|
+
})], DocksStandardLayout.prototype, "showRightAux", void 0);
|
|
3197
3223
|
DocksStandardLayout = _decorate([customElement("docks-standard-layout")], DocksStandardLayout);
|
|
3198
3224
|
//#endregion
|
|
3199
3225
|
//#region src/contributions/default-layout-contributions.ts
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
},
|
|
3208
|
-
{
|
|
3209
|
-
id: "standard-bottom-panel",
|
|
3210
|
-
name: "Standard (bottom panel)",
|
|
3211
|
-
label: "Standard (bottom panel)",
|
|
3212
|
-
icon: "docks layout-standard-bottom-panel",
|
|
3213
|
-
component: {
|
|
3214
|
-
tag: "docks-standard-layout",
|
|
3215
|
-
attributes: { "show-bottom-panel": "true" }
|
|
3216
|
-
}
|
|
3217
|
-
},
|
|
3218
|
-
{
|
|
3219
|
-
id: "standard-bottom-sidebar",
|
|
3220
|
-
name: "Standard (bottom sidebar)",
|
|
3221
|
-
label: "Standard (bottom sidebar)",
|
|
3222
|
-
icon: "docks layout-standard-bottom-sidebar",
|
|
3223
|
-
component: {
|
|
3224
|
-
tag: "docks-standard-layout",
|
|
3225
|
-
attributes: { "show-bottom-sidebar": "true" }
|
|
3226
|
-
}
|
|
3227
|
-
},
|
|
3228
|
-
{
|
|
3229
|
-
id: "standard-full",
|
|
3230
|
-
name: "Standard (panel + sidebar)",
|
|
3231
|
-
label: "Standard (panel + sidebar)",
|
|
3232
|
-
icon: "docks layout-standard-full",
|
|
3233
|
-
component: {
|
|
3234
|
-
tag: "docks-standard-layout",
|
|
3235
|
-
attributes: {
|
|
3236
|
-
"show-bottom-panel": "true",
|
|
3237
|
-
"show-bottom-sidebar": "true"
|
|
3238
|
-
}
|
|
3239
|
-
}
|
|
3240
|
-
}
|
|
3241
|
-
]) contributionRegistry.registerContribution(SYSTEM_LAYOUTS, layout);
|
|
3226
|
+
contributionRegistry.registerContribution(SYSTEM_LAYOUTS, {
|
|
3227
|
+
id: "standard",
|
|
3228
|
+
name: "Standard",
|
|
3229
|
+
label: "Standard",
|
|
3230
|
+
icon: "docks layout-standard-full",
|
|
3231
|
+
component: "docks-standard-layout"
|
|
3232
|
+
});
|
|
3242
3233
|
//#endregion
|
|
3243
3234
|
//#region src/commands/files.ts
|
|
3244
3235
|
async function getWorkspaceAndPath(params, requirePath = true) {
|
|
@@ -3730,7 +3721,7 @@ registerAll({
|
|
|
3730
3721
|
});
|
|
3731
3722
|
//#endregion
|
|
3732
3723
|
//#region src/core/js-runtime-worker.js?worker&inline
|
|
3733
|
-
var jsContent = "//#region src/core/js-runtime-worker.js\n/**\n* Worker entry for JsRuntime: receives code, evaluates in global scope, posts result or error.\n* Kept as .js so the worker URL is never .ts (servers often map .ts to video/mp2t MIME type).\n*/\nself.onmessage = async function(e) {\n const code = e.data;\n try {\n let value = new Function(code)();\n if (value != null && typeof value.then === \"function\") value = await value;\n try {\n self.postMessage({\n type: \"result\",\n value\n });\n } catch {\n self.postMessage({\n type: \"result\",\n value: value === void 0 ? void 0 : String(value)\n });\n }\n } catch (err) {\n self.postMessage({\n type: \"error\",\n message: err instanceof Error ? err.message : String(err)\n });\n }\n};\n//#endregion\n\n//# sourceMappingURL=js-runtime-worker-
|
|
3724
|
+
var jsContent = "//#region src/core/js-runtime-worker.js\n/**\n* Worker entry for JsRuntime: receives code, evaluates in global scope, posts result or error.\n* Kept as .js so the worker URL is never .ts (servers often map .ts to video/mp2t MIME type).\n*/\nself.onmessage = async function(e) {\n const code = e.data;\n try {\n let value = new Function(code)();\n if (value != null && typeof value.then === \"function\") value = await value;\n try {\n self.postMessage({\n type: \"result\",\n value\n });\n } catch {\n self.postMessage({\n type: \"result\",\n value: value === void 0 ? void 0 : String(value)\n });\n }\n } catch (err) {\n self.postMessage({\n type: \"error\",\n message: err instanceof Error ? err.message : String(err)\n });\n }\n};\n//#endregion\n\n//# sourceMappingURL=js-runtime-worker-X93bOre4.js.map";
|
|
3734
3725
|
var blob = typeof self !== "undefined" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", jsContent], { type: "text/javascript;charset=utf-8" });
|
|
3735
3726
|
function WorkerWrapper(options) {
|
|
3736
3727
|
let objURL;
|
|
@@ -4636,6 +4627,6 @@ function getFrameworkConfig() {
|
|
|
4636
4627
|
return { ...frameworkConfig };
|
|
4637
4628
|
}
|
|
4638
4629
|
//#endregion
|
|
4639
|
-
export {
|
|
4630
|
+
export { i18n as _, DocksStandardLayout as a, LAYOUT_PANEL_SETTINGS_KEY as c, layoutIdToPanelVisibility as d, resolveInitialPanelVisibilityFromApp as f, createLazyLabel as g, editorRegistry as h, createJsRuntime as i, LEGACY_PREFERRED_LAYOUT_KEY as l, treeNodeComparator as m, getFrameworkConfig as n, DEFAULT_LAYOUT_PANEL_VISIBILITY as o, resolveStoredPanelVisibility as p, runJavaScriptCode as r, LAYOUT_PANEL_OPTIONS as s, configureFramework as t, findStandardLayout as u };
|
|
4640
4631
|
|
|
4641
|
-
//# sourceMappingURL=api-
|
|
4632
|
+
//# sourceMappingURL=api-DImisUWV.js.map
|