@masterteam/properties 0.0.22 → 0.0.24
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.
|
@@ -547,8 +547,8 @@ let PropertiesState = class PropertiesState {
|
|
|
547
547
|
defaultViewType: action.viewType,
|
|
548
548
|
});
|
|
549
549
|
}
|
|
550
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
551
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
550
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
551
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesState });
|
|
552
552
|
};
|
|
553
553
|
__decorate([
|
|
554
554
|
Action(GetProperties)
|
|
@@ -658,7 +658,7 @@ PropertiesState = __decorate([
|
|
|
658
658
|
defaults: DEFAULT_STATE,
|
|
659
659
|
})
|
|
660
660
|
], PropertiesState);
|
|
661
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
661
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesState, decorators: [{
|
|
662
662
|
type: Injectable
|
|
663
663
|
}], propDecorators: { getAll: [], getOne: [], getLookups: [], getGroups: [], getConfigAsType: [], getCountries: [], testApiConfiguration: [], resetApiConfiguration: [], getPropertiesForConfigType: [], resetConfigProperties: [], resetConfigScopes: [], resetSelectedProperty: [], setModuleInfo: [], create: [], update: [], delete: [], SetPropertyTypes: [], setBreadcrumb: [], setDefaultViewType: [] } });
|
|
664
664
|
|
|
@@ -676,8 +676,8 @@ class PropertiesFacade {
|
|
|
676
676
|
apiProperties = select(PropertiesState.apiProperties);
|
|
677
677
|
breadcrumbItems = select(PropertiesState.breadcrumbItems);
|
|
678
678
|
defaultViewType = select(PropertiesState.defaultViewType);
|
|
679
|
-
systemProperties = computed(() => this.list().filter((property) => Boolean(property.isSystem)),
|
|
680
|
-
customProperties = computed(() => this.list().filter((property) => !Boolean(property.isSystem)),
|
|
679
|
+
systemProperties = computed(() => this.list().filter((property) => Boolean(property.isSystem)), ...(ngDevMode ? [{ debugName: "systemProperties" }] : []));
|
|
680
|
+
customProperties = computed(() => this.list().filter((property) => !Boolean(property.isSystem)), ...(ngDevMode ? [{ debugName: "customProperties" }] : []));
|
|
681
681
|
isLoading(loadingName) {
|
|
682
682
|
const loadingFactory = select(PropertiesState.isLoadingFactory);
|
|
683
683
|
return computed(() => loadingFactory()(loadingName));
|
|
@@ -739,10 +739,10 @@ class PropertiesFacade {
|
|
|
739
739
|
setDefaultViewType(viewType) {
|
|
740
740
|
return this.store.dispatch(new SetDefaultViewType(viewType));
|
|
741
741
|
}
|
|
742
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
743
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
742
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
743
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesFacade, providedIn: 'root' });
|
|
744
744
|
}
|
|
745
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
745
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesFacade, decorators: [{
|
|
746
746
|
type: Injectable,
|
|
747
747
|
args: [{
|
|
748
748
|
providedIn: 'root',
|
|
@@ -764,7 +764,7 @@ class PropertiesList {
|
|
|
764
764
|
route = inject(ActivatedRoute);
|
|
765
765
|
transloco = inject(TranslocoService);
|
|
766
766
|
defaultTab = 'all';
|
|
767
|
-
tab = input(
|
|
767
|
+
tab = input(...(ngDevMode ? [undefined, { debugName: "tab" }] : []));
|
|
768
768
|
tabs = signal([
|
|
769
769
|
{
|
|
770
770
|
label: this.transloco.translate('properties.list.tabAll'),
|
|
@@ -778,13 +778,13 @@ class PropertiesList {
|
|
|
778
778
|
label: this.transloco.translate('properties.list.tabCustom'),
|
|
779
779
|
value: 'custom',
|
|
780
780
|
},
|
|
781
|
-
],
|
|
781
|
+
], ...(ngDevMode ? [{ debugName: "tabs" }] : []));
|
|
782
782
|
activeTab = linkedSignal(() => {
|
|
783
783
|
return this.tab() || this.defaultTab;
|
|
784
|
-
},
|
|
784
|
+
}, ...(ngDevMode ? [{ debugName: "activeTab" }] : []));
|
|
785
785
|
tableColumns = signal([
|
|
786
786
|
{
|
|
787
|
-
key: '
|
|
787
|
+
key: 'name',
|
|
788
788
|
label: this.transloco.translate('properties.list.columnName'),
|
|
789
789
|
},
|
|
790
790
|
{
|
|
@@ -796,7 +796,7 @@ class PropertiesList {
|
|
|
796
796
|
label: this.transloco.translate('properties.list.columnRequired'),
|
|
797
797
|
type: 'boolean',
|
|
798
798
|
},
|
|
799
|
-
],
|
|
799
|
+
], ...(ngDevMode ? [{ debugName: "tableColumns" }] : []));
|
|
800
800
|
propertyTypes = signal([
|
|
801
801
|
{
|
|
802
802
|
label: this.transloco.translate('properties.list.typeShortText'),
|
|
@@ -834,7 +834,7 @@ class PropertiesList {
|
|
|
834
834
|
value: 'Lookup',
|
|
835
835
|
color: 'lime',
|
|
836
836
|
},
|
|
837
|
-
],
|
|
837
|
+
], ...(ngDevMode ? [{ debugName: "propertyTypes" }] : []));
|
|
838
838
|
tableActions = computed(() => {
|
|
839
839
|
if (this.tableData().length === 0 || this.activeTab() === 'system') {
|
|
840
840
|
return [];
|
|
@@ -849,8 +849,8 @@ class PropertiesList {
|
|
|
849
849
|
},
|
|
850
850
|
},
|
|
851
851
|
];
|
|
852
|
-
},
|
|
853
|
-
deletingRowIds = signal([],
|
|
852
|
+
}, ...(ngDevMode ? [{ debugName: "tableActions" }] : []));
|
|
853
|
+
deletingRowIds = signal([], ...(ngDevMode ? [{ debugName: "deletingRowIds" }] : []));
|
|
854
854
|
rowActions = signal([
|
|
855
855
|
{
|
|
856
856
|
icon: 'custom.pencil',
|
|
@@ -871,7 +871,7 @@ class PropertiesList {
|
|
|
871
871
|
},
|
|
872
872
|
loading: (row) => this.deletingRowIds().includes(row.id),
|
|
873
873
|
},
|
|
874
|
-
],
|
|
874
|
+
], ...(ngDevMode ? [{ debugName: "rowActions" }] : []));
|
|
875
875
|
loading = this.facade.isLoading('getAll');
|
|
876
876
|
tableData = computed(() => {
|
|
877
877
|
const tab = this.activeTab();
|
|
@@ -885,7 +885,7 @@ class PropertiesList {
|
|
|
885
885
|
default:
|
|
886
886
|
return allProperties;
|
|
887
887
|
}
|
|
888
|
-
},
|
|
888
|
+
}, ...(ngDevMode ? [{ debugName: "tableData" }] : []));
|
|
889
889
|
breadcrumbItems = this.facade.breadcrumbItems;
|
|
890
890
|
editRow(row) {
|
|
891
891
|
if (!row?.id) {
|
|
@@ -933,10 +933,10 @@ class PropertiesList {
|
|
|
933
933
|
queryParamsHandling: 'merge',
|
|
934
934
|
});
|
|
935
935
|
}
|
|
936
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
937
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: PropertiesList, isStandalone: true, selector: "mt-properties-list", inputs: { tab: { classPropertyName: "tab", publicName: "tab", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"space-y-3\">\n <div class=\"flex items-center justify-between\">\n <div class=\"space-y-1\">\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\n {{ \"properties.list.pageTitle\" | transloco }}\n </h1>\n <mt-breadcrumb\n [items]=\"breadcrumbItems()\"\n [styleClass]=\"'flex justify-center'\"\n >\n </mt-breadcrumb>\n </div>\n </div>\n <mt-card paddingless>\n <mt-table\n [tabs]=\"tabs()\"\n [(activeTab)]=\"activeTab\"\n (onTabChange)=\"onTabChange($event)\"\n [data]=\"tableData()\"\n [actions]=\"tableActions()\"\n [columns]=\"tableColumns()\"\n [rowActions]=\"rowActions()\"\n [generalSearch]=\"true\"\n [loading]=\"loading()\"\n >\n <ng-template #empty>\n <div headless class=\"flex-col justify-center items-center w-full p-5\">\n <div\n class=\"content flex flex-col gap-5 items-center text-center mb-5\"\n >\n <svg\n width=\"152\"\n height=\"120\"\n viewBox=\"0 0 152 120\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"76\" cy=\"52\" r=\"52\" fill=\"#E9EAEB\" />\n <g filter=\"url(#filter0_ddd_2474_28277)\">\n <path\n d=\"M77.6 16C66.8273 16 57.2978 21.3233 51.4987 29.4829C49.605 29.0363 47.6301 28.8 45.6 28.8C31.4615 28.8 20 40.2615 20 54.4C20 68.5385 31.4615 80 45.6 80L109.6 80C121.971 80 132 69.9712 132 57.6C132 45.2288 121.971 35.2 109.6 35.2C108.721 35.2 107.854 35.2506 107.002 35.349C102.098 23.9677 90.7797 16 77.6 16Z\"\n fill=\"#FAFAFA\"\n />\n <ellipse\n cx=\"45.6\"\n cy=\"54.3998\"\n rx=\"25.6\"\n ry=\"25.6\"\n fill=\"url(#paint0_linear_2474_28277)\"\n />\n <circle\n cx=\"77.6016\"\n cy=\"48\"\n r=\"32\"\n fill=\"url(#paint1_linear_2474_28277)\"\n />\n <ellipse\n cx=\"109.599\"\n cy=\"57.6002\"\n rx=\"22.4\"\n ry=\"22.4\"\n fill=\"url(#paint2_linear_2474_28277)\"\n />\n </g>\n <circle cx=\"21\" cy=\"19\" r=\"5\" fill=\"#F5F5F5\" />\n <circle cx=\"18\" cy=\"109\" r=\"7\" fill=\"#F5F5F5\" />\n <circle cx=\"145\" cy=\"35\" r=\"7\" fill=\"#F5F5F5\" />\n <circle cx=\"134\" cy=\"8\" r=\"4\" fill=\"#F5F5F5\" />\n <foreignObject x=\"44\" y=\"54\" width=\"64\" height=\"64\">\n <div\n xmlns=\"http://www.w3.org/1999/xhtml\"\n style=\"\n backdrop-filter: blur(4px);\n clip-path: url(#bgblur_0_2474_28277_clip_path);\n height: 100%;\n width: 100%;\n \"\n ></div>\n </foreignObject>\n <g data-figma-bg-blur-radius=\"8\">\n <path\n d=\"M52 86C52 72.7452 62.7452 62 76 62C89.2548 62 100 72.7452 100 86C100 99.2548 89.2548 110 76 110C62.7452 110 52 99.2548 52 86Z\"\n fill=\"#344054\"\n fill-opacity=\"0.4\"\n />\n <path\n d=\"M85 95L81.5001 91.5M84 85.5C84 90.1944 80.1944 94 75.5 94C70.8056 94 67 90.1944 67 85.5C67 80.8056 70.8056 77 75.5 77C80.1944 77 84 80.8056 84 85.5Z\"\n stroke=\"white\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <defs>\n <filter\n id=\"filter0_ddd_2474_28277\"\n x=\"0\"\n y=\"16\"\n width=\"152\"\n height=\"104\"\n filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\"\n >\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"1.5\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect1_dropShadow_2474_28277\"\n />\n <feOffset dy=\"3\" />\n <feGaussianBlur stdDeviation=\"1.5\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0.0392157 0 0 0 0 0.0496732 0 0 0 0 0.0705882 0 0 0 0.04 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_2474_28277\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"4\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect2_dropShadow_2474_28277\"\n />\n <feOffset dy=\"8\" />\n <feGaussianBlur stdDeviation=\"4\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0.0392157 0 0 0 0 0.0496732 0 0 0 0 0.0705882 0 0 0 0.03 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"effect1_dropShadow_2474_28277\"\n result=\"effect2_dropShadow_2474_28277\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"4\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect3_dropShadow_2474_28277\"\n />\n <feOffset dy=\"20\" />\n <feGaussianBlur stdDeviation=\"12\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0.0392157 0 0 0 0 0.0496732 0 0 0 0 0.0705882 0 0 0 0.08 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"effect2_dropShadow_2474_28277\"\n result=\"effect3_dropShadow_2474_28277\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect3_dropShadow_2474_28277\"\n result=\"shape\"\n />\n </filter>\n <clipPath\n id=\"bgblur_0_2474_28277_clip_path\"\n transform=\"translate(-44 -54)\"\n >\n <path\n d=\"M52 86C52 72.7452 62.7452 62 76 62C89.2548 62 100 72.7452 100 86C100 99.2548 89.2548 110 76 110C62.7452 110 52 99.2548 52 86Z\"\n />\n </clipPath>\n <linearGradient\n id=\"paint0_linear_2474_28277\"\n x1=\"25.9429\"\n y1=\"37.4855\"\n x2=\"71.2\"\n y2=\"79.9998\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D0D5DD\" />\n <stop offset=\"0.350715\" stop-color=\"white\" stop-opacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_2474_28277\"\n x1=\"53.0301\"\n y1=\"26.8571\"\n x2=\"109.602\"\n y2=\"80\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D0D5DD\" />\n <stop offset=\"0.350715\" stop-color=\"white\" stop-opacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_2474_28277\"\n x1=\"92.3992\"\n y1=\"42.8002\"\n x2=\"131.999\"\n y2=\"80.0002\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D0D5DD\" />\n <stop offset=\"0.350715\" stop-color=\"white\" stop-opacity=\"0\" />\n </linearGradient>\n </defs>\n </svg>\n\n <div class=\"flex flex-col gap-1\">\n <div class=\"text-md text-surface-600\">\n {{ \"properties.list.emptyStateNoData\" | transloco }}\n </div>\n </div>\n <div>\n <mt-button\n [label]=\"'properties.list.addNewProperty' | transloco\"\n icon=\"general.plus\"\n (click)=\"createProperty()\"\n />\n </div>\n </div>\n <p-divider type=\"solid\">\n <div class=\"text-lg text-surface-600\">\n {{ \"properties.list.emptyStateTemplate\" | transloco }}\n </div>\n </p-divider>\n <div class=\"flex gap-3 mt-5 justify-center\">\n @for (card of propertyTypes(); track card.label) {\n <mt-card\n headless\n class=\"w-25 tailwind-4 cursor-pointer\"\n style=\"background-color: #fafafa\"\n (click)=\"createPropertyWithType(card.value)\"\n >\n <div\n class=\"content flex flex-col gap-3 items-center text-center\"\n >\n <mt-avatar\n [style.--p-avatar-background]=\"\n 'var(--p-' + card.color + '-100)'\n \"\n [style.--p-avatar-color]=\"'var(--p-' + card.color + '-600)'\"\n [icon]=\"card.icon\"\n shape=\"square\"\n ></mt-avatar>\n <div class=\"flex flex-col gap-1\">\n <div class=\"text-xs font-normal\">{{ card.label }}</div>\n </div>\n </div>\n </mt-card>\n }\n </div>\n </div>\n </ng-template>\n </mt-table>\n </mt-card>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Table, selector: "mt-table", inputs: ["data", "columns", "rowActions", "size", "showGridlines", "stripedRows", "selectableRows", "generalSearch", "showFilters", "loading", "updating", "tabs", "tabsOptionLabel", "tabsOptionValue", "activeTab", "actions", "paginatorPosition", "pageSize", "currentPage", "first", "filterTerm"], outputs: ["selectionChange", "cellChange", "activeTabChange", "onTabChange", "pageSizeChange", "currentPageChange", "firstChange", "filterTermChange"] }, { kind: "component", type: Breadcrumb, selector: "mt-breadcrumb", inputs: ["items", "styleClass"], outputs: ["onItemClick"] }, { kind: "component", type: Card, selector: "mt-card", inputs: ["class", "title", "paddingless"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "component", type: Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1.TranslocoPipe, name: "transloco" }] });
|
|
936
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
937
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PropertiesList, isStandalone: true, selector: "mt-properties-list", inputs: { tab: { classPropertyName: "tab", publicName: "tab", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"space-y-3\">\n <div class=\"flex items-center justify-between\">\n <div class=\"space-y-1\">\n <h1 class=\"text-xl font-semibold text-slate-900 tracking-tight\">\n {{ \"properties.list.pageTitle\" | transloco }}\n </h1>\n <mt-breadcrumb\n [items]=\"breadcrumbItems()\"\n [styleClass]=\"'flex justify-center'\"\n >\n </mt-breadcrumb>\n </div>\n </div>\n <mt-card paddingless>\n <mt-table\n [tabs]=\"tabs()\"\n [(activeTab)]=\"activeTab\"\n (onTabChange)=\"onTabChange($event)\"\n [data]=\"tableData()\"\n [actions]=\"tableActions()\"\n [columns]=\"tableColumns()\"\n [rowActions]=\"rowActions()\"\n [generalSearch]=\"true\"\n [loading]=\"loading()\"\n >\n <ng-template #empty>\n <div headless class=\"flex-col justify-center items-center w-full p-5\">\n <div\n class=\"content flex flex-col gap-5 items-center text-center mb-5\"\n >\n <svg\n width=\"152\"\n height=\"120\"\n viewBox=\"0 0 152 120\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"76\" cy=\"52\" r=\"52\" fill=\"#E9EAEB\" />\n <g filter=\"url(#filter0_ddd_2474_28277)\">\n <path\n d=\"M77.6 16C66.8273 16 57.2978 21.3233 51.4987 29.4829C49.605 29.0363 47.6301 28.8 45.6 28.8C31.4615 28.8 20 40.2615 20 54.4C20 68.5385 31.4615 80 45.6 80L109.6 80C121.971 80 132 69.9712 132 57.6C132 45.2288 121.971 35.2 109.6 35.2C108.721 35.2 107.854 35.2506 107.002 35.349C102.098 23.9677 90.7797 16 77.6 16Z\"\n fill=\"#FAFAFA\"\n />\n <ellipse\n cx=\"45.6\"\n cy=\"54.3998\"\n rx=\"25.6\"\n ry=\"25.6\"\n fill=\"url(#paint0_linear_2474_28277)\"\n />\n <circle\n cx=\"77.6016\"\n cy=\"48\"\n r=\"32\"\n fill=\"url(#paint1_linear_2474_28277)\"\n />\n <ellipse\n cx=\"109.599\"\n cy=\"57.6002\"\n rx=\"22.4\"\n ry=\"22.4\"\n fill=\"url(#paint2_linear_2474_28277)\"\n />\n </g>\n <circle cx=\"21\" cy=\"19\" r=\"5\" fill=\"#F5F5F5\" />\n <circle cx=\"18\" cy=\"109\" r=\"7\" fill=\"#F5F5F5\" />\n <circle cx=\"145\" cy=\"35\" r=\"7\" fill=\"#F5F5F5\" />\n <circle cx=\"134\" cy=\"8\" r=\"4\" fill=\"#F5F5F5\" />\n <foreignObject x=\"44\" y=\"54\" width=\"64\" height=\"64\">\n <div\n xmlns=\"http://www.w3.org/1999/xhtml\"\n style=\"\n backdrop-filter: blur(4px);\n clip-path: url(#bgblur_0_2474_28277_clip_path);\n height: 100%;\n width: 100%;\n \"\n ></div>\n </foreignObject>\n <g data-figma-bg-blur-radius=\"8\">\n <path\n d=\"M52 86C52 72.7452 62.7452 62 76 62C89.2548 62 100 72.7452 100 86C100 99.2548 89.2548 110 76 110C62.7452 110 52 99.2548 52 86Z\"\n fill=\"#344054\"\n fill-opacity=\"0.4\"\n />\n <path\n d=\"M85 95L81.5001 91.5M84 85.5C84 90.1944 80.1944 94 75.5 94C70.8056 94 67 90.1944 67 85.5C67 80.8056 70.8056 77 75.5 77C80.1944 77 84 80.8056 84 85.5Z\"\n stroke=\"white\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <defs>\n <filter\n id=\"filter0_ddd_2474_28277\"\n x=\"0\"\n y=\"16\"\n width=\"152\"\n height=\"104\"\n filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\"\n >\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"1.5\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect1_dropShadow_2474_28277\"\n />\n <feOffset dy=\"3\" />\n <feGaussianBlur stdDeviation=\"1.5\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0.0392157 0 0 0 0 0.0496732 0 0 0 0 0.0705882 0 0 0 0.04 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_2474_28277\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"4\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect2_dropShadow_2474_28277\"\n />\n <feOffset dy=\"8\" />\n <feGaussianBlur stdDeviation=\"4\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0.0392157 0 0 0 0 0.0496732 0 0 0 0 0.0705882 0 0 0 0.03 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"effect1_dropShadow_2474_28277\"\n result=\"effect2_dropShadow_2474_28277\"\n />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feMorphology\n radius=\"4\"\n operator=\"erode\"\n in=\"SourceAlpha\"\n result=\"effect3_dropShadow_2474_28277\"\n />\n <feOffset dy=\"20\" />\n <feGaussianBlur stdDeviation=\"12\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0.0392157 0 0 0 0 0.0496732 0 0 0 0 0.0705882 0 0 0 0.08 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"effect2_dropShadow_2474_28277\"\n result=\"effect3_dropShadow_2474_28277\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect3_dropShadow_2474_28277\"\n result=\"shape\"\n />\n </filter>\n <clipPath\n id=\"bgblur_0_2474_28277_clip_path\"\n transform=\"translate(-44 -54)\"\n >\n <path\n d=\"M52 86C52 72.7452 62.7452 62 76 62C89.2548 62 100 72.7452 100 86C100 99.2548 89.2548 110 76 110C62.7452 110 52 99.2548 52 86Z\"\n />\n </clipPath>\n <linearGradient\n id=\"paint0_linear_2474_28277\"\n x1=\"25.9429\"\n y1=\"37.4855\"\n x2=\"71.2\"\n y2=\"79.9998\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D0D5DD\" />\n <stop offset=\"0.350715\" stop-color=\"white\" stop-opacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_2474_28277\"\n x1=\"53.0301\"\n y1=\"26.8571\"\n x2=\"109.602\"\n y2=\"80\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D0D5DD\" />\n <stop offset=\"0.350715\" stop-color=\"white\" stop-opacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"paint2_linear_2474_28277\"\n x1=\"92.3992\"\n y1=\"42.8002\"\n x2=\"131.999\"\n y2=\"80.0002\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D0D5DD\" />\n <stop offset=\"0.350715\" stop-color=\"white\" stop-opacity=\"0\" />\n </linearGradient>\n </defs>\n </svg>\n\n <div class=\"flex flex-col gap-1\">\n <div class=\"text-md text-surface-600\">\n {{ \"properties.list.emptyStateNoData\" | transloco }}\n </div>\n </div>\n <div>\n <mt-button\n [label]=\"'properties.list.addNewProperty' | transloco\"\n icon=\"general.plus\"\n (click)=\"createProperty()\"\n />\n </div>\n </div>\n <p-divider type=\"solid\">\n <div class=\"text-lg text-surface-600\">\n {{ \"properties.list.emptyStateTemplate\" | transloco }}\n </div>\n </p-divider>\n <div class=\"flex gap-3 mt-5 justify-center\">\n @for (card of propertyTypes(); track card.label) {\n <mt-card\n headless\n class=\"w-25 tailwind-4 cursor-pointer\"\n style=\"background-color: #fafafa\"\n (click)=\"createPropertyWithType(card.value)\"\n >\n <div\n class=\"content flex flex-col gap-3 items-center text-center\"\n >\n <mt-avatar\n [style.--p-avatar-background]=\"\n 'var(--p-' + card.color + '-100)'\n \"\n [style.--p-avatar-color]=\"'var(--p-' + card.color + '-600)'\"\n [icon]=\"card.icon\"\n shape=\"square\"\n ></mt-avatar>\n <div class=\"flex flex-col gap-1\">\n <div class=\"text-xs font-normal\">{{ card.label }}</div>\n </div>\n </div>\n </mt-card>\n }\n </div>\n </div>\n </ng-template>\n </mt-table>\n </mt-card>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Table, selector: "mt-table", inputs: ["data", "columns", "rowActions", "size", "showGridlines", "stripedRows", "selectableRows", "generalSearch", "showFilters", "loading", "updating", "tabs", "tabsOptionLabel", "tabsOptionValue", "activeTab", "actions", "paginatorPosition", "pageSize", "currentPage", "first", "filterTerm"], outputs: ["selectionChange", "cellChange", "activeTabChange", "onTabChange", "pageSizeChange", "currentPageChange", "firstChange", "filterTermChange"] }, { kind: "component", type: Breadcrumb, selector: "mt-breadcrumb", inputs: ["items", "styleClass"], outputs: ["onItemClick"] }, { kind: "component", type: Card, selector: "mt-card", inputs: ["class", "title", "paddingless"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "component", type: Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1.TranslocoPipe, name: "transloco" }] });
|
|
938
938
|
}
|
|
939
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
939
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertiesList, decorators: [{
|
|
940
940
|
type: Component,
|
|
941
941
|
args: [{ selector: 'mt-properties-list', standalone: true, imports: [
|
|
942
942
|
CommonModule,
|
|
@@ -954,12 +954,12 @@ class ApiConfiguration {
|
|
|
954
954
|
facade = inject(PropertiesFacade);
|
|
955
955
|
destroyRef = inject(DestroyRef);
|
|
956
956
|
transloco = inject(TranslocoService);
|
|
957
|
-
schema = signal(null,
|
|
957
|
+
schema = signal(null, ...(ngDevMode ? [{ debugName: "schema" }] : []));
|
|
958
958
|
isWriting = false;
|
|
959
959
|
touched = false;
|
|
960
960
|
isTesting = this.facade.isLoading('testApiConfiguration');
|
|
961
961
|
apiProperties = this.facade.apiProperties;
|
|
962
|
-
hasDetectedSchema = computed(() => this.apiProperties().length > 0,
|
|
962
|
+
hasDetectedSchema = computed(() => this.apiProperties().length > 0, ...(ngDevMode ? [{ debugName: "hasDetectedSchema" }] : []));
|
|
963
963
|
form = new FormGroup({
|
|
964
964
|
endpoint: new FormControl('', {
|
|
965
965
|
nonNullable: true,
|
|
@@ -1102,16 +1102,16 @@ class ApiConfiguration {
|
|
|
1102
1102
|
return acc;
|
|
1103
1103
|
}, {});
|
|
1104
1104
|
}
|
|
1105
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1106
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ApiConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ApiConfiguration, isStandalone: true, selector: "mt-api-configuration", providers: [
|
|
1107
1107
|
{
|
|
1108
1108
|
provide: NG_VALUE_ACCESSOR,
|
|
1109
1109
|
useExisting: forwardRef(() => ApiConfiguration),
|
|
1110
1110
|
multi: true,
|
|
1111
1111
|
},
|
|
1112
|
-
], ngImport: i0, template: "<div [formGroup]=\"form\" class=\"space-y-6\">\n <div class=\"space-y-4 rounded-xl bg-content px-6 py-4 shadow-sm\">\n <div class=\"grid items-end gap-3 md:grid-cols-[minmax(0,1fr)_auto]\">\n <mt-text-field\n formControlName=\"endpoint\"\n [label]=\"'properties.form.endpoint' | transloco\"\n [placeholder]=\"'properties.form.endpointPlaceholder' | transloco\"\n />\n <div class=\"flex justify-end gap-2\">\n <mt-button\n type=\"button\"\n [text]=\"true\"\n icon=\"general.plus\"\n [label]=\"'properties.form.addHeader' | transloco\"\n (click)=\"addHeader()\"\n />\n <mt-button\n type=\"button\"\n [label]=\"'properties.form.testApi' | transloco\"\n [loading]=\"isTesting()\"\n (click)=\"testApi()\"\n />\n </div>\n </div>\n\n @if (headers.controls.length) {\n <div class=\"space-y-3\">\n <div class=\"text-sm font-medium text-surface-500\">\n {{ \"properties.form.headers\" | transloco }}\n </div>\n <div class=\"space-y-3\">\n @for (\n headerCtrl of headers.controls;\n track headerCtrl;\n let i = $index\n ) {\n <div\n [formGroup]=\"headerCtrl\"\n class=\"grid items-end gap-3 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]\"\n >\n <mt-text-field\n formControlName=\"key\"\n [label]=\"'properties.form.headerKey' | transloco\"\n />\n <mt-text-field\n formControlName=\"value\"\n [label]=\"'properties.form.headerValue' | transloco\"\n />\n <mt-button\n type=\"button\"\n [text]=\"true\"\n icon=\"general.trash-01\"\n (click)=\"removeHeader(i)\"\n />\n </div>\n }\n </div>\n </div>\n } @else {\n <p class=\"text-xs text-surface-400\">\n {{ \"properties.form.noHeadersMessage\" | transloco }}\n </p>\n }\n </div>\n\n <div class=\"space-y-4 rounded-xl bg-content px-6 py-4 shadow-sm\">\n @if (hasDetectedSchema()) {\n <div class=\"grid gap-4 md:grid-cols-2\">\n <mt-select-field\n formControlName=\"key\"\n [options]=\"apiProperties()\"\n [showClear]=\"true\"\n optionLabel=\"name\"\n optionValue=\"key\"\n [label]=\"'properties.form.keyField' | transloco\"\n />\n <mt-select-field\n formControlName=\"value\"\n [options]=\"apiProperties()\"\n [showClear]=\"true\"\n optionLabel=\"name\"\n optionValue=\"key\"\n [label]=\"'properties.form.valueField' | transloco\"\n />\n </div>\n } @else {\n <p class=\"text-xs text-surface-400\">\n {{ \"properties.form.messageTestApiPrompt\" | transloco }}\n </p>\n }\n\n <div class=\"flex items-center justify-between gap-4\">\n <mt-toggle-field\n formControlName=\"supportMultiSelect\"\n [label]=\"'properties.form.labelSupportMultiSelect' | transloco\"\n />\n @if (isTesting()) {\n <span class=\"text-xs text-surface-400\">\n {{ \"properties.form.messageTesting\" | transloco }}\n </span>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TextField, selector: "mt-text-field", inputs: ["field", "hint", "label", "placeholder", "class", "type", "readonly", "pInputs", "required", "icon", "iconPosition"] }, { kind: "component", type: SelectField, selector: "mt-select-field", inputs: ["field", "label", "placeholder", "hasPlaceholderPrefix", "class", "readonly", "pInputs", "options", "optionValue", "optionLabel", "filter", "filterBy", "dataKey", "showClear", "clearAfterSelect", "required"], outputs: ["onChange"] }, { kind: "component", type: ToggleField, selector: "mt-toggle-field", inputs: ["label", "labelPosition", "placeholder", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1112
|
+
], ngImport: i0, template: "<div [formGroup]=\"form\" class=\"space-y-6\">\n <div class=\"space-y-4 rounded-xl bg-content px-6 py-4 shadow-sm\">\n <div class=\"grid items-end gap-3 md:grid-cols-[minmax(0,1fr)_auto]\">\n <mt-text-field\n formControlName=\"endpoint\"\n [label]=\"'properties.form.endpoint' | transloco\"\n [placeholder]=\"'properties.form.endpointPlaceholder' | transloco\"\n />\n <div class=\"flex justify-end gap-2\">\n <mt-button\n type=\"button\"\n [text]=\"true\"\n icon=\"general.plus\"\n [label]=\"'properties.form.addHeader' | transloco\"\n (click)=\"addHeader()\"\n />\n <mt-button\n type=\"button\"\n [label]=\"'properties.form.testApi' | transloco\"\n [loading]=\"isTesting()\"\n (click)=\"testApi()\"\n />\n </div>\n </div>\n\n @if (headers.controls.length) {\n <div class=\"space-y-3\">\n <div class=\"text-sm font-medium text-surface-500\">\n {{ \"properties.form.headers\" | transloco }}\n </div>\n <div class=\"space-y-3\">\n @for (\n headerCtrl of headers.controls;\n track headerCtrl;\n let i = $index\n ) {\n <div\n [formGroup]=\"headerCtrl\"\n class=\"grid items-end gap-3 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]\"\n >\n <mt-text-field\n formControlName=\"key\"\n [label]=\"'properties.form.headerKey' | transloco\"\n />\n <mt-text-field\n formControlName=\"value\"\n [label]=\"'properties.form.headerValue' | transloco\"\n />\n <mt-button\n type=\"button\"\n [text]=\"true\"\n icon=\"general.trash-01\"\n (click)=\"removeHeader(i)\"\n />\n </div>\n }\n </div>\n </div>\n } @else {\n <p class=\"text-xs text-surface-400\">\n {{ \"properties.form.noHeadersMessage\" | transloco }}\n </p>\n }\n </div>\n\n <div class=\"space-y-4 rounded-xl bg-content px-6 py-4 shadow-sm\">\n @if (hasDetectedSchema()) {\n <div class=\"grid gap-4 md:grid-cols-2\">\n <mt-select-field\n formControlName=\"key\"\n [options]=\"apiProperties()\"\n [showClear]=\"true\"\n optionLabel=\"name\"\n optionValue=\"key\"\n [label]=\"'properties.form.keyField' | transloco\"\n />\n <mt-select-field\n formControlName=\"value\"\n [options]=\"apiProperties()\"\n [showClear]=\"true\"\n optionLabel=\"name\"\n optionValue=\"key\"\n [label]=\"'properties.form.valueField' | transloco\"\n />\n </div>\n } @else {\n <p class=\"text-xs text-surface-400\">\n {{ \"properties.form.messageTestApiPrompt\" | transloco }}\n </p>\n }\n\n <div class=\"flex items-center justify-between gap-4\">\n <mt-toggle-field\n formControlName=\"supportMultiSelect\"\n [label]=\"'properties.form.labelSupportMultiSelect' | transloco\"\n />\n @if (isTesting()) {\n <span class=\"text-xs text-surface-400\">\n {{ \"properties.form.messageTesting\" | transloco }}\n </span>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TextField, selector: "mt-text-field", inputs: ["field", "hint", "label", "placeholder", "class", "type", "readonly", "pInputs", "required", "icon", "iconPosition"] }, { kind: "component", type: SelectField, selector: "mt-select-field", inputs: ["field", "label", "placeholder", "hasPlaceholderPrefix", "class", "readonly", "pInputs", "options", "optionValue", "optionLabel", "filter", "filterBy", "dataKey", "showClear", "clearAfterSelect", "required", "group", "optionGroupLabel", "optionGroupChildren", "loading"], outputs: ["onChange"] }, { kind: "component", type: ToggleField, selector: "mt-toggle-field", inputs: ["label", "labelPosition", "placeholder", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1113
1113
|
}
|
|
1114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ApiConfiguration, decorators: [{
|
|
1115
1115
|
type: Component,
|
|
1116
1116
|
args: [{ selector: 'mt-api-configuration', standalone: true, imports: [
|
|
1117
1117
|
CommonModule,
|
|
@@ -1142,7 +1142,7 @@ class CheckListFormConfiguration {
|
|
|
1142
1142
|
scopeItems = computed(() => {
|
|
1143
1143
|
const scope = this.configScopes()[0];
|
|
1144
1144
|
return scope?.items ?? [];
|
|
1145
|
-
},
|
|
1145
|
+
}, ...(ngDevMode ? [{ debugName: "scopeItems" }] : []));
|
|
1146
1146
|
formConfig = linkedSignal(() => ({
|
|
1147
1147
|
sections: [
|
|
1148
1148
|
{
|
|
@@ -1158,7 +1158,7 @@ class CheckListFormConfiguration {
|
|
|
1158
1158
|
key: 'lookup',
|
|
1159
1159
|
type: 'select',
|
|
1160
1160
|
label: this.transloco.translate('properties.form.selectLookup'),
|
|
1161
|
-
optionLabel: '
|
|
1161
|
+
optionLabel: 'name',
|
|
1162
1162
|
optionValue: 'id',
|
|
1163
1163
|
filter: true,
|
|
1164
1164
|
options: this.lookups(),
|
|
@@ -1167,7 +1167,7 @@ class CheckListFormConfiguration {
|
|
|
1167
1167
|
key: 'scopeId',
|
|
1168
1168
|
type: 'select',
|
|
1169
1169
|
label: this.transloco.translate('properties.form.selectScope'),
|
|
1170
|
-
optionLabel: '
|
|
1170
|
+
optionLabel: 'name',
|
|
1171
1171
|
optionValue: 'id',
|
|
1172
1172
|
options: this.scopeItems(),
|
|
1173
1173
|
filter: true,
|
|
@@ -1176,7 +1176,7 @@ class CheckListFormConfiguration {
|
|
|
1176
1176
|
key: 'properties',
|
|
1177
1177
|
cssClass: 'md:col-span-2',
|
|
1178
1178
|
options: this.configProperties(),
|
|
1179
|
-
optionLabel: '
|
|
1179
|
+
optionLabel: 'name',
|
|
1180
1180
|
optionValue: 'key',
|
|
1181
1181
|
sourceHeader: this.transloco.translate('properties.form.availableProperties'),
|
|
1182
1182
|
targetHeader: this.transloco.translate('properties.form.selectedProperties'),
|
|
@@ -1184,7 +1184,7 @@ class CheckListFormConfiguration {
|
|
|
1184
1184
|
],
|
|
1185
1185
|
},
|
|
1186
1186
|
],
|
|
1187
|
-
}),
|
|
1187
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1188
1188
|
constructor() {
|
|
1189
1189
|
effect(() => {
|
|
1190
1190
|
if (!this.lookups().length) {
|
|
@@ -1204,12 +1204,12 @@ class CheckListFormConfiguration {
|
|
|
1204
1204
|
ngOnDestroy() {
|
|
1205
1205
|
this.propertiesFacade.resetConfigProperties();
|
|
1206
1206
|
}
|
|
1207
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1208
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1207
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: CheckListFormConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1208
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: CheckListFormConfiguration, isStandalone: true, selector: "mt-check-list-form-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1209
1209
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1210
1210
|
] });
|
|
1211
1211
|
}
|
|
1212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: CheckListFormConfiguration, decorators: [{
|
|
1213
1213
|
type: Component,
|
|
1214
1214
|
args: [{ selector: 'mt-check-list-form-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1215
1215
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1227,7 +1227,7 @@ class DynamicListConfiguration {
|
|
|
1227
1227
|
scopeItems = computed(() => {
|
|
1228
1228
|
const scope = this.configScopes()[0];
|
|
1229
1229
|
return scope?.items ?? [];
|
|
1230
|
-
},
|
|
1230
|
+
}, ...(ngDevMode ? [{ debugName: "scopeItems" }] : []));
|
|
1231
1231
|
formConfig = linkedSignal(() => ({
|
|
1232
1232
|
sections: [
|
|
1233
1233
|
{
|
|
@@ -1243,7 +1243,7 @@ class DynamicListConfiguration {
|
|
|
1243
1243
|
key: 'scopeId',
|
|
1244
1244
|
type: 'select',
|
|
1245
1245
|
label: this.transloco.translate('properties.form.selectScope'),
|
|
1246
|
-
optionLabel: '
|
|
1246
|
+
optionLabel: 'name',
|
|
1247
1247
|
optionValue: 'id',
|
|
1248
1248
|
filter: true,
|
|
1249
1249
|
options: this.scopeItems(),
|
|
@@ -1252,7 +1252,7 @@ class DynamicListConfiguration {
|
|
|
1252
1252
|
key: 'properties',
|
|
1253
1253
|
cssClass: 'md:col-span-2',
|
|
1254
1254
|
options: this.configProperties(),
|
|
1255
|
-
optionLabel: '
|
|
1255
|
+
optionLabel: 'name',
|
|
1256
1256
|
optionValue: 'key',
|
|
1257
1257
|
sourceHeader: this.transloco.translate('properties.form.availableProperties'),
|
|
1258
1258
|
targetHeader: this.transloco.translate('properties.form.selectedProperties'),
|
|
@@ -1266,7 +1266,7 @@ class DynamicListConfiguration {
|
|
|
1266
1266
|
],
|
|
1267
1267
|
},
|
|
1268
1268
|
],
|
|
1269
|
-
}),
|
|
1269
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1270
1270
|
constructor() {
|
|
1271
1271
|
effect(() => {
|
|
1272
1272
|
const scopeId = this.configuration()?.scopeId;
|
|
@@ -1281,12 +1281,12 @@ class DynamicListConfiguration {
|
|
|
1281
1281
|
ngOnDestroy() {
|
|
1282
1282
|
this.propertiesFacade.resetConfigProperties();
|
|
1283
1283
|
}
|
|
1284
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1285
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1284
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DynamicListConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: DynamicListConfiguration, isStandalone: true, selector: "mt-dynamic-list-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1286
1286
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1287
1287
|
] });
|
|
1288
1288
|
}
|
|
1289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DynamicListConfiguration, decorators: [{
|
|
1290
1290
|
type: Component,
|
|
1291
1291
|
args: [{ selector: 'mt-dynamic-list-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1292
1292
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1304,7 +1304,7 @@ class EditableListViewConfiguration {
|
|
|
1304
1304
|
scopeItems = computed(() => {
|
|
1305
1305
|
const scope = this.configScopes()[0];
|
|
1306
1306
|
return scope?.items ?? [];
|
|
1307
|
-
},
|
|
1307
|
+
}, ...(ngDevMode ? [{ debugName: "scopeItems" }] : []));
|
|
1308
1308
|
formConfig = linkedSignal(() => ({
|
|
1309
1309
|
sections: [
|
|
1310
1310
|
{
|
|
@@ -1320,7 +1320,7 @@ class EditableListViewConfiguration {
|
|
|
1320
1320
|
key: 'scopeId',
|
|
1321
1321
|
type: 'select',
|
|
1322
1322
|
label: this.transloco.translate('properties.form.selectScope'),
|
|
1323
|
-
optionLabel: '
|
|
1323
|
+
optionLabel: 'name',
|
|
1324
1324
|
optionValue: 'id',
|
|
1325
1325
|
options: this.scopeItems(),
|
|
1326
1326
|
},
|
|
@@ -1328,7 +1328,7 @@ class EditableListViewConfiguration {
|
|
|
1328
1328
|
key: 'Properties',
|
|
1329
1329
|
cssClass: 'md:col-span-2',
|
|
1330
1330
|
options: this.configProperties(),
|
|
1331
|
-
optionLabel: '
|
|
1331
|
+
optionLabel: 'name',
|
|
1332
1332
|
optionValue: 'key',
|
|
1333
1333
|
sourceHeader: this.transloco.translate('properties.form.availableProperties'),
|
|
1334
1334
|
targetHeader: this.transloco.translate('properties.form.selectedProperties'),
|
|
@@ -1346,7 +1346,7 @@ class EditableListViewConfiguration {
|
|
|
1346
1346
|
],
|
|
1347
1347
|
},
|
|
1348
1348
|
],
|
|
1349
|
-
}),
|
|
1349
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1350
1350
|
constructor() {
|
|
1351
1351
|
effect(() => {
|
|
1352
1352
|
const scopeId = this.configuration()?.scopeId;
|
|
@@ -1361,12 +1361,12 @@ class EditableListViewConfiguration {
|
|
|
1361
1361
|
ngOnDestroy() {
|
|
1362
1362
|
this.propertiesFacade.resetConfigProperties();
|
|
1363
1363
|
}
|
|
1364
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1365
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1364
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EditableListViewConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1365
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: EditableListViewConfiguration, isStandalone: true, selector: "mt-editable-list-view-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1366
1366
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1367
1367
|
] });
|
|
1368
1368
|
}
|
|
1369
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EditableListViewConfiguration, decorators: [{
|
|
1370
1370
|
type: Component,
|
|
1371
1371
|
args: [{ selector: 'mt-editable-list-view-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1372
1372
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1384,14 +1384,14 @@ class InternalModuleConfiguration {
|
|
|
1384
1384
|
configProperties = this.propertiesFacade.configProperties;
|
|
1385
1385
|
configScopes = this.propertiesFacade.configScopes;
|
|
1386
1386
|
configuration = toSignal(this.parentGroup.valueChanges.pipe(startWith(this.parentGroup.value), map((v) => v?.configuration), distinctUntilChanged()), { initialValue: this.parentGroup.value?.configuration });
|
|
1387
|
-
PrevModuleId = signal(null,
|
|
1387
|
+
PrevModuleId = signal(null, ...(ngDevMode ? [{ debugName: "PrevModuleId" }] : []));
|
|
1388
1388
|
scopeItems = computed(() => {
|
|
1389
1389
|
const selectedType = this.configuration()?.type;
|
|
1390
1390
|
if (!selectedType)
|
|
1391
1391
|
return [];
|
|
1392
1392
|
const scope = this.configScopes().find((s) => s.scope === selectedType);
|
|
1393
1393
|
return scope?.items ?? [];
|
|
1394
|
-
},
|
|
1394
|
+
}, ...(ngDevMode ? [{ debugName: "scopeItems" }] : []));
|
|
1395
1395
|
formConfig = linkedSignal(() => ({
|
|
1396
1396
|
sections: [
|
|
1397
1397
|
{
|
|
@@ -1415,7 +1415,7 @@ class InternalModuleConfiguration {
|
|
|
1415
1415
|
key: 'scopeId',
|
|
1416
1416
|
type: 'select',
|
|
1417
1417
|
label: this.transloco.translate('properties.form.selectScope'),
|
|
1418
|
-
optionLabel: '
|
|
1418
|
+
optionLabel: 'name',
|
|
1419
1419
|
optionValue: 'id',
|
|
1420
1420
|
filter: true,
|
|
1421
1421
|
options: this.scopeItems(),
|
|
@@ -1424,7 +1424,7 @@ class InternalModuleConfiguration {
|
|
|
1424
1424
|
type: 'select',
|
|
1425
1425
|
key: 'property',
|
|
1426
1426
|
label: this.transloco.translate('properties.form.valueProperty'),
|
|
1427
|
-
optionLabel: '
|
|
1427
|
+
optionLabel: 'name',
|
|
1428
1428
|
optionValue: 'key',
|
|
1429
1429
|
options: this.configProperties(),
|
|
1430
1430
|
},
|
|
@@ -1432,7 +1432,7 @@ class InternalModuleConfiguration {
|
|
|
1432
1432
|
cssClass: 'md:col-span-2 mt-2',
|
|
1433
1433
|
key: 'propertyDetails',
|
|
1434
1434
|
options: this.configProperties(),
|
|
1435
|
-
optionLabel: '
|
|
1435
|
+
optionLabel: 'name',
|
|
1436
1436
|
optionValue: 'key',
|
|
1437
1437
|
sourceHeader: this.transloco.translate('properties.form.availableProperties'),
|
|
1438
1438
|
targetHeader: this.transloco.translate('properties.form.selectedProperties'),
|
|
@@ -1446,7 +1446,7 @@ class InternalModuleConfiguration {
|
|
|
1446
1446
|
],
|
|
1447
1447
|
},
|
|
1448
1448
|
],
|
|
1449
|
-
}),
|
|
1449
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1450
1450
|
constructor() {
|
|
1451
1451
|
effect(() => {
|
|
1452
1452
|
if (this.configuration()?.scopeId) {
|
|
@@ -1465,12 +1465,12 @@ class InternalModuleConfiguration {
|
|
|
1465
1465
|
ngOnDestroy() {
|
|
1466
1466
|
this.propertiesFacade.resetConfigProperties();
|
|
1467
1467
|
}
|
|
1468
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1469
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1468
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: InternalModuleConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1469
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: InternalModuleConfiguration, isStandalone: true, selector: "mt-internal-module-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1470
1470
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1471
1471
|
] });
|
|
1472
1472
|
}
|
|
1473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1473
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: InternalModuleConfiguration, decorators: [{
|
|
1474
1474
|
type: Component,
|
|
1475
1475
|
args: [{ selector: 'mt-internal-module-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1476
1476
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1504,7 +1504,7 @@ class LocationConfiguration {
|
|
|
1504
1504
|
],
|
|
1505
1505
|
},
|
|
1506
1506
|
],
|
|
1507
|
-
}),
|
|
1507
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1508
1508
|
constructor() {
|
|
1509
1509
|
effect(() => {
|
|
1510
1510
|
if (!this.countries().length) {
|
|
@@ -1512,12 +1512,12 @@ class LocationConfiguration {
|
|
|
1512
1512
|
}
|
|
1513
1513
|
});
|
|
1514
1514
|
}
|
|
1515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1516
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1515
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: LocationConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1516
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: LocationConfiguration, isStandalone: true, selector: "mt-location-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1517
1517
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1518
1518
|
] });
|
|
1519
1519
|
}
|
|
1520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: LocationConfiguration, decorators: [{
|
|
1521
1521
|
type: Component,
|
|
1522
1522
|
args: [{ selector: 'mt-location-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1523
1523
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1543,7 +1543,7 @@ class LookupConfiguration {
|
|
|
1543
1543
|
key: 'lookup',
|
|
1544
1544
|
type: 'select',
|
|
1545
1545
|
label: this.transloco.translate('properties.form.selectLookup'),
|
|
1546
|
-
optionLabel: '
|
|
1546
|
+
optionLabel: 'name',
|
|
1547
1547
|
optionValue: 'id',
|
|
1548
1548
|
options: this.lookups(),
|
|
1549
1549
|
filter: true,
|
|
@@ -1551,7 +1551,7 @@ class LookupConfiguration {
|
|
|
1551
1551
|
],
|
|
1552
1552
|
},
|
|
1553
1553
|
],
|
|
1554
|
-
}),
|
|
1554
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1555
1555
|
constructor() {
|
|
1556
1556
|
effect(() => {
|
|
1557
1557
|
if (!this.lookups().length) {
|
|
@@ -1559,12 +1559,12 @@ class LookupConfiguration {
|
|
|
1559
1559
|
}
|
|
1560
1560
|
});
|
|
1561
1561
|
}
|
|
1562
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1563
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1562
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: LookupConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1563
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: LookupConfiguration, isStandalone: true, selector: "mt-lookup-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1564
1564
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1565
1565
|
] });
|
|
1566
1566
|
}
|
|
1567
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: LookupConfiguration, decorators: [{
|
|
1568
1568
|
type: Component,
|
|
1569
1569
|
args: [{ selector: 'mt-lookup-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1570
1570
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1592,13 +1592,13 @@ class PercentageConfiguration {
|
|
|
1592
1592
|
],
|
|
1593
1593
|
},
|
|
1594
1594
|
],
|
|
1595
|
-
},
|
|
1596
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1597
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1595
|
+
}, ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1596
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PercentageConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1597
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: PercentageConfiguration, isStandalone: true, selector: "mt-percentage-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1598
1598
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1599
1599
|
] });
|
|
1600
1600
|
}
|
|
1601
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1601
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PercentageConfiguration, decorators: [{
|
|
1602
1602
|
type: Component,
|
|
1603
1603
|
args: [{ selector: 'mt-percentage-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1604
1604
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1624,7 +1624,7 @@ class UserConfiguration {
|
|
|
1624
1624
|
key: 'group',
|
|
1625
1625
|
type: 'select',
|
|
1626
1626
|
label: this.transloco.translate('properties.form.selectGroup'),
|
|
1627
|
-
optionLabel: '
|
|
1627
|
+
optionLabel: 'name',
|
|
1628
1628
|
optionValue: 'id',
|
|
1629
1629
|
options: this.groups(),
|
|
1630
1630
|
filter: true,
|
|
@@ -1632,7 +1632,7 @@ class UserConfiguration {
|
|
|
1632
1632
|
],
|
|
1633
1633
|
},
|
|
1634
1634
|
],
|
|
1635
|
-
}),
|
|
1635
|
+
}), ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1636
1636
|
constructor() {
|
|
1637
1637
|
effect(() => {
|
|
1638
1638
|
if (!this.groups().length) {
|
|
@@ -1640,12 +1640,12 @@ class UserConfiguration {
|
|
|
1640
1640
|
}
|
|
1641
1641
|
});
|
|
1642
1642
|
}
|
|
1643
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1644
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1643
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: UserConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1644
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: UserConfiguration, isStandalone: true, selector: "mt-user-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1645
1645
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1646
1646
|
] });
|
|
1647
1647
|
}
|
|
1648
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1648
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: UserConfiguration, decorators: [{
|
|
1649
1649
|
type: Component,
|
|
1650
1650
|
args: [{ selector: 'mt-user-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1651
1651
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1792,13 +1792,13 @@ class AttachmentConfiguration {
|
|
|
1792
1792
|
],
|
|
1793
1793
|
},
|
|
1794
1794
|
],
|
|
1795
|
-
},
|
|
1796
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1797
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1795
|
+
}, ...(ngDevMode ? [{ debugName: "formConfig" }] : []));
|
|
1796
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AttachmentConfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1797
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: AttachmentConfiguration, isStandalone: true, selector: "mt-attachment-configuration", ngImport: i0, template: "<mt-dynamic-form formControlName=\"configuration\" [formConfig]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], viewProviders: [
|
|
1798
1798
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
1799
1799
|
] });
|
|
1800
1800
|
}
|
|
1801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1801
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AttachmentConfiguration, decorators: [{
|
|
1802
1802
|
type: Component,
|
|
1803
1803
|
args: [{ selector: 'mt-attachment-configuration', imports: [DynamicForm, ReactiveFormsModule], viewProviders: [
|
|
1804
1804
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
@@ -1810,12 +1810,12 @@ class PropertyForm {
|
|
|
1810
1810
|
router = inject(Router);
|
|
1811
1811
|
route = inject(ActivatedRoute);
|
|
1812
1812
|
transloco = inject(TranslocoService);
|
|
1813
|
-
propertyId = input('',
|
|
1813
|
+
propertyId = input('', ...(ngDevMode ? [{ debugName: "propertyId" }] : []));
|
|
1814
1814
|
propertyTypes = this.facade.propertyTypes;
|
|
1815
1815
|
submitLabel = computed(() => this.propertyId()
|
|
1816
1816
|
? this.transloco.translate('properties.form.updateButton')
|
|
1817
|
-
: this.transloco.translate('properties.form.createButton'),
|
|
1818
|
-
isEditing = computed(() => !!this.propertyId(),
|
|
1817
|
+
: this.transloco.translate('properties.form.createButton'), ...(ngDevMode ? [{ debugName: "submitLabel" }] : []));
|
|
1818
|
+
isEditing = computed(() => !!this.propertyId(), ...(ngDevMode ? [{ debugName: "isEditing" }] : []));
|
|
1819
1819
|
// Keep your original structure: "main" is a FormControl<any>, "configuration" is FormControl<any|null>
|
|
1820
1820
|
propertyForm = new FormGroup({
|
|
1821
1821
|
main: new FormControl({
|
|
@@ -1831,7 +1831,7 @@ class PropertyForm {
|
|
|
1831
1831
|
creating = this.facade.isLoading('create');
|
|
1832
1832
|
updating = this.facade.isLoading('update');
|
|
1833
1833
|
loading = this.facade.isLoading('getOne');
|
|
1834
|
-
submitting = computed(() => this.creating() || this.updating(),
|
|
1834
|
+
submitting = computed(() => this.creating() || this.updating(), ...(ngDevMode ? [{ debugName: "submitting" }] : []));
|
|
1835
1835
|
propertyType = toSignal(this.mainControl.valueChanges.pipe(map((v) => v?.viewType), distinctUntilChanged()));
|
|
1836
1836
|
selectedPropertyTypeConfiguration = computed(() => {
|
|
1837
1837
|
const propertyTypesSetting = this.propertyTypes();
|
|
@@ -1840,19 +1840,19 @@ class PropertyForm {
|
|
|
1840
1840
|
return null;
|
|
1841
1841
|
const match = propertyTypesSetting.value.find((item) => item.viewType?.toLowerCase() === selectedViewType.toLowerCase());
|
|
1842
1842
|
return match?.configuration ?? null;
|
|
1843
|
-
},
|
|
1844
|
-
configurationFormConfig = computed(() => this.selectedPropertyTypeConfiguration()?.configurationForm ?? null,
|
|
1843
|
+
}, ...(ngDevMode ? [{ debugName: "selectedPropertyTypeConfiguration" }] : []));
|
|
1844
|
+
configurationFormConfig = computed(() => this.selectedPropertyTypeConfiguration()?.configurationForm ?? null, ...(ngDevMode ? [{ debugName: "configurationFormConfig" }] : []));
|
|
1845
1845
|
configurationHost;
|
|
1846
1846
|
environmentInjector = inject(EnvironmentInjector);
|
|
1847
|
-
configurationComponentType = signal(null,
|
|
1847
|
+
configurationComponentType = signal(null, ...(ngDevMode ? [{ debugName: "configurationComponentType" }] : []));
|
|
1848
1848
|
configurationComponentRef = null;
|
|
1849
1849
|
configurationComponentLoadId = 0;
|
|
1850
|
-
externalConfigurationForm = signal(null,
|
|
1850
|
+
externalConfigurationForm = signal(null, ...(ngDevMode ? [{ debugName: "externalConfigurationForm" }] : []));
|
|
1851
1851
|
externalConfigurationSubscriptions = null;
|
|
1852
|
-
externalConfigurationInvalid = signal(false,
|
|
1853
|
-
configurationComponentExists = computed(() => !!this.configurationComponentType(),
|
|
1854
|
-
configurationFormInvalid = computed(() => this.externalConfigurationInvalid(),
|
|
1855
|
-
submitDisabled = computed(() => this.submitting() || this.configurationFormInvalid(),
|
|
1852
|
+
externalConfigurationInvalid = signal(false, ...(ngDevMode ? [{ debugName: "externalConfigurationInvalid" }] : []));
|
|
1853
|
+
configurationComponentExists = computed(() => !!this.configurationComponentType(), ...(ngDevMode ? [{ debugName: "configurationComponentExists" }] : []));
|
|
1854
|
+
configurationFormInvalid = computed(() => this.externalConfigurationInvalid(), ...(ngDevMode ? [{ debugName: "configurationFormInvalid" }] : []));
|
|
1855
|
+
submitDisabled = computed(() => this.submitting() || this.configurationFormInvalid(), ...(ngDevMode ? [{ debugName: "submitDisabled" }] : []));
|
|
1856
1856
|
// Your existing dynamic form config unchanged
|
|
1857
1857
|
dynamicFormConfigMain = linkedSignal(() => ({
|
|
1858
1858
|
layout: {
|
|
@@ -1945,13 +1945,13 @@ class PropertyForm {
|
|
|
1945
1945
|
bodyClass: 'grid grid-cols-1 md:grid-cols-2 gap-3',
|
|
1946
1946
|
fields: [
|
|
1947
1947
|
{
|
|
1948
|
-
key: '
|
|
1948
|
+
key: 'name.en',
|
|
1949
1949
|
label: this.transloco.translate('properties.form.englishName'),
|
|
1950
1950
|
placeholder: this.transloco.translate('properties.form.enterEnglishName'),
|
|
1951
1951
|
validators: [new ValidatorConfig({ type: 'required' })],
|
|
1952
1952
|
},
|
|
1953
1953
|
{
|
|
1954
|
-
key: '
|
|
1954
|
+
key: 'name.ar',
|
|
1955
1955
|
label: this.transloco.translate('properties.form.arabicName'),
|
|
1956
1956
|
placeholder: this.transloco.translate('properties.form.enterArabicName'),
|
|
1957
1957
|
validators: [new ValidatorConfig({ type: 'required' })],
|
|
@@ -1970,7 +1970,7 @@ class PropertyForm {
|
|
|
1970
1970
|
],
|
|
1971
1971
|
},
|
|
1972
1972
|
],
|
|
1973
|
-
}),
|
|
1973
|
+
}), ...(ngDevMode ? [{ debugName: "dynamicFormConfigMain" }] : []));
|
|
1974
1974
|
constructor() {
|
|
1975
1975
|
// Load when editing
|
|
1976
1976
|
effect(() => {
|
|
@@ -2146,10 +2146,10 @@ class PropertyForm {
|
|
|
2146
2146
|
this.facade.setDefaultViewType('');
|
|
2147
2147
|
this.destroyConfigurationComponent();
|
|
2148
2148
|
}
|
|
2149
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
2150
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
2149
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertyForm, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2150
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PropertyForm, isStandalone: true, selector: "mt-property-form", inputs: { propertyId: { classPropertyName: "propertyId", publicName: "propertyId", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "configurationHost", first: true, predicate: ["configurationHost"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<mt-page\n [title]=\"\n propertyId()\n ? ('properties.form.editProperty' | transloco)\n : ('properties.form.createNewProperty' | transloco)\n \"\n avatarIcon=\"custom.user-pp\"\n (backButtonClick)=\"goBack()\"\n backButton\n class=\"h-full\"\n>\n <ng-template #headerEnd>\n <mt-button\n class=\"mx-2\"\n [label]=\"submitLabel()\"\n [icon]=\"isEditing() ? 'custom.pencil' : 'general.plus'\"\n [loading]=\"submitting()\"\n [disabled]=\"submitDisabled() || this.propertyForm.invalid\"\n (click)=\"createOrEditProperty()\"\n />\n </ng-template>\n <div\n [formGroup]=\"propertyForm\"\n class=\"h-full py-4 h-full overflow-y-auto flex justify-center\"\n >\n <div class=\"w-1/2 flex flex-col gap-6\">\n @if (loading()) {\n <!-- Skeleton Loading State -->\n <div class=\"rounded-xl bg-white shadow-sm p-6 space-y-4\">\n <div class=\"flex justify-between items-center gap-6\">\n <p-skeleton width=\"50%\" height=\"3rem\"></p-skeleton>\n <p-skeleton width=\"8rem\" height=\"2.5rem\"></p-skeleton>\n </div>\n </div>\n\n <div class=\"rounded-xl bg-white shadow-sm p-6 space-y-4\">\n <p-skeleton\n width=\"12rem\"\n height=\"1.5rem\"\n styleClass=\"mb-4\"\n ></p-skeleton>\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <p-skeleton height=\"3rem\"></p-skeleton>\n <p-skeleton height=\"3rem\"></p-skeleton>\n <p-skeleton height=\"6rem\" styleClass=\"md:col-span-2\"></p-skeleton>\n <p-skeleton height=\"3rem\" styleClass=\"md:col-span-2\"></p-skeleton>\n </div>\n </div>\n\n <div class=\"rounded-xl bg-white shadow-sm p-6 space-y-4\">\n <p-skeleton\n width=\"10rem\"\n height=\"1.5rem\"\n styleClass=\"mb-4\"\n ></p-skeleton>\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <p-skeleton height=\"3rem\"></p-skeleton>\n <p-skeleton height=\"3rem\"></p-skeleton>\n <p-skeleton height=\"8rem\" styleClass=\"md:col-span-2\"></p-skeleton>\n </div>\n </div>\n } @else {\n <mt-dynamic-form\n [formConfig]=\"dynamicFormConfigMain()\"\n [formControlName]=\"'main'\"\n />\n @if (configurationFormConfig()) {\n <mt-dynamic-form\n formControlName=\"configuration\"\n [formConfig]=\"configurationFormConfig()!\"\n />\n } @else {\n <ng-container #configurationHost></ng-container>\n @if (!configurationComponentExists()) {\n @switch (propertyType()) {\n @case (\"User\") {\n <mt-user-configuration />\n }\n @case (\"Percentage\") {\n <mt-percentage-configuration />\n }\n @case (\"Lookup\") {\n <mt-lookup-configuration />\n }\n @case (\"LookupMultiSelect\") {\n <mt-lookup-configuration />\n }\n @case (\"InternalModule\") {\n <mt-internal-module-configuration />\n }\n @case (\"DynamicList\") {\n <mt-dynamic-list-configuration />\n }\n @case (\"API\") {\n <mt-api-configuration formControlName=\"configuration\" />\n }\n <!-- @case('ViewList') { REMOVED FOR NOW\n <mt-view-list-configuration />\n } -->\n @case (\"Attachment\") {\n <mt-attachment-configuration />\n }\n <!-- @case('ReferenceProperty') { REMOVED FOR NOW\n } -->\n @case (\"EditableListView\") {\n <mt-editable-list-view-configuration />\n }\n @case (\"LookupLog\") {\n <mt-check-list-form-configuration />\n }\n <!-- @case('LookupMatrix') { REMOVED FOR NOW\n <mt-lookup-configuration />\n } -->\n @case (\"Location\") {\n <mt-location-configuration />\n }\n }\n }\n }\n }\n </div>\n </div>\n</mt-page>\n", styles: [""], dependencies: [{ kind: "component", type: Page, selector: "mt-page", inputs: ["backButton", "backButtonIcon", "avatarIcon", "avatarStyle", "avatarShape", "title", "tabs", "activeTab", "contentClass", "contentId"], outputs: ["backButtonClick", "tabChange"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ApiConfiguration, selector: "mt-api-configuration" }, { kind: "component", type: CheckListFormConfiguration, selector: "mt-check-list-form-configuration" }, { kind: "component", type: DynamicListConfiguration, selector: "mt-dynamic-list-configuration" }, { kind: "component", type: EditableListViewConfiguration, selector: "mt-editable-list-view-configuration" }, { kind: "component", type: InternalModuleConfiguration, selector: "mt-internal-module-configuration" }, { kind: "component", type: LocationConfiguration, selector: "mt-location-configuration" }, { kind: "component", type: LookupConfiguration, selector: "mt-lookup-configuration" }, { kind: "component", type: PercentageConfiguration, selector: "mt-percentage-configuration" }, { kind: "component", type: UserConfiguration, selector: "mt-user-configuration" }, { kind: "component", type: AttachmentConfiguration, selector: "mt-attachment-configuration" }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i1.TranslocoPipe, name: "transloco" }] });
|
|
2151
2151
|
}
|
|
2152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
2152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PropertyForm, decorators: [{
|
|
2153
2153
|
type: Component,
|
|
2154
2154
|
args: [{ selector: 'mt-property-form', imports: [
|
|
2155
2155
|
Page,
|