@acorex-platform/framework-client 0.0.14 → 0.0.18
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/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-common.mjs +25 -211
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-core.mjs +8 -104
- package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +57 -12
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs +494 -561
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +8 -8
- package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1333 -1023
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs +51 -9
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +29 -9
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +48 -15
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +41 -26
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +4 -4
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-workflow.mjs.map +1 -1
- package/package.json +7 -7
- package/types/acorex-platform-framework-client-auth.d.ts +2 -2
- package/types/acorex-platform-framework-client-common.d.ts +12 -125
- package/types/acorex-platform-framework-client-core.d.ts +5 -22
- package/types/acorex-platform-framework-client-layout-builder.d.ts +10 -0
- package/types/acorex-platform-framework-client-layout-components.d.ts +17 -68
- package/types/acorex-platform-framework-client-layout-entity.d.ts +80 -7
- package/types/acorex-platform-framework-client-layout-views.d.ts +11 -6
- package/types/acorex-platform-framework-client-layout-widgets.d.ts +1 -1
- package/types/acorex-platform-framework-client-workflow.d.ts +1 -2
|
@@ -1595,7 +1595,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
1595
1595
|
</div>
|
|
1596
1596
|
</ng-template>
|
|
1597
1597
|
<ng-template #footer></ng-template>
|
|
1598
|
-
`, isInline: true, styles: ["
|
|
1598
|
+
`, isInline: true, styles: ["@layer properties;.axp-widget-column-header--sortable{cursor:pointer}.axp-widget-column-header--sortable:hover .axp-widget-column-header__sort,.axp-widget-column-header--sortable:focus-within .axp-widget-column-header__sort,.axp-widget-column-header--sortable.axp-widget-column-header--sort-active .axp-widget-column-header__sort{opacity:1}.axp-widget-column-header__caption{min-width:0}.axp-widget-column-header__caption--with-sort{flex:1;flex:1 1 0}.axp-widget-column-header__sort{opacity:0;transition:opacity .15s ease}.axp-widget-column-header__sort-priority{--tw-leading: 1;line-height:1}:host-context(.ax-data-table-head-cell.ax-interactive:hover) .axp-widget-column-header__sort,:host-context(.ax-data-table-head-cell.ax-interactive:focus-within) .axp-widget-column-header__sort,:host-context(.ax-data-table-head-cell) .axp-widget-column-header--sort-active .axp-widget-column-header__sort{opacity:1}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1599
1599
|
}
|
|
1600
1600
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPWidgetColumnRendererComponent, decorators: [{
|
|
1601
1601
|
type: Component,
|
|
@@ -1697,7 +1697,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1697
1697
|
provide: AXDataTableColumnComponent,
|
|
1698
1698
|
useExisting: AXPWidgetColumnRendererComponent,
|
|
1699
1699
|
},
|
|
1700
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['caption'], standalone: false, styles: ["
|
|
1700
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['caption'], standalone: false, styles: ["@layer properties;.axp-widget-column-header--sortable{cursor:pointer}.axp-widget-column-header--sortable:hover .axp-widget-column-header__sort,.axp-widget-column-header--sortable:focus-within .axp-widget-column-header__sort,.axp-widget-column-header--sortable.axp-widget-column-header--sort-active .axp-widget-column-header__sort{opacity:1}.axp-widget-column-header__caption{min-width:0}.axp-widget-column-header__caption--with-sort{flex:1;flex:1 1 0}.axp-widget-column-header__sort{opacity:0;transition:opacity .15s ease}.axp-widget-column-header__sort-priority{--tw-leading: 1;line-height:1}:host-context(.ax-data-table-head-cell.ax-interactive:hover) .axp-widget-column-header__sort,:host-context(.ax-data-table-head-cell.ax-interactive:focus-within) .axp-widget-column-header__sort,:host-context(.ax-data-table-head-cell) .axp-widget-column-header--sort-active .axp-widget-column-header__sort{opacity:1}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading: initial}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
1701
1701
|
}], propDecorators: { customExpandIcon: [{
|
|
1702
1702
|
type: Input
|
|
1703
1703
|
}], customCollapseIcon: [{
|
|
@@ -1832,19 +1832,39 @@ class AXPWidgetContainerComponent {
|
|
|
1832
1832
|
syncExternalContext(value) {
|
|
1833
1833
|
const next = cloneDeep(value ?? {});
|
|
1834
1834
|
const current = this.contextService.data();
|
|
1835
|
-
|
|
1835
|
+
const nextRecord = next;
|
|
1836
|
+
if (isEqual(current, nextRecord)) {
|
|
1836
1837
|
return;
|
|
1837
1838
|
}
|
|
1839
|
+
const currentId = current['id'] ?? current['_id'];
|
|
1840
|
+
const nextId = nextRecord['id'] ?? nextRecord['_id'];
|
|
1841
|
+
const sameRecord = hasPersistedRootIdentity(currentId) &&
|
|
1842
|
+
hasPersistedRootIdentity(nextId) &&
|
|
1843
|
+
currentId === nextId;
|
|
1844
|
+
// Create-wizard "create and continue": parent id just appeared. Apply the full payload
|
|
1845
|
+
// (including nested related/merge-detail data) without remounting the step wizard.
|
|
1846
|
+
// Do NOT identity-only patch — that drops nested objects like `person`.
|
|
1847
|
+
const identityJustAppeared = extractPersistedRootIdentityPatch(current, nextRecord);
|
|
1848
|
+
if (identityJustAppeared) {
|
|
1849
|
+
this.contextService.set(nextRecord);
|
|
1850
|
+
void this.settleSavedBaseline();
|
|
1851
|
+
return;
|
|
1852
|
+
}
|
|
1853
|
+
// Dirty form: never clobber in-progress user edits from external context echoes.
|
|
1838
1854
|
if (this.contextService.isSavedCommitted() && this.isFormDirty()) {
|
|
1839
|
-
const identityPatch = extractPersistedRootIdentityPatch(current, next);
|
|
1840
|
-
if (identityPatch) {
|
|
1841
|
-
this.contextService.patch(identityPatch, { updateSaved: true });
|
|
1842
|
-
}
|
|
1843
1855
|
return;
|
|
1844
1856
|
}
|
|
1845
1857
|
if (this.contextService.isSavedCommitted()) {
|
|
1858
|
+
// Same record enrichment (details byKey / dialog echo) — update store, keep widgets mounted
|
|
1859
|
+
// so nested paths like `person.firstName` bind without resetting the page.
|
|
1860
|
+
if (sameRecord) {
|
|
1861
|
+
this.contextService.set(nextRecord);
|
|
1862
|
+
void this.settleSavedBaseline();
|
|
1863
|
+
return;
|
|
1864
|
+
}
|
|
1865
|
+
// Navigating to a different record
|
|
1846
1866
|
this.builderService.clearWidgets();
|
|
1847
|
-
this.contextService.set(
|
|
1867
|
+
this.contextService.set(nextRecord);
|
|
1848
1868
|
void this.settleSavedBaseline();
|
|
1849
1869
|
return;
|
|
1850
1870
|
}
|
|
@@ -1852,7 +1872,7 @@ class AXPWidgetContainerComponent {
|
|
|
1852
1872
|
return;
|
|
1853
1873
|
}
|
|
1854
1874
|
this.builderService.clearWidgets();
|
|
1855
|
-
this.contextService.set(
|
|
1875
|
+
this.contextService.set(nextRecord);
|
|
1856
1876
|
void this.settleSavedBaseline();
|
|
1857
1877
|
}
|
|
1858
1878
|
/** Commits the current data as saved after widget hydration settles. */
|