@praxisui/settings-panel 9.0.31 → 9.0.33
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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-28T21:43:09.330Z",
|
|
4
4
|
"packageName": "@praxisui/settings-panel",
|
|
5
|
-
"packageVersion": "9.0.
|
|
5
|
+
"packageVersion": "9.0.33",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 1,
|
|
@@ -1705,6 +1705,7 @@ class SettingsPanelService {
|
|
|
1705
1705
|
currentRef;
|
|
1706
1706
|
currentPanelInstance;
|
|
1707
1707
|
currentScope;
|
|
1708
|
+
currentContentParentInjector;
|
|
1708
1709
|
childSequence = 0;
|
|
1709
1710
|
i18n = inject(PraxisI18nService);
|
|
1710
1711
|
layerScale = inject(PraxisLayerScaleStyleService);
|
|
@@ -1717,7 +1718,7 @@ class SettingsPanelService {
|
|
|
1717
1718
|
* closed before the new one is created. Future improvements may reuse the
|
|
1718
1719
|
* same overlay when the provided id matches.
|
|
1719
1720
|
*/
|
|
1720
|
-
open(config) {
|
|
1721
|
+
open(config, contentParentInjector = this.injector) {
|
|
1721
1722
|
if (this.currentRef && this.currentPanelInstance) {
|
|
1722
1723
|
const deferredRef = new DeferredSettingsPanelRef();
|
|
1723
1724
|
const currentRef = this.currentRef;
|
|
@@ -1731,36 +1732,38 @@ class SettingsPanelService {
|
|
|
1731
1732
|
return;
|
|
1732
1733
|
}
|
|
1733
1734
|
currentRef.close('cancel');
|
|
1734
|
-
deferredRef.resolve(this.openFresh(config));
|
|
1735
|
+
deferredRef.resolve(this.openFresh(config, contentParentInjector));
|
|
1735
1736
|
});
|
|
1736
1737
|
return deferredRef;
|
|
1737
1738
|
}
|
|
1738
|
-
return this.openFresh(config);
|
|
1739
|
+
return this.openFresh(config, contentParentInjector);
|
|
1739
1740
|
}
|
|
1740
1741
|
/**
|
|
1741
1742
|
* Opens an authoring editor above the current settings panel without
|
|
1742
1743
|
* destroying the parent editor and its draft state.
|
|
1743
1744
|
*/
|
|
1744
|
-
openChild(config
|
|
1745
|
+
openChild(config, contentParentInjector = this.currentContentParentInjector ??
|
|
1746
|
+
this.injector) {
|
|
1745
1747
|
if (!this.currentRef || !this.currentPanelInstance) {
|
|
1746
|
-
return this.openFresh(config);
|
|
1748
|
+
return this.openFresh(config, contentParentInjector);
|
|
1747
1749
|
}
|
|
1748
1750
|
const parent = {
|
|
1749
1751
|
ref: this.currentRef,
|
|
1750
1752
|
panel: this.currentPanelInstance,
|
|
1751
1753
|
scope: this.currentScope ?? 'settings-panel',
|
|
1754
|
+
contentParentInjector: this.currentContentParentInjector ?? this.injector,
|
|
1752
1755
|
};
|
|
1753
1756
|
parent.panel.setInteractionActive(false);
|
|
1754
1757
|
const scope = `settings-panel-child-${++this.childSequence}`;
|
|
1755
1758
|
try {
|
|
1756
|
-
return this.openFresh(config, scope, parent);
|
|
1759
|
+
return this.openFresh(config, contentParentInjector, scope, parent);
|
|
1757
1760
|
}
|
|
1758
1761
|
catch (error) {
|
|
1759
1762
|
parent.panel.setInteractionActive(true);
|
|
1760
1763
|
throw error;
|
|
1761
1764
|
}
|
|
1762
1765
|
}
|
|
1763
|
-
openFresh(config, scope = 'settings-panel', parent) {
|
|
1766
|
+
openFresh(config, contentParentInjector, scope = 'settings-panel', parent) {
|
|
1764
1767
|
this.layerScale.ensureInstalled();
|
|
1765
1768
|
const ref = this.baseSidePanelService.openHost({
|
|
1766
1769
|
component: SettingsPanelComponent,
|
|
@@ -1790,7 +1793,7 @@ class SettingsPanelService {
|
|
|
1790
1793
|
minWidth: resolvedConfig.minWidth,
|
|
1791
1794
|
maxWidth: resolvedConfig.maxWidth,
|
|
1792
1795
|
})
|
|
1793
|
-
: resolvedConfig.width ?? '720px',
|
|
1796
|
+
: (resolvedConfig.width ?? '720px'),
|
|
1794
1797
|
createRef: (overlayRef) => new SettingsPanelRef(overlayRef),
|
|
1795
1798
|
attach: (panelRef, panelServiceRef, resolvedConfig) => {
|
|
1796
1799
|
panelRef.instance.title = config.title?.trim()
|
|
@@ -1808,13 +1811,14 @@ class SettingsPanelService {
|
|
|
1808
1811
|
panelRef.instance.configureDiagnostics(config.diagnostics);
|
|
1809
1812
|
this.currentPanelInstance = panelRef.instance;
|
|
1810
1813
|
this.currentScope = scope;
|
|
1814
|
+
this.currentContentParentInjector = contentParentInjector;
|
|
1811
1815
|
const inputs = config.content.inputs;
|
|
1812
1816
|
const injector = Injector.create({
|
|
1813
1817
|
providers: [
|
|
1814
1818
|
{ provide: SETTINGS_PANEL_DATA, useValue: inputs },
|
|
1815
1819
|
{ provide: SETTINGS_PANEL_REF, useValue: panelServiceRef },
|
|
1816
1820
|
],
|
|
1817
|
-
parent:
|
|
1821
|
+
parent: contentParentInjector,
|
|
1818
1822
|
});
|
|
1819
1823
|
panelRef.instance.attachContent(config.content.component, injector, panelServiceRef, inputs);
|
|
1820
1824
|
panelRef.changeDetectorRef.detectChanges();
|
|
@@ -1828,6 +1832,7 @@ class SettingsPanelService {
|
|
|
1828
1832
|
this.currentRef = parent?.ref;
|
|
1829
1833
|
this.currentPanelInstance = parent?.panel;
|
|
1830
1834
|
this.currentScope = parent?.scope;
|
|
1835
|
+
this.currentContentParentInjector = parent?.contentParentInjector;
|
|
1831
1836
|
parent?.panel.setInteractionActive(true);
|
|
1832
1837
|
}
|
|
1833
1838
|
});
|
|
@@ -1850,7 +1855,7 @@ function providePraxisSettingsPanelBridge() {
|
|
|
1850
1855
|
providePraxisSettingsPanelI18n(),
|
|
1851
1856
|
{
|
|
1852
1857
|
provide: SETTINGS_PANEL_BRIDGE,
|
|
1853
|
-
useFactory: (service) => ({
|
|
1858
|
+
useFactory: (service, injector) => ({
|
|
1854
1859
|
open: (opts) => service.open({
|
|
1855
1860
|
id: opts.id,
|
|
1856
1861
|
title: opts.title,
|
|
@@ -1859,9 +1864,9 @@ function providePraxisSettingsPanelBridge() {
|
|
|
1859
1864
|
component: opts.content.component,
|
|
1860
1865
|
inputs: (opts.content.inputs || undefined),
|
|
1861
1866
|
},
|
|
1862
|
-
}),
|
|
1867
|
+
}, injector),
|
|
1863
1868
|
}),
|
|
1864
|
-
deps: [SettingsPanelService],
|
|
1869
|
+
deps: [SettingsPanelService, Injector],
|
|
1865
1870
|
},
|
|
1866
1871
|
];
|
|
1867
1872
|
}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/settings-panel",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.33",
|
|
4
4
|
"description": "Settings panel for Praxis UI libraries: open editors for configuration at runtime and persist settings.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
8
|
"@angular/cdk": "^21.0.0",
|
|
9
9
|
"@angular/material": "^21.0.0",
|
|
10
|
-
"@praxisui/ai": "^9.0.
|
|
11
|
-
"@praxisui/core": "^9.0.
|
|
12
|
-
"@praxisui/dynamic-fields": "^9.0.
|
|
10
|
+
"@praxisui/ai": "^9.0.33",
|
|
11
|
+
"@praxisui/core": "^9.0.33",
|
|
12
|
+
"@praxisui/dynamic-fields": "^9.0.33",
|
|
13
13
|
"rxjs": "~7.8.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
@@ -335,6 +335,7 @@ declare class SettingsPanelService {
|
|
|
335
335
|
private currentRef?;
|
|
336
336
|
private currentPanelInstance?;
|
|
337
337
|
private currentScope?;
|
|
338
|
+
private currentContentParentInjector?;
|
|
338
339
|
private childSequence;
|
|
339
340
|
private readonly i18n;
|
|
340
341
|
private readonly layerScale;
|
|
@@ -344,12 +345,12 @@ declare class SettingsPanelService {
|
|
|
344
345
|
* closed before the new one is created. Future improvements may reuse the
|
|
345
346
|
* same overlay when the provided id matches.
|
|
346
347
|
*/
|
|
347
|
-
open(config: SettingsPanelConfig): SettingsPanelRef;
|
|
348
|
+
open(config: SettingsPanelConfig, contentParentInjector?: Injector): SettingsPanelRef;
|
|
348
349
|
/**
|
|
349
350
|
* Opens an authoring editor above the current settings panel without
|
|
350
351
|
* destroying the parent editor and its draft state.
|
|
351
352
|
*/
|
|
352
|
-
openChild(config: SettingsPanelConfig): SettingsPanelRef;
|
|
353
|
+
openChild(config: SettingsPanelConfig, contentParentInjector?: Injector): SettingsPanelRef;
|
|
353
354
|
private openFresh;
|
|
354
355
|
close(reason?: SettingsPanelCloseReason): void;
|
|
355
356
|
static ɵfac: i0.ɵɵFactoryDeclaration<SettingsPanelService, never>;
|