@eclipse-docks/core 0.7.126 → 0.7.130
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 +4 -4
- package/dist/api/services.d.ts +4 -0
- package/dist/api/services.d.ts.map +1 -1
- package/dist/{api-B3RXoez_.js → api-oPg3Bv1S.js} +422 -293
- package/dist/api-oPg3Bv1S.js.map +1 -0
- package/dist/components/attribution.d.ts +1 -0
- package/dist/components/attribution.d.ts.map +1 -1
- package/dist/components/command.d.ts +4 -5
- 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/filebrowser.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-names.d.ts +0 -2
- package/dist/core/contribution-names.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/contributionregistry.d.ts +3 -0
- package/dist/core/contributionregistry.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 +43 -0
- package/dist/core/dropdown-item.d.ts.map +1 -0
- package/dist/core/dropdown-menu-utils.d.ts +5 -0
- package/dist/core/dropdown-menu-utils.d.ts.map +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/externals/lit.js +1 -1
- package/dist/externals/webawesome.js +1 -1
- package/dist/index.js +4 -4
- package/dist/layouts/standard-layout.d.ts +9 -1
- package/dist/layouts/standard-layout.d.ts.map +1 -1
- package/dist/parts/contextmenu.d.ts +5 -2
- package/dist/parts/contextmenu.d.ts.map +1 -1
- package/dist/parts/index.d.ts.map +1 -1
- package/dist/parts/index.js +1 -1
- package/dist/parts/part.d.ts +4 -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-CsoNFVTw.js → parts-CAt8aeU8.js} +1361 -975
- package/dist/parts-CAt8aeU8.js.map +1 -0
- package/dist/{webawesome-Y1_HnKa_.js → webawesome-BGXn04Mw.js} +18 -10
- package/dist/webawesome-BGXn04Mw.js.map +1 -0
- package/dist/{widget-DbLusgAH.js → widget-BqQtioK1.js} +11 -5
- package/dist/widget-BqQtioK1.js.map +1 -0
- package/dist/widgets/index.js +1 -1
- package/dist/{widgets-DnnSZhsi.js → widgets-C9V42Mqq.js} +2 -2
- package/dist/{widgets-DnnSZhsi.js.map → widgets-C9V42Mqq.js.map} +1 -1
- package/package.json +1 -1
- package/src/api/services.ts +20 -0
- package/src/commands/filebrowser-contributions.ts +0 -16
- package/src/components/attribution.ts +2 -0
- package/src/components/command.ts +45 -119
- package/src/components/extensions.ts +20 -3
- package/src/components/filebrowser.ts +15 -12
- 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-names.ts +0 -3
- package/src/core/contribution-targets.ts +1 -0
- package/src/core/contributionregistry.ts +19 -3
- package/src/core/dialogservice.ts +76 -19
- package/src/core/dropdown-item.ts +187 -0
- package/src/core/dropdown-menu-utils.ts +59 -0
- 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 +39 -44
- package/src/parts/index.ts +4 -1
- package/src/parts/part.ts +26 -0
- package/src/parts/resizable-grid.ts +125 -57
- package/src/parts/tabs.ts +103 -0
- package/dist/api-B3RXoez_.js.map +0 -1
- package/dist/parts-CsoNFVTw.js.map +0 -1
- package/dist/webawesome-Y1_HnKa_.js.map +0 -1
- package/dist/widget-DbLusgAH.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
|
|
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-CAt8aeU8.js";
|
|
2
2
|
import { a as unregisterLogHandler, o as rootContext, r as registerLogHandler, s as uiContext, t as createLogger } from "./logger-DT0_NW3S.js";
|
|
3
|
-
import {
|
|
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-BqQtioK1.js";
|
|
4
4
|
import { n as subscribe, t as publish } from "./events-B_ZxkU_G.js";
|
|
5
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-DTXPsV1W.js";
|
|
6
|
-
import "./widgets-
|
|
6
|
+
import "./widgets-C9V42Mqq.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";
|
|
@@ -299,7 +299,7 @@ var treeNodeComparator = (c1, c2) => {
|
|
|
299
299
|
//#endregion
|
|
300
300
|
//#region src/components/filebrowser.ts
|
|
301
301
|
var _DocksFileBrowser;
|
|
302
|
-
var logger$
|
|
302
|
+
var logger$1 = createLogger("DocksFileBrowser");
|
|
303
303
|
var t$6 = await i18n(/* @__PURE__ */ Object.assign({
|
|
304
304
|
"./filebrowser.de.json": () => import("./filebrowser.de-GEf6Eilh.js"),
|
|
305
305
|
"./filebrowser.en.json": () => import("./filebrowser.en-o0Ad5f7Z.js")
|
|
@@ -360,7 +360,6 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
360
360
|
renderToolbar() {
|
|
361
361
|
return html`
|
|
362
362
|
<docks-command icon="folder-open" title="${t$6.CONNECT_WORKSPACE}" dropdown="filebrowser.connections"></docks-command>
|
|
363
|
-
<docks-command cmd="refresh_resource" icon="repeat" title="${t$6.REFRESH_RESOURCE}"></docks-command>
|
|
364
363
|
<docks-command icon="docks file-plus" title="${t$6.CREATE_NEW}" dropdown="filebrowser.create"></docks-command>
|
|
365
364
|
`;
|
|
366
365
|
}
|
|
@@ -370,26 +369,37 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
370
369
|
const editorOptions = file ? editorRegistry.getEditorOptionsForInput(file) : [];
|
|
371
370
|
const hasOpenWith = editorOptions.length > 0;
|
|
372
371
|
return html`
|
|
373
|
-
|
|
372
|
+
${renderDropdownItem({
|
|
373
|
+
cmd: "open_editor",
|
|
374
|
+
icon: "folder-open",
|
|
375
|
+
label: t$6.OPEN
|
|
376
|
+
})}
|
|
374
377
|
${hasOpenWith ? html`
|
|
375
378
|
<wa-dropdown-item>
|
|
376
379
|
${icon("folder-open", { slot: "icon" })}
|
|
377
380
|
${t$6.OPEN_WITH}
|
|
378
|
-
${editorOptions.map((opt) =>
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
</docks-command>
|
|
389
|
-
`)}
|
|
381
|
+
${editorOptions.map((opt) => renderDropdownItem({
|
|
382
|
+
cmd: "open_editor",
|
|
383
|
+
icon: opt.icon ?? "file",
|
|
384
|
+
label: opt.title,
|
|
385
|
+
params: {
|
|
386
|
+
path: file.getWorkspacePath(),
|
|
387
|
+
editorId: opt.editorId
|
|
388
|
+
},
|
|
389
|
+
slot: "submenu"
|
|
390
|
+
}))}
|
|
390
391
|
</wa-dropdown-item>
|
|
391
392
|
` : nothing}
|
|
392
|
-
|
|
393
|
+
${renderDropdownSubmenu({
|
|
394
|
+
icon: "docks file-plus",
|
|
395
|
+
label: t$6.CREATE_NEW,
|
|
396
|
+
contributionTarget: "filebrowser.create"
|
|
397
|
+
})}
|
|
398
|
+
${renderDropdownItem({
|
|
399
|
+
cmd: "refresh_resource",
|
|
400
|
+
icon: "repeat",
|
|
401
|
+
label: t$6.REFRESH_RESOURCE
|
|
402
|
+
})}
|
|
393
403
|
`;
|
|
394
404
|
}
|
|
395
405
|
onWorkspaceChanged(workspaceDir) {
|
|
@@ -491,7 +501,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
491
501
|
}
|
|
492
502
|
if (info?.backendName) node.workspaceTag = info.backendName;
|
|
493
503
|
} catch (e) {
|
|
494
|
-
logger$
|
|
504
|
+
logger$1.debug("Failed to get workspace info for directory", e);
|
|
495
505
|
}
|
|
496
506
|
if (resource instanceof Directory && loadChildren) {
|
|
497
507
|
try {
|
|
@@ -519,7 +529,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
519
529
|
return node;
|
|
520
530
|
}
|
|
521
531
|
node.loadError = error instanceof Error ? error.message : String(error);
|
|
522
|
-
logger$
|
|
532
|
+
logger$1.error("Failed to load directory children:", error);
|
|
523
533
|
}
|
|
524
534
|
node.loaded = true;
|
|
525
535
|
}
|
|
@@ -618,7 +628,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
618
628
|
return;
|
|
619
629
|
}
|
|
620
630
|
node.loadError = error instanceof Error ? error.message : String(error);
|
|
621
|
-
logger$
|
|
631
|
+
logger$1.error("Failed to load directory children:", error);
|
|
622
632
|
this.requestUpdate();
|
|
623
633
|
} finally {
|
|
624
634
|
this.loadingNodes.delete(node);
|
|
@@ -760,7 +770,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
760
770
|
if (paths.length === 0) return;
|
|
761
771
|
const workspace = await workspaceService.getWorkspace();
|
|
762
772
|
if (!workspace) {
|
|
763
|
-
logger$
|
|
773
|
+
logger$1.warn("Workspace drop ignored because no workspace is connected");
|
|
764
774
|
return;
|
|
765
775
|
}
|
|
766
776
|
const moveWithinSameBackend = async (src) => {
|
|
@@ -777,7 +787,7 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
777
787
|
for (const path of paths) try {
|
|
778
788
|
const src = await workspace.getResource(path);
|
|
779
789
|
if (!src) {
|
|
780
|
-
logger$
|
|
790
|
+
logger$1.warn(`Workspace drop: source not found for path "${path}"`);
|
|
781
791
|
failed++;
|
|
782
792
|
continue;
|
|
783
793
|
}
|
|
@@ -788,11 +798,11 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
788
798
|
const root = src.getWorkspace();
|
|
789
799
|
if (root) srcRoots.add(root);
|
|
790
800
|
} catch (error) {
|
|
791
|
-
logger$
|
|
801
|
+
logger$1.error(`Failed to handle workspace drop for "${path}":`, error);
|
|
792
802
|
failed++;
|
|
793
803
|
}
|
|
794
804
|
if (sources.length === 0) {
|
|
795
|
-
if (failed > 0) logger$
|
|
805
|
+
if (failed > 0) logger$1.info(`Workspace drop failed for ${failed} item(s)`);
|
|
796
806
|
return;
|
|
797
807
|
}
|
|
798
808
|
let isCrossConnection = false;
|
|
@@ -814,17 +824,17 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
814
824
|
destBackend
|
|
815
825
|
}))) return;
|
|
816
826
|
} catch (err) {
|
|
817
|
-
logger$
|
|
827
|
+
logger$1.debug("Failed to resolve cross-connection info for DnD", err);
|
|
818
828
|
}
|
|
819
829
|
for (const { path, resource } of sources) try {
|
|
820
830
|
const move = await moveWithinSameBackend(resource);
|
|
821
831
|
await workspaceService.copyResource(resource, targetDir, { move });
|
|
822
832
|
processed++;
|
|
823
833
|
} catch (error) {
|
|
824
|
-
logger$
|
|
834
|
+
logger$1.error(`Failed to handle workspace drop for "${path}":`, error);
|
|
825
835
|
failed++;
|
|
826
836
|
}
|
|
827
|
-
logger$
|
|
837
|
+
logger$1.info(`Workspace drop completed: ${processed}/${sources.length} items ${failed > 0 ? `, ${failed} failed` : ""}`);
|
|
828
838
|
await this.loadWorkspace(this.workspaceDir, true);
|
|
829
839
|
}
|
|
830
840
|
async handleFilesDrop(files, targetDir) {
|
|
@@ -843,10 +853,10 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
843
853
|
await (await this.workspaceDir.getResource(targetPath, { create: true })).saveContents(file);
|
|
844
854
|
processed++;
|
|
845
855
|
} catch (error) {
|
|
846
|
-
logger$
|
|
856
|
+
logger$1.error(`Failed to upload ${file.name}:`, error);
|
|
847
857
|
failed++;
|
|
848
858
|
}
|
|
849
|
-
logger$
|
|
859
|
+
logger$1.info(`Uploaded ${processed}/${total} files${skipped > 0 ? `, ${skipped} skipped` : ""}${failed > 0 ? `, ${failed} failed` : ""}`);
|
|
850
860
|
await this.loadWorkspace(this.workspaceDir);
|
|
851
861
|
}
|
|
852
862
|
buildTargetPath(targetDir, fileName) {
|
|
@@ -948,35 +958,6 @@ var DocksFileBrowser = class DocksFileBrowser extends DocksPart {
|
|
|
948
958
|
_decorate([state()], DocksFileBrowser.prototype, "root", void 0);
|
|
949
959
|
DocksFileBrowser = _DocksFileBrowser = _decorate([customElement("docks-filebrowser")], DocksFileBrowser);
|
|
950
960
|
//#endregion
|
|
951
|
-
//#region src/core/contribution-names.ts
|
|
952
|
-
var VIEW_FILEBROWSER = "view.filebrowser";
|
|
953
|
-
var VIEW_LOG_TERMINAL = "view.logTerminal";
|
|
954
|
-
var TOOLBAR_INFO = "toolbar.info";
|
|
955
|
-
var TOOLBAR_FAST_VIEWS = "toolbar.fastViews";
|
|
956
|
-
var TOOLBAR_LANGUAGE_SELECTOR = "toolbar.languageSelector";
|
|
957
|
-
/** Main toolbar (right): layout picker (`docks-layout-switcher`). */
|
|
958
|
-
var TOOLBAR_LAYOUT_SWITCHER = "toolbar.layoutSwitcher";
|
|
959
|
-
/** Main toolbar (right): dark/light theme toggle (`switch_theme`). */
|
|
960
|
-
var TOOLBAR_THEME_SWITCHER = "toolbar.themeSwitcher";
|
|
961
|
-
/** Main toolbar (right): document fullscreen toggle (`fullscreen`). */
|
|
962
|
-
var TOOLBAR_FULLSCREEN = "toolbar.fullscreen";
|
|
963
|
-
/** Bottom-center toolbar: focused part title / active part indicator (`docks-part-name`). */
|
|
964
|
-
var TOOLBAR_ACTIVE_PART_NAME = "toolbar.activePartName";
|
|
965
|
-
/** Bottom-center toolbar: background tasks / progress (`docks-tasks`). */
|
|
966
|
-
var TOOLBAR_TASKS = "toolbar.tasks";
|
|
967
|
-
/** Main sidebar header toolbar: open extensions (`open_extensions` command). */
|
|
968
|
-
var SIDEBAR_TOOLBAR_EXTENSIONS = "sidebar.toolbar.extensions";
|
|
969
|
-
/** Default file-type → icon mappings on `system.icons`. */
|
|
970
|
-
var SYSTEM_DEFAULT_FILE_ICONS = "system.icons.default";
|
|
971
|
-
var ABOUT_TAB_RELEASE = "about.tab.release";
|
|
972
|
-
var ABOUT_TAB_PACKAGES = "about.tab.packages";
|
|
973
|
-
var ABOUT_TAB_ATTRIBUTIONS = "about.tab.attributions";
|
|
974
|
-
var ATTRIBUTION_ECLIPSE_DOCKS = "attribution.eclipse-docks";
|
|
975
|
-
var TOOLBAR_FILEBROWSER_RENAME = "toolbar.filebrowser.rename";
|
|
976
|
-
var TOOLBAR_FILEBROWSER_DELETE = "toolbar.filebrowser.delete";
|
|
977
|
-
var CTXMENU_FILEBROWSER_RENAME = "contextmenu.filebrowser.rename";
|
|
978
|
-
var CTXMENU_FILEBROWSER_DELETE = "contextmenu.filebrowser.delete";
|
|
979
|
-
//#endregion
|
|
980
961
|
//#region src/components/tasks.ts
|
|
981
962
|
var t$5 = await i18n(/* @__PURE__ */ Object.assign({
|
|
982
963
|
"./tasks.de.json": () => import("./tasks.de-y2xPmQ1k.js"),
|
|
@@ -1011,10 +992,6 @@ function updateProgressDialog(forceOpen = false) {
|
|
|
1011
992
|
}
|
|
1012
993
|
const existingDialog = getDialogElement();
|
|
1013
994
|
if (!(forceOpen || existingDialog?.open === true)) return;
|
|
1014
|
-
const handleClose = () => {
|
|
1015
|
-
const dialog = getDialogElement();
|
|
1016
|
-
if (dialog) dialog.open = false;
|
|
1017
|
-
};
|
|
1018
995
|
const handleAfterHide = () => {
|
|
1019
996
|
render(html``, container);
|
|
1020
997
|
};
|
|
@@ -1024,7 +1001,6 @@ function updateProgressDialog(forceOpen = false) {
|
|
|
1024
1001
|
open
|
|
1025
1002
|
light-dismiss
|
|
1026
1003
|
style="--width: 600px;"
|
|
1027
|
-
@wa-request-close=${handleClose}
|
|
1028
1004
|
@wa-after-hide=${handleAfterHide}
|
|
1029
1005
|
>
|
|
1030
1006
|
<style>
|
|
@@ -1281,7 +1257,7 @@ var DocksPartName = class DocksPartName extends DocksElement {
|
|
|
1281
1257
|
DocksPartName = _decorate([customElement("docks-part-name")], DocksPartName);
|
|
1282
1258
|
//#endregion
|
|
1283
1259
|
//#region src/components/extensions.ts
|
|
1284
|
-
var logger
|
|
1260
|
+
var logger = createLogger("DocksExtensions");
|
|
1285
1261
|
var t$2 = await i18n(/* @__PURE__ */ Object.assign({
|
|
1286
1262
|
"./extensions.de.json": () => import("./extensions.de-Ct1DIybE.js"),
|
|
1287
1263
|
"./extensions.en.json": () => import("./extensions.en-DRPFtVHT.js")
|
|
@@ -1292,6 +1268,9 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1292
1268
|
this.filterText = "";
|
|
1293
1269
|
this.showRegisterDialog = false;
|
|
1294
1270
|
this.registerExtensionData = {};
|
|
1271
|
+
this.handleRegisterDialogAfterHide = () => {
|
|
1272
|
+
this.finishRegisterDialogClose();
|
|
1273
|
+
};
|
|
1295
1274
|
}
|
|
1296
1275
|
doInitUI() {
|
|
1297
1276
|
subscribe(TOPIC_EXTENSIONS_CHANGED, () => {
|
|
@@ -1392,7 +1371,7 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1392
1371
|
this.showRegisterDialog = true;
|
|
1393
1372
|
this.requestUpdate();
|
|
1394
1373
|
} catch (error) {
|
|
1395
|
-
logger
|
|
1374
|
+
logger.warn(`Could not fetch package.json, using defaults: ${error}`);
|
|
1396
1375
|
this.registerExtensionData = {
|
|
1397
1376
|
url,
|
|
1398
1377
|
id: "",
|
|
@@ -1431,7 +1410,7 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1431
1410
|
extensionRegistry.registerExtension(extension);
|
|
1432
1411
|
await extensionRegistry.loadExtensionFromUrl(this.registerExtensionData.url, extension.id);
|
|
1433
1412
|
toastInfo(`Extension ${extension.name} registered successfully`);
|
|
1434
|
-
this.
|
|
1413
|
+
this.closeRegisterDialog();
|
|
1435
1414
|
this.registerExtensionData = {};
|
|
1436
1415
|
this.requestUpdate();
|
|
1437
1416
|
});
|
|
@@ -1439,11 +1418,22 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1439
1418
|
toastError(`Failed to register extension: ${error}`);
|
|
1440
1419
|
}
|
|
1441
1420
|
}
|
|
1442
|
-
|
|
1421
|
+
closeRegisterDialog() {
|
|
1422
|
+
const dialog = this.renderRoot.querySelector("wa-dialog");
|
|
1423
|
+
if (dialog && dialog.open !== false) {
|
|
1424
|
+
dialog.open = false;
|
|
1425
|
+
return;
|
|
1426
|
+
}
|
|
1427
|
+
this.finishRegisterDialogClose();
|
|
1428
|
+
}
|
|
1429
|
+
finishRegisterDialogClose() {
|
|
1443
1430
|
this.showRegisterDialog = false;
|
|
1444
1431
|
this.registerExtensionData = {};
|
|
1445
1432
|
this.requestUpdate();
|
|
1446
1433
|
}
|
|
1434
|
+
cancelRegisterExtension() {
|
|
1435
|
+
this.closeRegisterDialog();
|
|
1436
|
+
}
|
|
1447
1437
|
renderToolbar() {
|
|
1448
1438
|
return html`
|
|
1449
1439
|
<wa-input
|
|
@@ -1474,7 +1464,7 @@ var DocksExtensions = class DocksExtensions extends DocksPart {
|
|
|
1474
1464
|
<wa-dialog
|
|
1475
1465
|
label="Register Extension"
|
|
1476
1466
|
open
|
|
1477
|
-
@wa-
|
|
1467
|
+
@wa-after-hide=${this.handleRegisterDialogAfterHide}
|
|
1478
1468
|
style="--wa-dialog-width: 500px;">
|
|
1479
1469
|
<div style="display: flex; flex-direction: column; gap: 1rem; padding: 1rem;">
|
|
1480
1470
|
<wa-input
|
|
@@ -2130,6 +2120,159 @@ _decorate([state()], DocksLogTerminal.prototype, "autoScroll", void 0);
|
|
|
2130
2120
|
_decorate([state()], DocksLogTerminal.prototype, "filter", void 0);
|
|
2131
2121
|
DocksLogTerminal = _decorate([customElement("docks-log-terminal")], DocksLogTerminal);
|
|
2132
2122
|
//#endregion
|
|
2123
|
+
//#region src/components/command.ts
|
|
2124
|
+
var DocksCommand = class DocksCommand extends DocksWidget {
|
|
2125
|
+
constructor(..._args) {
|
|
2126
|
+
super(..._args);
|
|
2127
|
+
this.cmd = "";
|
|
2128
|
+
this.title = "";
|
|
2129
|
+
this.label = false;
|
|
2130
|
+
this.disabled = false;
|
|
2131
|
+
this.appearance = "plain";
|
|
2132
|
+
this.variant = "neutral";
|
|
2133
|
+
this.size = "s";
|
|
2134
|
+
this.params = {};
|
|
2135
|
+
this.withCaret = true;
|
|
2136
|
+
this.placement = "bottom-start";
|
|
2137
|
+
this.dropdownContributions = [];
|
|
2138
|
+
}
|
|
2139
|
+
handleSelect(event) {
|
|
2140
|
+
handleDropdownWaSelect(event);
|
|
2141
|
+
}
|
|
2142
|
+
getKeybinding() {
|
|
2143
|
+
if (!this.cmd || this.action) return null;
|
|
2144
|
+
const keybindings = keyBindingManager.getKeyBindingsForCommand(this.cmd);
|
|
2145
|
+
return keybindings.length > 0 ? keybindings[0] : null;
|
|
2146
|
+
}
|
|
2147
|
+
hasLightDomContent() {
|
|
2148
|
+
return Array.from(this.childNodes).some((node) => {
|
|
2149
|
+
if (node.nodeType === Node.TEXT_NODE) return (node.textContent?.trim().length ?? 0) > 0;
|
|
2150
|
+
return node.nodeType === Node.ELEMENT_NODE;
|
|
2151
|
+
});
|
|
2152
|
+
}
|
|
2153
|
+
isIconOnlyDropdownTrigger() {
|
|
2154
|
+
return !this.label && !this.hasLightDomContent();
|
|
2155
|
+
}
|
|
2156
|
+
renderDropdownTriggerIcon(iconSlot) {
|
|
2157
|
+
if (!this.icon) return nothing;
|
|
2158
|
+
return icon(this.icon, {
|
|
2159
|
+
label: this.title,
|
|
2160
|
+
slot: iconSlot
|
|
2161
|
+
});
|
|
2162
|
+
}
|
|
2163
|
+
doBeforeUI() {
|
|
2164
|
+
if (this.dropdown) {
|
|
2165
|
+
this.dropdownContributions = contributionRegistry.getContributions(this.dropdown);
|
|
2166
|
+
subscribe(TOPIC_CONTRIBUTEIONS_CHANGED, (event) => {
|
|
2167
|
+
if (this.dropdown && event.target === this.dropdown) this.dropdownContributions = event.contributions;
|
|
2168
|
+
});
|
|
2169
|
+
}
|
|
2170
|
+
}
|
|
2171
|
+
willUpdate(changedProperties) {
|
|
2172
|
+
super.willUpdate?.(changedProperties);
|
|
2173
|
+
if (this.dropdown && changedProperties.has("dropdown")) this.dropdownContributions = contributionRegistry.getContributions(this.dropdown);
|
|
2174
|
+
}
|
|
2175
|
+
handleToolbarClick(event) {
|
|
2176
|
+
if (this.disabled) return;
|
|
2177
|
+
if (event) event.stopPropagation();
|
|
2178
|
+
if (this.action) {
|
|
2179
|
+
this.action(event);
|
|
2180
|
+
return;
|
|
2181
|
+
}
|
|
2182
|
+
if (this.cmd) this.executeCommand(this.cmd, this.params);
|
|
2183
|
+
}
|
|
2184
|
+
render() {
|
|
2185
|
+
const keybinding = this.getKeybinding();
|
|
2186
|
+
if (this.dropdown) {
|
|
2187
|
+
const iconOnlyTrigger = this.isIconOnlyDropdownTrigger();
|
|
2188
|
+
const iconSlot = iconOnlyTrigger ? void 0 : "start";
|
|
2189
|
+
return html`
|
|
2190
|
+
<wa-dropdown
|
|
2191
|
+
placement=${this.placement}
|
|
2192
|
+
@wa-select=${(e) => this.handleSelect(e)}>
|
|
2193
|
+
<wa-button
|
|
2194
|
+
slot="trigger"
|
|
2195
|
+
appearance=${this.appearance}
|
|
2196
|
+
variant=${this.variant}
|
|
2197
|
+
size=${this.size}
|
|
2198
|
+
?disabled=${this.disabled}
|
|
2199
|
+
?with-caret=${this.withCaret}
|
|
2200
|
+
title=${keybinding ? `${this.title} (${keybinding})` : this.title}>
|
|
2201
|
+
${this.renderDropdownTriggerIcon(iconSlot)}
|
|
2202
|
+
${iconOnlyTrigger ? nothing : html`<slot></slot>`}
|
|
2203
|
+
${this.label ? this.title : nothing}
|
|
2204
|
+
</wa-button>
|
|
2205
|
+
|
|
2206
|
+
${this.title ? html`
|
|
2207
|
+
<h6 style="padding: var(--wa-space-xs) var(--wa-space-s); margin: 0; color: var(--wa-color-neutral-50); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;">
|
|
2208
|
+
${this.title}
|
|
2209
|
+
</h6>
|
|
2210
|
+
` : nothing}
|
|
2211
|
+
|
|
2212
|
+
${this.dropdownContributions.map((c) => renderDropdownContribution(c))}
|
|
2213
|
+
|
|
2214
|
+
${this.cmd ? html`
|
|
2215
|
+
<wa-divider></wa-divider>
|
|
2216
|
+
${renderDropdownItem({
|
|
2217
|
+
cmd: this.cmd,
|
|
2218
|
+
icon: this.icon,
|
|
2219
|
+
label: this.title,
|
|
2220
|
+
params: this.params,
|
|
2221
|
+
disabled: this.disabled
|
|
2222
|
+
})}
|
|
2223
|
+
` : nothing}
|
|
2224
|
+
</wa-dropdown>
|
|
2225
|
+
`;
|
|
2226
|
+
}
|
|
2227
|
+
return html`
|
|
2228
|
+
<wa-button
|
|
2229
|
+
appearance=${this.appearance}
|
|
2230
|
+
variant=${this.variant}
|
|
2231
|
+
size=${this.size}
|
|
2232
|
+
?disabled=${this.disabled}
|
|
2233
|
+
title=${keybinding ? `${this.title} (${keybinding})` : this.title}
|
|
2234
|
+
@click=${(e) => this.handleToolbarClick(e)}>
|
|
2235
|
+
${icon(this.icon, {
|
|
2236
|
+
label: this.title,
|
|
2237
|
+
slot: "start"
|
|
2238
|
+
})}
|
|
2239
|
+
<slot></slot>
|
|
2240
|
+
</wa-button>
|
|
2241
|
+
`;
|
|
2242
|
+
}
|
|
2243
|
+
static {
|
|
2244
|
+
this.styles = css`
|
|
2245
|
+
:host {
|
|
2246
|
+
display: inline-block;
|
|
2247
|
+
}
|
|
2248
|
+
`;
|
|
2249
|
+
}
|
|
2250
|
+
};
|
|
2251
|
+
_decorate([property()], DocksCommand.prototype, "cmd", void 0);
|
|
2252
|
+
_decorate([property({
|
|
2253
|
+
type: Object,
|
|
2254
|
+
attribute: false
|
|
2255
|
+
})], DocksCommand.prototype, "action", void 0);
|
|
2256
|
+
_decorate([property()], DocksCommand.prototype, "title", void 0);
|
|
2257
|
+
_decorate([property()], DocksCommand.prototype, "label", void 0);
|
|
2258
|
+
_decorate([property()], DocksCommand.prototype, "icon", void 0);
|
|
2259
|
+
_decorate([property({ type: Boolean })], DocksCommand.prototype, "disabled", void 0);
|
|
2260
|
+
_decorate([property()], DocksCommand.prototype, "appearance", void 0);
|
|
2261
|
+
_decorate([property()], DocksCommand.prototype, "variant", void 0);
|
|
2262
|
+
_decorate([property()], DocksCommand.prototype, "size", void 0);
|
|
2263
|
+
_decorate([property({
|
|
2264
|
+
type: Object,
|
|
2265
|
+
attribute: false
|
|
2266
|
+
})], DocksCommand.prototype, "params", void 0);
|
|
2267
|
+
_decorate([property()], DocksCommand.prototype, "dropdown", void 0);
|
|
2268
|
+
_decorate([property({
|
|
2269
|
+
type: Boolean,
|
|
2270
|
+
attribute: "with-caret"
|
|
2271
|
+
})], DocksCommand.prototype, "withCaret", void 0);
|
|
2272
|
+
_decorate([property()], DocksCommand.prototype, "placement", void 0);
|
|
2273
|
+
_decorate([state()], DocksCommand.prototype, "dropdownContributions", void 0);
|
|
2274
|
+
DocksCommand = _decorate([customElement("docks-command")], DocksCommand);
|
|
2275
|
+
//#endregion
|
|
2133
2276
|
//#region src/components/fastviews.ts
|
|
2134
2277
|
var t = await i18n(/* @__PURE__ */ Object.assign({
|
|
2135
2278
|
"./fastviews.de.json": () => import("./fastviews.de-BFxFslBz.js"),
|
|
@@ -2414,7 +2557,6 @@ var showLanguageSelectorDialog = async () => {
|
|
|
2414
2557
|
label="Select Language"
|
|
2415
2558
|
open
|
|
2416
2559
|
light-dismiss
|
|
2417
|
-
@wa-request-close=${handleClose}
|
|
2418
2560
|
@wa-after-hide=${handleAfterHide}>
|
|
2419
2561
|
<style>
|
|
2420
2562
|
.language-list {
|
|
@@ -2497,38 +2639,144 @@ var DocksLanguageSelector = class DocksLanguageSelector extends DocksElement {
|
|
|
2497
2639
|
};
|
|
2498
2640
|
DocksLanguageSelector = _decorate([customElement("docks-language-selector")], DocksLanguageSelector);
|
|
2499
2641
|
//#endregion
|
|
2642
|
+
//#region src/core/layout-panels.ts
|
|
2643
|
+
var DEFAULT_LAYOUT_PANEL_VISIBILITY = {
|
|
2644
|
+
showLeftSidebar: true,
|
|
2645
|
+
showAuxSidebar: true,
|
|
2646
|
+
showBottomPanel: true,
|
|
2647
|
+
showLeftAux: false,
|
|
2648
|
+
showRightAux: false
|
|
2649
|
+
};
|
|
2650
|
+
function normalizePanelVisibility(stored) {
|
|
2651
|
+
return {
|
|
2652
|
+
showLeftSidebar: stored.showLeftSidebar ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showLeftSidebar,
|
|
2653
|
+
showAuxSidebar: stored.showAuxSidebar ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showAuxSidebar,
|
|
2654
|
+
showBottomPanel: stored.showBottomPanel ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showBottomPanel,
|
|
2655
|
+
showLeftAux: stored.showLeftAux ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showLeftAux,
|
|
2656
|
+
showRightAux: stored.showRightAux ?? DEFAULT_LAYOUT_PANEL_VISIBILITY.showRightAux
|
|
2657
|
+
};
|
|
2658
|
+
}
|
|
2659
|
+
var LAYOUT_PANEL_SETTINGS_KEY = "layoutPanelVisibility";
|
|
2660
|
+
/** @deprecated Legacy layout id persisted before panel visibility toggles. */
|
|
2661
|
+
var LEGACY_PREFERRED_LAYOUT_KEY = "preferredLayoutId";
|
|
2662
|
+
/** Maps legacy parameterized layout ids to panel visibility. */
|
|
2663
|
+
function layoutIdToPanelVisibility(layoutId) {
|
|
2664
|
+
switch (layoutId) {
|
|
2665
|
+
case "standard-bottom-panel": return {
|
|
2666
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2667
|
+
showBottomPanel: true,
|
|
2668
|
+
showLeftAux: false,
|
|
2669
|
+
showRightAux: false
|
|
2670
|
+
};
|
|
2671
|
+
case "standard-bottom-sidebar": return {
|
|
2672
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2673
|
+
showBottomPanel: false,
|
|
2674
|
+
showLeftAux: true,
|
|
2675
|
+
showRightAux: false
|
|
2676
|
+
};
|
|
2677
|
+
case "standard-full": return {
|
|
2678
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2679
|
+
showLeftAux: true,
|
|
2680
|
+
showRightAux: true
|
|
2681
|
+
};
|
|
2682
|
+
default: return {
|
|
2683
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2684
|
+
showBottomPanel: false,
|
|
2685
|
+
showLeftAux: false,
|
|
2686
|
+
showRightAux: false
|
|
2687
|
+
};
|
|
2688
|
+
}
|
|
2689
|
+
}
|
|
2690
|
+
function resolveInitialPanelVisibilityFromApp(appLayout) {
|
|
2691
|
+
if (typeof appLayout === "object" && appLayout.props) return {
|
|
2692
|
+
...DEFAULT_LAYOUT_PANEL_VISIBILITY,
|
|
2693
|
+
showLeftSidebar: appLayout.props.showLeftSidebar !== false,
|
|
2694
|
+
showAuxSidebar: appLayout.props.showAuxSidebar !== false,
|
|
2695
|
+
showBottomPanel: appLayout.props.showBottomPanel === true,
|
|
2696
|
+
showLeftAux: appLayout.props.showLeftAux === true,
|
|
2697
|
+
showRightAux: appLayout.props.showRightAux === true
|
|
2698
|
+
};
|
|
2699
|
+
if (typeof appLayout === "string") return layoutIdToPanelVisibility(appLayout);
|
|
2700
|
+
return { ...DEFAULT_LAYOUT_PANEL_VISIBILITY };
|
|
2701
|
+
}
|
|
2702
|
+
async function resolveStoredPanelVisibility(appLayout) {
|
|
2703
|
+
try {
|
|
2704
|
+
const saved = await appSettings.get(LAYOUT_PANEL_SETTINGS_KEY);
|
|
2705
|
+
if (saved && typeof saved === "object") return normalizePanelVisibility(saved);
|
|
2706
|
+
} catch {}
|
|
2707
|
+
try {
|
|
2708
|
+
const legacyLayoutId = await appSettings.get(LEGACY_PREFERRED_LAYOUT_KEY);
|
|
2709
|
+
if (legacyLayoutId) return layoutIdToPanelVisibility(legacyLayoutId);
|
|
2710
|
+
} catch {}
|
|
2711
|
+
return resolveInitialPanelVisibilityFromApp(appLayout);
|
|
2712
|
+
}
|
|
2713
|
+
function findStandardLayout(container) {
|
|
2714
|
+
const root = container ?? document.getElementById("app-root") ?? document.body;
|
|
2715
|
+
if (!root || typeof root.querySelector !== "function") return null;
|
|
2716
|
+
return root.querySelector("docks-standard-layout");
|
|
2717
|
+
}
|
|
2718
|
+
var LAYOUT_PANEL_OPTIONS = [
|
|
2719
|
+
{
|
|
2720
|
+
key: "showLeftSidebar",
|
|
2721
|
+
label: "Left sidebar",
|
|
2722
|
+
icon: "docks layout-standard-left-sidebar"
|
|
2723
|
+
},
|
|
2724
|
+
{
|
|
2725
|
+
key: "showAuxSidebar",
|
|
2726
|
+
label: "Right sidebar",
|
|
2727
|
+
icon: "docks layout-standard-right-sidebar"
|
|
2728
|
+
},
|
|
2729
|
+
{
|
|
2730
|
+
key: "showBottomPanel",
|
|
2731
|
+
label: "Bottom panel",
|
|
2732
|
+
icon: "docks layout-standard-bottom-panel"
|
|
2733
|
+
},
|
|
2734
|
+
{
|
|
2735
|
+
key: "showLeftAux",
|
|
2736
|
+
label: "Left Aux",
|
|
2737
|
+
icon: "docks layout-standard-left-aux"
|
|
2738
|
+
},
|
|
2739
|
+
{
|
|
2740
|
+
key: "showRightAux",
|
|
2741
|
+
label: "Right Aux",
|
|
2742
|
+
icon: "docks layout-standard-right-aux"
|
|
2743
|
+
}
|
|
2744
|
+
];
|
|
2745
|
+
//#endregion
|
|
2500
2746
|
//#region src/components/layout-switcher.ts
|
|
2501
2747
|
var DocksLayoutSwitcher = class DocksLayoutSwitcher extends DocksElement {
|
|
2502
2748
|
constructor(..._args) {
|
|
2503
2749
|
super(..._args);
|
|
2504
|
-
this.
|
|
2750
|
+
this.panels = { ...DEFAULT_LAYOUT_PANEL_VISIBILITY };
|
|
2505
2751
|
}
|
|
2506
2752
|
doBeforeUI() {
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
this.currentLayoutId = appLoaderService.getCurrentLayoutId();
|
|
2753
|
+
const syncPanels = () => {
|
|
2754
|
+
this.panels = findStandardLayout()?.getPanelVisibility() ?? { ...DEFAULT_LAYOUT_PANEL_VISIBILITY };
|
|
2510
2755
|
this.requestUpdate();
|
|
2511
2756
|
};
|
|
2512
|
-
|
|
2513
|
-
window.addEventListener("
|
|
2757
|
+
syncPanels();
|
|
2758
|
+
window.addEventListener("app-loaded", syncPanels);
|
|
2759
|
+
window.addEventListener("layout-panels-changed", syncPanels);
|
|
2514
2760
|
return () => {
|
|
2515
|
-
window.removeEventListener("app-loaded",
|
|
2516
|
-
window.removeEventListener("layout-changed",
|
|
2761
|
+
window.removeEventListener("app-loaded", syncPanels);
|
|
2762
|
+
window.removeEventListener("layout-panels-changed", syncPanels);
|
|
2517
2763
|
};
|
|
2518
2764
|
}
|
|
2519
2765
|
async handleSelect(e) {
|
|
2520
|
-
const
|
|
2521
|
-
if (!
|
|
2766
|
+
const layout = findStandardLayout();
|
|
2767
|
+
if (!layout) return;
|
|
2768
|
+
const item = e.detail?.item;
|
|
2769
|
+
const key = item?.value;
|
|
2770
|
+
if (!item || !key) return;
|
|
2522
2771
|
try {
|
|
2523
|
-
await
|
|
2772
|
+
await layout.setPanelVisibility({ [key]: item.checked ?? false });
|
|
2773
|
+
this.panels = layout.getPanelVisibility();
|
|
2524
2774
|
} catch (err) {
|
|
2525
|
-
console.error("Failed to
|
|
2775
|
+
console.error("Failed to update layout panels:", err);
|
|
2526
2776
|
}
|
|
2527
2777
|
}
|
|
2528
2778
|
render() {
|
|
2529
|
-
|
|
2530
|
-
if (layouts.length <= 1) return html``;
|
|
2531
|
-
const layoutName = layouts.find((l) => l.id === this.currentLayoutId)?.name ?? this.currentLayoutId;
|
|
2779
|
+
if (!findStandardLayout()) return html``;
|
|
2532
2780
|
return html`
|
|
2533
2781
|
<wa-dropdown
|
|
2534
2782
|
placement="bottom-end"
|
|
@@ -2540,19 +2788,19 @@ var DocksLayoutSwitcher = class DocksLayoutSwitcher extends DocksElement {
|
|
|
2540
2788
|
appearance="plain"
|
|
2541
2789
|
size="s"
|
|
2542
2790
|
with-caret
|
|
2543
|
-
title="
|
|
2544
|
-
|
|
2791
|
+
title="Show or hide layout panels">
|
|
2792
|
+
${icon("docks layout-standard-full", { label: "Layout panels" })}
|
|
2545
2793
|
</wa-button>
|
|
2546
|
-
${
|
|
2794
|
+
${LAYOUT_PANEL_OPTIONS.map((panel) => html`
|
|
2547
2795
|
<wa-dropdown-item
|
|
2548
|
-
value="${
|
|
2796
|
+
value="${panel.key}"
|
|
2549
2797
|
type="checkbox"
|
|
2550
|
-
?checked=${
|
|
2551
|
-
${icon(
|
|
2552
|
-
label:
|
|
2798
|
+
?checked=${this.panels[panel.key]}>
|
|
2799
|
+
${icon(panel.icon, {
|
|
2800
|
+
label: panel.label,
|
|
2553
2801
|
slot: "icon"
|
|
2554
2802
|
})}
|
|
2555
|
-
${
|
|
2803
|
+
${panel.label}
|
|
2556
2804
|
</wa-dropdown-item>
|
|
2557
2805
|
`)}
|
|
2558
2806
|
</wa-dropdown>
|
|
@@ -2566,143 +2814,15 @@ var DocksLayoutSwitcher = class DocksLayoutSwitcher extends DocksElement {
|
|
|
2566
2814
|
`;
|
|
2567
2815
|
}
|
|
2568
2816
|
};
|
|
2569
|
-
_decorate([state()], DocksLayoutSwitcher.prototype, "
|
|
2817
|
+
_decorate([state()], DocksLayoutSwitcher.prototype, "panels", void 0);
|
|
2570
2818
|
DocksLayoutSwitcher = _decorate([customElement("docks-layout-switcher")], DocksLayoutSwitcher);
|
|
2571
2819
|
//#endregion
|
|
2572
|
-
//#region src/components/
|
|
2573
|
-
var
|
|
2574
|
-
async function loadReleases(releaseHistory) {
|
|
2575
|
-
if (!releaseHistory) return [];
|
|
2576
|
-
if (typeof releaseHistory !== "function") return releaseHistory;
|
|
2577
|
-
try {
|
|
2578
|
-
return await releaseHistory();
|
|
2579
|
-
} catch (error) {
|
|
2580
|
-
logger.error(`Failed to load release history from app: ${error instanceof Error ? error.message : String(error)}`);
|
|
2581
|
-
return [];
|
|
2582
|
-
}
|
|
2583
|
-
}
|
|
2584
|
-
function semverEqual(a, b) {
|
|
2585
|
-
return a.replace(/^v/i, "") === b.replace(/^v/i, "");
|
|
2586
|
-
}
|
|
2587
|
-
function isNewerThan(releaseTag, currentVersion) {
|
|
2588
|
-
const currentParts = currentVersion.replace(/^v/i, "").split(".").map(Number);
|
|
2589
|
-
const releaseParts = releaseTag.replace(/^v/i, "").split(".").map(Number);
|
|
2590
|
-
for (let i = 0; i < Math.max(currentParts.length, releaseParts.length); i++) {
|
|
2591
|
-
const current = currentParts[i] || 0;
|
|
2592
|
-
const releasePart = releaseParts[i] || 0;
|
|
2593
|
-
if (releasePart > current) return true;
|
|
2594
|
-
if (releasePart < current) return false;
|
|
2595
|
-
}
|
|
2596
|
-
return false;
|
|
2597
|
-
}
|
|
2598
|
-
var DocksReleaseHistory = class DocksReleaseHistory extends DocksPart {
|
|
2820
|
+
//#region src/components/npm-packages.ts
|
|
2821
|
+
var DocksNpmPackages = class DocksNpmPackages extends DocksPart {
|
|
2599
2822
|
constructor(..._args) {
|
|
2600
2823
|
super(..._args);
|
|
2601
2824
|
this.scrollMode = "none";
|
|
2602
|
-
this.appVersion = "0.0.0";
|
|
2603
|
-
this.releases = [];
|
|
2604
|
-
this.currentReleaseIndex = 0;
|
|
2605
|
-
}
|
|
2606
|
-
static {
|
|
2607
|
-
this.styles = [css`
|
|
2608
|
-
.release-panel {
|
|
2609
|
-
display: flex;
|
|
2610
|
-
flex-direction: column;
|
|
2611
|
-
gap: 0.5rem;
|
|
2612
|
-
height: 100%;
|
|
2613
|
-
padding: 0.75rem;
|
|
2614
|
-
box-sizing: border-box;
|
|
2615
|
-
}
|
|
2616
|
-
|
|
2617
|
-
.release-panel wa-scroller {
|
|
2618
|
-
flex: 1;
|
|
2619
|
-
min-height: 0;
|
|
2620
|
-
}
|
|
2621
|
-
|
|
2622
|
-
.release-nav {
|
|
2623
|
-
display: flex;
|
|
2624
|
-
gap: 0.5rem;
|
|
2625
|
-
}
|
|
2626
|
-
`];
|
|
2627
|
-
}
|
|
2628
|
-
doInitUI() {
|
|
2629
|
-
this.load();
|
|
2630
|
-
}
|
|
2631
|
-
async load() {
|
|
2632
|
-
const app = appLoaderService.getCurrentApp();
|
|
2633
|
-
this.appVersion = app?.version ?? "0.0.0";
|
|
2634
|
-
this.releases = await loadReleases(app?.releaseHistory);
|
|
2635
|
-
const currentIndex = this.releases.findIndex((release) => semverEqual(release.tag_name, this.appVersion));
|
|
2636
|
-
this.currentReleaseIndex = currentIndex >= 0 ? currentIndex : 0;
|
|
2637
|
-
}
|
|
2638
|
-
showOlder() {
|
|
2639
|
-
if (this.currentReleaseIndex < this.releases.length - 1) this.currentReleaseIndex += 1;
|
|
2640
|
-
}
|
|
2641
|
-
showNewer() {
|
|
2642
|
-
if (this.currentReleaseIndex > 0) this.currentReleaseIndex -= 1;
|
|
2643
|
-
}
|
|
2644
|
-
renderContent() {
|
|
2645
|
-
const release = this.releases[this.currentReleaseIndex];
|
|
2646
|
-
if (!release) return html`<div class="release-panel">No release history available.</div>`;
|
|
2647
|
-
const isCurrent = semverEqual(release.tag_name, this.appVersion);
|
|
2648
|
-
const showUpdateHint = !isCurrent && isNewerThan(release.tag_name, this.appVersion);
|
|
2649
|
-
const atOldest = this.currentReleaseIndex === this.releases.length - 1;
|
|
2650
|
-
const atNewest = this.currentReleaseIndex === 0;
|
|
2651
|
-
const bodyHtml = release.body ? parseMarkdownHtml(release.body) : "";
|
|
2652
|
-
return html`
|
|
2653
|
-
<div class="release-panel">
|
|
2654
|
-
<p>
|
|
2655
|
-
<strong>Version:</strong> ${release.tag_name}${isCurrent ? " (Current)" : ""}
|
|
2656
|
-
</p>
|
|
2657
|
-
<p>
|
|
2658
|
-
<strong>Released:</strong>
|
|
2659
|
-
<wa-format-date
|
|
2660
|
-
.date=${release.published_at}
|
|
2661
|
-
month="short"
|
|
2662
|
-
day="numeric"
|
|
2663
|
-
year="numeric"
|
|
2664
|
-
></wa-format-date>
|
|
2665
|
-
</p>
|
|
2666
|
-
${showUpdateHint ? html`
|
|
2667
|
-
<wa-callout variant="warning">
|
|
2668
|
-
<wa-icon slot="icon" name="triangle-exclamation"></wa-icon>
|
|
2669
|
-
Update available — reload the page to update
|
|
2670
|
-
</wa-callout>
|
|
2671
|
-
` : ""}
|
|
2672
|
-
<wa-scroller orientation="vertical">
|
|
2673
|
-
${bodyHtml ? html`<div style="white-space: normal;">${unsafeHTML(bodyHtml)}</div>` : ""}
|
|
2674
|
-
</wa-scroller>
|
|
2675
|
-
${this.releases.length > 1 ? html`
|
|
2676
|
-
<div class="release-nav">
|
|
2677
|
-
<wa-button-group>
|
|
2678
|
-
<wa-button
|
|
2679
|
-
variant="default"
|
|
2680
|
-
?disabled=${atOldest}
|
|
2681
|
-
@click=${() => this.showOlder()}
|
|
2682
|
-
>
|
|
2683
|
-
← Previous
|
|
2684
|
-
</wa-button>
|
|
2685
|
-
<wa-button
|
|
2686
|
-
variant="default"
|
|
2687
|
-
?disabled=${atNewest}
|
|
2688
|
-
@click=${() => this.showNewer()}
|
|
2689
|
-
>
|
|
2690
|
-
Next →
|
|
2691
|
-
</wa-button>
|
|
2692
|
-
</wa-button-group>
|
|
2693
|
-
</div>
|
|
2694
|
-
` : ""}
|
|
2695
|
-
</div>
|
|
2696
|
-
`;
|
|
2697
2825
|
}
|
|
2698
|
-
};
|
|
2699
|
-
_decorate([state()], DocksReleaseHistory.prototype, "appVersion", void 0);
|
|
2700
|
-
_decorate([state()], DocksReleaseHistory.prototype, "releases", void 0);
|
|
2701
|
-
_decorate([state()], DocksReleaseHistory.prototype, "currentReleaseIndex", void 0);
|
|
2702
|
-
DocksReleaseHistory = _decorate([customElement("docks-release-history")], DocksReleaseHistory);
|
|
2703
|
-
//#endregion
|
|
2704
|
-
//#region src/components/npm-packages.ts
|
|
2705
|
-
var DocksNpmPackages = class DocksNpmPackages extends DocksPart {
|
|
2706
2826
|
static {
|
|
2707
2827
|
this.styles = [css`
|
|
2708
2828
|
.packages-panel {
|
|
@@ -2748,6 +2868,7 @@ function renderHtmlContribution(contribution) {
|
|
|
2748
2868
|
var DocksAttributionPart = class DocksAttributionPart extends DocksPart {
|
|
2749
2869
|
constructor(..._args) {
|
|
2750
2870
|
super(..._args);
|
|
2871
|
+
this.scrollMode = "none";
|
|
2751
2872
|
this.attributions = [];
|
|
2752
2873
|
}
|
|
2753
2874
|
static {
|
|
@@ -2820,7 +2941,7 @@ contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
|
2820
2941
|
ranking: 100,
|
|
2821
2942
|
toolbar: false,
|
|
2822
2943
|
contextMenu: false,
|
|
2823
|
-
component: (id) => html`<docks-attribution id="${id}"></docks-attribution>`
|
|
2944
|
+
component: (id) => html`<docks-attribution id="${id}" embedded></docks-attribution>`
|
|
2824
2945
|
});
|
|
2825
2946
|
contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
2826
2947
|
name: ABOUT_TAB_RELEASE,
|
|
@@ -2829,7 +2950,7 @@ contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
|
2829
2950
|
ranking: 50,
|
|
2830
2951
|
toolbar: false,
|
|
2831
2952
|
contextMenu: false,
|
|
2832
|
-
component: (id) => html`<docks-release-history id="${id}"></docks-release-history>`
|
|
2953
|
+
component: (id) => html`<docks-release-history id="${id}" embedded></docks-release-history>`
|
|
2833
2954
|
});
|
|
2834
2955
|
contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
2835
2956
|
name: ABOUT_TAB_PACKAGES,
|
|
@@ -2838,7 +2959,7 @@ contributionRegistry.registerContribution(ABOUT_TABS, {
|
|
|
2838
2959
|
ranking: 0,
|
|
2839
2960
|
toolbar: false,
|
|
2840
2961
|
contextMenu: false,
|
|
2841
|
-
component: (id) => html`<docks-npm-packages id="${id}"></docks-npm-packages>`
|
|
2962
|
+
component: (id) => html`<docks-npm-packages id="${id}" embedded></docks-npm-packages>`
|
|
2842
2963
|
});
|
|
2843
2964
|
contributionRegistry.registerContribution(SYSTEM_ATTRIBUTIONS, {
|
|
2844
2965
|
name: ATTRIBUTION_ECLIPSE_DOCKS,
|
|
@@ -2869,7 +2990,7 @@ contributionRegistry.registerContribution(TOOLBAR_BOTTOM_END, {
|
|
|
2869
2990
|
});
|
|
2870
2991
|
contributionRegistry.registerContribution(TOOLBAR_MAIN_RIGHT, {
|
|
2871
2992
|
name: TOOLBAR_LAYOUT_SWITCHER,
|
|
2872
|
-
label: "Layout
|
|
2993
|
+
label: "Layout panels",
|
|
2873
2994
|
component: () => html`<docks-layout-switcher></docks-layout-switcher>`
|
|
2874
2995
|
});
|
|
2875
2996
|
contributionRegistry.registerContribution(SIDEBAR_MAIN_TOOLBAR, {
|
|
@@ -2883,14 +3004,57 @@ contributionRegistry.registerContribution(SIDEBAR_MAIN_TOOLBAR, {
|
|
|
2883
3004
|
var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
2884
3005
|
constructor(..._args) {
|
|
2885
3006
|
super(..._args);
|
|
2886
|
-
this.
|
|
2887
|
-
this.showBottomPanel =
|
|
3007
|
+
this.showLeftAux = false;
|
|
3008
|
+
this.showBottomPanel = true;
|
|
2888
3009
|
this.showLeftSidebar = true;
|
|
2889
3010
|
this.showAuxSidebar = true;
|
|
3011
|
+
this.showRightAux = false;
|
|
3012
|
+
this.panelsInitialized = false;
|
|
2890
3013
|
}
|
|
2891
3014
|
createRenderRoot() {
|
|
2892
3015
|
return this;
|
|
2893
3016
|
}
|
|
3017
|
+
getPanelVisibility() {
|
|
3018
|
+
return {
|
|
3019
|
+
showLeftSidebar: this.showLeftSidebar,
|
|
3020
|
+
showAuxSidebar: this.showAuxSidebar,
|
|
3021
|
+
showBottomPanel: this.showBottomPanel,
|
|
3022
|
+
showLeftAux: this.showLeftAux,
|
|
3023
|
+
showRightAux: this.showRightAux
|
|
3024
|
+
};
|
|
3025
|
+
}
|
|
3026
|
+
applyPanelVisibility(panels) {
|
|
3027
|
+
this.showLeftSidebar = panels.showLeftSidebar;
|
|
3028
|
+
this.showAuxSidebar = panels.showAuxSidebar;
|
|
3029
|
+
this.showBottomPanel = panels.showBottomPanel;
|
|
3030
|
+
this.showLeftAux = panels.showLeftAux;
|
|
3031
|
+
this.showRightAux = panels.showRightAux;
|
|
3032
|
+
}
|
|
3033
|
+
async setPanelVisibility(panels) {
|
|
3034
|
+
const next = {
|
|
3035
|
+
...this.getPanelVisibility(),
|
|
3036
|
+
...panels
|
|
3037
|
+
};
|
|
3038
|
+
this.applyPanelVisibility(next);
|
|
3039
|
+
try {
|
|
3040
|
+
await appSettings.set(LAYOUT_PANEL_SETTINGS_KEY, next);
|
|
3041
|
+
} catch (error) {
|
|
3042
|
+
console.error("Failed to persist layout panel visibility:", error);
|
|
3043
|
+
throw error;
|
|
3044
|
+
}
|
|
3045
|
+
window.dispatchEvent(new CustomEvent("layout-panels-changed", { detail: { panels: this.getPanelVisibility() } }));
|
|
3046
|
+
}
|
|
3047
|
+
doInitUI() {
|
|
3048
|
+
this.initializePanelVisibility();
|
|
3049
|
+
}
|
|
3050
|
+
async initializePanelVisibility() {
|
|
3051
|
+
if (this.panelsInitialized) return;
|
|
3052
|
+
this.panelsInitialized = true;
|
|
3053
|
+
const appLayout = appLoaderService.getCurrentApp()?.layout;
|
|
3054
|
+
const panels = await resolveStoredPanelVisibility(appLayout);
|
|
3055
|
+
this.applyPanelVisibility(panels);
|
|
3056
|
+
window.dispatchEvent(new CustomEvent("layout-panels-changed", { detail: { panels: this.getPanelVisibility() } }));
|
|
3057
|
+
}
|
|
2894
3058
|
getGridSizes() {
|
|
2895
3059
|
if (this.showLeftSidebar && this.showAuxSidebar) return "20%, 60%, 20%";
|
|
2896
3060
|
if (this.showLeftSidebar) return "20%, 80%";
|
|
@@ -2982,7 +3146,7 @@ var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
|
2982
3146
|
sizes=${this.getGridSizes()}>
|
|
2983
3147
|
|
|
2984
3148
|
${this.showLeftSidebar ? html`
|
|
2985
|
-
${this.
|
|
3149
|
+
${this.showLeftAux ? html`
|
|
2986
3150
|
<docks-resizable-grid
|
|
2987
3151
|
id="left-sidebar-split"
|
|
2988
3152
|
orientation="vertical"
|
|
@@ -3003,7 +3167,17 @@ var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
|
3003
3167
|
</docks-resizable-grid>
|
|
3004
3168
|
` : html`<docks-tabs id="${EDITOR_AREA_MAIN}"></docks-tabs>`}
|
|
3005
3169
|
|
|
3006
|
-
${this.showAuxSidebar ? html
|
|
3170
|
+
${this.showAuxSidebar ? html`
|
|
3171
|
+
${this.showRightAux ? html`
|
|
3172
|
+
<docks-resizable-grid
|
|
3173
|
+
id="right-sidebar-split"
|
|
3174
|
+
orientation="vertical"
|
|
3175
|
+
sizes="50%, 50%">
|
|
3176
|
+
<docks-tabs id="${SIDEBAR_AUXILIARY}"></docks-tabs>
|
|
3177
|
+
<docks-tabs id="${SIDEBAR_AUXILIARY_BOTTOM}" placement="start" icon-only></docks-tabs>
|
|
3178
|
+
</docks-resizable-grid>
|
|
3179
|
+
` : html`<docks-tabs id="${SIDEBAR_AUXILIARY}"></docks-tabs>`}
|
|
3180
|
+
` : nothing}
|
|
3007
3181
|
</docks-resizable-grid>
|
|
3008
3182
|
|
|
3009
3183
|
<div class="toolbar-bottom">
|
|
@@ -3016,8 +3190,8 @@ var DocksStandardLayout = class DocksStandardLayout extends DocksContainer {
|
|
|
3016
3190
|
};
|
|
3017
3191
|
_decorate([property({
|
|
3018
3192
|
type: Boolean,
|
|
3019
|
-
attribute: "show-
|
|
3020
|
-
})], DocksStandardLayout.prototype, "
|
|
3193
|
+
attribute: "show-left-aux"
|
|
3194
|
+
})], DocksStandardLayout.prototype, "showLeftAux", void 0);
|
|
3021
3195
|
_decorate([property({
|
|
3022
3196
|
type: Boolean,
|
|
3023
3197
|
attribute: "show-bottom-panel"
|
|
@@ -3030,51 +3204,20 @@ _decorate([property({
|
|
|
3030
3204
|
type: Boolean,
|
|
3031
3205
|
attribute: "show-aux-sidebar"
|
|
3032
3206
|
})], DocksStandardLayout.prototype, "showAuxSidebar", void 0);
|
|
3207
|
+
_decorate([property({
|
|
3208
|
+
type: Boolean,
|
|
3209
|
+
attribute: "show-right-aux"
|
|
3210
|
+
})], DocksStandardLayout.prototype, "showRightAux", void 0);
|
|
3033
3211
|
DocksStandardLayout = _decorate([customElement("docks-standard-layout")], DocksStandardLayout);
|
|
3034
3212
|
//#endregion
|
|
3035
3213
|
//#region src/contributions/default-layout-contributions.ts
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
},
|
|
3044
|
-
{
|
|
3045
|
-
id: "standard-bottom-panel",
|
|
3046
|
-
name: "Standard (bottom panel)",
|
|
3047
|
-
label: "Standard (bottom panel)",
|
|
3048
|
-
icon: "docks layout-standard-bottom-panel",
|
|
3049
|
-
component: {
|
|
3050
|
-
tag: "docks-standard-layout",
|
|
3051
|
-
attributes: { "show-bottom-panel": "true" }
|
|
3052
|
-
}
|
|
3053
|
-
},
|
|
3054
|
-
{
|
|
3055
|
-
id: "standard-bottom-sidebar",
|
|
3056
|
-
name: "Standard (bottom sidebar)",
|
|
3057
|
-
label: "Standard (bottom sidebar)",
|
|
3058
|
-
icon: "docks layout-standard-bottom-sidebar",
|
|
3059
|
-
component: {
|
|
3060
|
-
tag: "docks-standard-layout",
|
|
3061
|
-
attributes: { "show-bottom-sidebar": "true" }
|
|
3062
|
-
}
|
|
3063
|
-
},
|
|
3064
|
-
{
|
|
3065
|
-
id: "standard-full",
|
|
3066
|
-
name: "Standard (panel + sidebar)",
|
|
3067
|
-
label: "Standard (panel + sidebar)",
|
|
3068
|
-
icon: "docks layout-standard-full",
|
|
3069
|
-
component: {
|
|
3070
|
-
tag: "docks-standard-layout",
|
|
3071
|
-
attributes: {
|
|
3072
|
-
"show-bottom-panel": "true",
|
|
3073
|
-
"show-bottom-sidebar": "true"
|
|
3074
|
-
}
|
|
3075
|
-
}
|
|
3076
|
-
}
|
|
3077
|
-
]) contributionRegistry.registerContribution(SYSTEM_LAYOUTS, layout);
|
|
3214
|
+
contributionRegistry.registerContribution(SYSTEM_LAYOUTS, {
|
|
3215
|
+
id: "standard",
|
|
3216
|
+
name: "Standard",
|
|
3217
|
+
label: "Standard",
|
|
3218
|
+
icon: "docks layout-standard-full",
|
|
3219
|
+
component: "docks-standard-layout"
|
|
3220
|
+
});
|
|
3078
3221
|
//#endregion
|
|
3079
3222
|
//#region src/commands/files.ts
|
|
3080
3223
|
async function getWorkspaceAndPath(params, requirePath = true) {
|
|
@@ -3860,20 +4003,6 @@ contributionRegistry.registerContribution("filebrowser.create", {
|
|
|
3860
4003
|
label: "Create Folder...",
|
|
3861
4004
|
params: { ask: true }
|
|
3862
4005
|
});
|
|
3863
|
-
contributionRegistry.registerContribution("toolbar:view.filebrowser", {
|
|
3864
|
-
name: "toolbar.filebrowser.rename",
|
|
3865
|
-
command: "mv",
|
|
3866
|
-
icon: "pen",
|
|
3867
|
-
label: "Rename",
|
|
3868
|
-
disabled
|
|
3869
|
-
});
|
|
3870
|
-
contributionRegistry.registerContribution("toolbar:view.filebrowser", {
|
|
3871
|
-
name: "toolbar.filebrowser.delete",
|
|
3872
|
-
command: "rm",
|
|
3873
|
-
icon: "trash",
|
|
3874
|
-
label: "Delete",
|
|
3875
|
-
disabled: deleteDisabled
|
|
3876
|
-
});
|
|
3877
4006
|
contributionRegistry.registerContribution("contextmenu:view.filebrowser", {
|
|
3878
4007
|
name: "contextmenu.filebrowser.create-folder",
|
|
3879
4008
|
command: "mkdir",
|
|
@@ -4486,6 +4615,6 @@ function getFrameworkConfig() {
|
|
|
4486
4615
|
return { ...frameworkConfig };
|
|
4487
4616
|
}
|
|
4488
4617
|
//#endregion
|
|
4489
|
-
export {
|
|
4618
|
+
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 };
|
|
4490
4619
|
|
|
4491
|
-
//# sourceMappingURL=api-
|
|
4620
|
+
//# sourceMappingURL=api-oPg3Bv1S.js.map
|