@acorex/platform 20.8.13 → 20.8.14
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/{types/acorex-platform-auth.d.ts → auth/index.d.ts} +2 -14
- package/{types/acorex-platform-common.d.ts → common/index.d.ts} +30 -302
- package/{types/acorex-platform-core.d.ts → core/index.d.ts} +44 -188
- package/{types/acorex-platform-domain.d.ts → domain/index.d.ts} +412 -744
- package/fesm2022/acorex-platform-auth.mjs +27 -125
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-Bi1RYif5.mjs → acorex-platform-common-common-settings.provider-DVvuLUfF.mjs} +32 -30
- package/fesm2022/acorex-platform-common-common-settings.provider-DVvuLUfF.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +205 -711
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +127 -420
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +830 -561
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +114 -634
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +877 -3362
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +204 -456
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +10062 -14672
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +171 -413
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +441 -507
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs → acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs → acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs} +76 -21
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs → acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs} +7 -6
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs → acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +111 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +3408 -5611
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -8
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +166 -391
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs +1716 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs → acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs} +23 -16
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs → acorex-platform-themes-default-error-401.component-53VB-PS_.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs → acorex-platform-themes-default-error-404.component-DVF9soT5.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +61 -1784
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs → acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs → acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs} +25 -24
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +65 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +64 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +305 -408
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +100 -359
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/{types/acorex-platform-layout-builder.d.ts → layout/builder/index.d.ts} +38 -160
- package/{types/acorex-platform-layout-components.d.ts → layout/components/index.d.ts} +125 -854
- package/{types/acorex-platform-layout-designer.d.ts → layout/designer/index.d.ts} +18 -96
- package/{types/acorex-platform-layout-entity.d.ts → layout/entity/index.d.ts} +65 -848
- package/{types/acorex-platform-layout-views.d.ts → layout/views/index.d.ts} +47 -80
- package/{types/acorex-platform-layout-widget-core.d.ts → layout/widget-core/index.d.ts} +197 -274
- package/{types/acorex-platform-layout-widgets.d.ts → layout/widgets/index.d.ts} +124 -608
- package/{types/acorex-platform-native.d.ts → native/index.d.ts} +7 -0
- package/package.json +31 -31
- package/runtime/index.d.ts +307 -0
- package/{types/acorex-platform-themes-default.d.ts → themes/default/index.d.ts} +4 -113
- package/{types/acorex-platform-themes-shared.d.ts → themes/shared/index.d.ts} +4 -5
- package/{types/acorex-platform-workflow.d.ts → workflow/index.d.ts} +81 -162
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +0 -116
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +0 -160
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +0 -120
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +0 -94
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +0 -86
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +0 -1
- package/types/acorex-platform-runtime.d.ts +0 -571
- /package/{types/acorex-platform.d.ts → index.d.ts} +0 -0
package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { AXBadgeModule } from '@acorex/components/badge';
|
|
2
|
-
import * as i1 from '@acorex/platform/layout/widget-core';
|
|
3
|
-
import { AXPColumnWidgetComponent, AXPWidgetCoreModule, AXPWidgetCoreService } from '@acorex/platform/layout/widget-core';
|
|
4
|
-
import { AXButtonModule } from '@acorex/components/button';
|
|
5
|
-
import * as i3 from '@acorex/components/popover';
|
|
6
|
-
import { AXPopoverModule } from '@acorex/components/popover';
|
|
7
|
-
import * as i0 from '@angular/core';
|
|
8
|
-
import { viewChild, signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
9
|
-
import { isNil } from 'lodash-es';
|
|
10
|
-
import { AXPContextStore } from '@acorex/platform/core';
|
|
11
|
-
|
|
12
|
-
class AXPRepeaterWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
//#region ---- View Children ----
|
|
16
|
-
this.moreButton = viewChild('moreButton', ...(ngDevMode ? [{ debugName: "moreButton" }] : /* istanbul ignore next */ []));
|
|
17
|
-
this.morePopover = viewChild('morePopover', ...(ngDevMode ? [{ debugName: "morePopover" }] : /* istanbul ignore next */ []));
|
|
18
|
-
//#endregion
|
|
19
|
-
//#region ---- Properties ----
|
|
20
|
-
this.maxVisible = this.options['maxVisible'] ?? 2;
|
|
21
|
-
this.childWidgetNode = this.options['children']?.[0];
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region ---- Signals ----
|
|
24
|
-
this.isMorePopoverOpen = signal(false, ...(ngDevMode ? [{ debugName: "isMorePopoverOpen" }] : /* istanbul ignore next */ []));
|
|
25
|
-
//#endregion
|
|
26
|
-
//#region ---- Node Cache ----
|
|
27
|
-
// Cache nodes by index to prevent recreation on every change detection
|
|
28
|
-
this.nodeCache = new Map();
|
|
29
|
-
this.lastItems = [];
|
|
30
|
-
//#endregion
|
|
31
|
-
//#region ---- Computed Properties ----
|
|
32
|
-
this.displayItems = computed(() => {
|
|
33
|
-
if (isNil(this.rawValue)) {
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
const items = Array.isArray(this.rawValue) ? this.rawValue : [this.rawValue];
|
|
37
|
-
return items.filter((item) => item != null);
|
|
38
|
-
}, ...(ngDevMode ? [{ debugName: "displayItems" }] : /* istanbul ignore next */ []));
|
|
39
|
-
this.allItems = computed(() => this.displayItems(), ...(ngDevMode ? [{ debugName: "allItems" }] : /* istanbul ignore next */ []));
|
|
40
|
-
this.visibleItems = computed(() => {
|
|
41
|
-
const items = this.allItems();
|
|
42
|
-
return items.slice(0, this.maxVisible);
|
|
43
|
-
}, ...(ngDevMode ? [{ debugName: "visibleItems" }] : /* istanbul ignore next */ []));
|
|
44
|
-
this.hasMoreItems = computed(() => {
|
|
45
|
-
return this.allItems().length > this.maxVisible;
|
|
46
|
-
}, ...(ngDevMode ? [{ debugName: "hasMoreItems" }] : /* istanbul ignore next */ []));
|
|
47
|
-
this.remainingItemsCount = computed(() => {
|
|
48
|
-
return this.allItems().length - this.maxVisible;
|
|
49
|
-
}, ...(ngDevMode ? [{ debugName: "remainingItemsCount" }] : /* istanbul ignore next */ []));
|
|
50
|
-
}
|
|
51
|
-
// Clear cache when items change
|
|
52
|
-
clearCacheIfNeeded() {
|
|
53
|
-
const currentItems = this.allItems();
|
|
54
|
-
if (currentItems.length !== this.lastItems.length ||
|
|
55
|
-
currentItems.some((item, idx) => item !== this.lastItems[idx])) {
|
|
56
|
-
this.nodeCache.clear();
|
|
57
|
-
this.lastItems = [...currentItems];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//#endregion
|
|
61
|
-
//#region ---- Public Methods ----
|
|
62
|
-
showMoreItems() {
|
|
63
|
-
this.openMorePopover();
|
|
64
|
-
}
|
|
65
|
-
onMorePopoverOpenChange(event) {
|
|
66
|
-
this.isMorePopoverOpen.set(event);
|
|
67
|
-
}
|
|
68
|
-
getItemNode(item, index) {
|
|
69
|
-
if (!this.childWidgetNode) {
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
|
-
// Clear cache if items changed
|
|
73
|
-
this.clearCacheIfNeeded();
|
|
74
|
-
// Return cached node if exists
|
|
75
|
-
const cachedNode = this.nodeCache.get(index);
|
|
76
|
-
if (cachedNode) {
|
|
77
|
-
return cachedNode;
|
|
78
|
-
}
|
|
79
|
-
const child = this.childWidgetNode;
|
|
80
|
-
const childBindingRaw = child.path ?? child.name;
|
|
81
|
-
const childBinding = childBindingRaw != null && String(childBindingRaw).trim() !== '' ? String(childBindingRaw).trim() : '';
|
|
82
|
-
const baseItemPath = `${this.path}[${index}]`;
|
|
83
|
-
const itemPath = childBinding ? `${baseItemPath}.${childBinding}` : baseItemPath;
|
|
84
|
-
// Create new node and cache it
|
|
85
|
-
const node = {
|
|
86
|
-
...child,
|
|
87
|
-
path: itemPath,
|
|
88
|
-
defaultValue: item,
|
|
89
|
-
options: {
|
|
90
|
-
...child.options,
|
|
91
|
-
rawValue: item,
|
|
92
|
-
rowData: this.rowData,
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
this.nodeCache.set(index, node);
|
|
96
|
-
return node;
|
|
97
|
-
}
|
|
98
|
-
//#endregion
|
|
99
|
-
//#region ---- Private Methods ----
|
|
100
|
-
openMorePopover() {
|
|
101
|
-
if (this.morePopover() && this.moreButton()) {
|
|
102
|
-
this.morePopover().target = this.moreButton().nativeElement;
|
|
103
|
-
this.morePopover().open();
|
|
104
|
-
this.isMorePopoverOpen.set(true);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPRepeaterWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPRepeaterWidgetColumnComponent, isStandalone: true, selector: "axp-repeater-widget-column", inputs: { rawValue: "rawValue", rowData: "rowData" }, providers: [AXPWidgetCoreService, AXPContextStore], viewQueries: [{ propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true, isSignal: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-gap-1 ax-items-center \">\n\n @for (item of visibleItems(); track $index) {\n @if (childWidgetNode) {\n <ng-container axp-widget-renderer [node]=\"getItemNode(item, $index)!\" [mode]=\"'view'\" [parentNode]=\"null\"\n [index]=\"$index\"></ng-container>\n }\n }@empty {\n <span class=\"ax-text-muted\">---</span>\n }\n\n\n @if (hasMoreItems()) {\n <span\n class=\"ax-absolute ax-flex ax-items-center ax-end-0 ax-px-1 ax-cursor-pointer ax-h-full hover:ax-primary-lighter\"\n (click)=\"showMoreItems()\" #moreButton>\n <i class=\"fa-light fa-ellipsis-vertical\"></i>\n </span>\n }\n</div>\n\n<!-- More Items Popover -->\n<ax-popover [openOn]=\"'manual'\" #morePopover (openChange)=\"onMorePopoverOpenChange($event)\">\n <div class=\"ax-lightest-surface ax-border ax-rounded-lg ax-shadow-lg ax-p-4 ax-min-w-[280px]\">\n <div class=\"ax-mb-4 ax-border-b ax-pb-2\">\n <h3 class=\"ax-text-base ax-font-semibold\">All {{ allItems().length }} Items</h3>\n </div>\n <div class=\"ax-max-h-64 ax-flex ax-flex-col ax-gap-3 ax-overflow-auto\" style=\"max-height: max(30dvh,10rem)\">\n @for (item of allItems(); track $index) {\n <div>\n @if (childWidgetNode) {\n <ng-container axp-widget-renderer [node]=\"getItemNode(item, $index)!\" [mode]=\"'view'\"\n [parentNode]=\"null\" [index]=\"$index\"></ng-container>\n }\n </div>\n }\n </div>\n </div>\n</ax-popover>", dependencies: [{ kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "repositionOnScroll", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "directive", type: i1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109
|
-
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPRepeaterWidgetColumnComponent, decorators: [{
|
|
111
|
-
type: Component,
|
|
112
|
-
args: [{ selector: 'axp-repeater-widget-column', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXBadgeModule, AXButtonModule, AXPopoverModule, AXPWidgetCoreModule], providers: [AXPWidgetCoreService, AXPContextStore], inputs: ['rawValue', 'rowData'], template: "<div class=\"ax-flex ax-gap-1 ax-items-center \">\n\n @for (item of visibleItems(); track $index) {\n @if (childWidgetNode) {\n <ng-container axp-widget-renderer [node]=\"getItemNode(item, $index)!\" [mode]=\"'view'\" [parentNode]=\"null\"\n [index]=\"$index\"></ng-container>\n }\n }@empty {\n <span class=\"ax-text-muted\">---</span>\n }\n\n\n @if (hasMoreItems()) {\n <span\n class=\"ax-absolute ax-flex ax-items-center ax-end-0 ax-px-1 ax-cursor-pointer ax-h-full hover:ax-primary-lighter\"\n (click)=\"showMoreItems()\" #moreButton>\n <i class=\"fa-light fa-ellipsis-vertical\"></i>\n </span>\n }\n</div>\n\n<!-- More Items Popover -->\n<ax-popover [openOn]=\"'manual'\" #morePopover (openChange)=\"onMorePopoverOpenChange($event)\">\n <div class=\"ax-lightest-surface ax-border ax-rounded-lg ax-shadow-lg ax-p-4 ax-min-w-[280px]\">\n <div class=\"ax-mb-4 ax-border-b ax-pb-2\">\n <h3 class=\"ax-text-base ax-font-semibold\">All {{ allItems().length }} Items</h3>\n </div>\n <div class=\"ax-max-h-64 ax-flex ax-flex-col ax-gap-3 ax-overflow-auto\" style=\"max-height: max(30dvh,10rem)\">\n @for (item of allItems(); track $index) {\n <div>\n @if (childWidgetNode) {\n <ng-container axp-widget-renderer [node]=\"getItemNode(item, $index)!\" [mode]=\"'view'\"\n [parentNode]=\"null\" [index]=\"$index\"></ng-container>\n }\n </div>\n }\n </div>\n </div>\n</ax-popover>" }]
|
|
113
|
-
}], propDecorators: { moreButton: [{ type: i0.ViewChild, args: ['moreButton', { isSignal: true }] }], morePopover: [{ type: i0.ViewChild, args: ['morePopover', { isSignal: true }] }] } });
|
|
114
|
-
|
|
115
|
-
export { AXPRepeaterWidgetColumnComponent };
|
|
116
|
-
//# sourceMappingURL=acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map
|
package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs","sources":["../../../../libs/platform/layout/widgets/src/lib/widgets/layout/repeater/repeater-widget-column.component.ts","../../../../libs/platform/layout/widgets/src/lib/widgets/layout/repeater/repeater-widget-column.component.html"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPColumnWidgetComponent, AXPWidgetNode, AXPWidgetCoreModule, AXPWidgetCoreService } from '@acorex/platform/layout/widget-core';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, signal, viewChild } from '@angular/core';\n\nimport { isNil } from 'lodash-es';\nimport { AXPContextStore } from '@acorex/platform/core';\n\n@Component({\n selector: 'axp-repeater-widget-column',\n templateUrl: './repeater-widget-column.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule, AXButtonModule, AXPopoverModule, AXPWidgetCoreModule],\n providers: [AXPWidgetCoreService, AXPContextStore],\n inputs: ['rawValue', 'rowData'],\n})\nexport class AXPRepeaterWidgetColumnComponent extends AXPColumnWidgetComponent<any[]> {\n //#region ---- View Children ----\n\n protected moreButton = viewChild<ElementRef>('moreButton');\n protected morePopover = viewChild<AXPopoverComponent>('morePopover');\n\n //#endregion\n\n //#region ---- Properties ----\n\n protected maxVisible: number = this.options['maxVisible'] ?? 2;\n protected childWidgetNode: AXPWidgetNode | undefined = this.options['children']?.[0];\n\n //#endregion\n\n //#region ---- Signals ----\n\n protected isMorePopoverOpen = signal(false);\n\n //#endregion\n\n //#region ---- Node Cache ----\n\n // Cache nodes by index to prevent recreation on every change detection\n private nodeCache = new Map<number, AXPWidgetNode>();\n private lastItems: any[] = [];\n\n // Clear cache when items change\n private clearCacheIfNeeded(): void {\n const currentItems = this.allItems();\n if (currentItems.length !== this.lastItems.length ||\n currentItems.some((item, idx) => item !== this.lastItems[idx])) {\n this.nodeCache.clear();\n this.lastItems = [...currentItems];\n }\n }\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected displayItems = computed(() => {\n if (isNil(this.rawValue)) {\n return [];\n }\n const items = Array.isArray(this.rawValue) ? this.rawValue : [this.rawValue];\n return items.filter((item) => item != null);\n });\n\n protected allItems = computed(() => this.displayItems());\n\n protected visibleItems = computed(() => {\n const items = this.allItems();\n return items.slice(0, this.maxVisible);\n });\n\n protected hasMoreItems = computed(() => {\n return this.allItems().length > this.maxVisible;\n });\n\n protected remainingItemsCount = computed(() => {\n return this.allItems().length - this.maxVisible;\n });\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n protected showMoreItems(): void {\n this.openMorePopover();\n }\n\n protected onMorePopoverOpenChange(event: any): void {\n this.isMorePopoverOpen.set(event);\n }\n\n protected getItemNode(item: any, index: number): AXPWidgetNode | undefined {\n if (!this.childWidgetNode) {\n return undefined;\n }\n\n // Clear cache if items changed\n this.clearCacheIfNeeded();\n\n // Return cached node if exists\n const cachedNode = this.nodeCache.get(index);\n if (cachedNode) {\n return cachedNode;\n }\n\n const child = this.childWidgetNode;\n const childBindingRaw = child.path ?? child.name;\n const childBinding =\n childBindingRaw != null && String(childBindingRaw).trim() !== '' ? String(childBindingRaw).trim() : '';\n const baseItemPath = `${this.path}[${index}]`;\n const itemPath = childBinding ? `${baseItemPath}.${childBinding}` : baseItemPath;\n\n // Create new node and cache it\n const node: AXPWidgetNode = {\n ...child,\n path: itemPath,\n defaultValue: item,\n options: {\n ...child.options,\n rawValue: item,\n rowData: this.rowData,\n },\n };\n\n this.nodeCache.set(index, node);\n return node;\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private openMorePopover(): void {\n if (this.morePopover() && this.moreButton()) {\n this.morePopover()!.target = this.moreButton()!.nativeElement;\n this.morePopover()!.open();\n this.isMorePopoverOpen.set(true);\n }\n }\n\n //#endregion\n}\n\n","<div class=\"ax-flex ax-gap-1 ax-items-center \">\n\n @for (item of visibleItems(); track $index) {\n @if (childWidgetNode) {\n <ng-container axp-widget-renderer [node]=\"getItemNode(item, $index)!\" [mode]=\"'view'\" [parentNode]=\"null\"\n [index]=\"$index\"></ng-container>\n }\n }@empty {\n <span class=\"ax-text-muted\">---</span>\n }\n\n\n @if (hasMoreItems()) {\n <span\n class=\"ax-absolute ax-flex ax-items-center ax-end-0 ax-px-1 ax-cursor-pointer ax-h-full hover:ax-primary-lighter\"\n (click)=\"showMoreItems()\" #moreButton>\n <i class=\"fa-light fa-ellipsis-vertical\"></i>\n </span>\n }\n</div>\n\n<!-- More Items Popover -->\n<ax-popover [openOn]=\"'manual'\" #morePopover (openChange)=\"onMorePopoverOpenChange($event)\">\n <div class=\"ax-lightest-surface ax-border ax-rounded-lg ax-shadow-lg ax-p-4 ax-min-w-[280px]\">\n <div class=\"ax-mb-4 ax-border-b ax-pb-2\">\n <h3 class=\"ax-text-base ax-font-semibold\">All {{ allItems().length }} Items</h3>\n </div>\n <div class=\"ax-max-h-64 ax-flex ax-flex-col ax-gap-3 ax-overflow-auto\" style=\"max-height: max(30dvh,10rem)\">\n @for (item of allItems(); track $index) {\n <div>\n @if (childWidgetNode) {\n <ng-container axp-widget-renderer [node]=\"getItemNode(item, $index)!\" [mode]=\"'view'\"\n [parentNode]=\"null\" [index]=\"$index\"></ng-container>\n }\n </div>\n }\n </div>\n </div>\n</ax-popover>"],"names":["i2"],"mappings":";;;;;;;;;;;AAiBM,MAAO,gCAAiC,SAAQ,wBAA+B,CAAA;AARrF,IAAA,WAAA,GAAA;;;AAWc,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAa,YAAY,iFAAC;AAChD,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAqB,aAAa,kFAAC;;;QAM1D,IAAA,CAAA,UAAU,GAAW,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;QACpD,IAAA,CAAA,eAAe,GAA8B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;;;AAM1E,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,wFAAC;;;;AAOnC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAyB;QAC5C,IAAA,CAAA,SAAS,GAAU,EAAE;;;AAgBnB,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACnC,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;YACb;YACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5E,YAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;AAC/C,QAAA,CAAC,mFAAC;QAEQ,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAE9C,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACnC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;AAC1C,QAAA,CAAC,mFAAC;AAEQ,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YACnC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU;AACnD,QAAA,CAAC,mFAAC;AAEQ,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAK;YAC1C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU;AACnD,QAAA,CAAC,0FAAC;AAgEL,IAAA;;IAlGW,kBAAkB,GAAA;AACtB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE;QACpC,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM;YAC7C,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,CAAC;QACtC;IACJ;;;IAiCU,aAAa,GAAA;QACnB,IAAI,CAAC,eAAe,EAAE;IAC1B;AAEU,IAAA,uBAAuB,CAAC,KAAU,EAAA;AACxC,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC;IAEU,WAAW,CAAC,IAAS,EAAE,KAAa,EAAA;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACvB,YAAA,OAAO,SAAS;QACpB;;QAGA,IAAI,CAAC,kBAAkB,EAAE;;QAGzB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5C,IAAI,UAAU,EAAE;AACZ,YAAA,OAAO,UAAU;QACrB;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe;QAClC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;AAChD,QAAA,MAAM,YAAY,GACd,eAAe,IAAI,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;QAC1G,MAAM,YAAY,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG;AAC7C,QAAA,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,YAAY,CAAA,CAAE,GAAG,YAAY;;AAGhF,QAAA,MAAM,IAAI,GAAkB;AACxB,YAAA,GAAG,KAAK;AACR,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,OAAO,EAAE;gBACL,GAAG,KAAK,CAAC,OAAO;AAChB,gBAAA,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO;AACxB,aAAA;SACJ;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;AAC/B,QAAA,OAAO,IAAI;IACf;;;IAMQ,eAAe,GAAA;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,WAAW,EAAG,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,aAAa;AAC7D,YAAA,IAAI,CAAC,WAAW,EAAG,CAAC,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QACpC;IACJ;8GA3HS,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAH9B,CAAC,oBAAoB,EAAE,eAAe,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdtD,mjDAsCa,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzBC,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,kYAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,gBAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIpE,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAR5C,SAAS;+BACI,4BAA4B,EAAA,eAAA,EAErB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAA,SAAA,EACnE,CAAC,oBAAoB,EAAE,eAAe,CAAC,EAAA,MAAA,EAC1C,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,mjDAAA,EAAA;AAKc,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,YAAY,qEACH,aAAa,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;;;"}
|
package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs","sources":["../../../../libs/platform/layout/widgets/src/lib/widgets/editors/tabular-data/tabular-data-edit-popup.component.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport {\n AXDataTableComponent,\n AXDataTableModule,\n AXRowCommandItem,\n AXRowCommandItemClickEvent,\n} from '@acorex/components/data-table';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPContextChangeEvent, AXPDataGenerator } from '@acorex/platform/core';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPTabularDataColumn } from './tabular-widget.types';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <axp-widgets-container [context]=\"context\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form #form>\n <div class=\"ax-p-4\">\n <ax-data-table\n #grid\n [paging]=\"false\"\n [allowReordering]=\"true\"\n (selectedRowsChange)=\"handleSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n class=\"ax-h-96 ax-overflow-auto\"\n >\n @for (column of columns; track $index) {\n <ax-text-column\n width=\"200px\"\n [caption]=\"column.title\"\n [dataField]=\"column.name\"\n [cellTemplate]=\"cell\"\n [allowResizing]=\"true\"\n ></ax-text-column>\n <ng-template #cell let-item>\n <ng-container\n axp-widget-renderer\n [node]=\"{\n path: item.rowIndex + '.' + column.name,\n type: column.type,\n options: column.options ?? {},\n }\"\n [mode]=\"'edit'\"\n >\n </ng-container>\n </ng-template>\n }\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems.length * 60 + 'px'\"\n [items]=\"getCommandRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n </ax-data-table>\n @if (!disabled) {\n <div class=\"ax-flex ax-justify-end ax-py-4\">\n <ax-button\n [text]=\"(this.context ?? []).length ? 'Start Adding Items' : 'Add Your First Item'\"\n look=\"twotone\"\n [disabled]=\"disabled\"\n (onClick)=\"addRecord()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"onCloseDiscard()\"></ax-button>\n <ax-button\n color=\"primary\"\n [text]=\"'@general:actions.ok.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-form>\n </axp-widgets-container>\n `,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXPWidgetCoreModule,\n AXDataTableModule,\n AXTranslationModule,\n AXFormModule,\n ],\n})\nexport class AXPTabularDataPopupComponent extends AXBasePageComponent {\n context: any;\n columns: AXPTabularDataColumn[];\n disabled: boolean = false;\n defaultRowCount: number = 0;\n contextDiscard: any;\n\n getCommandRowItems: AXRowCommandItem[] = [\n {\n name: 'delete',\n text: \"@general:actions.delete.title\",\n icon: 'fa-light fa-trash ax-text-danger',\n //divided: boolean,\n //disabled: boolean,\n color: 'danger',\n },\n ];\n\n protected override ngOnInit(): void {\n this.columns = this.columns.filter((col) => col.name != null && col.name != '' && col.type != null);\n\n this.columns = this.columns.map((col) => {\n return {\n ...col,\n options: {\n ...(col.options ?? {}),\n validationRules: [\n {\n rule: 'required',\n },\n ],\n },\n };\n });\n this.contextDiscard = cloneDeep(this.context);\n if (this.context == null || this.context?.length == 0) {\n for (let i = 0; i < this.defaultRowCount; i++) {\n this.addRecord();\n }\n }\n }\n\n protected dataSource = new AXDataSource({\n load: async () => {\n this.context = (this.context ?? []).map((x: any) => {\n return {\n ...x,\n id: AXPDataGenerator.uuid(),\n options: {},\n };\n });\n const items = this.context;\n console.log(this.context);\n\n return {\n items: items ?? [],\n total: (items ?? []).length,\n };\n },\n pageSize: 1,\n key: 'gridItem',\n });\n\n protected grid = viewChild<AXDataTableComponent>('grid');\n\n handleContextChange(e: AXPContextChangeEvent) {\n this.context = e.data;\n }\n\n onCloseDiscard() {\n this.close({\n context: this.contextDiscard,\n });\n }\n\n addRecord() {\n console.log(this.columns);\n\n const value = this.context ?? [];\n const newRecord = this.columns?.reduce((acc: { [key: string]: any }, column) => {\n acc[column.name] = ''; // or any default value\n return acc;\n }, {});\n console.log(value);\n this.context = [...value, newRecord];\n this.grid()?.refresh();\n }\n\n handleSelectionChange(e: any) {\n console.log(e);\n }\n\n protected async handleRowCommandClick(e: AXRowCommandItemClickEvent) {\n if (e.name == 'delete') {\n this.context = this.context.filter((item: any) => item.id !== e.data.id);\n this.grid()?.refresh();\n }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n console.log(formResult.rules);\n\n if (formResult.result) {\n this.close({\n context: this.context,\n });\n }\n }\n}\n"],"names":["i1","i2","i3","i4","i5","i6","i7"],"mappings":"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"}
|
package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs","sources":["../../../../libs/platform/layout/widgets/src/lib/widgets/editors/tabular-data/tabular-data-view-popup.component.ts"],"sourcesContent":["import { AXDataSource } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXPTabularDataColumn } from './tabular-widget.types';\n\n@Component({\n selector: 'axp-tabular-data-view-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ax-data-table class=\"ax-m-4\" #grid [paging]=\"false\" [dataSource]=\"dataSource\">\n @for (column of columns; track $index) {\n <ax-text-column [dataField]=\"column.name\" [caption]=\"column.title\"></ax-text-column>\n }\n </ax-data-table>\n <ax-footer\n ><div class=\"ax-flex ax-w-full ax-justify-end\">\n <ax-button color=\"primary\" [text]=\"'Okay'\" (onClick)=\"onClose()\"></ax-button></div\n ></ax-footer>\n `,\n imports: [AXDecoratorModule, AXButtonModule, AXDataTableModule],\n})\nexport class AXPTabularDataPopupComponent extends AXBasePageComponent {\n items: [];\n columns: AXPTabularDataColumn[];\n\n protected dataSource = new AXDataSource({\n load: async () => {\n const items = this.items;\n return {\n items: items,\n total: items.length,\n };\n },\n pageSize: 1,\n key: 'gridItem',\n });\n\n onClose() {\n this.close();\n }\n}\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs","sources":["../../../../libs/platform/layout/widgets/src/lib/widgets/layout/text-block/text-block-widget-designer.component.ts"],"sourcesContent":["import { AXPLayoutBaseWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'axp-text-block-widget-designer',\n template: ` <div [innerHTML]=\"innerContent()\"></div> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPTextBlockWidgetDesignerComponent extends AXPLayoutBaseWidgetComponent {\n sanitizer = inject(DomSanitizer);\n\n protected content = computed<string>(() => this.options()['content'] as string);\n\n protected innerContent = computed(() => this.sanitizer.bypassSecurityTrustHtml(this.content()));\n\n @HostBinding('class')\n private get __class(): any {\n return {\n 'ax-block': true,\n };\n }\n}\n"],"names":[],"mappings":";;;;;AAUM,MAAO,mCAAoC,SAAQ,4BAA4B,CAAA;AALrF,IAAA,WAAA,GAAA;;AAME,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAEtB,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAS,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAW,8EAAC;AAErE,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,mFAAC;AAQhG,IAAA;AANC,IAAA,IACY,OAAO,GAAA;QACjB,OAAO;AACL,YAAA,UAAU,EAAE,IAAI;SACjB;IACH;8GAZW,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,oKAHpC,CAAA,0CAAA,CAA4C,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG3C,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE,CAAA,0CAAA,CAA4C;oBACtD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;sBAQE,WAAW;uBAAC,OAAO;;;;;"}
|
package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import * as i3 from '@acorex/components/button';
|
|
2
|
-
import { AXButtonModule } from '@acorex/components/button';
|
|
3
|
-
import * as i2 from '@acorex/components/decorators';
|
|
4
|
-
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
5
|
-
import { AXDialogModule } from '@acorex/components/dialog';
|
|
6
|
-
import * as i6 from '@acorex/components/dropdown-button';
|
|
7
|
-
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
|
8
|
-
import * as i1 from '@acorex/components/form';
|
|
9
|
-
import { AXFormModule } from '@acorex/components/form';
|
|
10
|
-
import * as i5 from '@acorex/components/label';
|
|
11
|
-
import { AXLabelModule } from '@acorex/components/label';
|
|
12
|
-
import * as i4 from '@acorex/components/loading';
|
|
13
|
-
import { AXLoadingModule } from '@acorex/components/loading';
|
|
14
|
-
import { AXBasePageComponent } from '@acorex/components/page';
|
|
15
|
-
import { AXTabsModule } from '@acorex/components/tabs';
|
|
16
|
-
import { AXTooltipModule } from '@acorex/components/tooltip';
|
|
17
|
-
import * as i1$2 from '@angular/common';
|
|
18
|
-
import { CommonModule } from '@angular/common';
|
|
19
|
-
import * as i0 from '@angular/core';
|
|
20
|
-
import { viewChild, inject, signal, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
21
|
-
import { FormsModule } from '@angular/forms';
|
|
22
|
-
import { AXValidationModule } from '@acorex/core/validation';
|
|
23
|
-
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
24
|
-
import { AXToastService } from '@acorex/components/toast';
|
|
25
|
-
import * as i10 from '@acorex/core/translation';
|
|
26
|
-
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
|
27
|
-
import * as i1$1 from '@acorex/platform/core';
|
|
28
|
-
import { AXPExpressionEvaluatorService, AXPComponentSlotModule, AXPGridLayoutDirective, AXPContextStore } from '@acorex/platform/core';
|
|
29
|
-
import * as i7 from '@acorex/platform/layout/widget-core';
|
|
30
|
-
import { AXPWidgetContainerComponent, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
|
|
31
|
-
import { AXPWidgetsModule } from '@acorex/platform/layout/widgets';
|
|
32
|
-
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
33
|
-
import { get } from 'lodash-es';
|
|
34
|
-
|
|
35
|
-
class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {
|
|
36
|
-
constructor() {
|
|
37
|
-
super(...arguments);
|
|
38
|
-
this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
|
|
39
|
-
this.evaluator = inject(AXPExpressionEvaluatorService);
|
|
40
|
-
this.toastService = inject(AXToastService);
|
|
41
|
-
this.translationService = inject(AXTranslationService);
|
|
42
|
-
this.workflow = inject(AXPWorkflowService);
|
|
43
|
-
this.hiddenProperties = signal([], ...(ngDevMode ? [{ debugName: "hiddenProperties" }] : /* istanbul ignore next */ []));
|
|
44
|
-
this.#visibilityEffect = effect(async () => {
|
|
45
|
-
const formContext = this.vm.context();
|
|
46
|
-
const allElements = this.vm.sections().flatMap((section) => section.elements());
|
|
47
|
-
const visibilityConfig = allElements.map((element) => ({
|
|
48
|
-
name: element.name(),
|
|
49
|
-
visible: element.isVisible(),
|
|
50
|
-
}));
|
|
51
|
-
const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {
|
|
52
|
-
context: {
|
|
53
|
-
eval: (path) => get(formContext, path),
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
const hiddenElementNames = evaluatedElements
|
|
57
|
-
.filter((element) => element.visible == false)
|
|
58
|
-
.map((element) => element.name);
|
|
59
|
-
this.hiddenProperties.set(hiddenElementNames);
|
|
60
|
-
}, ...(ngDevMode ? [{ debugName: "#visibilityEffect" }] : /* istanbul ignore next */ []));
|
|
61
|
-
}
|
|
62
|
-
ngAfterViewInit() {
|
|
63
|
-
this.vm.builder = this.container().builderService;
|
|
64
|
-
}
|
|
65
|
-
#visibilityEffect;
|
|
66
|
-
handleCloseClick() {
|
|
67
|
-
this.close();
|
|
68
|
-
}
|
|
69
|
-
async handleBackClick() {
|
|
70
|
-
//await this.vm.executeCommand('back');
|
|
71
|
-
}
|
|
72
|
-
async handleNextClick(form) {
|
|
73
|
-
// const formResult = await form.validate();
|
|
74
|
-
// if (formResult.result) {
|
|
75
|
-
// await this.vm.executeCommand('next');
|
|
76
|
-
// }
|
|
77
|
-
}
|
|
78
|
-
async handleSaveClick(form) {
|
|
79
|
-
const formResult = await form.validate();
|
|
80
|
-
if (formResult.result) {
|
|
81
|
-
try {
|
|
82
|
-
const record = await this.vm.save();
|
|
83
|
-
this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
const errorMessage = error?.message ||
|
|
87
|
-
error?.toString() ||
|
|
88
|
-
(await this.translationService.translateAsync('@general:messages.generic.error.description'));
|
|
89
|
-
// this.toastService.show({
|
|
90
|
-
// color: 'danger',
|
|
91
|
-
// title: await this.translationService.translateAsync('@general:messages.generic.error.title'),
|
|
92
|
-
// content: errorMessage,
|
|
93
|
-
// location: 'bottom-center',
|
|
94
|
-
// closeButton: true,
|
|
95
|
-
// timeOut: 5000,
|
|
96
|
-
// timeOutProgress: true,
|
|
97
|
-
// });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
async handleSaveAndNewClick(form) {
|
|
102
|
-
const formResult = await form.validate();
|
|
103
|
-
if (formResult.result) {
|
|
104
|
-
try {
|
|
105
|
-
const record = await this.vm.save();
|
|
106
|
-
this.close({ save: true, recordId: record?.id, item: record, redirect: false });
|
|
107
|
-
await this.vm.createNewOne();
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
const errorMessage = error?.message ||
|
|
111
|
-
error?.toString() ||
|
|
112
|
-
(await this.translationService.translateAsync('@general:messages.generic.error.description'));
|
|
113
|
-
// this.toastService.show({
|
|
114
|
-
// color: 'danger',
|
|
115
|
-
// title: await this.translationService.translateAsync('@general:messages.generic.error.title'),
|
|
116
|
-
// content: errorMessage,
|
|
117
|
-
// location: 'bottom-center',
|
|
118
|
-
// closeButton: true,
|
|
119
|
-
// timeOut: 5000,
|
|
120
|
-
// timeOutProgress: true,
|
|
121
|
-
// });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
async handleContextChange(e) {
|
|
126
|
-
this.vm.context.set(e.data);
|
|
127
|
-
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntityMasterCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPEntityMasterCreateViewComponent, isStandalone: true, selector: "ng-component", providers: [AXPContextStore], viewQueries: [{ propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-component-slot name=\"entity-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form\n id=\"axp-entity-form-create\"\n class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n #form\n [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\"\n >\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field\n [attr.id]=\"'axp-field-' + attr.name()\"\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\"\n >\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n \n }\n </ax-label>\n }\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n <ax-footer id=\"axp-entity-footer-create\">\n <ax-prefix>\n <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-button\n id=\"axp-btn-cancel\"\n look=\"solid\"\n [color]=\"'default'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCloseClick()\"\n >\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button\n id=\"axp-btn-save\"\n [disabled]=\"vm.isInProgress()\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n look=\"solid\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item\n id=\"axp-btn-save-and-new\"\n [text]=\"('@general:actions.save-and-new.title' | translate | async) ?? ''\"\n (onClick)=\"handleSaveAndNewClick(form)\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button\n id=\"axp-btn-save\"\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i6.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type:
|
|
130
|
-
//
|
|
131
|
-
AXPWidgetCoreModule }, { kind: "component", type: i7.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[axp-grid-layout]", inputs: ["axp-grid-layout"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
132
|
-
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntityMasterCreateViewComponent, decorators: [{
|
|
134
|
-
type: Component,
|
|
135
|
-
args: [{ imports: [
|
|
136
|
-
CommonModule,
|
|
137
|
-
FormsModule,
|
|
138
|
-
AXFormModule,
|
|
139
|
-
AXDecoratorModule,
|
|
140
|
-
CommonModule,
|
|
141
|
-
AXButtonModule,
|
|
142
|
-
AXDialogModule,
|
|
143
|
-
AXLoadingModule,
|
|
144
|
-
AXTabsModule,
|
|
145
|
-
AXTooltipModule,
|
|
146
|
-
AXValidationModule,
|
|
147
|
-
AXLabelModule,
|
|
148
|
-
AXDropdownModule,
|
|
149
|
-
AXDropdownButtonModule,
|
|
150
|
-
AXTranslationModule,
|
|
151
|
-
//
|
|
152
|
-
AXPWidgetCoreModule,
|
|
153
|
-
AXPComponentSlotModule,
|
|
154
|
-
AXPWidgetsModule,
|
|
155
|
-
AXPGridLayoutDirective,
|
|
156
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXPContextStore], template: "<axp-component-slot name=\"entity-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form\n id=\"axp-entity-form-create\"\n class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n #form\n [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\"\n >\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field\n [attr.id]=\"'axp-field-' + attr.name()\"\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\"\n >\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n \n }\n </ax-label>\n }\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n <ax-footer id=\"axp-entity-footer-create\">\n <ax-prefix>\n <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-button\n id=\"axp-btn-cancel\"\n look=\"solid\"\n [color]=\"'default'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCloseClick()\"\n >\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button\n id=\"axp-btn-save\"\n [disabled]=\"vm.isInProgress()\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n look=\"solid\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item\n id=\"axp-btn-save-and-new\"\n [text]=\"('@general:actions.save-and-new.title' | translate | async) ?? ''\"\n (onClick)=\"handleSaveAndNewClick(form)\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button\n id=\"axp-btn-save\"\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n" }]
|
|
157
|
-
}], propDecorators: { container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
|
|
158
|
-
|
|
159
|
-
export { AXPEntityMasterCreateViewComponent };
|
|
160
|
-
//# sourceMappingURL=acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map
|
package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXValidationModule } from '@acorex/core/validation';\n\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPComponentSlotModule,\n AXPContextChangeEvent,\n AXPContextStore,\n AXPExpressionEvaluatorService,\n AXPGridLayoutDirective,\n} from '@acorex/platform/core';\nimport { AXPEntityMasterCreateViewModel } from '@acorex/platform/layout/entity';\nimport {\n AXPWidgetContainerComponent,\n AXPWidgetCoreModule,\n} from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { get } from 'lodash-es';\n\n@Component({\n templateUrl: './entity-master-create-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n //\n AXPWidgetCoreModule,\n AXPComponentSlotModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPContextStore],\n})\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterCreateViewModel;\n\n private container = viewChild(AXPWidgetContainerComponent);\n private evaluator = inject(AXPExpressionEvaluatorService);\n private toastService = inject(AXToastService);\n private translationService = inject(AXTranslationService);\n\n protected workflow = inject(AXPWorkflowService);\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n protected hiddenProperties = signal<string[]>([]);\n\n #visibilityEffect = effect(async () => {\n const formContext = this.vm.context();\n const allElements = this.vm.sections().flatMap((section) => section.elements());\n const visibilityConfig = allElements.map((element) => ({\n name: element.name(),\n visible: element.isVisible(),\n }));\n\n const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {\n context: {\n eval: (path: string) => get(formContext, path),\n },\n });\n\n const hiddenElementNames = evaluatedElements\n .filter((element: { name: string; visible: boolean }) => element.visible == false)\n .map((element: { name: string; visible: boolean }) => element.name);\n this.hiddenProperties.set(hiddenElementNames);\n });\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleBackClick() {\n //await this.vm.executeCommand('back');\n }\n\n protected async handleNextClick(form: AXFormComponent) {\n // const formResult = await form.validate();\n // if (formResult.result) {\n // await this.vm.executeCommand('next');\n // }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n\n this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });\n } catch (error: any) {\n const errorMessage =\n error?.message ||\n error?.toString() ||\n (await this.translationService.translateAsync('@general:messages.generic.error.description'));\n // this.toastService.show({\n // color: 'danger',\n // title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n // content: errorMessage,\n // location: 'bottom-center',\n // closeButton: true,\n // timeOut: 5000,\n // timeOutProgress: true,\n // });\n }\n }\n }\n\n protected async handleSaveAndNewClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n this.close({ save: true, recordId: record?.id, item: record, redirect: false });\n await this.vm.createNewOne();\n } catch (error: any) {\n const errorMessage =\n error?.message ||\n error?.toString() ||\n (await this.translationService.translateAsync('@general:messages.generic.error.description'));\n // this.toastService.show({\n // color: 'danger',\n // title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n // content: errorMessage,\n // location: 'bottom-center',\n // closeButton: true,\n // timeOut: 5000,\n // timeOutProgress: true,\n // });\n }\n }\n }\n\n protected async handleContextChange(e: AXPContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n}\n","<axp-component-slot name=\"entity-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form\n id=\"axp-entity-form-create\"\n class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n #form\n [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\"\n >\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field\n [attr.id]=\"'axp-field-' + attr.name()\"\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\"\n >\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n \n }\n </ax-label>\n }\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n <ax-footer id=\"axp-entity-footer-create\">\n <ax-prefix>\n <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-button\n id=\"axp-btn-cancel\"\n look=\"solid\"\n [color]=\"'default'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCloseClick()\"\n >\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button\n id=\"axp-btn-save\"\n [disabled]=\"vm.isInProgress()\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n look=\"solid\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item\n id=\"axp-btn-save-and-new\"\n [text]=\"('@general:actions.save-and-new.title' | translate | async) ?? ''\"\n (onClick)=\"handleSaveAndNewClick(form)\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button\n id=\"axp-btn-save\"\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n"],"names":["i8","i9"],"mappings":"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"}
|
package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import * as i3 from '@acorex/components/button';
|
|
2
|
-
import { AXButtonModule } from '@acorex/components/button';
|
|
3
|
-
import * as i2 from '@acorex/components/decorators';
|
|
4
|
-
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
5
|
-
import { AXDialogModule } from '@acorex/components/dialog';
|
|
6
|
-
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
7
|
-
import * as i6 from '@acorex/components/dropdown-button';
|
|
8
|
-
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
|
9
|
-
import * as i1 from '@acorex/components/form';
|
|
10
|
-
import { AXFormModule } from '@acorex/components/form';
|
|
11
|
-
import * as i5 from '@acorex/components/label';
|
|
12
|
-
import { AXLabelModule } from '@acorex/components/label';
|
|
13
|
-
import * as i4 from '@acorex/components/loading';
|
|
14
|
-
import { AXLoadingModule } from '@acorex/components/loading';
|
|
15
|
-
import { AXBasePageComponent } from '@acorex/components/page';
|
|
16
|
-
import { AXTabsModule } from '@acorex/components/tabs';
|
|
17
|
-
import { AXTooltipModule } from '@acorex/components/tooltip';
|
|
18
|
-
import * as i10 from '@acorex/core/translation';
|
|
19
|
-
import { AXTranslationModule } from '@acorex/core/translation';
|
|
20
|
-
import { AXValidationModule } from '@acorex/core/validation';
|
|
21
|
-
import * as i1$1 from '@acorex/platform/core';
|
|
22
|
-
import { AXPExpressionEvaluatorService, AXPGridLayoutDirective, AXPComponentSlotModule, AXPContextStore } from '@acorex/platform/core';
|
|
23
|
-
import * as i7 from '@acorex/platform/layout/widget-core';
|
|
24
|
-
import { AXPWidgetContainerComponent, AXPPageStatus, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
|
|
25
|
-
import { AXPWidgetsModule } from '@acorex/platform/layout/widgets';
|
|
26
|
-
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
27
|
-
import * as i1$2 from '@angular/common';
|
|
28
|
-
import { CommonModule } from '@angular/common';
|
|
29
|
-
import * as i0 from '@angular/core';
|
|
30
|
-
import { inject, viewChild, signal, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
31
|
-
import { FormsModule } from '@angular/forms';
|
|
32
|
-
import { get } from 'lodash-es';
|
|
33
|
-
|
|
34
|
-
class AXPEntityMasterModifyViewComponent extends AXBasePageComponent {
|
|
35
|
-
constructor() {
|
|
36
|
-
super(...arguments);
|
|
37
|
-
this.workflow = inject(AXPWorkflowService);
|
|
38
|
-
this.evaluator = inject(AXPExpressionEvaluatorService);
|
|
39
|
-
this.container = viewChild(AXPWidgetContainerComponent, ...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
|
|
40
|
-
this.hiddenProperties = signal([], ...(ngDevMode ? [{ debugName: "hiddenProperties" }] : /* istanbul ignore next */ []));
|
|
41
|
-
this.#visibilityEffect = effect(async () => {
|
|
42
|
-
const formContext = this.vm.context();
|
|
43
|
-
const allElements = this.vm.sections().flatMap((section) => section.elements());
|
|
44
|
-
const visibilityConfig = allElements.map((element) => ({
|
|
45
|
-
name: element.name(),
|
|
46
|
-
visible: element.isVisible(),
|
|
47
|
-
}));
|
|
48
|
-
const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {
|
|
49
|
-
context: {
|
|
50
|
-
eval: (path) => get(formContext, path),
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
const hiddenElementNames = evaluatedElements
|
|
54
|
-
.filter((element) => element.visible == false)
|
|
55
|
-
.map((element) => element.name);
|
|
56
|
-
this.hiddenProperties.set(hiddenElementNames);
|
|
57
|
-
}, ...(ngDevMode ? [{ debugName: "#visibilityEffect" }] : /* istanbul ignore next */ []));
|
|
58
|
-
}
|
|
59
|
-
#visibilityEffect;
|
|
60
|
-
ngAfterViewInit() {
|
|
61
|
-
this.vm.builder = this.container().builderService;
|
|
62
|
-
}
|
|
63
|
-
handleCloseClick() {
|
|
64
|
-
this.close();
|
|
65
|
-
}
|
|
66
|
-
async handleSaveClick(form) {
|
|
67
|
-
const formResult = await form.validate();
|
|
68
|
-
if (formResult.result) {
|
|
69
|
-
try {
|
|
70
|
-
await this.vm.save();
|
|
71
|
-
this.close({ result: true, context: this.vm.context() });
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
this.vm.builder.setStatus(AXPPageStatus.Error);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
async handleSectionDiscard(form) {
|
|
79
|
-
this.close({ result: false });
|
|
80
|
-
}
|
|
81
|
-
async handleSectionReset(form) {
|
|
82
|
-
this.vm.reset();
|
|
83
|
-
}
|
|
84
|
-
async handleContextChange(e) {
|
|
85
|
-
this.vm.context.set(e.data);
|
|
86
|
-
}
|
|
87
|
-
ngOnDestroy() { }
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntityMasterModifyViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPEntityMasterModifyViewComponent, isStandalone: true, selector: "ng-component", providers: [AXPContextStore], viewQueries: [{ propertyName: "container", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n \n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i1.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i6.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type:
|
|
90
|
-
//
|
|
91
|
-
AXPWidgetCoreModule }, { kind: "component", type: i7.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i7.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[axp-grid-layout]", inputs: ["axp-grid-layout"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPComponentSlotModule }, { kind: "directive", type: i1$1.AXPComponentSlotDirective, selector: "axp-component-slot", inputs: ["name", "host", "context"], exportAs: ["slot"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPEntityMasterModifyViewComponent, decorators: [{
|
|
94
|
-
type: Component,
|
|
95
|
-
args: [{ imports: [
|
|
96
|
-
CommonModule,
|
|
97
|
-
FormsModule,
|
|
98
|
-
AXFormModule,
|
|
99
|
-
AXDecoratorModule,
|
|
100
|
-
CommonModule,
|
|
101
|
-
AXButtonModule,
|
|
102
|
-
AXDialogModule,
|
|
103
|
-
AXLoadingModule,
|
|
104
|
-
AXTabsModule,
|
|
105
|
-
AXTooltipModule,
|
|
106
|
-
AXValidationModule,
|
|
107
|
-
AXLabelModule,
|
|
108
|
-
AXDropdownModule,
|
|
109
|
-
AXDropdownButtonModule,
|
|
110
|
-
//
|
|
111
|
-
AXPWidgetCoreModule,
|
|
112
|
-
AXPWidgetsModule,
|
|
113
|
-
AXPGridLayoutDirective,
|
|
114
|
-
AXTranslationModule,
|
|
115
|
-
AXPComponentSlotModule,
|
|
116
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXPContextStore], template: "<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n \n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n @if (attr.description()) {\n <p class=\"ax-text-sm ax-mt-1 ax-font-normal ax-opacity-75\">\n {{ attr.description() | translate | async }}\n </p>\n }\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>" }]
|
|
117
|
-
}], propDecorators: { container: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPWidgetContainerComponent), { isSignal: true }] }] } });
|
|
118
|
-
|
|
119
|
-
export { AXPEntityMasterModifyViewComponent };
|
|
120
|
-
//# sourceMappingURL=acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map
|