@eclipse-lyra/core 0.7.6 → 0.7.8
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 +28 -29
- package/dist/api/services.d.ts +0 -4
- package/dist/api/services.d.ts.map +1 -1
- package/dist/api/types.d.ts +1 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/components/fastviews.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/{app-switcher.d.ts → layout-switcher.d.ts} +5 -4
- package/dist/components/layout-switcher.d.ts.map +1 -0
- package/dist/{standard-layout-Efok-voU.js → config-BiRvaEoO.js} +243 -454
- package/dist/config-BiRvaEoO.js.map +1 -0
- package/dist/contributions/default-layout-contributions.d.ts +1 -0
- package/dist/contributions/default-layout-contributions.d.ts.map +1 -0
- package/dist/contributions/index.d.ts.map +1 -1
- package/dist/core/apploader.d.ts +40 -30
- package/dist/core/apploader.d.ts.map +1 -1
- package/dist/core/constants.d.ts +1 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/contributionregistry.d.ts +9 -0
- package/dist/core/contributionregistry.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/icon-DN6fp0dg.js.map +1 -1
- package/dist/index.js +28 -29
- package/dist/parts/contextmenu.d.ts +1 -1
- package/dist/parts/index.js +1 -1
- package/dist/parts/resizable-grid.d.ts +1 -1
- package/dist/{resizable-grid-BP9wOk_x.js → resizable-grid-oWYRVx30.js} +315 -94
- package/dist/resizable-grid-oWYRVx30.js.map +1 -0
- package/dist/vite-plugin-resolve-deps.d.ts +18 -0
- package/dist/vite-plugin-resolve-deps.d.ts.map +1 -0
- package/dist/vite-plugin-resolve-deps.js +76 -0
- package/dist/vite-plugin-resolve-deps.js.map +1 -0
- package/dist/widgets/icon.d.ts +1 -1
- package/package.json +8 -1
- package/src/api/services.ts +0 -4
- package/src/api/types.ts +1 -0
- package/src/commands/version-info.ts +24 -10
- package/src/components/index.ts +1 -1
- package/src/components/layout-switcher.ts +83 -0
- package/src/contributions/default-layout-contributions.ts +10 -0
- package/src/contributions/default-ui-contributions.ts +1 -1
- package/src/contributions/index.ts +1 -0
- package/src/contributions/marketplace-catalog-contributions.ts +1 -1
- package/src/core/apploader.ts +182 -99
- package/src/core/constants.ts +1 -0
- package/src/core/contributionregistry.ts +7 -0
- package/src/core/index.ts +0 -1
- package/src/vite-env.d.ts +9 -0
- package/src/vite-plugin-resolve-deps.ts +112 -0
- package/dist/components/app-selector.d.ts +0 -17
- package/dist/components/app-selector.d.ts.map +0 -1
- package/dist/components/app-switcher.d.ts.map +0 -1
- package/dist/core/app-host-config.d.ts +0 -7
- package/dist/core/app-host-config.d.ts.map +0 -1
- package/dist/core/packageinfoservice.d.ts +0 -16
- package/dist/core/packageinfoservice.d.ts.map +0 -1
- package/dist/resizable-grid-BP9wOk_x.js.map +0 -1
- package/dist/standard-layout-Efok-voU.js.map +0 -1
- package/src/components/app-selector.ts +0 -233
- package/src/components/app-switcher.ts +0 -126
- package/src/core/app-host-config.ts +0 -23
- package/src/core/packageinfoservice.ts +0 -56
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { l as rootContext, h as contributionRegistry, b as TOPIC_CONTRIBUTEIONS_CHANGED, w as watchSignal, p as partDirtySignal, d as activePartSignal, c as activeEditorSignal,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { l as rootContext, h as contributionRegistry, b as TOPIC_CONTRIBUTEIONS_CHANGED, w as watchSignal, p as partDirtySignal, d as activePartSignal, c as activeEditorSignal, e as activeSelectionSignal, f as activeTasksSignal, t as toastError, m as toastInfo, i as createLogger, o as registerLogHandler, q as unregisterLogHandler, L as LyraWidget, r as registerAll, u as uiContext, n as toastWarning } from "./icon-DN6fp0dg.js";
|
|
2
|
+
import { css, html, nothing, render } from "lit";
|
|
3
|
+
import { o as appSettings, m as TOPIC_SETTINGS_CHANGED, u as persistenceService, E as EDITOR_AREA_MAIN, c as LyraPart, H as HIDE_DOT_RESOURCE, p as confirmDialog, h as TOOLBAR_BOTTOM_CENTER, w as taskService, b as LyraElement, x as TOPIC_EXTENSIONS_CHANGED, r as extensionRegistry, n as appLoaderService, v as promptDialog, q as esmShService, d as SIDEBAR_MAIN, i as TOOLBAR_BOTTOM_END, l as TOOLBAR_MAIN_RIGHT, L as LyraContainer, j as TOOLBAR_MAIN, k as TOOLBAR_MAIN_CENTER, T as TOOLBAR_BOTTOM, e as SIDEBAR_MAIN_BOTTOM, P as PANEL_BOTTOM, S as SIDEBAR_AUXILIARY, f as SYSTEM_LAYOUTS, g as SYSTEM_VIEWS, y as constants } from "./resizable-grid-oWYRVx30.js";
|
|
4
4
|
import { signal } from "@lit-labs/signals";
|
|
5
5
|
import { subscribe, publish } from "./core/events.js";
|
|
6
6
|
import "./externals/webawesome.js";
|
|
@@ -10,47 +10,6 @@ import { createRef, ref } from "lit/directives/ref.js";
|
|
|
10
10
|
import "./nocontent-BhrN6yxJ.js";
|
|
11
11
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
12
12
|
import { marked } from "marked";
|
|
13
|
-
class PackageInfoService {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.packages = [];
|
|
16
|
-
}
|
|
17
|
-
addPackage(packageInfo) {
|
|
18
|
-
this.packages.push(packageInfo);
|
|
19
|
-
}
|
|
20
|
-
hasPackages() {
|
|
21
|
-
return this.packages.length > 0 && this.packages.some(
|
|
22
|
-
(pkg) => pkg.dependencies && Object.keys(pkg.dependencies).length > 0
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
renderTree() {
|
|
26
|
-
if (this.packages.length === 0) {
|
|
27
|
-
return html``;
|
|
28
|
-
}
|
|
29
|
-
return html`
|
|
30
|
-
<wa-tree style="--indent-guide-width: 1px;">
|
|
31
|
-
${this.packages.map((pkg) => {
|
|
32
|
-
const deps = pkg.dependencies || {};
|
|
33
|
-
const depEntries = Object.entries(deps);
|
|
34
|
-
if (depEntries.length === 0) {
|
|
35
|
-
return html``;
|
|
36
|
-
}
|
|
37
|
-
return html`
|
|
38
|
-
<wa-tree-item expanded>
|
|
39
|
-
<span>${pkg.name}</span>
|
|
40
|
-
${depEntries.map(([name, version]) => html`
|
|
41
|
-
<wa-tree-item>
|
|
42
|
-
<span>${name} <small>${version}</small></span>
|
|
43
|
-
</wa-tree-item>
|
|
44
|
-
`)}
|
|
45
|
-
</wa-tree-item>
|
|
46
|
-
`;
|
|
47
|
-
})}
|
|
48
|
-
</wa-tree>
|
|
49
|
-
`;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
const packageInfoService = new PackageInfoService();
|
|
53
|
-
rootContext.put("packageInfoService", packageInfoService);
|
|
54
13
|
const SYSTEM_LANGUAGE_BUNDLES = "system.language_bundles";
|
|
55
14
|
const SETTINGS_KEY_LANGUAGE = "language";
|
|
56
15
|
function replaceParameters(text, params) {
|
|
@@ -1582,152 +1541,6 @@ contributionRegistry.registerContribution("system.icons", {
|
|
|
1582
1541
|
},
|
|
1583
1542
|
priority: 0
|
|
1584
1543
|
});
|
|
1585
|
-
const logger$2 = createLogger("MarketplaceRegistry");
|
|
1586
|
-
const TOPIC_MARKETPLACE_CHANGED = "events/marketplaceregistry/changed";
|
|
1587
|
-
const KEY_CATALOG_URLS = "marketplace.catalogUrls";
|
|
1588
|
-
class MarketplaceRegistry {
|
|
1589
|
-
constructor() {
|
|
1590
|
-
this.catalogUrls = [];
|
|
1591
|
-
this.loadingPromises = /* @__PURE__ */ new Map();
|
|
1592
|
-
this.loadCatalogUrls().then(() => {
|
|
1593
|
-
this.refreshCatalogs().catch((err) => {
|
|
1594
|
-
logger$2.error(`Failed to refresh catalogs on init: ${err.message}`);
|
|
1595
|
-
});
|
|
1596
|
-
});
|
|
1597
|
-
}
|
|
1598
|
-
async loadCatalogUrls() {
|
|
1599
|
-
try {
|
|
1600
|
-
const urls = await appSettings.get(KEY_CATALOG_URLS);
|
|
1601
|
-
this.catalogUrls = Array.isArray(urls) ? urls : [];
|
|
1602
|
-
logger$2.debug(`Loaded ${this.catalogUrls.length} catalog URLs`);
|
|
1603
|
-
} catch (error) {
|
|
1604
|
-
logger$2.error(`Failed to load catalog URLs: ${error}`);
|
|
1605
|
-
this.catalogUrls = [];
|
|
1606
|
-
}
|
|
1607
|
-
}
|
|
1608
|
-
async saveCatalogUrls() {
|
|
1609
|
-
await appSettings.set(KEY_CATALOG_URLS, this.catalogUrls);
|
|
1610
|
-
publish(TOPIC_MARKETPLACE_CHANGED, { type: "catalogs", urls: this.catalogUrls });
|
|
1611
|
-
}
|
|
1612
|
-
async addCatalogUrl(url) {
|
|
1613
|
-
if (!this.isValidUrl(url)) {
|
|
1614
|
-
throw new Error(`Invalid catalog URL: ${url}`);
|
|
1615
|
-
}
|
|
1616
|
-
if (this.catalogUrls.includes(url)) {
|
|
1617
|
-
logger$2.debug(`Catalog URL already exists: ${url}`);
|
|
1618
|
-
return;
|
|
1619
|
-
}
|
|
1620
|
-
this.catalogUrls.push(url);
|
|
1621
|
-
await this.saveCatalogUrls();
|
|
1622
|
-
logger$2.info(`Added catalog URL: ${url}`);
|
|
1623
|
-
try {
|
|
1624
|
-
await this.refreshCatalogs();
|
|
1625
|
-
} catch (error) {
|
|
1626
|
-
logger$2.warn(`Failed to refresh catalogs immediately after adding: ${error}`);
|
|
1627
|
-
}
|
|
1628
|
-
}
|
|
1629
|
-
async removeCatalogUrl(url) {
|
|
1630
|
-
const index = this.catalogUrls.indexOf(url);
|
|
1631
|
-
if (index === -1) {
|
|
1632
|
-
return;
|
|
1633
|
-
}
|
|
1634
|
-
this.catalogUrls.splice(index, 1);
|
|
1635
|
-
await this.saveCatalogUrls();
|
|
1636
|
-
logger$2.info(`Removed catalog URL: ${url}`);
|
|
1637
|
-
}
|
|
1638
|
-
getCatalogUrls() {
|
|
1639
|
-
return [...this.catalogUrls];
|
|
1640
|
-
}
|
|
1641
|
-
isValidUrl(url) {
|
|
1642
|
-
try {
|
|
1643
|
-
const parsed = new URL(url);
|
|
1644
|
-
return parsed.protocol === "http:" || parsed.protocol === "https:";
|
|
1645
|
-
} catch {
|
|
1646
|
-
return false;
|
|
1647
|
-
}
|
|
1648
|
-
}
|
|
1649
|
-
async fetchCatalog(url) {
|
|
1650
|
-
const existingPromise = this.loadingPromises.get(url);
|
|
1651
|
-
if (existingPromise) {
|
|
1652
|
-
return existingPromise;
|
|
1653
|
-
}
|
|
1654
|
-
const fetchPromise = (async () => {
|
|
1655
|
-
try {
|
|
1656
|
-
logger$2.debug(`Fetching catalog from: ${url}`);
|
|
1657
|
-
const response = await fetch(url, {
|
|
1658
|
-
method: "GET",
|
|
1659
|
-
headers: {
|
|
1660
|
-
"Accept": "application/json"
|
|
1661
|
-
}
|
|
1662
|
-
});
|
|
1663
|
-
if (!response.ok) {
|
|
1664
|
-
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
1665
|
-
}
|
|
1666
|
-
const data = await response.json();
|
|
1667
|
-
if (!data.extensions || !Array.isArray(data.extensions)) {
|
|
1668
|
-
throw new Error("Invalid catalog format: extensions array is required");
|
|
1669
|
-
}
|
|
1670
|
-
const catalog = {
|
|
1671
|
-
name: data.name,
|
|
1672
|
-
description: data.description,
|
|
1673
|
-
extensions: data.extensions || []
|
|
1674
|
-
};
|
|
1675
|
-
const extCount = catalog.extensions?.length || 0;
|
|
1676
|
-
logger$2.debug(`Successfully fetched catalog from ${url}: ${extCount} extensions`);
|
|
1677
|
-
return catalog;
|
|
1678
|
-
} catch (error) {
|
|
1679
|
-
logger$2.error(`Failed to fetch catalog from ${url}: ${error}`);
|
|
1680
|
-
throw error;
|
|
1681
|
-
} finally {
|
|
1682
|
-
this.loadingPromises.delete(url);
|
|
1683
|
-
}
|
|
1684
|
-
})();
|
|
1685
|
-
this.loadingPromises.set(url, fetchPromise);
|
|
1686
|
-
return fetchPromise;
|
|
1687
|
-
}
|
|
1688
|
-
async refreshCatalogs() {
|
|
1689
|
-
logger$2.info(`Refreshing ${this.catalogUrls.length} catalogs...`);
|
|
1690
|
-
const promises = this.catalogUrls.map(
|
|
1691
|
-
(url) => this.fetchCatalog(url).catch((error) => {
|
|
1692
|
-
logger$2.warn(`Failed to refresh catalog ${url}: ${error.message}`);
|
|
1693
|
-
return null;
|
|
1694
|
-
})
|
|
1695
|
-
);
|
|
1696
|
-
const catalogs = await Promise.allSettled(promises);
|
|
1697
|
-
catalogs.forEach((result, index) => {
|
|
1698
|
-
if (result.status === "fulfilled" && result.value) {
|
|
1699
|
-
const catalog = result.value;
|
|
1700
|
-
if (catalog.extensions) {
|
|
1701
|
-
catalog.extensions.forEach((marketplaceExt) => {
|
|
1702
|
-
if (!extensionRegistry.getExtensions().find((e) => e.id === marketplaceExt.id)) {
|
|
1703
|
-
const extension = {
|
|
1704
|
-
...marketplaceExt,
|
|
1705
|
-
external: true
|
|
1706
|
-
};
|
|
1707
|
-
extensionRegistry.registerExtension(extension);
|
|
1708
|
-
logger$2.debug(`Registered marketplace extension: ${marketplaceExt.id}`);
|
|
1709
|
-
}
|
|
1710
|
-
});
|
|
1711
|
-
}
|
|
1712
|
-
}
|
|
1713
|
-
});
|
|
1714
|
-
publish(TOPIC_MARKETPLACE_CHANGED, { type: "refreshed" });
|
|
1715
|
-
logger$2.info("Catalog refresh completed");
|
|
1716
|
-
}
|
|
1717
|
-
getMarketplaceExtension(extensionId) {
|
|
1718
|
-
const extension = extensionRegistry.getExtensions().find((e) => e.id === extensionId);
|
|
1719
|
-
if (extension && extension.external) {
|
|
1720
|
-
return extension;
|
|
1721
|
-
}
|
|
1722
|
-
return void 0;
|
|
1723
|
-
}
|
|
1724
|
-
isMarketplaceExtension(extensionId) {
|
|
1725
|
-
const extension = extensionRegistry.getExtensions().find((e) => e.id === extensionId);
|
|
1726
|
-
return extension !== void 0 && extension.external === true;
|
|
1727
|
-
}
|
|
1728
|
-
}
|
|
1729
|
-
const marketplaceRegistry = new MarketplaceRegistry();
|
|
1730
|
-
rootContext.put("marketplaceRegistry", marketplaceRegistry);
|
|
1731
1544
|
const namespace$6 = "filebrowser";
|
|
1732
1545
|
const en$6 = { "CONNECT_WORKSPACE": "Connect Workspace...", "REFRESH_RESOURCE": "Refresh resource", "CREATE_NEW": "Create new...", "OPEN": "Open", "FILE": "File", "FOLDER": "Folder", "FILE_EXISTS_OVERWRITE": 'File "{fileName}" already exists. Do you want to overwrite it?', "SELECT_WORKSPACE": "Select a workspace.", "DROP_FILES_HERE": "📁 Drop files here", "OPEN_WITH": "Open with..." };
|
|
1733
1546
|
const de$6 = { "CONNECT_WORKSPACE": "Arbeitsbereich verbinden...", "REFRESH_RESOURCE": "Ressource aktualisieren", "CREATE_NEW": "Neu erstellen...", "OPEN": "Öffnen", "FILE": "Datei", "FOLDER": "Ordner", "FILE_EXISTS_OVERWRITE": 'Die Datei "{fileName}" existiert bereits. Möchten Sie sie überschreiben?', "SELECT_WORKSPACE": "Wählen Sie einen Arbeitsbereich aus.", "DROP_FILES_HERE": "📁 Dateien hier ablegen", "OPEN_WITH": "Öffnen mit..." };
|
|
@@ -3838,105 +3651,79 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
|
3838
3651
|
if (kind && result) __defProp$1(target, key, result);
|
|
3839
3652
|
return result;
|
|
3840
3653
|
};
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
buttons: [CLOSE_BUTTON],
|
|
3846
|
-
component: (state2) => {
|
|
3847
|
-
const apps = state2?.apps || [];
|
|
3848
|
-
const currentAppId = state2?.currentAppId;
|
|
3849
|
-
const selectApp = state2?.selectApp;
|
|
3850
|
-
return html`
|
|
3851
|
-
<wa-scroller orientation="vertical" style="min-width: 300px; max-height: 400px; padding: var(--wa-space-m);">
|
|
3852
|
-
<div style="display: flex; flex-direction: column; gap: var(--wa-space-s);">
|
|
3853
|
-
${apps.map((app) => html`
|
|
3854
|
-
<wa-card
|
|
3855
|
-
style="cursor: pointer;"
|
|
3856
|
-
variant=${app.id === currentAppId ? "brand" : "neutral"}
|
|
3857
|
-
@click=${() => selectApp(app)}>
|
|
3858
|
-
<div style="display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: var(--wa-space-xs);">
|
|
3859
|
-
<span style="font-weight: 600;">${app.name}</span>
|
|
3860
|
-
${app.version ? html`<wa-badge variant="neutral">v${app.version}</wa-badge>` : ""}
|
|
3861
|
-
</div>
|
|
3862
|
-
${app.description ? html`<p style="margin: 0; font-size: 0.875rem; line-height: 1.4;">${app.description}</p>` : ""}
|
|
3863
|
-
<div style="font-size: 0.75rem; color: var(--wa-color-neutral-foreground-quiet); font-family: monospace; margin-top: var(--wa-space-xs);">ID: ${app.id}</div>
|
|
3864
|
-
</wa-card>
|
|
3865
|
-
`)}
|
|
3866
|
-
</div>
|
|
3867
|
-
</wa-scroller>
|
|
3868
|
-
`;
|
|
3869
|
-
},
|
|
3870
|
-
onButton: async () => true
|
|
3871
|
-
});
|
|
3872
|
-
const showAppSwitcherDialog = async () => {
|
|
3873
|
-
const apps = appLoaderService.getRegisteredApps();
|
|
3874
|
-
const currentApp = appLoaderService.getCurrentApp();
|
|
3875
|
-
if (apps.length === 0) {
|
|
3876
|
-
return;
|
|
3654
|
+
let LyraLayoutSwitcher = class extends LyraElement {
|
|
3655
|
+
constructor() {
|
|
3656
|
+
super(...arguments);
|
|
3657
|
+
this.currentLayoutId = "standard";
|
|
3877
3658
|
}
|
|
3878
|
-
const state2 = {
|
|
3879
|
-
apps,
|
|
3880
|
-
currentAppId: currentApp?.id,
|
|
3881
|
-
selectApp: async (app) => {
|
|
3882
|
-
if (app.id === currentApp?.id) {
|
|
3883
|
-
state2.close?.();
|
|
3884
|
-
return;
|
|
3885
|
-
}
|
|
3886
|
-
try {
|
|
3887
|
-
await appLoaderService.setPreferredAppId(app.id);
|
|
3888
|
-
await appLoaderService.loadApp(app.id, document.body);
|
|
3889
|
-
} catch (error) {
|
|
3890
|
-
console.error("Failed to switch app:", error);
|
|
3891
|
-
} finally {
|
|
3892
|
-
state2.close?.();
|
|
3893
|
-
}
|
|
3894
|
-
},
|
|
3895
|
-
close: void 0
|
|
3896
|
-
};
|
|
3897
|
-
await dialogService.open(APP_SWITCHER_DIALOG_ID, state2);
|
|
3898
|
-
};
|
|
3899
|
-
let LyraAppSwitcher = class extends LyraElement {
|
|
3900
3659
|
doBeforeUI() {
|
|
3901
|
-
this.
|
|
3902
|
-
const
|
|
3903
|
-
this.
|
|
3660
|
+
this.currentLayoutId = appLoaderService.getCurrentLayoutId();
|
|
3661
|
+
const updateLayout = () => {
|
|
3662
|
+
this.currentLayoutId = appLoaderService.getCurrentLayoutId();
|
|
3904
3663
|
this.requestUpdate();
|
|
3905
3664
|
};
|
|
3906
|
-
window.addEventListener("app-loaded",
|
|
3665
|
+
window.addEventListener("app-loaded", updateLayout);
|
|
3666
|
+
window.addEventListener("layout-changed", updateLayout);
|
|
3907
3667
|
return () => {
|
|
3908
|
-
window.removeEventListener("app-loaded",
|
|
3668
|
+
window.removeEventListener("app-loaded", updateLayout);
|
|
3669
|
+
window.removeEventListener("layout-changed", updateLayout);
|
|
3909
3670
|
};
|
|
3910
3671
|
}
|
|
3672
|
+
async handleSelect(e) {
|
|
3673
|
+
const layoutId = e.detail?.item?.value;
|
|
3674
|
+
if (!layoutId || layoutId === this.currentLayoutId) return;
|
|
3675
|
+
try {
|
|
3676
|
+
await appLoaderService.setPreferredLayoutId(layoutId);
|
|
3677
|
+
} catch (err) {
|
|
3678
|
+
console.error("Failed to switch layout:", err);
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3911
3681
|
render() {
|
|
3912
|
-
const
|
|
3913
|
-
|
|
3914
|
-
if (apps.length <= 1) {
|
|
3682
|
+
const layouts = appLoaderService.getRegisteredLayouts();
|
|
3683
|
+
if (layouts.length <= 1) {
|
|
3915
3684
|
return html``;
|
|
3916
3685
|
}
|
|
3686
|
+
const currentLayout = layouts.find((l) => l.id === this.currentLayoutId);
|
|
3687
|
+
const layoutName = currentLayout?.name ?? this.currentLayoutId;
|
|
3917
3688
|
return html`
|
|
3918
|
-
<wa-
|
|
3919
|
-
|
|
3689
|
+
<wa-dropdown
|
|
3690
|
+
placement="bottom-end"
|
|
3691
|
+
distance="4"
|
|
3920
3692
|
size="small"
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3693
|
+
@wa-select=${this.handleSelect}>
|
|
3694
|
+
<wa-button
|
|
3695
|
+
slot="trigger"
|
|
3696
|
+
appearance="plain"
|
|
3697
|
+
size="small"
|
|
3698
|
+
with-caret
|
|
3699
|
+
title="Switch layout (current: ${layoutName})">
|
|
3700
|
+
<wa-icon name="table-cells" label="Layout"></wa-icon>
|
|
3701
|
+
</wa-button>
|
|
3702
|
+
${layouts.map(
|
|
3703
|
+
(layout) => html`
|
|
3704
|
+
<wa-dropdown-item
|
|
3705
|
+
value="${layout.id}"
|
|
3706
|
+
type="checkbox"
|
|
3707
|
+
?checked=${layout.id === this.currentLayoutId}>
|
|
3708
|
+
${layout.name}
|
|
3709
|
+
</wa-dropdown-item>
|
|
3710
|
+
`
|
|
3711
|
+
)}
|
|
3712
|
+
</wa-dropdown>
|
|
3926
3713
|
`;
|
|
3927
3714
|
}
|
|
3928
3715
|
};
|
|
3929
|
-
|
|
3716
|
+
LyraLayoutSwitcher.styles = css`
|
|
3930
3717
|
:host {
|
|
3931
3718
|
display: inline-block;
|
|
3932
3719
|
}
|
|
3933
3720
|
`;
|
|
3934
3721
|
__decorateClass$1([
|
|
3935
3722
|
state()
|
|
3936
|
-
],
|
|
3937
|
-
|
|
3938
|
-
customElement("lyra-
|
|
3939
|
-
],
|
|
3723
|
+
], LyraLayoutSwitcher.prototype, "currentLayoutId", 2);
|
|
3724
|
+
LyraLayoutSwitcher = __decorateClass$1([
|
|
3725
|
+
customElement("lyra-layout-switcher")
|
|
3726
|
+
], LyraLayoutSwitcher);
|
|
3940
3727
|
contributionRegistry.registerContribution(SIDEBAR_MAIN, {
|
|
3941
3728
|
name: "filebrowser",
|
|
3942
3729
|
label: "Workspace",
|
|
@@ -3965,10 +3752,171 @@ contributionRegistry.registerContribution(TOOLBAR_BOTTOM_END, {
|
|
|
3965
3752
|
});
|
|
3966
3753
|
contributionRegistry.registerContribution(TOOLBAR_MAIN_RIGHT, {
|
|
3967
3754
|
label: "App Switcher",
|
|
3968
|
-
component: () => html`<lyra-
|
|
3755
|
+
component: () => html`<lyra-layout-switcher></lyra-layout-switcher>`
|
|
3756
|
+
});
|
|
3757
|
+
var __defProp = Object.defineProperty;
|
|
3758
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3759
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
3760
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
3761
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
3762
|
+
if (decorator = decorators[i])
|
|
3763
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
3764
|
+
if (kind && result) __defProp(target, key, result);
|
|
3765
|
+
return result;
|
|
3766
|
+
};
|
|
3767
|
+
let LyraStandardLayout = class extends LyraContainer {
|
|
3768
|
+
constructor() {
|
|
3769
|
+
super(...arguments);
|
|
3770
|
+
this.showBottomSidebar = false;
|
|
3771
|
+
this.showBottomPanel = false;
|
|
3772
|
+
this.showLeftSidebar = true;
|
|
3773
|
+
this.showAuxSidebar = true;
|
|
3774
|
+
}
|
|
3775
|
+
createRenderRoot() {
|
|
3776
|
+
return this;
|
|
3777
|
+
}
|
|
3778
|
+
getGridSizes() {
|
|
3779
|
+
if (this.showLeftSidebar && this.showAuxSidebar) {
|
|
3780
|
+
return "15%, 65%, 20%";
|
|
3781
|
+
}
|
|
3782
|
+
if (this.showLeftSidebar) {
|
|
3783
|
+
return "15%, 85%";
|
|
3784
|
+
}
|
|
3785
|
+
if (this.showAuxSidebar) {
|
|
3786
|
+
return "80%, 20%";
|
|
3787
|
+
}
|
|
3788
|
+
return "100%";
|
|
3789
|
+
}
|
|
3790
|
+
render() {
|
|
3791
|
+
return html`
|
|
3792
|
+
<style>
|
|
3793
|
+
*, *::before, *::after {
|
|
3794
|
+
box-sizing: border-box;
|
|
3795
|
+
}
|
|
3796
|
+
|
|
3797
|
+
html {
|
|
3798
|
+
height: 100%;
|
|
3799
|
+
margin: 0;
|
|
3800
|
+
padding: 0;
|
|
3801
|
+
overflow: hidden;
|
|
3802
|
+
}
|
|
3803
|
+
|
|
3804
|
+
body {
|
|
3805
|
+
height: 100%;
|
|
3806
|
+
width: 100%;
|
|
3807
|
+
margin: 0;
|
|
3808
|
+
padding: 0;
|
|
3809
|
+
overflow: hidden;
|
|
3810
|
+
display: flex;
|
|
3811
|
+
flex-direction: column;
|
|
3812
|
+
}
|
|
3813
|
+
|
|
3814
|
+
lyra-standard-layout {
|
|
3815
|
+
display: flex;
|
|
3816
|
+
flex-direction: column;
|
|
3817
|
+
height: 100vh;
|
|
3818
|
+
width: 100%;
|
|
3819
|
+
}
|
|
3820
|
+
|
|
3821
|
+
lyra-standard-layout .toolbar-top {
|
|
3822
|
+
width: 100%;
|
|
3823
|
+
display: grid;
|
|
3824
|
+
grid-template-columns: 1fr 2fr 1fr;
|
|
3825
|
+
align-items: center;
|
|
3826
|
+
border-bottom: solid var(--wa-border-width-s) var(--wa-color-neutral-border-loud);
|
|
3827
|
+
flex-shrink: 0;
|
|
3828
|
+
}
|
|
3829
|
+
|
|
3830
|
+
lyra-standard-layout .toolbar-bottom {
|
|
3831
|
+
width: 100%;
|
|
3832
|
+
border-top: solid var(--wa-border-width-s) var(--wa-color-neutral-border-loud);
|
|
3833
|
+
display: grid;
|
|
3834
|
+
grid-template-columns: 1fr 2fr auto;
|
|
3835
|
+
align-items: center;
|
|
3836
|
+
flex-shrink: 0;
|
|
3837
|
+
min-height: 32px;
|
|
3838
|
+
padding: 0 var(--wa-space-s);
|
|
3839
|
+
box-sizing: border-box;
|
|
3840
|
+
}
|
|
3841
|
+
|
|
3842
|
+
lyra-standard-layout .main-layout {
|
|
3843
|
+
flex: 1;
|
|
3844
|
+
min-height: 0;
|
|
3845
|
+
}
|
|
3846
|
+
|
|
3847
|
+
lyra-standard-layout .toolbar-end {
|
|
3848
|
+
justify-self: end;
|
|
3849
|
+
}
|
|
3850
|
+
</style>
|
|
3851
|
+
|
|
3852
|
+
<div class="toolbar-top">
|
|
3853
|
+
<lyra-toolbar id=${TOOLBAR_MAIN}></lyra-toolbar>
|
|
3854
|
+
<lyra-toolbar id=${TOOLBAR_MAIN_CENTER}></lyra-toolbar>
|
|
3855
|
+
<lyra-toolbar class="toolbar-end" id=${TOOLBAR_MAIN_RIGHT}></lyra-toolbar>
|
|
3856
|
+
</div>
|
|
3857
|
+
|
|
3858
|
+
<lyra-resizable-grid
|
|
3859
|
+
class="main-layout"
|
|
3860
|
+
id="main-layout"
|
|
3861
|
+
orientation="horizontal"
|
|
3862
|
+
sizes=${this.getGridSizes()}>
|
|
3863
|
+
|
|
3864
|
+
${this.showLeftSidebar ? html`
|
|
3865
|
+
${this.showBottomSidebar ? html`
|
|
3866
|
+
<lyra-resizable-grid
|
|
3867
|
+
id="left-sidebar-split"
|
|
3868
|
+
orientation="vertical"
|
|
3869
|
+
sizes="50%, 50%">
|
|
3870
|
+
<lyra-tabs id="${SIDEBAR_MAIN}"></lyra-tabs>
|
|
3871
|
+
<lyra-tabs id="${SIDEBAR_MAIN_BOTTOM}"></lyra-tabs>
|
|
3872
|
+
</lyra-resizable-grid>
|
|
3873
|
+
` : html`<lyra-tabs id="${SIDEBAR_MAIN}"></lyra-tabs>`}
|
|
3874
|
+
` : nothing}
|
|
3875
|
+
|
|
3876
|
+
${this.showBottomPanel ? html`
|
|
3877
|
+
<lyra-resizable-grid
|
|
3878
|
+
id="editor-area-split"
|
|
3879
|
+
orientation="vertical"
|
|
3880
|
+
sizes="70%, 30%">
|
|
3881
|
+
<lyra-tabs id="${EDITOR_AREA_MAIN}"></lyra-tabs>
|
|
3882
|
+
<lyra-tabs id="${PANEL_BOTTOM}"></lyra-tabs>
|
|
3883
|
+
</lyra-resizable-grid>
|
|
3884
|
+
` : html`<lyra-tabs id="${EDITOR_AREA_MAIN}"></lyra-tabs>`}
|
|
3885
|
+
|
|
3886
|
+
${this.showAuxSidebar ? html`<lyra-tabs id="${SIDEBAR_AUXILIARY}"></lyra-tabs>` : nothing}
|
|
3887
|
+
</lyra-resizable-grid>
|
|
3888
|
+
|
|
3889
|
+
<div class="toolbar-bottom">
|
|
3890
|
+
<lyra-toolbar id=${TOOLBAR_BOTTOM}></lyra-toolbar>
|
|
3891
|
+
<lyra-toolbar id=${TOOLBAR_BOTTOM_CENTER}></lyra-toolbar>
|
|
3892
|
+
<lyra-toolbar class="toolbar-end" id=${TOOLBAR_BOTTOM_END}></lyra-toolbar>
|
|
3893
|
+
</div>
|
|
3894
|
+
`;
|
|
3895
|
+
}
|
|
3896
|
+
};
|
|
3897
|
+
__decorateClass([
|
|
3898
|
+
property({ type: Boolean, attribute: "show-bottom-sidebar" })
|
|
3899
|
+
], LyraStandardLayout.prototype, "showBottomSidebar", 2);
|
|
3900
|
+
__decorateClass([
|
|
3901
|
+
property({ type: Boolean, attribute: "show-bottom-panel" })
|
|
3902
|
+
], LyraStandardLayout.prototype, "showBottomPanel", 2);
|
|
3903
|
+
__decorateClass([
|
|
3904
|
+
property({ type: Boolean, attribute: "show-left-sidebar" })
|
|
3905
|
+
], LyraStandardLayout.prototype, "showLeftSidebar", 2);
|
|
3906
|
+
__decorateClass([
|
|
3907
|
+
property({ type: Boolean, attribute: "show-aux-sidebar" })
|
|
3908
|
+
], LyraStandardLayout.prototype, "showAuxSidebar", 2);
|
|
3909
|
+
LyraStandardLayout = __decorateClass([
|
|
3910
|
+
customElement("lyra-standard-layout")
|
|
3911
|
+
], LyraStandardLayout);
|
|
3912
|
+
contributionRegistry.registerContribution(SYSTEM_LAYOUTS, {
|
|
3913
|
+
id: "standard",
|
|
3914
|
+
name: "Standard",
|
|
3915
|
+
label: "Standard",
|
|
3916
|
+
component: "lyra-standard-layout"
|
|
3969
3917
|
});
|
|
3970
3918
|
const logger = createLogger("MarketplaceCatalogContributions");
|
|
3971
|
-
logger.debug("Marketplace catalog URLs are set
|
|
3919
|
+
logger.debug("Marketplace catalog URLs are set per app via AppDefinition.marketplaceCatalogUrls");
|
|
3972
3920
|
async function getWorkspaceAndPath(params, requirePath = true) {
|
|
3973
3921
|
const workspace = await workspaceService.getWorkspace();
|
|
3974
3922
|
if (!workspace) {
|
|
@@ -4326,8 +4274,20 @@ registerAll({
|
|
|
4326
4274
|
toastError("No app loaded");
|
|
4327
4275
|
return;
|
|
4328
4276
|
}
|
|
4329
|
-
const
|
|
4330
|
-
const
|
|
4277
|
+
const deps = app.dependencies ?? {};
|
|
4278
|
+
const hasPackages = Object.keys(deps).length > 0;
|
|
4279
|
+
const packagesTree = hasPackages ? html`
|
|
4280
|
+
<wa-tree style="--indent-guide-width: 1px;">
|
|
4281
|
+
<wa-tree-item expanded>
|
|
4282
|
+
<span>${app.name ?? ""}</span>
|
|
4283
|
+
${Object.entries(deps).map(([name, version]) => html`
|
|
4284
|
+
<wa-tree-item>
|
|
4285
|
+
<span>${name} <small>${version}</small></span>
|
|
4286
|
+
</wa-tree-item>
|
|
4287
|
+
`)}
|
|
4288
|
+
</wa-tree-item>
|
|
4289
|
+
</wa-tree>
|
|
4290
|
+
` : html``;
|
|
4331
4291
|
let dialogContainer = null;
|
|
4332
4292
|
const getDialogContainer2 = () => {
|
|
4333
4293
|
if (!dialogContainer) {
|
|
@@ -4361,8 +4321,8 @@ registerAll({
|
|
|
4361
4321
|
releases = app.releaseHistory;
|
|
4362
4322
|
}
|
|
4363
4323
|
}
|
|
4364
|
-
app.version
|
|
4365
|
-
const currentIndex = releases.length > 0 ? releases.findIndex((r) => r.tag_name ===
|
|
4324
|
+
const appVersion = app.version ?? "0.0.0";
|
|
4325
|
+
const currentIndex = releases.length > 0 ? releases.findIndex((r) => r.tag_name === appVersion) : -1;
|
|
4366
4326
|
const startIndex = currentIndex >= 0 ? currentIndex : 0;
|
|
4367
4327
|
let currentReleaseIndex = startIndex;
|
|
4368
4328
|
const buildReleaseContent = (index) => {
|
|
@@ -4370,7 +4330,7 @@ registerAll({
|
|
|
4370
4330
|
return "";
|
|
4371
4331
|
}
|
|
4372
4332
|
const release = releases[index];
|
|
4373
|
-
const isCurrentVersion = release.tag_name ===
|
|
4333
|
+
const isCurrentVersion = release.tag_name === appVersion;
|
|
4374
4334
|
let message = `**Version:** ${release.tag_name}`;
|
|
4375
4335
|
if (isCurrentVersion) {
|
|
4376
4336
|
message += ` (Current)`;
|
|
@@ -4383,7 +4343,7 @@ registerAll({
|
|
|
4383
4343
|
|
|
4384
4344
|
`;
|
|
4385
4345
|
if (!isCurrentVersion) {
|
|
4386
|
-
const cleanCurrent =
|
|
4346
|
+
const cleanCurrent = appVersion.replace(/^v/, "");
|
|
4387
4347
|
const cleanRelease = release.tag_name.replace(/^v/, "");
|
|
4388
4348
|
const currentParts = cleanCurrent.split(".").map(Number);
|
|
4389
4349
|
const releaseParts = cleanRelease.split(".").map(Number);
|
|
@@ -4423,7 +4383,7 @@ ${release.body}`;
|
|
|
4423
4383
|
const hasNavigation = releases.length > 0;
|
|
4424
4384
|
const template = html`
|
|
4425
4385
|
<wa-dialog
|
|
4426
|
-
label="About ${app.name} - ${app.version}"
|
|
4386
|
+
label="About ${app.name ?? ""} - ${app.version ?? "0.0.0"}"
|
|
4427
4387
|
open
|
|
4428
4388
|
light-dismiss
|
|
4429
4389
|
style="--width: 600px;"
|
|
@@ -4441,7 +4401,7 @@ ${release.body}`;
|
|
|
4441
4401
|
margin-left: 0.5rem;
|
|
4442
4402
|
}
|
|
4443
4403
|
</style>
|
|
4444
|
-
<small>${app.description}</small>
|
|
4404
|
+
<small>${app.description ?? ""}</small>
|
|
4445
4405
|
<div class="dialog-content">
|
|
4446
4406
|
<wa-tab-group>
|
|
4447
4407
|
${releases.length > 0 ? html`
|
|
@@ -4706,20 +4666,6 @@ uiContext.put("render", render);
|
|
|
4706
4666
|
uiContext.put("toastInfo", toastInfo);
|
|
4707
4667
|
uiContext.put("toastError", toastError);
|
|
4708
4668
|
uiContext.put("toastWarning", toastWarning);
|
|
4709
|
-
let applied = false;
|
|
4710
|
-
function applyAppHostConfig(config) {
|
|
4711
|
-
if (applied) return;
|
|
4712
|
-
applied = true;
|
|
4713
|
-
if (config.packageInfo) {
|
|
4714
|
-
packageInfoService.addPackage(config.packageInfo);
|
|
4715
|
-
}
|
|
4716
|
-
if (config.marketplaceCatalogUrls?.length) {
|
|
4717
|
-
config.marketplaceCatalogUrls.forEach((url) => {
|
|
4718
|
-
marketplaceRegistry.addCatalogUrl(url).catch(() => {
|
|
4719
|
-
});
|
|
4720
|
-
});
|
|
4721
|
-
}
|
|
4722
|
-
}
|
|
4723
4669
|
let frameworkConfig = {};
|
|
4724
4670
|
function configureFramework(config) {
|
|
4725
4671
|
frameworkConfig = { ...frameworkConfig, ...config };
|
|
@@ -4727,161 +4673,6 @@ function configureFramework(config) {
|
|
|
4727
4673
|
function getFrameworkConfig() {
|
|
4728
4674
|
return { ...frameworkConfig };
|
|
4729
4675
|
}
|
|
4730
|
-
var __defProp = Object.defineProperty;
|
|
4731
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4732
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
4733
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
4734
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4735
|
-
if (decorator = decorators[i])
|
|
4736
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
4737
|
-
if (kind && result) __defProp(target, key, result);
|
|
4738
|
-
return result;
|
|
4739
|
-
};
|
|
4740
|
-
let LyraStandardLayout = class extends LyraContainer {
|
|
4741
|
-
constructor() {
|
|
4742
|
-
super(...arguments);
|
|
4743
|
-
this.showBottomSidebar = false;
|
|
4744
|
-
this.showBottomPanel = false;
|
|
4745
|
-
this.showLeftSidebar = true;
|
|
4746
|
-
this.showAuxSidebar = true;
|
|
4747
|
-
}
|
|
4748
|
-
createRenderRoot() {
|
|
4749
|
-
return this;
|
|
4750
|
-
}
|
|
4751
|
-
getGridSizes() {
|
|
4752
|
-
if (this.showLeftSidebar && this.showAuxSidebar) {
|
|
4753
|
-
return "15%, 65%, 20%";
|
|
4754
|
-
}
|
|
4755
|
-
if (this.showLeftSidebar) {
|
|
4756
|
-
return "15%, 85%";
|
|
4757
|
-
}
|
|
4758
|
-
if (this.showAuxSidebar) {
|
|
4759
|
-
return "80%, 20%";
|
|
4760
|
-
}
|
|
4761
|
-
return "100%";
|
|
4762
|
-
}
|
|
4763
|
-
render() {
|
|
4764
|
-
return html`
|
|
4765
|
-
<style>
|
|
4766
|
-
*, *::before, *::after {
|
|
4767
|
-
box-sizing: border-box;
|
|
4768
|
-
}
|
|
4769
|
-
|
|
4770
|
-
html {
|
|
4771
|
-
height: 100%;
|
|
4772
|
-
margin: 0;
|
|
4773
|
-
padding: 0;
|
|
4774
|
-
overflow: hidden;
|
|
4775
|
-
}
|
|
4776
|
-
|
|
4777
|
-
body {
|
|
4778
|
-
height: 100%;
|
|
4779
|
-
width: 100%;
|
|
4780
|
-
margin: 0;
|
|
4781
|
-
padding: 0;
|
|
4782
|
-
overflow: hidden;
|
|
4783
|
-
display: flex;
|
|
4784
|
-
flex-direction: column;
|
|
4785
|
-
}
|
|
4786
|
-
|
|
4787
|
-
lyra-standard-layout {
|
|
4788
|
-
display: flex;
|
|
4789
|
-
flex-direction: column;
|
|
4790
|
-
height: 100vh;
|
|
4791
|
-
width: 100%;
|
|
4792
|
-
}
|
|
4793
|
-
|
|
4794
|
-
lyra-standard-layout .toolbar-top {
|
|
4795
|
-
width: 100%;
|
|
4796
|
-
display: grid;
|
|
4797
|
-
grid-template-columns: 1fr 2fr 1fr;
|
|
4798
|
-
align-items: center;
|
|
4799
|
-
border-bottom: solid var(--wa-border-width-s) var(--wa-color-neutral-border-loud);
|
|
4800
|
-
flex-shrink: 0;
|
|
4801
|
-
}
|
|
4802
|
-
|
|
4803
|
-
lyra-standard-layout .toolbar-bottom {
|
|
4804
|
-
width: 100%;
|
|
4805
|
-
border-top: solid var(--wa-border-width-s) var(--wa-color-neutral-border-loud);
|
|
4806
|
-
display: grid;
|
|
4807
|
-
grid-template-columns: 1fr 2fr auto;
|
|
4808
|
-
align-items: center;
|
|
4809
|
-
flex-shrink: 0;
|
|
4810
|
-
min-height: 32px;
|
|
4811
|
-
padding: 0 var(--wa-space-s);
|
|
4812
|
-
box-sizing: border-box;
|
|
4813
|
-
}
|
|
4814
|
-
|
|
4815
|
-
lyra-standard-layout .main-layout {
|
|
4816
|
-
flex: 1;
|
|
4817
|
-
min-height: 0;
|
|
4818
|
-
}
|
|
4819
|
-
|
|
4820
|
-
lyra-standard-layout .toolbar-end {
|
|
4821
|
-
justify-self: end;
|
|
4822
|
-
}
|
|
4823
|
-
</style>
|
|
4824
|
-
|
|
4825
|
-
<div class="toolbar-top">
|
|
4826
|
-
<lyra-toolbar id=${TOOLBAR_MAIN}></lyra-toolbar>
|
|
4827
|
-
<lyra-toolbar id=${TOOLBAR_MAIN_CENTER}></lyra-toolbar>
|
|
4828
|
-
<lyra-toolbar class="toolbar-end" id=${TOOLBAR_MAIN_RIGHT}></lyra-toolbar>
|
|
4829
|
-
</div>
|
|
4830
|
-
|
|
4831
|
-
<lyra-resizable-grid
|
|
4832
|
-
class="main-layout"
|
|
4833
|
-
id="main-layout"
|
|
4834
|
-
orientation="horizontal"
|
|
4835
|
-
sizes=${this.getGridSizes()}>
|
|
4836
|
-
|
|
4837
|
-
${this.showLeftSidebar ? html`
|
|
4838
|
-
${this.showBottomSidebar ? html`
|
|
4839
|
-
<lyra-resizable-grid
|
|
4840
|
-
id="left-sidebar-split"
|
|
4841
|
-
orientation="vertical"
|
|
4842
|
-
sizes="50%, 50%">
|
|
4843
|
-
<lyra-tabs id="${SIDEBAR_MAIN}"></lyra-tabs>
|
|
4844
|
-
<lyra-tabs id="${SIDEBAR_MAIN_BOTTOM}"></lyra-tabs>
|
|
4845
|
-
</lyra-resizable-grid>
|
|
4846
|
-
` : html`<lyra-tabs id="${SIDEBAR_MAIN}"></lyra-tabs>`}
|
|
4847
|
-
` : nothing}
|
|
4848
|
-
|
|
4849
|
-
${this.showBottomPanel ? html`
|
|
4850
|
-
<lyra-resizable-grid
|
|
4851
|
-
id="editor-area-split"
|
|
4852
|
-
orientation="vertical"
|
|
4853
|
-
sizes="70%, 30%">
|
|
4854
|
-
<lyra-tabs id="${EDITOR_AREA_MAIN}"></lyra-tabs>
|
|
4855
|
-
<lyra-tabs id="${PANEL_BOTTOM}"></lyra-tabs>
|
|
4856
|
-
</lyra-resizable-grid>
|
|
4857
|
-
` : html`<lyra-tabs id="${EDITOR_AREA_MAIN}"></lyra-tabs>`}
|
|
4858
|
-
|
|
4859
|
-
${this.showAuxSidebar ? html`<lyra-tabs id="${SIDEBAR_AUXILIARY}"></lyra-tabs>` : nothing}
|
|
4860
|
-
</lyra-resizable-grid>
|
|
4861
|
-
|
|
4862
|
-
<div class="toolbar-bottom">
|
|
4863
|
-
<lyra-toolbar id=${TOOLBAR_BOTTOM}></lyra-toolbar>
|
|
4864
|
-
<lyra-toolbar id=${TOOLBAR_BOTTOM_CENTER}></lyra-toolbar>
|
|
4865
|
-
<lyra-toolbar class="toolbar-end" id=${TOOLBAR_BOTTOM_END}></lyra-toolbar>
|
|
4866
|
-
</div>
|
|
4867
|
-
`;
|
|
4868
|
-
}
|
|
4869
|
-
};
|
|
4870
|
-
__decorateClass([
|
|
4871
|
-
property({ type: Boolean, attribute: "show-bottom-sidebar" })
|
|
4872
|
-
], LyraStandardLayout.prototype, "showBottomSidebar", 2);
|
|
4873
|
-
__decorateClass([
|
|
4874
|
-
property({ type: Boolean, attribute: "show-bottom-panel" })
|
|
4875
|
-
], LyraStandardLayout.prototype, "showBottomPanel", 2);
|
|
4876
|
-
__decorateClass([
|
|
4877
|
-
property({ type: Boolean, attribute: "show-left-sidebar" })
|
|
4878
|
-
], LyraStandardLayout.prototype, "showLeftSidebar", 2);
|
|
4879
|
-
__decorateClass([
|
|
4880
|
-
property({ type: Boolean, attribute: "show-aux-sidebar" })
|
|
4881
|
-
], LyraStandardLayout.prototype, "showAuxSidebar", 2);
|
|
4882
|
-
LyraStandardLayout = __decorateClass([
|
|
4883
|
-
customElement("lyra-standard-layout")
|
|
4884
|
-
], LyraStandardLayout);
|
|
4885
4676
|
export {
|
|
4886
4677
|
CompositeDirectory as C,
|
|
4887
4678
|
Directory as D,
|
|
@@ -4894,14 +4685,12 @@ export {
|
|
|
4894
4685
|
FileSysDirHandleResource as b,
|
|
4895
4686
|
StringFile as c,
|
|
4896
4687
|
TOPIC_WORKSPACE_CONNECTED as d,
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
4688
|
+
configureFramework as e,
|
|
4689
|
+
editorRegistry as f,
|
|
4690
|
+
getFrameworkConfig as g,
|
|
4691
|
+
i18nLazy as h,
|
|
4901
4692
|
i18n as i,
|
|
4902
|
-
i18nLazy as j,
|
|
4903
|
-
packageInfoService as p,
|
|
4904
4693
|
treeNodeComparator as t,
|
|
4905
4694
|
workspaceService as w
|
|
4906
4695
|
};
|
|
4907
|
-
//# sourceMappingURL=
|
|
4696
|
+
//# sourceMappingURL=config-BiRvaEoO.js.map
|