@mediusinc/mng-commons 0.3.2 → 0.4.1
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/assets/i18n/en.json +1 -1
- package/assets/i18n/sl.json +1 -1
- package/esm2020/lib/api/models/builders/query-param.builder.mjs +7 -2
- package/esm2020/lib/api/services/api.abstract.service.mjs +21 -10
- package/esm2020/lib/api/utils/object-serializer.util.mjs +7 -1
- package/esm2020/lib/components/action/action.component.mjs +3 -3
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +3 -3
- package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +186 -32
- package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +1 -1
- package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
- package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +8 -8
- package/esm2020/lib/components/layout/main-layout.component.mjs +1 -1
- package/esm2020/lib/components/layout/topbar.component.mjs +1 -1
- package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +17 -5
- package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +9 -23
- package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +21 -7
- package/esm2020/lib/components/tableview/table/table.component.mjs +3 -3
- package/esm2020/lib/components/tableview/tableview.component.mjs +3 -3
- package/esm2020/lib/descriptors/column.descriptor.mjs +197 -0
- package/esm2020/lib/descriptors/editor.descriptor.mjs +3 -734
- package/esm2020/lib/descriptors/field.descriptor.interface.mjs +2 -0
- package/esm2020/lib/descriptors/field.descriptor.mjs +755 -0
- package/esm2020/lib/descriptors/filter.descriptor.mjs +237 -0
- package/esm2020/lib/descriptors/index.mjs +5 -1
- package/esm2020/lib/descriptors/table.descriptor.mjs +4 -385
- package/esm2020/lib/descriptors/tableview.descriptor.mjs +3 -3
- package/esm2020/lib/directives/component.directive.mjs +18 -2
- package/esm2020/lib/mng-commons.module.mjs +5 -5
- package/esm2020/lib/models/column-value.model.mjs +2 -0
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/pipes/index.mjs +2 -2
- package/esm2020/lib/pipes/json-path.pipe.mjs +80 -0
- package/esm2020/lib/pipes/link-formatter.pipe.mjs +1 -1
- package/esm2020/lib/services/action-executor.service.mjs +1 -1
- package/esm2020/lib/utils/model.util.mjs +16 -15
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/mediusinc-mng-commons.mjs +1671 -1348
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +1648 -1329
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/api/models/builders/query-param.builder.d.ts +2 -1
- package/lib/api/services/api.abstract.service.d.ts +10 -5
- package/lib/api/utils/object-serializer.util.d.ts +4 -2
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +20 -5
- package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -2
- package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +5 -1
- package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +1 -0
- package/lib/components/tableview/table/column-value/column-value.component.d.ts +5 -1
- package/lib/descriptors/column.descriptor.d.ts +66 -0
- package/lib/descriptors/editor.descriptor.d.ts +1 -292
- package/lib/descriptors/field.descriptor.d.ts +301 -0
- package/lib/descriptors/{editor.descriptor.interface.d.ts → field.descriptor.interface.d.ts} +0 -0
- package/lib/descriptors/filter.descriptor.d.ts +108 -0
- package/lib/descriptors/index.d.ts +4 -0
- package/lib/descriptors/table.descriptor.d.ts +5 -159
- package/lib/descriptors/tableview.descriptor.d.ts +4 -2
- package/lib/directives/component.directive.d.ts +5 -1
- package/lib/mng-commons.module.d.ts +2 -2
- package/lib/models/column-value.model.d.ts +4 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/pipes/index.d.ts +1 -1
- package/lib/pipes/json-path.pipe.d.ts +13 -0
- package/lib/pipes/link-formatter.pipe.d.ts +1 -1
- package/lib/services/action-executor.service.d.ts +1 -1
- package/lib/utils/model.util.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/scss/mng-overrides/_layout_action.scss +7 -0
- package/scss/mng-overrides/_layout_dialog.scss +17 -6
- package/scss/mng-overrides/_mixins.scss +60 -0
- package/scss/theme/default/_mng-variables-theme-dark.scss +2 -3
- package/scss/theme/default/_mng-variables-theme-light.scss +2 -3
- package/scss/theme/default/_mng-variables.scss +12 -0
- package/esm2020/lib/descriptors/editor.descriptor.interface.mjs +0 -2
- package/esm2020/lib/pipes/property-path.pipe.mjs +0 -36
- package/lib/pipes/property-path.pipe.d.ts +0 -7
|
@@ -3,17 +3,17 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { HttpErrorResponse, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { InjectionToken, Injectable, Pipe, Inject, EventEmitter, Component, ChangeDetectionStrategy, Optional, HostBinding, Input, Output, Directive, ContentChildren, ViewChild, forwardRef, ViewChildren, HostListener, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i4$2 from '@angular/forms';
|
|
7
7
|
import { Validators, FormGroup, FormArray, NG_VALUE_ACCESSOR, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
8
8
|
import * as i1 from '@angular/router';
|
|
9
9
|
import { NavigationEnd, GuardsCheckEnd, RouterModule } from '@angular/router';
|
|
10
|
-
import * as i3$
|
|
10
|
+
import * as i3$1 from '@ngx-formly/core';
|
|
11
11
|
import { FieldType, FieldWrapper, FORMLY_CONFIG, FormlyModule } from '@ngx-formly/core';
|
|
12
|
-
import * as
|
|
12
|
+
import * as i1$1 from '@ngx-translate/core';
|
|
13
13
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
14
14
|
import * as i2 from 'primeng/api';
|
|
15
15
|
import { ConfirmationService, MessageService, FilterMatchMode } from 'primeng/api';
|
|
16
|
-
import * as
|
|
16
|
+
import * as i2$1 from 'primeng/autocomplete';
|
|
17
17
|
import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
|
|
18
18
|
import * as i2$4 from 'primeng/breadcrumb';
|
|
19
19
|
import { BreadcrumbModule } from 'primeng/breadcrumb';
|
|
@@ -46,21 +46,21 @@ import * as i10 from 'primeng/inputtext';
|
|
|
46
46
|
import { InputTextModule } from 'primeng/inputtext';
|
|
47
47
|
import * as i9$1 from 'primeng/inputtextarea';
|
|
48
48
|
import { InputTextareaModule } from 'primeng/inputtextarea';
|
|
49
|
-
import * as i3$
|
|
49
|
+
import * as i3$2 from 'primeng/messages';
|
|
50
50
|
import { MessagesModule } from 'primeng/messages';
|
|
51
|
-
import * as i3$
|
|
51
|
+
import * as i3$3 from 'primeng/multiselect';
|
|
52
52
|
import { MultiSelectModule } from 'primeng/multiselect';
|
|
53
53
|
import { PaginatorModule } from 'primeng/paginator';
|
|
54
54
|
import * as i6 from 'primeng/progressspinner';
|
|
55
55
|
import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
56
|
-
import * as i4$
|
|
56
|
+
import * as i4$4 from 'primeng/radiobutton';
|
|
57
57
|
import { RadioButtonModule } from 'primeng/radiobutton';
|
|
58
58
|
import * as i8 from 'primeng/ripple';
|
|
59
59
|
import { RippleModule } from 'primeng/ripple';
|
|
60
60
|
import { SelectButtonModule } from 'primeng/selectbutton';
|
|
61
61
|
import * as i7$1 from 'primeng/skeleton';
|
|
62
62
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
63
|
-
import * as i4$
|
|
63
|
+
import * as i4$5 from 'primeng/table';
|
|
64
64
|
import { Table, TableModule } from 'primeng/table';
|
|
65
65
|
import * as i1$4 from 'primeng/tabview';
|
|
66
66
|
import { TabViewModule } from 'primeng/tabview';
|
|
@@ -68,7 +68,7 @@ import { TagModule } from 'primeng/tag';
|
|
|
68
68
|
import * as i6$2 from 'primeng/toast';
|
|
69
69
|
import { ToastModule } from 'primeng/toast';
|
|
70
70
|
import { ToggleButtonModule } from 'primeng/togglebutton';
|
|
71
|
-
import * as i4$
|
|
71
|
+
import * as i4$3 from 'primeng/toolbar';
|
|
72
72
|
import { ToolbarModule } from 'primeng/toolbar';
|
|
73
73
|
import * as i9 from 'primeng/tooltip';
|
|
74
74
|
import { TooltipModule } from 'primeng/tooltip';
|
|
@@ -314,6 +314,7 @@ class MediusQueryParamBuilder {
|
|
|
314
314
|
const queryParam = new MediusQueryParam();
|
|
315
315
|
queryParam.itemsPerPage = itemsPerPage;
|
|
316
316
|
queryParam.itemsOffset = itemsOffset;
|
|
317
|
+
queryParam.queryMode = MediusQueryMode.All;
|
|
317
318
|
return new MediusQueryParamBuilder(queryParam);
|
|
318
319
|
}
|
|
319
320
|
withItemsPerPage(itemsPerPage) {
|
|
@@ -324,6 +325,10 @@ class MediusQueryParamBuilder {
|
|
|
324
325
|
this.queryParam.itemsOffset = itemsOffset;
|
|
325
326
|
return this;
|
|
326
327
|
}
|
|
328
|
+
withQueryMode(queryMode) {
|
|
329
|
+
this.queryParam.queryMode = queryMode;
|
|
330
|
+
return this;
|
|
331
|
+
}
|
|
327
332
|
withSort(property, asc = true) {
|
|
328
333
|
if (!this.queryParam.sortProperty || !this.queryParam.sortAsc) {
|
|
329
334
|
this.queryParam.sortProperty = [];
|
|
@@ -960,1517 +965,1591 @@ var ActionLevelEnum;
|
|
|
960
965
|
ActionLevelEnum[ActionLevelEnum["Danger"] = 7] = "Danger";
|
|
961
966
|
})(ActionLevelEnum || (ActionLevelEnum = {}));
|
|
962
967
|
|
|
963
|
-
class
|
|
964
|
-
constructor(
|
|
965
|
-
this.
|
|
966
|
-
this.
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
var MngFormFieldEventTypeEnum;
|
|
970
|
-
(function (MngFormFieldEventTypeEnum) {
|
|
971
|
-
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["Component"] = 0] = "Component";
|
|
972
|
-
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["ValueChange"] = 1] = "ValueChange";
|
|
973
|
-
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["DataProvider"] = 2] = "DataProvider";
|
|
974
|
-
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["Dialog"] = 3] = "Dialog";
|
|
975
|
-
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["Other"] = 4] = "Other";
|
|
976
|
-
})(MngFormFieldEventTypeEnum || (MngFormFieldEventTypeEnum = {}));
|
|
977
|
-
class MngFormFieldEventComponentSubtype {
|
|
978
|
-
}
|
|
979
|
-
MngFormFieldEventComponentSubtype.ON_INIT = 'Component.OnInit';
|
|
980
|
-
MngFormFieldEventComponentSubtype.ON_VIEW_INIT = 'Component.OnViewInit';
|
|
981
|
-
MngFormFieldEventComponentSubtype.ON_CONTENT_INIT = 'Component.OnContentInit';
|
|
982
|
-
MngFormFieldEventComponentSubtype.ON_DESTROY = 'Component.OnDestroy';
|
|
983
|
-
class MngFormFieldEventDialogSubtype {
|
|
984
|
-
}
|
|
985
|
-
MngFormFieldEventDialogSubtype.VISIBILITY = 'Dialog.Visibility';
|
|
986
|
-
MngFormFieldEventDialogSubtype.TABLE_CAPTION_COMPONENT_INSTANCE = 'Dialog.MngTable.CaptionComponentInstance';
|
|
987
|
-
MngFormFieldEventDialogSubtype.TABLE_COLUMN_ACTIONS_COMPONENT_INSTANCE = 'Dialog.MngTable.ColumnActionsComponentInstance';
|
|
988
|
-
class MngFormFieldEvent {
|
|
989
|
-
constructor(type, componentType, componentInstance, data = {}) {
|
|
990
|
-
this.type = type;
|
|
991
|
-
this.componentType = componentType;
|
|
992
|
-
this.componentInstance = componentInstance;
|
|
993
|
-
this.data = data;
|
|
968
|
+
class FilterDescriptor {
|
|
969
|
+
constructor(property) {
|
|
970
|
+
this._filterType = FilterDescriptor.TypeEnum.String;
|
|
971
|
+
this._matchModes = null;
|
|
972
|
+
this._className = '';
|
|
973
|
+
this._property = property;
|
|
994
974
|
}
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
class EditorDescriptor {
|
|
998
|
-
constructor(modelType, idProperty, titleProperty, tableviewEditorType = EditorDescriptor.TableviewEditorTypeEnum.None) {
|
|
999
|
-
this._tabs = [];
|
|
1000
|
-
this._groups = [];
|
|
1001
|
-
this._fields = [];
|
|
1002
|
-
this._disabled = false;
|
|
1003
|
-
this._model = new ModelDescriptor(modelType, idProperty, titleProperty);
|
|
1004
|
-
this._tableviewEditorType = tableviewEditorType;
|
|
975
|
+
get filterType() {
|
|
976
|
+
return this._filterType;
|
|
1005
977
|
}
|
|
1006
|
-
get
|
|
1007
|
-
return this.
|
|
978
|
+
get filterProperty() {
|
|
979
|
+
return this._filterProperty;
|
|
1008
980
|
}
|
|
1009
|
-
get
|
|
1010
|
-
return this.
|
|
981
|
+
get matchModes() {
|
|
982
|
+
return this._matchModes;
|
|
1011
983
|
}
|
|
1012
|
-
get
|
|
1013
|
-
return this.
|
|
984
|
+
get placeholder() {
|
|
985
|
+
return this._placeholder;
|
|
1014
986
|
}
|
|
1015
|
-
get
|
|
1016
|
-
return this.
|
|
987
|
+
get className() {
|
|
988
|
+
return this._className;
|
|
1017
989
|
}
|
|
1018
|
-
get
|
|
1019
|
-
return this.
|
|
990
|
+
get property() {
|
|
991
|
+
return this._property;
|
|
1020
992
|
}
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
title = I18nUtil.getModelTabKey(this.model, name);
|
|
1025
|
-
}
|
|
1026
|
-
tabGroup.withTitle(title);
|
|
1027
|
-
this.createTabGroupDescriptor(tabGroup);
|
|
1028
|
-
return tabGroup;
|
|
993
|
+
asFilterType(filterType) {
|
|
994
|
+
this._filterType = filterType;
|
|
995
|
+
return this;
|
|
1029
996
|
}
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
}
|
|
1038
|
-
this.createFieldGroupDescriptor(fieldGroup);
|
|
1039
|
-
return fieldGroup;
|
|
997
|
+
/**
|
|
998
|
+
* Sets different filter property name instead of default property. Use this if API requires different property provided to perform correct filter.
|
|
999
|
+
* @param filterProperty
|
|
1000
|
+
*/
|
|
1001
|
+
withFilterProperty(filterProperty) {
|
|
1002
|
+
this._filterProperty = filterProperty;
|
|
1003
|
+
return this;
|
|
1040
1004
|
}
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
this.createDefaultGroup();
|
|
1044
|
-
this._fields.push(field);
|
|
1045
|
-
(_a = this._currentGroup) === null || _a === void 0 ? void 0 : _a.addField(field);
|
|
1005
|
+
withPlaceholder(placeholder) {
|
|
1006
|
+
this._placeholder = placeholder;
|
|
1046
1007
|
return this;
|
|
1047
1008
|
}
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
this
|
|
1051
|
-
return field;
|
|
1009
|
+
withClassName(className) {
|
|
1010
|
+
this._className = className;
|
|
1011
|
+
return this;
|
|
1052
1012
|
}
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
if (fieldIdx < 0) {
|
|
1056
|
-
throw new Error(`Field ${property} does not exist.`);
|
|
1057
|
-
}
|
|
1058
|
-
const field = this._fields[fieldIdx];
|
|
1059
|
-
if (field.group) {
|
|
1060
|
-
const groupFieldIdx = field.group.fields.findIndex(f => f instanceof AFieldDescriptor && f.property === property);
|
|
1061
|
-
if (groupFieldIdx >= 0) {
|
|
1062
|
-
field.group.fields.splice(groupFieldIdx, 1);
|
|
1063
|
-
}
|
|
1064
|
-
}
|
|
1065
|
-
this._fields.splice(fieldIdx, 1);
|
|
1013
|
+
withMatchModes(matchModes) {
|
|
1014
|
+
this._matchModes = matchModes;
|
|
1066
1015
|
return this;
|
|
1067
1016
|
}
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1017
|
+
copy() {
|
|
1018
|
+
const descriptor = new FilterDescriptor(this._property);
|
|
1019
|
+
this.copyFieldsTo(descriptor);
|
|
1020
|
+
return descriptor;
|
|
1071
1021
|
}
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
this.
|
|
1075
|
-
|
|
1022
|
+
copyFieldsTo(descriptor) {
|
|
1023
|
+
descriptor._filterType = this._filterType;
|
|
1024
|
+
descriptor._filterProperty = this._filterProperty;
|
|
1025
|
+
descriptor._placeholder = this._placeholder;
|
|
1026
|
+
descriptor._className = this._className;
|
|
1076
1027
|
}
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1028
|
+
}
|
|
1029
|
+
(function (FilterDescriptor) {
|
|
1030
|
+
let TypeEnum;
|
|
1031
|
+
(function (TypeEnum) {
|
|
1032
|
+
TypeEnum[TypeEnum["String"] = 0] = "String";
|
|
1033
|
+
TypeEnum[TypeEnum["Number"] = 1] = "Number";
|
|
1034
|
+
TypeEnum[TypeEnum["Boolean"] = 2] = "Boolean";
|
|
1035
|
+
TypeEnum[TypeEnum["Date"] = 3] = "Date";
|
|
1036
|
+
TypeEnum[TypeEnum["Lookup"] = 4] = "Lookup";
|
|
1037
|
+
TypeEnum[TypeEnum["LookupEnum"] = 5] = "LookupEnum";
|
|
1038
|
+
})(TypeEnum = FilterDescriptor.TypeEnum || (FilterDescriptor.TypeEnum = {}));
|
|
1039
|
+
let MatchModeEnum;
|
|
1040
|
+
(function (MatchModeEnum) {
|
|
1041
|
+
MatchModeEnum["StartsWith"] = "startsWith";
|
|
1042
|
+
MatchModeEnum["Contains"] = "contains";
|
|
1043
|
+
MatchModeEnum["EndsWith"] = "endsWith";
|
|
1044
|
+
MatchModeEnum["Equals"] = "equals";
|
|
1045
|
+
MatchModeEnum["NotEquals"] = "notEquals";
|
|
1046
|
+
MatchModeEnum["In"] = "in";
|
|
1047
|
+
MatchModeEnum["LessThan"] = "lt";
|
|
1048
|
+
MatchModeEnum["LessThanOrEqualTo"] = "lte";
|
|
1049
|
+
MatchModeEnum["GreaterThan"] = "gt";
|
|
1050
|
+
MatchModeEnum["GreaterThanOrEqualTo"] = "gte";
|
|
1051
|
+
MatchModeEnum["Between"] = "between";
|
|
1052
|
+
MatchModeEnum["DateIs"] = "dateIs";
|
|
1053
|
+
MatchModeEnum["DateIsNot"] = "dateIsNot";
|
|
1054
|
+
MatchModeEnum["DateBefore"] = "dateBefore";
|
|
1055
|
+
MatchModeEnum["DateAfter"] = "dateAfter";
|
|
1056
|
+
})(MatchModeEnum = FilterDescriptor.MatchModeEnum || (FilterDescriptor.MatchModeEnum = {}));
|
|
1057
|
+
})(FilterDescriptor || (FilterDescriptor = {}));
|
|
1058
|
+
class FilterLookupDescriptor extends FilterDescriptor {
|
|
1059
|
+
constructor(property, modelType) {
|
|
1060
|
+
super(property);
|
|
1061
|
+
this._modelType = null;
|
|
1062
|
+
this._lookupType = FilterLookupDescriptor.LookupTypeEnum.Dropdown;
|
|
1063
|
+
this._itemsLabelTranslate = false;
|
|
1064
|
+
this._multiselect = false;
|
|
1065
|
+
this._dropdownClassName = 'mng-filter-lookup-dropdown';
|
|
1066
|
+
this._autocompleteOpenOnFocus = false;
|
|
1067
|
+
this._autocompleteInlineSearch = false;
|
|
1068
|
+
this._modelType = modelType;
|
|
1069
|
+
this._filterType = FilterDescriptor.TypeEnum.Lookup;
|
|
1070
|
+
ModelUtil.trySetLookupItemsProperties(this);
|
|
1081
1071
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
this.addFieldDescriptor(field);
|
|
1085
|
-
return field;
|
|
1072
|
+
get lookupType() {
|
|
1073
|
+
return this._lookupType;
|
|
1086
1074
|
}
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
this.addFieldDescriptor(field);
|
|
1090
|
-
return field;
|
|
1075
|
+
get dataProvider() {
|
|
1076
|
+
return this._dataProvider;
|
|
1091
1077
|
}
|
|
1092
|
-
|
|
1093
|
-
this.
|
|
1094
|
-
return this;
|
|
1078
|
+
get itemsLabelProperty() {
|
|
1079
|
+
return this._itemsLabelProperty;
|
|
1095
1080
|
}
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
this._currentGroup.withValidator(name, expression);
|
|
1099
|
-
}
|
|
1081
|
+
get itemsLabelTranslate() {
|
|
1082
|
+
return this._itemsLabelTranslate;
|
|
1100
1083
|
}
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
for (const tabGroup of this._tabs) {
|
|
1104
|
-
editor.createTabGroupDescriptor(tabGroup.copy());
|
|
1105
|
-
}
|
|
1106
|
-
for (const tabGroup of editor._tabs) {
|
|
1107
|
-
for (const fieldGroup of tabGroup.fields) {
|
|
1108
|
-
editor._fields.push(...fieldGroup.fields);
|
|
1109
|
-
}
|
|
1110
|
-
editor._groups.push(...tabGroup.fields);
|
|
1111
|
-
}
|
|
1112
|
-
editor._currentTabGroup = editor._tabs[editor._tabs.length - 1];
|
|
1113
|
-
editor._currentGroup = editor._currentTabGroup.fields[editor._currentTabGroup.fields.length - 1];
|
|
1114
|
-
editor._disabled = this._disabled;
|
|
1115
|
-
return editor;
|
|
1084
|
+
get itemsValueProperty() {
|
|
1085
|
+
return this._itemsValueProperty;
|
|
1116
1086
|
}
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
this.createDefaultTabGroup();
|
|
1120
|
-
this._currentGroup = fieldGroup;
|
|
1121
|
-
this._groups.push(fieldGroup);
|
|
1122
|
-
(_a = this._currentTabGroup) === null || _a === void 0 ? void 0 : _a.addField(fieldGroup);
|
|
1123
|
-
return this;
|
|
1087
|
+
get dataKeyProperty() {
|
|
1088
|
+
return this._dataKeyProperty;
|
|
1124
1089
|
}
|
|
1125
|
-
|
|
1126
|
-
this.
|
|
1127
|
-
this._tabs.push(tabGroup);
|
|
1128
|
-
return this;
|
|
1090
|
+
get multiselect() {
|
|
1091
|
+
return this._multiselect;
|
|
1129
1092
|
}
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
this.createDefaultTabGroup();
|
|
1133
|
-
if (((_a = this._currentTabGroup) === null || _a === void 0 ? void 0 : _a.fields.length) === 0) {
|
|
1134
|
-
this.createFieldGroup(EditorDescriptor.defaultGroupName, null);
|
|
1135
|
-
}
|
|
1093
|
+
get autocompleteOpenOnFocus() {
|
|
1094
|
+
return this._autocompleteOpenOnFocus;
|
|
1136
1095
|
}
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
this.createTabGroup(EditorDescriptor.defaultGroupName, 'general.general');
|
|
1140
|
-
}
|
|
1096
|
+
get autocompleteInlineSearch() {
|
|
1097
|
+
return this._autocompleteInlineSearch;
|
|
1141
1098
|
}
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
(function (EditorDescriptor) {
|
|
1145
|
-
let TableviewEditorTypeEnum;
|
|
1146
|
-
(function (TableviewEditorTypeEnum) {
|
|
1147
|
-
TableviewEditorTypeEnum[TableviewEditorTypeEnum["None"] = 0] = "None";
|
|
1148
|
-
TableviewEditorTypeEnum[TableviewEditorTypeEnum["View"] = 1] = "View";
|
|
1149
|
-
TableviewEditorTypeEnum[TableviewEditorTypeEnum["Edit"] = 2] = "Edit";
|
|
1150
|
-
TableviewEditorTypeEnum[TableviewEditorTypeEnum["Add"] = 3] = "Add";
|
|
1151
|
-
})(TableviewEditorTypeEnum = EditorDescriptor.TableviewEditorTypeEnum || (EditorDescriptor.TableviewEditorTypeEnum = {}));
|
|
1152
|
-
})(EditorDescriptor || (EditorDescriptor = {}));
|
|
1153
|
-
class AGenericFieldDescriptor {
|
|
1154
|
-
constructor(editor) {
|
|
1155
|
-
this._config = {};
|
|
1156
|
-
this._editor = editor;
|
|
1099
|
+
get dropdownClassName() {
|
|
1100
|
+
return this._dropdownClassName;
|
|
1157
1101
|
}
|
|
1158
|
-
get
|
|
1159
|
-
return this.
|
|
1102
|
+
get modelType() {
|
|
1103
|
+
return this._modelType;
|
|
1160
1104
|
}
|
|
1161
|
-
|
|
1162
|
-
|
|
1105
|
+
withItemsLabelProperty(itemsLabelProperty, translate = false) {
|
|
1106
|
+
this._itemsLabelProperty = itemsLabelProperty;
|
|
1107
|
+
this._itemsLabelTranslate = translate;
|
|
1108
|
+
return this;
|
|
1163
1109
|
}
|
|
1164
|
-
|
|
1165
|
-
this.
|
|
1110
|
+
withItemsValueProperty(itemsValueProperty) {
|
|
1111
|
+
this._itemsValueProperty = itemsValueProperty;
|
|
1112
|
+
this._dataKeyProperty = itemsValueProperty;
|
|
1166
1113
|
return this;
|
|
1167
1114
|
}
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
this._required = false;
|
|
1173
|
-
this._disabled = false;
|
|
1174
|
-
this._validators = [];
|
|
1175
|
-
this._className = '';
|
|
1176
|
-
this._labelClassName = '';
|
|
1177
|
-
this._inputClassName = '';
|
|
1178
|
-
this._size = FieldDescriptor.SizeEnum.Normal;
|
|
1179
|
-
this._eventsSubject = new Subject();
|
|
1180
|
-
this._property = property;
|
|
1181
|
-
this._label = I18nUtil.getModelPropertyKey(this._editor.model, property);
|
|
1115
|
+
withDataKeyProperty(dataKeyProperty) {
|
|
1116
|
+
this._dataKeyProperty = dataKeyProperty;
|
|
1117
|
+
this._itemsValueProperty = dataKeyProperty;
|
|
1118
|
+
return this;
|
|
1182
1119
|
}
|
|
1183
|
-
|
|
1184
|
-
|
|
1120
|
+
withLookup(lookup, serviceType) {
|
|
1121
|
+
const dataProvider = new LookupDataProvider(this._modelType);
|
|
1122
|
+
if (serviceType) {
|
|
1123
|
+
dataProvider.withServiceType(serviceType);
|
|
1124
|
+
}
|
|
1125
|
+
dataProvider.withLookup(lookup);
|
|
1126
|
+
this._dataProvider = dataProvider;
|
|
1127
|
+
return this;
|
|
1185
1128
|
}
|
|
1186
|
-
|
|
1187
|
-
|
|
1129
|
+
withLookupDataProvider(dataProvider) {
|
|
1130
|
+
this._dataProvider = dataProvider;
|
|
1131
|
+
return this;
|
|
1188
1132
|
}
|
|
1189
|
-
|
|
1190
|
-
|
|
1133
|
+
withMultiselect(multiselect = true) {
|
|
1134
|
+
this._multiselect = multiselect;
|
|
1135
|
+
return this;
|
|
1191
1136
|
}
|
|
1192
|
-
|
|
1193
|
-
|
|
1137
|
+
withDropdownClassName(dropdownClassName) {
|
|
1138
|
+
this._dropdownClassName = dropdownClassName;
|
|
1139
|
+
return this;
|
|
1194
1140
|
}
|
|
1195
|
-
|
|
1196
|
-
|
|
1141
|
+
asAutocomplete(openOnFocus = false, inlineSearch = false) {
|
|
1142
|
+
this._lookupType = FilterLookupDescriptor.LookupTypeEnum.Autocomplete;
|
|
1143
|
+
this._autocompleteOpenOnFocus = openOnFocus;
|
|
1144
|
+
this._autocompleteInlineSearch = inlineSearch;
|
|
1145
|
+
return this;
|
|
1197
1146
|
}
|
|
1198
|
-
|
|
1199
|
-
|
|
1147
|
+
copy() {
|
|
1148
|
+
const descriptor = new FilterLookupDescriptor(this._property, this._modelType);
|
|
1149
|
+
this.copyFieldsTo(descriptor);
|
|
1150
|
+
return descriptor;
|
|
1200
1151
|
}
|
|
1201
|
-
|
|
1202
|
-
|
|
1152
|
+
copyFieldsTo(filter) {
|
|
1153
|
+
super.copyFieldsTo(filter);
|
|
1154
|
+
filter._dataProvider = this._dataProvider;
|
|
1155
|
+
filter._lookupType = this._lookupType;
|
|
1156
|
+
filter._itemsLabelProperty = this._itemsLabelProperty;
|
|
1157
|
+
filter._itemsLabelTranslate = this._itemsLabelTranslate;
|
|
1158
|
+
filter._itemsValueProperty = this._itemsValueProperty;
|
|
1159
|
+
filter._dataKeyProperty = this._dataKeyProperty;
|
|
1160
|
+
filter._multiselect = this._multiselect;
|
|
1161
|
+
filter._dropdownClassName = this._dropdownClassName;
|
|
1162
|
+
filter._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;
|
|
1163
|
+
filter._autocompleteInlineSearch = this._autocompleteInlineSearch;
|
|
1203
1164
|
}
|
|
1204
|
-
|
|
1205
|
-
|
|
1165
|
+
}
|
|
1166
|
+
class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
1167
|
+
constructor(property, enumType, options, nameAsValue = false, optionsTitlePath) {
|
|
1168
|
+
super(property, null);
|
|
1169
|
+
this._enumType = enumType;
|
|
1170
|
+
if (typeof optionsTitlePath === 'undefined') {
|
|
1171
|
+
optionsTitlePath = TypeUtil.findEnumName(enumType);
|
|
1172
|
+
}
|
|
1173
|
+
const optionEnumValues = Array.isArray(options)
|
|
1174
|
+
? EnumUtil.fromValuesAsEnumValueArray(enumType, options, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined)
|
|
1175
|
+
: EnumUtil.fromConstantsAsEnumValueArray(enumType, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined);
|
|
1176
|
+
const dataProvider = new LookupDataProvider(null).withLookup(() => of(optionEnumValues));
|
|
1177
|
+
this.withLookupDataProvider(dataProvider);
|
|
1178
|
+
this.withItemsLabelProperty('title', optionsTitlePath !== null);
|
|
1179
|
+
this.withItemsValueProperty('value');
|
|
1206
1180
|
}
|
|
1207
|
-
get
|
|
1208
|
-
return this.
|
|
1181
|
+
get enumType() {
|
|
1182
|
+
return this._enumType;
|
|
1209
1183
|
}
|
|
1210
|
-
|
|
1211
|
-
|
|
1184
|
+
asAutocomplete(openOnFocus = true) {
|
|
1185
|
+
super.asAutocomplete(openOnFocus, true);
|
|
1186
|
+
return this;
|
|
1212
1187
|
}
|
|
1213
|
-
|
|
1214
|
-
|
|
1188
|
+
copy() {
|
|
1189
|
+
const field = new FilterLookupEnumDescriptor(this._property, this._enumType, []);
|
|
1190
|
+
this.copyFieldsTo(field);
|
|
1191
|
+
return field;
|
|
1215
1192
|
}
|
|
1216
|
-
|
|
1217
|
-
|
|
1193
|
+
}
|
|
1194
|
+
(function (FilterLookupDescriptor) {
|
|
1195
|
+
let LookupTypeEnum;
|
|
1196
|
+
(function (LookupTypeEnum) {
|
|
1197
|
+
LookupTypeEnum[LookupTypeEnum["Dropdown"] = 0] = "Dropdown";
|
|
1198
|
+
LookupTypeEnum[LookupTypeEnum["Autocomplete"] = 1] = "Autocomplete";
|
|
1199
|
+
})(LookupTypeEnum = FilterLookupDescriptor.LookupTypeEnum || (FilterLookupDescriptor.LookupTypeEnum = {}));
|
|
1200
|
+
})(FilterLookupDescriptor || (FilterLookupDescriptor = {}));
|
|
1201
|
+
|
|
1202
|
+
class ColumnDescriptor {
|
|
1203
|
+
constructor(table, property) {
|
|
1204
|
+
this._columnType = ColumnDescriptor.TypeEnum.String;
|
|
1205
|
+
this._isSortEnabled = false;
|
|
1206
|
+
this._enumNameAsValue = false;
|
|
1207
|
+
// boolean specifics
|
|
1208
|
+
this._booleanAsIcon = false;
|
|
1209
|
+
this._table = table;
|
|
1210
|
+
this._property = property;
|
|
1218
1211
|
}
|
|
1219
|
-
get
|
|
1220
|
-
return this.
|
|
1212
|
+
get columnType() {
|
|
1213
|
+
return this._columnType;
|
|
1221
1214
|
}
|
|
1222
|
-
get
|
|
1223
|
-
return this.
|
|
1215
|
+
get title() {
|
|
1216
|
+
return this._title;
|
|
1224
1217
|
}
|
|
1225
|
-
get
|
|
1226
|
-
return this.
|
|
1218
|
+
get jsonPath() {
|
|
1219
|
+
return this._jsonPath;
|
|
1227
1220
|
}
|
|
1228
|
-
get
|
|
1229
|
-
return this.
|
|
1221
|
+
get isSortEnabled() {
|
|
1222
|
+
return this._isSortEnabled;
|
|
1230
1223
|
}
|
|
1231
|
-
get
|
|
1232
|
-
return this.
|
|
1224
|
+
get filterDescriptor() {
|
|
1225
|
+
return this._filterDescriptor;
|
|
1233
1226
|
}
|
|
1234
|
-
get
|
|
1235
|
-
return this.
|
|
1227
|
+
get displayFormat() {
|
|
1228
|
+
return this._displayFormat;
|
|
1236
1229
|
}
|
|
1237
|
-
get
|
|
1238
|
-
return this.
|
|
1230
|
+
get table() {
|
|
1231
|
+
return this._table;
|
|
1239
1232
|
}
|
|
1240
|
-
get
|
|
1241
|
-
return this.
|
|
1233
|
+
get property() {
|
|
1234
|
+
return this._property;
|
|
1242
1235
|
}
|
|
1243
|
-
|
|
1244
|
-
this.
|
|
1245
|
-
return this;
|
|
1236
|
+
get enumType() {
|
|
1237
|
+
return this._enumType;
|
|
1246
1238
|
}
|
|
1247
|
-
|
|
1248
|
-
this.
|
|
1249
|
-
return this;
|
|
1239
|
+
get enumTitlePath() {
|
|
1240
|
+
return this._enumTitlePath;
|
|
1250
1241
|
}
|
|
1251
|
-
|
|
1252
|
-
this.
|
|
1253
|
-
return this;
|
|
1242
|
+
get enumNameAsValue() {
|
|
1243
|
+
return this._enumNameAsValue;
|
|
1254
1244
|
}
|
|
1255
|
-
|
|
1256
|
-
this.
|
|
1257
|
-
if (requiredExpression) {
|
|
1258
|
-
this._requiredExpression = requiredExpression;
|
|
1259
|
-
}
|
|
1260
|
-
return this;
|
|
1245
|
+
get booleanAsIcon() {
|
|
1246
|
+
return this._booleanAsIcon;
|
|
1261
1247
|
}
|
|
1262
|
-
|
|
1263
|
-
this.
|
|
1264
|
-
if (disabledExpression) {
|
|
1265
|
-
this._disabledExpression = disabledExpression;
|
|
1266
|
-
}
|
|
1267
|
-
return this;
|
|
1248
|
+
get booleanYes() {
|
|
1249
|
+
return this._booleanYes;
|
|
1268
1250
|
}
|
|
1269
|
-
|
|
1270
|
-
this.
|
|
1251
|
+
get booleanNo() {
|
|
1252
|
+
return this._booleanNo;
|
|
1253
|
+
}
|
|
1254
|
+
get objectModelType() {
|
|
1255
|
+
return this._objectModelType;
|
|
1256
|
+
}
|
|
1257
|
+
get objectTitleProperty() {
|
|
1258
|
+
return this._objectTitleProperty;
|
|
1259
|
+
}
|
|
1260
|
+
get customComponentType() {
|
|
1261
|
+
return this._customComponentType;
|
|
1262
|
+
}
|
|
1263
|
+
asType(type = ColumnDescriptor.TypeEnum.String) {
|
|
1264
|
+
this._columnType = type;
|
|
1271
1265
|
return this;
|
|
1272
1266
|
}
|
|
1273
|
-
|
|
1274
|
-
this.
|
|
1267
|
+
asNumber(displayFormat = '1.0-0') {
|
|
1268
|
+
this._columnType = ColumnDescriptor.TypeEnum.Number;
|
|
1269
|
+
this._displayFormat = displayFormat;
|
|
1275
1270
|
return this;
|
|
1276
1271
|
}
|
|
1277
|
-
|
|
1278
|
-
this.
|
|
1272
|
+
asDate(displayFormat = 'dd.MM.yyyy') {
|
|
1273
|
+
this._columnType = ColumnDescriptor.TypeEnum.Date;
|
|
1274
|
+
this._displayFormat = displayFormat;
|
|
1279
1275
|
return this;
|
|
1280
1276
|
}
|
|
1281
|
-
|
|
1282
|
-
this.
|
|
1277
|
+
asBoolean(yes, no, asIcon = false) {
|
|
1278
|
+
this._columnType = ColumnDescriptor.TypeEnum.Boolean;
|
|
1279
|
+
this._booleanAsIcon = asIcon;
|
|
1280
|
+
this._booleanYes = yes;
|
|
1281
|
+
this._booleanNo = no;
|
|
1283
1282
|
return this;
|
|
1284
1283
|
}
|
|
1285
|
-
|
|
1286
|
-
this.
|
|
1284
|
+
asEnum(enumType, nameAsValue = false, titlePath) {
|
|
1285
|
+
this._columnType = ColumnDescriptor.TypeEnum.Enum;
|
|
1286
|
+
this._enumType = enumType;
|
|
1287
|
+
this._enumNameAsValue = nameAsValue;
|
|
1288
|
+
if (typeof titlePath === 'undefined') {
|
|
1289
|
+
titlePath = TypeUtil.findEnumName(enumType);
|
|
1290
|
+
}
|
|
1291
|
+
this._enumTitlePath = titlePath;
|
|
1287
1292
|
return this;
|
|
1288
1293
|
}
|
|
1289
|
-
|
|
1290
|
-
this.
|
|
1291
|
-
this.
|
|
1292
|
-
this._inputClassName = inputClassName;
|
|
1294
|
+
asCustomComponent(customComponentType) {
|
|
1295
|
+
this._columnType = ColumnDescriptor.TypeEnum.Custom;
|
|
1296
|
+
this._customComponentType = customComponentType;
|
|
1293
1297
|
return this;
|
|
1294
1298
|
}
|
|
1295
|
-
|
|
1296
|
-
|
|
1299
|
+
withObjectProperty(modelType, titleProperty) {
|
|
1300
|
+
var _a;
|
|
1301
|
+
this._objectModelType = modelType;
|
|
1302
|
+
if (!titleProperty) {
|
|
1303
|
+
this._objectTitleProperty = (_a = ModelUtil.findTitleAttribute(modelType)) !== null && _a !== void 0 ? _a : undefined;
|
|
1304
|
+
}
|
|
1305
|
+
else {
|
|
1306
|
+
this._objectTitleProperty = titleProperty;
|
|
1307
|
+
}
|
|
1297
1308
|
return this;
|
|
1298
1309
|
}
|
|
1299
|
-
|
|
1300
|
-
this.
|
|
1310
|
+
withTitle(title) {
|
|
1311
|
+
this._title = title;
|
|
1312
|
+
return this;
|
|
1301
1313
|
}
|
|
1302
|
-
|
|
1303
|
-
|
|
1314
|
+
withJsonPath(path) {
|
|
1315
|
+
this._jsonPath = path;
|
|
1316
|
+
return this;
|
|
1304
1317
|
}
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
this.
|
|
1336
|
-
|
|
1337
|
-
this._radioOptions = [];
|
|
1338
|
-
this._datePickerShowTime = false;
|
|
1339
|
-
}
|
|
1340
|
-
get fieldType() {
|
|
1341
|
-
return this._fieldType;
|
|
1342
|
-
}
|
|
1343
|
-
get rows() {
|
|
1344
|
-
return this._rows;
|
|
1345
|
-
}
|
|
1346
|
-
get numberMin() {
|
|
1347
|
-
return this._numberMin;
|
|
1348
|
-
}
|
|
1349
|
-
get numberMax() {
|
|
1350
|
-
return this._numberMax;
|
|
1351
|
-
}
|
|
1352
|
-
get numberStep() {
|
|
1353
|
-
return this._numberStep;
|
|
1354
|
-
}
|
|
1355
|
-
get numberMinFractionDigits() {
|
|
1356
|
-
return this._numberMinFractionDigits;
|
|
1357
|
-
}
|
|
1358
|
-
get numberMaxFractionDigits() {
|
|
1359
|
-
return this._numberMaxFractionDigits;
|
|
1360
|
-
}
|
|
1361
|
-
get numberUseGrouping() {
|
|
1362
|
-
return this._numberUseGrouping;
|
|
1363
|
-
}
|
|
1364
|
-
get radioOptions() {
|
|
1365
|
-
return this._radioOptions;
|
|
1366
|
-
}
|
|
1367
|
-
get datePickerFormat() {
|
|
1368
|
-
return this._datePickerFormat;
|
|
1318
|
+
withFilter(forceSimple = false) {
|
|
1319
|
+
this._filterDescriptor = new FilterDescriptor(this._property);
|
|
1320
|
+
let filterType;
|
|
1321
|
+
if (!forceSimple && this._objectModelType) {
|
|
1322
|
+
return this.withFilterLookup();
|
|
1323
|
+
}
|
|
1324
|
+
switch (this._columnType) {
|
|
1325
|
+
case ColumnDescriptor.TypeEnum.Number:
|
|
1326
|
+
filterType = FilterDescriptor.TypeEnum.Number;
|
|
1327
|
+
break;
|
|
1328
|
+
case ColumnDescriptor.TypeEnum.Boolean:
|
|
1329
|
+
filterType = FilterDescriptor.TypeEnum.Boolean;
|
|
1330
|
+
break;
|
|
1331
|
+
case ColumnDescriptor.TypeEnum.Date:
|
|
1332
|
+
filterType = FilterDescriptor.TypeEnum.Date;
|
|
1333
|
+
break;
|
|
1334
|
+
case ColumnDescriptor.TypeEnum.Enum:
|
|
1335
|
+
if (!forceSimple) {
|
|
1336
|
+
return this.withFilterLookupEnum();
|
|
1337
|
+
}
|
|
1338
|
+
else {
|
|
1339
|
+
filterType = FilterDescriptor.TypeEnum.String;
|
|
1340
|
+
break;
|
|
1341
|
+
}
|
|
1342
|
+
case ColumnDescriptor.TypeEnum.String:
|
|
1343
|
+
case ColumnDescriptor.TypeEnum.Custom:
|
|
1344
|
+
default:
|
|
1345
|
+
filterType = FilterDescriptor.TypeEnum.String;
|
|
1346
|
+
break;
|
|
1347
|
+
}
|
|
1348
|
+
this._filterDescriptor.asFilterType(filterType);
|
|
1349
|
+
return this._filterDescriptor;
|
|
1369
1350
|
}
|
|
1370
|
-
|
|
1371
|
-
|
|
1351
|
+
withFilterLookup() {
|
|
1352
|
+
var _a;
|
|
1353
|
+
const filterDescriptor = new FilterLookupDescriptor(this._property, (_a = this._objectModelType) !== null && _a !== void 0 ? _a : null);
|
|
1354
|
+
this._filterDescriptor = filterDescriptor;
|
|
1355
|
+
return filterDescriptor;
|
|
1372
1356
|
}
|
|
1373
|
-
|
|
1374
|
-
|
|
1357
|
+
withFilterLookupEnum(options) {
|
|
1358
|
+
if (this._columnType !== ColumnDescriptor.TypeEnum.Enum || !this._enumType) {
|
|
1359
|
+
throw new Error(`Column ${this._property} is not of type enum or enum type is undefined.`);
|
|
1360
|
+
}
|
|
1361
|
+
const filterDescriptor = new FilterLookupEnumDescriptor(this._property, this._enumType, options, this._enumNameAsValue, this._enumTitlePath);
|
|
1362
|
+
this._filterDescriptor = filterDescriptor;
|
|
1363
|
+
return filterDescriptor;
|
|
1375
1364
|
}
|
|
1376
|
-
|
|
1377
|
-
|
|
1365
|
+
withSort(isEnabled = true) {
|
|
1366
|
+
this._isSortEnabled = isEnabled;
|
|
1367
|
+
return this;
|
|
1378
1368
|
}
|
|
1379
|
-
|
|
1380
|
-
|
|
1369
|
+
copy() {
|
|
1370
|
+
var _a;
|
|
1371
|
+
const descriptor = new ColumnDescriptor(this._table, this._property);
|
|
1372
|
+
descriptor._jsonPath = this._jsonPath;
|
|
1373
|
+
descriptor._title = this._title;
|
|
1374
|
+
descriptor._isSortEnabled = this._isSortEnabled;
|
|
1375
|
+
descriptor._columnType = this._columnType;
|
|
1376
|
+
descriptor._filterDescriptor = (_a = this._filterDescriptor) === null || _a === void 0 ? void 0 : _a.copy();
|
|
1377
|
+
descriptor._enumType = this._enumType;
|
|
1378
|
+
descriptor._enumTitlePath = this._enumTitlePath;
|
|
1379
|
+
descriptor._enumNameAsValue = this._enumNameAsValue;
|
|
1380
|
+
descriptor._booleanAsIcon = this._booleanAsIcon;
|
|
1381
|
+
descriptor._booleanYes = this._booleanYes;
|
|
1382
|
+
descriptor._booleanNo = this._booleanNo;
|
|
1383
|
+
descriptor._objectModelType = this._objectModelType;
|
|
1384
|
+
descriptor._objectTitleProperty = this._objectTitleProperty;
|
|
1385
|
+
return descriptor;
|
|
1381
1386
|
}
|
|
1382
|
-
|
|
1383
|
-
|
|
1387
|
+
}
|
|
1388
|
+
(function (ColumnDescriptor) {
|
|
1389
|
+
let TypeEnum;
|
|
1390
|
+
(function (TypeEnum) {
|
|
1391
|
+
TypeEnum[TypeEnum["String"] = 0] = "String";
|
|
1392
|
+
TypeEnum[TypeEnum["Number"] = 1] = "Number";
|
|
1393
|
+
TypeEnum[TypeEnum["Boolean"] = 2] = "Boolean";
|
|
1394
|
+
TypeEnum[TypeEnum["Date"] = 3] = "Date";
|
|
1395
|
+
TypeEnum[TypeEnum["Enum"] = 4] = "Enum";
|
|
1396
|
+
TypeEnum[TypeEnum["Custom"] = 5] = "Custom";
|
|
1397
|
+
})(TypeEnum = ColumnDescriptor.TypeEnum || (ColumnDescriptor.TypeEnum = {}));
|
|
1398
|
+
})(ColumnDescriptor || (ColumnDescriptor = {}));
|
|
1399
|
+
|
|
1400
|
+
class EditorDescriptor {
|
|
1401
|
+
constructor(modelType, idProperty, titleProperty, tableviewEditorType = EditorDescriptor.TableviewEditorTypeEnum.None) {
|
|
1402
|
+
this._tabs = [];
|
|
1403
|
+
this._groups = [];
|
|
1404
|
+
this._fields = [];
|
|
1405
|
+
this._disabled = false;
|
|
1406
|
+
this._model = new ModelDescriptor(modelType, idProperty, titleProperty);
|
|
1407
|
+
this._tableviewEditorType = tableviewEditorType;
|
|
1384
1408
|
}
|
|
1385
|
-
get
|
|
1386
|
-
return this.
|
|
1409
|
+
get model() {
|
|
1410
|
+
return this._model;
|
|
1387
1411
|
}
|
|
1388
|
-
get
|
|
1389
|
-
return this.
|
|
1412
|
+
get tabs() {
|
|
1413
|
+
return this._tabs;
|
|
1390
1414
|
}
|
|
1391
|
-
get
|
|
1392
|
-
return this.
|
|
1415
|
+
get fields() {
|
|
1416
|
+
return this._fields;
|
|
1393
1417
|
}
|
|
1394
|
-
get
|
|
1395
|
-
return this.
|
|
1418
|
+
get tableviewEditorType() {
|
|
1419
|
+
return this._disabled;
|
|
1396
1420
|
}
|
|
1397
|
-
|
|
1398
|
-
this.
|
|
1399
|
-
return this;
|
|
1421
|
+
get disabled() {
|
|
1422
|
+
return this._disabled;
|
|
1400
1423
|
}
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
this._pattern = pattern;
|
|
1406
|
-
if (isEmail) {
|
|
1407
|
-
this.withValidator('email', control => !Validators.email(control));
|
|
1424
|
+
createTabGroup(name, title) {
|
|
1425
|
+
const tabGroup = new FieldTabGroupDescriptor(this, name);
|
|
1426
|
+
if (!title) {
|
|
1427
|
+
title = I18nUtil.getModelTabKey(this.model, name);
|
|
1408
1428
|
}
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
this._fieldType = FieldInputDescriptor.TypeEnum.Textarea;
|
|
1413
|
-
this._rows = rows;
|
|
1414
|
-
this._minLength = minLength;
|
|
1415
|
-
this._maxLength = maxLength;
|
|
1416
|
-
this._pattern = pattern;
|
|
1417
|
-
return this;
|
|
1429
|
+
tabGroup.withTitle(title);
|
|
1430
|
+
this.createTabGroupDescriptor(tabGroup);
|
|
1431
|
+
return tabGroup;
|
|
1418
1432
|
}
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1433
|
+
createFieldGroup(name, title) {
|
|
1434
|
+
const fieldGroup = new FieldGroupDescriptor(this, name);
|
|
1435
|
+
if (title !== null) {
|
|
1436
|
+
if (!title) {
|
|
1437
|
+
title = I18nUtil.getModelGroupKey(this.model, name);
|
|
1438
|
+
}
|
|
1439
|
+
fieldGroup.withTitle(title);
|
|
1440
|
+
}
|
|
1441
|
+
this.createFieldGroupDescriptor(fieldGroup);
|
|
1442
|
+
return fieldGroup;
|
|
1428
1443
|
}
|
|
1429
|
-
|
|
1430
|
-
|
|
1444
|
+
addFieldDescriptor(field) {
|
|
1445
|
+
var _a;
|
|
1446
|
+
this.createDefaultGroup();
|
|
1447
|
+
this._fields.push(field);
|
|
1448
|
+
(_a = this._currentGroup) === null || _a === void 0 ? void 0 : _a.addField(field);
|
|
1431
1449
|
return this;
|
|
1432
1450
|
}
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
this.
|
|
1436
|
-
return
|
|
1451
|
+
addField(property) {
|
|
1452
|
+
const field = new FieldInputDescriptor(this, property);
|
|
1453
|
+
this.addFieldDescriptor(field);
|
|
1454
|
+
return field;
|
|
1437
1455
|
}
|
|
1438
|
-
|
|
1439
|
-
this.
|
|
1440
|
-
if (
|
|
1441
|
-
|
|
1456
|
+
removeField(property) {
|
|
1457
|
+
const fieldIdx = this._fields.findIndex(f => f.property === property);
|
|
1458
|
+
if (fieldIdx < 0) {
|
|
1459
|
+
throw new Error(`Field ${property} does not exist.`);
|
|
1442
1460
|
}
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
this.
|
|
1451
|
-
this._datePickerMin = min;
|
|
1452
|
-
this._datePickerMax = max;
|
|
1453
|
-
this._datePickerShowTime = showTime !== null && showTime !== void 0 ? showTime : false;
|
|
1454
|
-
return this;
|
|
1455
|
-
}
|
|
1456
|
-
asMask(mask, slotChar) {
|
|
1457
|
-
this._fieldType = FieldInputDescriptor.TypeEnum.Mask;
|
|
1458
|
-
this._mask = mask;
|
|
1459
|
-
this._slotChar = slotChar;
|
|
1461
|
+
const field = this._fields[fieldIdx];
|
|
1462
|
+
if (field.group) {
|
|
1463
|
+
const groupFieldIdx = field.group.fields.findIndex(f => f instanceof AFieldDescriptor && f.property === property);
|
|
1464
|
+
if (groupFieldIdx >= 0) {
|
|
1465
|
+
field.group.fields.splice(groupFieldIdx, 1);
|
|
1466
|
+
}
|
|
1467
|
+
}
|
|
1468
|
+
this._fields.splice(fieldIdx, 1);
|
|
1460
1469
|
return this;
|
|
1461
1470
|
}
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
this.
|
|
1465
|
-
return this;
|
|
1471
|
+
getField(property) {
|
|
1472
|
+
var _a;
|
|
1473
|
+
return (_a = this._fields.find(f => f.property === property)) !== null && _a !== void 0 ? _a : null;
|
|
1466
1474
|
}
|
|
1467
|
-
|
|
1468
|
-
const field = new
|
|
1469
|
-
this.
|
|
1470
|
-
field._fieldType = this._fieldType;
|
|
1471
|
-
field._rows = this._rows;
|
|
1472
|
-
field._numberMin = this._numberMin;
|
|
1473
|
-
field._numberMax = this._numberMax;
|
|
1474
|
-
field._numberStep = this._numberStep;
|
|
1475
|
-
field._numberMinFractionDigits = this._numberMinFractionDigits;
|
|
1476
|
-
field._numberMaxFractionDigits = this._numberMaxFractionDigits;
|
|
1477
|
-
field._numberUseGrouping = this._numberUseGrouping;
|
|
1478
|
-
field._radioOptions = [...this._radioOptions];
|
|
1479
|
-
field._datePickerFormat = this._datePickerFormat;
|
|
1480
|
-
field._datePickerMin = this._datePickerMin;
|
|
1481
|
-
field._datePickerMax = this._datePickerMax;
|
|
1482
|
-
field._datePickerShowTime = this._datePickerShowTime;
|
|
1483
|
-
field._maxLength = this._maxLength;
|
|
1484
|
-
field._minLength = this._minLength;
|
|
1485
|
-
field._pattern = this._pattern;
|
|
1486
|
-
field._mask = this._mask;
|
|
1487
|
-
field._slotChar = this._slotChar;
|
|
1488
|
-
field._customComponentName = this._customComponentName;
|
|
1475
|
+
addFieldLookup(property, modelType) {
|
|
1476
|
+
const field = new FieldLookupDescriptor(this, property, modelType);
|
|
1477
|
+
this.addFieldDescriptor(field);
|
|
1489
1478
|
return field;
|
|
1490
1479
|
}
|
|
1491
|
-
|
|
1492
|
-
(
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
TypeEnum[TypeEnum["Hidden"] = 0] = "Hidden";
|
|
1496
|
-
TypeEnum[TypeEnum["Text"] = 1] = "Text";
|
|
1497
|
-
TypeEnum[TypeEnum["Textarea"] = 2] = "Textarea";
|
|
1498
|
-
TypeEnum[TypeEnum["Number"] = 3] = "Number";
|
|
1499
|
-
TypeEnum[TypeEnum["Switch"] = 4] = "Switch";
|
|
1500
|
-
TypeEnum[TypeEnum["Radio"] = 5] = "Radio";
|
|
1501
|
-
TypeEnum[TypeEnum["Datepicker"] = 6] = "Datepicker";
|
|
1502
|
-
TypeEnum[TypeEnum["Mask"] = 7] = "Mask";
|
|
1503
|
-
TypeEnum[TypeEnum["Custom"] = 8] = "Custom";
|
|
1504
|
-
})(TypeEnum = FieldInputDescriptor.TypeEnum || (FieldInputDescriptor.TypeEnum = {}));
|
|
1505
|
-
})(FieldInputDescriptor || (FieldInputDescriptor = {}));
|
|
1506
|
-
class FieldLookupDescriptor extends AFieldDescriptor {
|
|
1507
|
-
constructor(editor, property, modelType) {
|
|
1508
|
-
super(editor, property);
|
|
1509
|
-
this._lookupType = FieldLookupDescriptor.LookupTypeEnum.Dropdown;
|
|
1510
|
-
this._itemsLabelTranslate = false;
|
|
1511
|
-
this._modelType = modelType;
|
|
1512
|
-
ModelUtil.trySetLookupItemsProperties(this);
|
|
1513
|
-
}
|
|
1514
|
-
get lookupType() {
|
|
1515
|
-
return this._lookupType;
|
|
1516
|
-
}
|
|
1517
|
-
get itemsLabelProperty() {
|
|
1518
|
-
return this._itemsLabelProperty;
|
|
1519
|
-
}
|
|
1520
|
-
get itemsLabelTranslate() {
|
|
1521
|
-
return this._itemsLabelTranslate;
|
|
1522
|
-
}
|
|
1523
|
-
get itemsValueProperty() {
|
|
1524
|
-
return this._itemsValueProperty;
|
|
1525
|
-
}
|
|
1526
|
-
get itemsDisabledProperty() {
|
|
1527
|
-
return this._itemsDisabledProperty;
|
|
1528
|
-
}
|
|
1529
|
-
get dataKeyProperty() {
|
|
1530
|
-
return this._dataKeyProperty;
|
|
1531
|
-
}
|
|
1532
|
-
get dataProvider() {
|
|
1533
|
-
return this._dataProvider;
|
|
1534
|
-
}
|
|
1535
|
-
get lookupTableDataProvider() {
|
|
1536
|
-
return this._lookupTableDataProvider;
|
|
1537
|
-
}
|
|
1538
|
-
get modelType() {
|
|
1539
|
-
return this._modelType;
|
|
1540
|
-
}
|
|
1541
|
-
get lookupTableDescriptor() {
|
|
1542
|
-
return this._lookupTableDescriptor;
|
|
1480
|
+
addFieldLookupEnum(property, enumType, options, nameAsValue = false, optionsTitlePath) {
|
|
1481
|
+
const field = new FieldLookupEnumDescriptor(this, property, enumType, options, nameAsValue, optionsTitlePath);
|
|
1482
|
+
this.addFieldDescriptor(field);
|
|
1483
|
+
return field;
|
|
1543
1484
|
}
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
this.
|
|
1547
|
-
return
|
|
1485
|
+
addFieldManyEditor(property, tableviewDescriptor) {
|
|
1486
|
+
const field = new FieldManyEditorDescriptor(this, property, tableviewDescriptor);
|
|
1487
|
+
this.addFieldDescriptor(field);
|
|
1488
|
+
return field;
|
|
1548
1489
|
}
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
this.
|
|
1552
|
-
return
|
|
1490
|
+
addFieldManyToManyEditor(property, mainTableDescriptor, lookupTableDescriptor) {
|
|
1491
|
+
const field = new FieldManyToManyEditorDescriptor(this, property, mainTableDescriptor, lookupTableDescriptor);
|
|
1492
|
+
this.addFieldDescriptor(field);
|
|
1493
|
+
return field;
|
|
1553
1494
|
}
|
|
1554
|
-
|
|
1555
|
-
this.
|
|
1495
|
+
withDisabled(disabled = true) {
|
|
1496
|
+
this._disabled = disabled;
|
|
1556
1497
|
return this;
|
|
1557
1498
|
}
|
|
1558
|
-
|
|
1559
|
-
this.
|
|
1560
|
-
|
|
1561
|
-
|
|
1499
|
+
addValidator(name, expression) {
|
|
1500
|
+
if (this._currentGroup) {
|
|
1501
|
+
this._currentGroup.withValidator(name, expression);
|
|
1502
|
+
}
|
|
1562
1503
|
}
|
|
1563
|
-
|
|
1564
|
-
const
|
|
1565
|
-
|
|
1566
|
-
|
|
1504
|
+
copy() {
|
|
1505
|
+
const editor = new EditorDescriptor(this.model.type, this.model.idPropertyName, this.model.titlePropertyName);
|
|
1506
|
+
for (const tabGroup of this._tabs) {
|
|
1507
|
+
editor.createTabGroupDescriptor(tabGroup.copy());
|
|
1567
1508
|
}
|
|
1568
|
-
|
|
1569
|
-
|
|
1509
|
+
for (const tabGroup of editor._tabs) {
|
|
1510
|
+
for (const fieldGroup of tabGroup.fields) {
|
|
1511
|
+
editor._fields.push(...fieldGroup.fields);
|
|
1512
|
+
}
|
|
1513
|
+
editor._groups.push(...tabGroup.fields);
|
|
1514
|
+
}
|
|
1515
|
+
editor._currentTabGroup = editor._tabs[editor._tabs.length - 1];
|
|
1516
|
+
editor._currentGroup = editor._currentTabGroup.fields[editor._currentTabGroup.fields.length - 1];
|
|
1517
|
+
editor._disabled = this._disabled;
|
|
1518
|
+
return editor;
|
|
1519
|
+
}
|
|
1520
|
+
createFieldGroupDescriptor(fieldGroup) {
|
|
1521
|
+
var _a;
|
|
1522
|
+
this.createDefaultTabGroup();
|
|
1523
|
+
this._currentGroup = fieldGroup;
|
|
1524
|
+
this._groups.push(fieldGroup);
|
|
1525
|
+
(_a = this._currentTabGroup) === null || _a === void 0 ? void 0 : _a.addField(fieldGroup);
|
|
1570
1526
|
return this;
|
|
1571
1527
|
}
|
|
1572
|
-
|
|
1573
|
-
this.
|
|
1528
|
+
createTabGroupDescriptor(tabGroup) {
|
|
1529
|
+
this._currentTabGroup = tabGroup;
|
|
1530
|
+
this._tabs.push(tabGroup);
|
|
1574
1531
|
return this;
|
|
1575
1532
|
}
|
|
1576
|
-
|
|
1577
|
-
|
|
1533
|
+
createDefaultGroup() {
|
|
1534
|
+
var _a;
|
|
1535
|
+
this.createDefaultTabGroup();
|
|
1536
|
+
if (((_a = this._currentTabGroup) === null || _a === void 0 ? void 0 : _a.fields.length) === 0) {
|
|
1537
|
+
this.createFieldGroup(EditorDescriptor.defaultGroupName, null);
|
|
1538
|
+
}
|
|
1578
1539
|
}
|
|
1579
|
-
|
|
1580
|
-
this.
|
|
1581
|
-
|
|
1540
|
+
createDefaultTabGroup() {
|
|
1541
|
+
if (this._tabs.length === 0) {
|
|
1542
|
+
this.createTabGroup(EditorDescriptor.defaultGroupName, 'general.general');
|
|
1543
|
+
}
|
|
1582
1544
|
}
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1545
|
+
}
|
|
1546
|
+
EditorDescriptor.defaultGroupName = '_default';
|
|
1547
|
+
(function (EditorDescriptor) {
|
|
1548
|
+
let TableviewEditorTypeEnum;
|
|
1549
|
+
(function (TableviewEditorTypeEnum) {
|
|
1550
|
+
TableviewEditorTypeEnum[TableviewEditorTypeEnum["None"] = 0] = "None";
|
|
1551
|
+
TableviewEditorTypeEnum[TableviewEditorTypeEnum["View"] = 1] = "View";
|
|
1552
|
+
TableviewEditorTypeEnum[TableviewEditorTypeEnum["Edit"] = 2] = "Edit";
|
|
1553
|
+
TableviewEditorTypeEnum[TableviewEditorTypeEnum["Add"] = 3] = "Add";
|
|
1554
|
+
})(TableviewEditorTypeEnum = EditorDescriptor.TableviewEditorTypeEnum || (EditorDescriptor.TableviewEditorTypeEnum = {}));
|
|
1555
|
+
})(EditorDescriptor || (EditorDescriptor = {}));
|
|
1556
|
+
|
|
1557
|
+
class MngFormEditorSubmitEvent {
|
|
1558
|
+
constructor(formItem) {
|
|
1559
|
+
this.formItem = formItem;
|
|
1560
|
+
this.success = true;
|
|
1588
1561
|
}
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1562
|
+
}
|
|
1563
|
+
var MngFormFieldEventTypeEnum;
|
|
1564
|
+
(function (MngFormFieldEventTypeEnum) {
|
|
1565
|
+
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["Component"] = 0] = "Component";
|
|
1566
|
+
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["ValueChange"] = 1] = "ValueChange";
|
|
1567
|
+
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["DataProvider"] = 2] = "DataProvider";
|
|
1568
|
+
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["Dialog"] = 3] = "Dialog";
|
|
1569
|
+
MngFormFieldEventTypeEnum[MngFormFieldEventTypeEnum["Other"] = 4] = "Other";
|
|
1570
|
+
})(MngFormFieldEventTypeEnum || (MngFormFieldEventTypeEnum = {}));
|
|
1571
|
+
class MngFormFieldEventComponentSubtype {
|
|
1572
|
+
}
|
|
1573
|
+
MngFormFieldEventComponentSubtype.ON_INIT = 'Component.OnInit';
|
|
1574
|
+
MngFormFieldEventComponentSubtype.ON_VIEW_INIT = 'Component.OnViewInit';
|
|
1575
|
+
MngFormFieldEventComponentSubtype.ON_CONTENT_INIT = 'Component.OnContentInit';
|
|
1576
|
+
MngFormFieldEventComponentSubtype.ON_DESTROY = 'Component.OnDestroy';
|
|
1577
|
+
class MngFormFieldEventDialogSubtype {
|
|
1578
|
+
}
|
|
1579
|
+
MngFormFieldEventDialogSubtype.VISIBILITY = 'Dialog.Visibility';
|
|
1580
|
+
MngFormFieldEventDialogSubtype.TABLE_CAPTION_COMPONENT_INSTANCE = 'Dialog.MngTable.CaptionComponentInstance';
|
|
1581
|
+
MngFormFieldEventDialogSubtype.TABLE_COLUMN_ACTIONS_COMPONENT_INSTANCE = 'Dialog.MngTable.ColumnActionsComponentInstance';
|
|
1582
|
+
class MngFormFieldEvent {
|
|
1583
|
+
constructor(type, componentType, componentInstance, data = {}) {
|
|
1584
|
+
this.type = type;
|
|
1585
|
+
this.componentType = componentType;
|
|
1586
|
+
this.componentInstance = componentInstance;
|
|
1587
|
+
this.data = data;
|
|
1601
1588
|
}
|
|
1602
1589
|
}
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
(
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
|
|
1612
|
-
constructor(editor, property, enumType, options, nameAsValue = false, optionsTitlePath) {
|
|
1613
|
-
super(editor, property, null);
|
|
1614
|
-
this._nameAsValue = false;
|
|
1615
|
-
this._enumType = enumType;
|
|
1616
|
-
this._nameAsValue = nameAsValue;
|
|
1617
|
-
if (typeof optionsTitlePath === 'undefined') {
|
|
1618
|
-
optionsTitlePath = TypeUtil.findEnumName(enumType);
|
|
1619
|
-
}
|
|
1620
|
-
this._optionEnumValues = Array.isArray(options)
|
|
1621
|
-
? EnumUtil.fromValuesAsEnumValueArray(enumType, options, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined)
|
|
1622
|
-
: EnumUtil.fromConstantsAsEnumValueArray(enumType, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined);
|
|
1623
|
-
const dataProvider = new LookupDataProvider(null).withLookup(() => of(this._optionEnumValues));
|
|
1624
|
-
this.withLookupDataProvider(dataProvider);
|
|
1625
|
-
this.withItemsLabelProperty('title', optionsTitlePath !== null);
|
|
1626
|
-
this.withItemsValueProperty('value');
|
|
1627
|
-
this.withItemsDisabledProperty('disabled');
|
|
1590
|
+
|
|
1591
|
+
class AGenericFieldDescriptor {
|
|
1592
|
+
constructor(editor) {
|
|
1593
|
+
this._config = {};
|
|
1594
|
+
this._editor = editor;
|
|
1595
|
+
}
|
|
1596
|
+
get editor() {
|
|
1597
|
+
return this._editor;
|
|
1628
1598
|
}
|
|
1629
|
-
get
|
|
1630
|
-
return this.
|
|
1599
|
+
get config() {
|
|
1600
|
+
return this._config;
|
|
1631
1601
|
}
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
const disabledOptionValue = this._nameAsValue ? EnumUtil.getConstantName(this._enumType, disabledOption) : disabledOption;
|
|
1635
|
-
if (disabledOptionValue) {
|
|
1636
|
-
const option = this._optionEnumValues.find(o => o.value === disabledOptionValue);
|
|
1637
|
-
if (option) {
|
|
1638
|
-
option.disabled = true;
|
|
1639
|
-
}
|
|
1640
|
-
}
|
|
1641
|
-
}
|
|
1602
|
+
withConfig(config) {
|
|
1603
|
+
this._config = config;
|
|
1642
1604
|
return this;
|
|
1643
1605
|
}
|
|
1644
|
-
copy() {
|
|
1645
|
-
const field = new FieldLookupEnumDescriptor(this._editor, this._property, this._enumType, []);
|
|
1646
|
-
this.copyFieldsTo(field);
|
|
1647
|
-
field._lookupType = this._lookupType;
|
|
1648
|
-
field._itemsLabelProperty = this._itemsLabelProperty;
|
|
1649
|
-
field._itemsValueProperty = this._itemsValueProperty;
|
|
1650
|
-
field._itemsDisabledProperty = this._itemsDisabledProperty;
|
|
1651
|
-
field._dataKeyProperty = this._dataKeyProperty;
|
|
1652
|
-
field._dataProvider = this._dataProvider;
|
|
1653
|
-
return field;
|
|
1654
|
-
}
|
|
1655
1606
|
}
|
|
1656
|
-
class
|
|
1657
|
-
constructor(editor, property
|
|
1658
|
-
super(editor
|
|
1659
|
-
this.
|
|
1660
|
-
this.
|
|
1661
|
-
this.
|
|
1662
|
-
this.
|
|
1663
|
-
this.
|
|
1664
|
-
this.
|
|
1665
|
-
this.
|
|
1666
|
-
this.
|
|
1667
|
-
this.
|
|
1607
|
+
class AFieldDescriptor extends AGenericFieldDescriptor {
|
|
1608
|
+
constructor(editor, property) {
|
|
1609
|
+
super(editor);
|
|
1610
|
+
this._required = false;
|
|
1611
|
+
this._disabled = false;
|
|
1612
|
+
this._validators = [];
|
|
1613
|
+
this._className = '';
|
|
1614
|
+
this._labelClassName = '';
|
|
1615
|
+
this._inputClassName = '';
|
|
1616
|
+
this._size = FieldDescriptor.SizeEnum.Normal;
|
|
1617
|
+
this._eventsSubject = new Subject();
|
|
1618
|
+
this._property = property;
|
|
1619
|
+
this._label = I18nUtil.getModelPropertyKey(this._editor.model, property);
|
|
1668
1620
|
}
|
|
1669
|
-
get
|
|
1670
|
-
return this.
|
|
1621
|
+
get property() {
|
|
1622
|
+
return this._property;
|
|
1671
1623
|
}
|
|
1672
|
-
get
|
|
1673
|
-
return this.
|
|
1624
|
+
get group() {
|
|
1625
|
+
return this._group;
|
|
1674
1626
|
}
|
|
1675
|
-
get
|
|
1676
|
-
return this.
|
|
1627
|
+
get label() {
|
|
1628
|
+
return this._label;
|
|
1677
1629
|
}
|
|
1678
|
-
get
|
|
1679
|
-
return this.
|
|
1630
|
+
get placeholder() {
|
|
1631
|
+
return this._placeholder;
|
|
1680
1632
|
}
|
|
1681
|
-
get
|
|
1682
|
-
return this.
|
|
1633
|
+
get helpText() {
|
|
1634
|
+
return this._helpText;
|
|
1683
1635
|
}
|
|
1684
|
-
get
|
|
1685
|
-
return this.
|
|
1636
|
+
get required() {
|
|
1637
|
+
return this._required;
|
|
1686
1638
|
}
|
|
1687
|
-
get
|
|
1688
|
-
return this.
|
|
1639
|
+
get disabled() {
|
|
1640
|
+
return this._disabled;
|
|
1689
1641
|
}
|
|
1690
|
-
get
|
|
1691
|
-
return this.
|
|
1642
|
+
get defaultValue() {
|
|
1643
|
+
return this._defaultValue;
|
|
1692
1644
|
}
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
if (serviceType) {
|
|
1696
|
-
dataProvider.withServiceType(serviceType);
|
|
1697
|
-
}
|
|
1698
|
-
dataProvider.withGetAll(getAll);
|
|
1699
|
-
this._lookupTableDataProvider = dataProvider;
|
|
1700
|
-
return this;
|
|
1645
|
+
get getter() {
|
|
1646
|
+
return this._getter;
|
|
1701
1647
|
}
|
|
1702
|
-
|
|
1703
|
-
this.
|
|
1704
|
-
return this;
|
|
1648
|
+
get setter() {
|
|
1649
|
+
return this._setter;
|
|
1705
1650
|
}
|
|
1706
|
-
|
|
1707
|
-
this.
|
|
1708
|
-
return this;
|
|
1651
|
+
get validators() {
|
|
1652
|
+
return this._validators;
|
|
1709
1653
|
}
|
|
1710
|
-
|
|
1711
|
-
this.
|
|
1712
|
-
this._excludeFilterProperty = filterProperty;
|
|
1713
|
-
this._excludeValueProperty = valueProperty;
|
|
1714
|
-
return this;
|
|
1654
|
+
get requiredExpression() {
|
|
1655
|
+
return this._requiredExpression;
|
|
1715
1656
|
}
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
this.copyFieldsTo(field);
|
|
1719
|
-
field._fieldType = this._fieldType;
|
|
1720
|
-
field._actions = this._actions.map(a => a);
|
|
1721
|
-
field._lookupTableDataProvider = this._lookupTableDataProvider;
|
|
1722
|
-
field._hasLookupExcludeValues = this._hasLookupExcludeValues;
|
|
1723
|
-
field._excludeFilterProperty = this._excludeFilterProperty;
|
|
1724
|
-
field._excludeValueProperty = this._excludeValueProperty;
|
|
1725
|
-
return field;
|
|
1657
|
+
get disabledExpression() {
|
|
1658
|
+
return this._disabledExpression;
|
|
1726
1659
|
}
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
let TypeEnum;
|
|
1730
|
-
(function (TypeEnum) {
|
|
1731
|
-
TypeEnum[TypeEnum["DialogTableMultiselect"] = 0] = "DialogTableMultiselect";
|
|
1732
|
-
})(TypeEnum = FieldManyToManyEditorDescriptor.TypeEnum || (FieldManyToManyEditorDescriptor.TypeEnum = {}));
|
|
1733
|
-
let ActionEnum;
|
|
1734
|
-
(function (ActionEnum) {
|
|
1735
|
-
ActionEnum[ActionEnum["Add"] = 0] = "Add";
|
|
1736
|
-
ActionEnum[ActionEnum["Delete"] = 1] = "Delete";
|
|
1737
|
-
})(ActionEnum = FieldManyToManyEditorDescriptor.ActionEnum || (FieldManyToManyEditorDescriptor.ActionEnum = {}));
|
|
1738
|
-
})(FieldManyToManyEditorDescriptor || (FieldManyToManyEditorDescriptor = {}));
|
|
1739
|
-
class FieldManyEditorDescriptor extends AFieldDescriptor {
|
|
1740
|
-
constructor(editor, property, tableviewDescriptor) {
|
|
1741
|
-
super(editor, property);
|
|
1742
|
-
this._fieldType = FieldManyEditorDescriptor.TypeEnum.DialogEditor;
|
|
1743
|
-
this._fieldActions = [];
|
|
1744
|
-
this._actions = [];
|
|
1745
|
-
// this._modelType = modelType;
|
|
1746
|
-
this._tableviewDescriptor = tableviewDescriptor;
|
|
1747
|
-
this._fieldActions.push(FieldManyEditorDescriptor.ActionEnum.View, FieldManyEditorDescriptor.ActionEnum.Add, FieldManyEditorDescriptor.ActionEnum.Edit, FieldManyEditorDescriptor.ActionEnum.Delete);
|
|
1660
|
+
get hiddenExpression() {
|
|
1661
|
+
return this._hiddenExpression;
|
|
1748
1662
|
}
|
|
1749
|
-
get
|
|
1750
|
-
return this.
|
|
1663
|
+
get className() {
|
|
1664
|
+
return this._className;
|
|
1751
1665
|
}
|
|
1752
|
-
get
|
|
1753
|
-
return this.
|
|
1666
|
+
get labelClassName() {
|
|
1667
|
+
return this._labelClassName;
|
|
1754
1668
|
}
|
|
1755
|
-
get
|
|
1756
|
-
return this.
|
|
1669
|
+
get inputClassName() {
|
|
1670
|
+
return this._inputClassName;
|
|
1757
1671
|
}
|
|
1758
|
-
get
|
|
1759
|
-
return this.
|
|
1672
|
+
get size() {
|
|
1673
|
+
return this._size;
|
|
1760
1674
|
}
|
|
1761
|
-
get
|
|
1762
|
-
return this.
|
|
1675
|
+
get isSizeSmall() {
|
|
1676
|
+
return this._size === FieldDescriptor.SizeEnum.Small;
|
|
1763
1677
|
}
|
|
1764
|
-
get
|
|
1765
|
-
return this.
|
|
1678
|
+
get isSizeLarge() {
|
|
1679
|
+
return this._size === FieldDescriptor.SizeEnum.Large;
|
|
1766
1680
|
}
|
|
1767
|
-
|
|
1768
|
-
|
|
1681
|
+
withLabel(label) {
|
|
1682
|
+
this._label = label;
|
|
1683
|
+
return this;
|
|
1769
1684
|
}
|
|
1770
|
-
|
|
1771
|
-
|
|
1685
|
+
withPlaceholder(placeholder) {
|
|
1686
|
+
this._placeholder = placeholder;
|
|
1687
|
+
return this;
|
|
1772
1688
|
}
|
|
1773
|
-
|
|
1774
|
-
this.
|
|
1689
|
+
withHelpText(helpText) {
|
|
1690
|
+
this._helpText = helpText;
|
|
1775
1691
|
return this;
|
|
1776
1692
|
}
|
|
1777
|
-
|
|
1778
|
-
this.
|
|
1693
|
+
withRequired(required = true, requiredExpression) {
|
|
1694
|
+
this._required = required;
|
|
1695
|
+
if (requiredExpression) {
|
|
1696
|
+
this._requiredExpression = requiredExpression;
|
|
1697
|
+
}
|
|
1779
1698
|
return this;
|
|
1780
1699
|
}
|
|
1781
|
-
|
|
1782
|
-
this.
|
|
1700
|
+
withDisabled(disabled = true, disabledExpression) {
|
|
1701
|
+
this._disabled = disabled;
|
|
1702
|
+
if (disabledExpression) {
|
|
1703
|
+
this._disabledExpression = disabledExpression;
|
|
1704
|
+
}
|
|
1783
1705
|
return this;
|
|
1784
1706
|
}
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
this
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1707
|
+
withHidden(hiddenExpression) {
|
|
1708
|
+
this._hiddenExpression = hiddenExpression;
|
|
1709
|
+
return this;
|
|
1710
|
+
}
|
|
1711
|
+
withDefaultValue(defaultValue) {
|
|
1712
|
+
this._defaultValue = defaultValue;
|
|
1713
|
+
return this;
|
|
1714
|
+
}
|
|
1715
|
+
withGetter(getter) {
|
|
1716
|
+
this._getter = getter;
|
|
1717
|
+
return this;
|
|
1718
|
+
}
|
|
1719
|
+
withSetter(setter) {
|
|
1720
|
+
this._setter = setter;
|
|
1721
|
+
return this;
|
|
1722
|
+
}
|
|
1723
|
+
withValidator(name, expression, message) {
|
|
1724
|
+
this._validators.push(new FieldValidator(name, expression, message));
|
|
1725
|
+
return this;
|
|
1726
|
+
}
|
|
1727
|
+
withClassName(className, labelClassName = '', inputClassName = '') {
|
|
1728
|
+
this._className = className;
|
|
1729
|
+
this._labelClassName = labelClassName;
|
|
1730
|
+
this._inputClassName = inputClassName;
|
|
1731
|
+
return this;
|
|
1732
|
+
}
|
|
1733
|
+
withSize(size = FieldDescriptor.SizeEnum.Normal) {
|
|
1734
|
+
this._size = size;
|
|
1735
|
+
return this;
|
|
1736
|
+
}
|
|
1737
|
+
nextEvent(type, cmpType, cmpInstance, data) {
|
|
1738
|
+
this._eventsSubject.next(new MngFormFieldEvent(type, cmpType, cmpInstance, data));
|
|
1739
|
+
}
|
|
1740
|
+
get events$() {
|
|
1741
|
+
return this._eventsSubject.asObservable();
|
|
1742
|
+
}
|
|
1743
|
+
copyFieldsTo(obj) {
|
|
1744
|
+
obj._label = this._label;
|
|
1745
|
+
obj._placeholder = this._placeholder;
|
|
1746
|
+
obj._helpText = this._helpText;
|
|
1747
|
+
obj._required = this._required;
|
|
1748
|
+
obj._disabled = this._disabled;
|
|
1749
|
+
obj._defaultValue = this._defaultValue;
|
|
1750
|
+
obj._requiredExpression = this._requiredExpression;
|
|
1751
|
+
obj._hiddenExpression = this._hiddenExpression;
|
|
1752
|
+
obj._disabledExpression = this._disabledExpression;
|
|
1753
|
+
obj._className = this._className;
|
|
1754
|
+
obj._size = this.size;
|
|
1755
|
+
obj._getter = this._getter;
|
|
1756
|
+
obj._setter = this._setter;
|
|
1757
|
+
obj._validators = this._validators;
|
|
1791
1758
|
}
|
|
1792
1759
|
}
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
this.
|
|
1810
|
-
this._validators = [];
|
|
1811
|
-
this._name = `${this.baseName}${name}`;
|
|
1812
|
-
this._default = name === EditorDescriptor.defaultGroupName;
|
|
1760
|
+
var FieldDescriptor;
|
|
1761
|
+
(function (FieldDescriptor) {
|
|
1762
|
+
let SizeEnum;
|
|
1763
|
+
(function (SizeEnum) {
|
|
1764
|
+
SizeEnum[SizeEnum["Small"] = 0] = "Small";
|
|
1765
|
+
SizeEnum[SizeEnum["Normal"] = 1] = "Normal";
|
|
1766
|
+
SizeEnum[SizeEnum["Large"] = 2] = "Large";
|
|
1767
|
+
})(SizeEnum = FieldDescriptor.SizeEnum || (FieldDescriptor.SizeEnum = {}));
|
|
1768
|
+
})(FieldDescriptor || (FieldDescriptor = {}));
|
|
1769
|
+
class FieldInputDescriptor extends AFieldDescriptor {
|
|
1770
|
+
constructor(editor, property) {
|
|
1771
|
+
super(editor, property);
|
|
1772
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Text;
|
|
1773
|
+
this._numberUseGrouping = true;
|
|
1774
|
+
// radio specific properties
|
|
1775
|
+
this._radioOptions = [];
|
|
1776
|
+
this._datePickerShowTime = false;
|
|
1813
1777
|
}
|
|
1814
|
-
get
|
|
1815
|
-
return this.
|
|
1778
|
+
get fieldType() {
|
|
1779
|
+
return this._fieldType;
|
|
1816
1780
|
}
|
|
1817
|
-
get
|
|
1818
|
-
return this.
|
|
1781
|
+
get rows() {
|
|
1782
|
+
return this._rows;
|
|
1819
1783
|
}
|
|
1820
|
-
get
|
|
1821
|
-
return
|
|
1784
|
+
get numberMin() {
|
|
1785
|
+
return this._numberMin;
|
|
1822
1786
|
}
|
|
1823
|
-
get
|
|
1824
|
-
return this.
|
|
1787
|
+
get numberMax() {
|
|
1788
|
+
return this._numberMax;
|
|
1825
1789
|
}
|
|
1826
|
-
get
|
|
1827
|
-
return this.
|
|
1790
|
+
get numberStep() {
|
|
1791
|
+
return this._numberStep;
|
|
1828
1792
|
}
|
|
1829
|
-
|
|
1830
|
-
this.
|
|
1831
|
-
return this;
|
|
1793
|
+
get numberMinFractionDigits() {
|
|
1794
|
+
return this._numberMinFractionDigits;
|
|
1832
1795
|
}
|
|
1833
|
-
|
|
1834
|
-
this.
|
|
1835
|
-
return this;
|
|
1796
|
+
get numberMaxFractionDigits() {
|
|
1797
|
+
return this._numberMaxFractionDigits;
|
|
1836
1798
|
}
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
constructor(editor, name) {
|
|
1840
|
-
super(editor, name);
|
|
1799
|
+
get numberUseGrouping() {
|
|
1800
|
+
return this._numberUseGrouping;
|
|
1841
1801
|
}
|
|
1842
|
-
get
|
|
1843
|
-
return this.
|
|
1802
|
+
get radioOptions() {
|
|
1803
|
+
return this._radioOptions;
|
|
1844
1804
|
}
|
|
1845
|
-
|
|
1846
|
-
return
|
|
1805
|
+
get datePickerFormat() {
|
|
1806
|
+
return this._datePickerFormat;
|
|
1847
1807
|
}
|
|
1848
|
-
|
|
1849
|
-
this.
|
|
1850
|
-
return this;
|
|
1808
|
+
get datePickerMin() {
|
|
1809
|
+
return this._datePickerMin;
|
|
1851
1810
|
}
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
tab._title = this._title;
|
|
1855
|
-
tab._fields = this.fields.map(f => f.copy());
|
|
1856
|
-
return tab;
|
|
1811
|
+
get datePickerMax() {
|
|
1812
|
+
return this._datePickerMax;
|
|
1857
1813
|
}
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
constructor(editor, name) {
|
|
1861
|
-
super(editor, name);
|
|
1814
|
+
get datePickerShowTime() {
|
|
1815
|
+
return this._datePickerShowTime;
|
|
1862
1816
|
}
|
|
1863
|
-
get
|
|
1864
|
-
return this.
|
|
1817
|
+
get maxLength() {
|
|
1818
|
+
return this._maxLength;
|
|
1865
1819
|
}
|
|
1866
|
-
|
|
1867
|
-
return
|
|
1820
|
+
get minLength() {
|
|
1821
|
+
return this._minLength;
|
|
1868
1822
|
}
|
|
1869
|
-
|
|
1870
|
-
this.
|
|
1871
|
-
return this;
|
|
1823
|
+
get pattern() {
|
|
1824
|
+
return this._pattern;
|
|
1872
1825
|
}
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
group._title = this._title;
|
|
1876
|
-
group._fields = this.fields.map(f => f.copy());
|
|
1877
|
-
return group;
|
|
1826
|
+
get mask() {
|
|
1827
|
+
return this._mask;
|
|
1878
1828
|
}
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
class FieldValidator {
|
|
1882
|
-
constructor(name, expression, message, options) {
|
|
1883
|
-
this._name = name;
|
|
1884
|
-
this._expression = expression;
|
|
1885
|
-
this._message = message;
|
|
1886
|
-
this._options = options;
|
|
1829
|
+
get slotChar() {
|
|
1830
|
+
return this._slotChar;
|
|
1887
1831
|
}
|
|
1888
|
-
get
|
|
1889
|
-
return this.
|
|
1832
|
+
get customComponentName() {
|
|
1833
|
+
return this._customComponentName;
|
|
1890
1834
|
}
|
|
1891
|
-
|
|
1892
|
-
|
|
1835
|
+
asHidden() {
|
|
1836
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Hidden;
|
|
1837
|
+
return this;
|
|
1893
1838
|
}
|
|
1894
|
-
|
|
1895
|
-
|
|
1839
|
+
asText(minLength, maxLength, pattern, isEmail) {
|
|
1840
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Text;
|
|
1841
|
+
this._minLength = minLength;
|
|
1842
|
+
this._maxLength = maxLength;
|
|
1843
|
+
this._pattern = pattern;
|
|
1844
|
+
if (isEmail) {
|
|
1845
|
+
this.withValidator('email', control => !Validators.email(control));
|
|
1846
|
+
}
|
|
1847
|
+
return this;
|
|
1896
1848
|
}
|
|
1897
|
-
|
|
1898
|
-
|
|
1849
|
+
asTextarea(rows = 3, minLength, maxLength, pattern) {
|
|
1850
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Textarea;
|
|
1851
|
+
this._rows = rows;
|
|
1852
|
+
this._minLength = minLength;
|
|
1853
|
+
this._maxLength = maxLength;
|
|
1854
|
+
this._pattern = pattern;
|
|
1855
|
+
return this;
|
|
1899
1856
|
}
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
this.
|
|
1906
|
-
this.
|
|
1907
|
-
this.
|
|
1908
|
-
|
|
1857
|
+
asNumber(step, min, max, minFractionDigits, maxFractionDigits, numberUseGrouping = true) {
|
|
1858
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Number;
|
|
1859
|
+
this._numberStep = step;
|
|
1860
|
+
this._numberMinFractionDigits = minFractionDigits;
|
|
1861
|
+
this._numberMaxFractionDigits = maxFractionDigits;
|
|
1862
|
+
this._numberMin = min !== null && min !== void 0 ? min : Number.MIN_SAFE_INTEGER;
|
|
1863
|
+
this._numberMax = max !== null && max !== void 0 ? max : Number.MAX_SAFE_INTEGER;
|
|
1864
|
+
this._numberUseGrouping = numberUseGrouping;
|
|
1865
|
+
return this;
|
|
1909
1866
|
}
|
|
1910
|
-
|
|
1911
|
-
|
|
1867
|
+
asSwitch() {
|
|
1868
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Switch;
|
|
1869
|
+
return this;
|
|
1912
1870
|
}
|
|
1913
|
-
|
|
1914
|
-
|
|
1871
|
+
asRadio(options, optionsTitlePath) {
|
|
1872
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Radio;
|
|
1873
|
+
this._radioOptions = options.map(o => ({ value: o, title: `${optionsTitlePath ? `${optionsTitlePath}.` : ''}${o}` }));
|
|
1874
|
+
return this;
|
|
1915
1875
|
}
|
|
1916
|
-
|
|
1917
|
-
|
|
1876
|
+
asRadioFromEnum(enumType, optionsTitlePath, values, nameAsValue = false) {
|
|
1877
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Radio;
|
|
1878
|
+
if (typeof optionsTitlePath === 'undefined') {
|
|
1879
|
+
optionsTitlePath = TypeUtil.findEnumName(enumType);
|
|
1880
|
+
}
|
|
1881
|
+
this._radioOptions = Array.isArray(values)
|
|
1882
|
+
? EnumUtil.fromValuesAsEnumValueArray(enumType, values, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined)
|
|
1883
|
+
: EnumUtil.fromConstantsAsEnumValueArray(enumType, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined);
|
|
1884
|
+
return this;
|
|
1918
1885
|
}
|
|
1919
|
-
|
|
1920
|
-
|
|
1886
|
+
asDatePicker(format, min, max, showTime) {
|
|
1887
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Datepicker;
|
|
1888
|
+
this._datePickerFormat = format ? format : 'dd.mm.yy';
|
|
1889
|
+
this._datePickerMin = min;
|
|
1890
|
+
this._datePickerMax = max;
|
|
1891
|
+
this._datePickerShowTime = showTime !== null && showTime !== void 0 ? showTime : false;
|
|
1892
|
+
return this;
|
|
1921
1893
|
}
|
|
1922
|
-
|
|
1923
|
-
this.
|
|
1894
|
+
asMask(mask, slotChar) {
|
|
1895
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Mask;
|
|
1896
|
+
this._mask = mask;
|
|
1897
|
+
this._slotChar = slotChar;
|
|
1924
1898
|
return this;
|
|
1925
1899
|
}
|
|
1926
|
-
|
|
1927
|
-
this.
|
|
1900
|
+
asCustomComponent(customComponentName) {
|
|
1901
|
+
this._fieldType = FieldInputDescriptor.TypeEnum.Custom;
|
|
1902
|
+
this._customComponentName = customComponentName;
|
|
1928
1903
|
return this;
|
|
1929
1904
|
}
|
|
1930
1905
|
copy() {
|
|
1931
|
-
const
|
|
1932
|
-
|
|
1906
|
+
const field = new FieldInputDescriptor(this._editor, this._property);
|
|
1907
|
+
this.copyFieldsTo(field);
|
|
1908
|
+
field._fieldType = this._fieldType;
|
|
1909
|
+
field._rows = this._rows;
|
|
1910
|
+
field._numberMin = this._numberMin;
|
|
1911
|
+
field._numberMax = this._numberMax;
|
|
1912
|
+
field._numberStep = this._numberStep;
|
|
1913
|
+
field._numberMinFractionDigits = this._numberMinFractionDigits;
|
|
1914
|
+
field._numberMaxFractionDigits = this._numberMaxFractionDigits;
|
|
1915
|
+
field._numberUseGrouping = this._numberUseGrouping;
|
|
1916
|
+
field._radioOptions = [...this._radioOptions];
|
|
1917
|
+
field._datePickerFormat = this._datePickerFormat;
|
|
1918
|
+
field._datePickerMin = this._datePickerMin;
|
|
1919
|
+
field._datePickerMax = this._datePickerMax;
|
|
1920
|
+
field._datePickerShowTime = this._datePickerShowTime;
|
|
1921
|
+
field._maxLength = this._maxLength;
|
|
1922
|
+
field._minLength = this._minLength;
|
|
1923
|
+
field._pattern = this._pattern;
|
|
1924
|
+
field._mask = this._mask;
|
|
1925
|
+
field._slotChar = this._slotChar;
|
|
1926
|
+
field._customComponentName = this._customComponentName;
|
|
1927
|
+
return field;
|
|
1933
1928
|
}
|
|
1934
1929
|
}
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1930
|
+
(function (FieldInputDescriptor) {
|
|
1931
|
+
let TypeEnum;
|
|
1932
|
+
(function (TypeEnum) {
|
|
1933
|
+
TypeEnum[TypeEnum["Hidden"] = 0] = "Hidden";
|
|
1934
|
+
TypeEnum[TypeEnum["Text"] = 1] = "Text";
|
|
1935
|
+
TypeEnum[TypeEnum["Textarea"] = 2] = "Textarea";
|
|
1936
|
+
TypeEnum[TypeEnum["Number"] = 3] = "Number";
|
|
1937
|
+
TypeEnum[TypeEnum["Switch"] = 4] = "Switch";
|
|
1938
|
+
TypeEnum[TypeEnum["Radio"] = 5] = "Radio";
|
|
1939
|
+
TypeEnum[TypeEnum["Datepicker"] = 6] = "Datepicker";
|
|
1940
|
+
TypeEnum[TypeEnum["Mask"] = 7] = "Mask";
|
|
1941
|
+
TypeEnum[TypeEnum["Custom"] = 8] = "Custom";
|
|
1942
|
+
})(TypeEnum = FieldInputDescriptor.TypeEnum || (FieldInputDescriptor.TypeEnum = {}));
|
|
1943
|
+
})(FieldInputDescriptor || (FieldInputDescriptor = {}));
|
|
1944
|
+
class FieldLookupDescriptor extends AFieldDescriptor {
|
|
1945
|
+
constructor(editor, property, modelType) {
|
|
1946
|
+
super(editor, property);
|
|
1947
|
+
this._lookupType = FieldLookupDescriptor.LookupTypeEnum.Dropdown;
|
|
1948
|
+
this._itemsLabelTranslate = false;
|
|
1949
|
+
this._dropdownClassName = 'mng-filter-lookup-dropdown';
|
|
1950
|
+
this._autocompleteOpenOnFocus = false;
|
|
1951
|
+
this._autocompleteInlineSearch = false;
|
|
1952
|
+
this._modelType = modelType;
|
|
1953
|
+
ModelUtil.trySetLookupItemsProperties(this);
|
|
1948
1954
|
}
|
|
1949
|
-
get
|
|
1950
|
-
return this.
|
|
1955
|
+
get lookupType() {
|
|
1956
|
+
return this._lookupType;
|
|
1951
1957
|
}
|
|
1952
|
-
get
|
|
1953
|
-
return this.
|
|
1958
|
+
get itemsLabelProperty() {
|
|
1959
|
+
return this._itemsLabelProperty;
|
|
1954
1960
|
}
|
|
1955
|
-
get
|
|
1956
|
-
return this.
|
|
1961
|
+
get itemsLabelTranslate() {
|
|
1962
|
+
return this._itemsLabelTranslate;
|
|
1957
1963
|
}
|
|
1958
|
-
get
|
|
1959
|
-
return this.
|
|
1964
|
+
get itemsValueProperty() {
|
|
1965
|
+
return this._itemsValueProperty;
|
|
1960
1966
|
}
|
|
1961
|
-
get
|
|
1962
|
-
return this.
|
|
1967
|
+
get itemsDisabledProperty() {
|
|
1968
|
+
return this._itemsDisabledProperty;
|
|
1963
1969
|
}
|
|
1964
1970
|
get dataKeyProperty() {
|
|
1965
1971
|
return this._dataKeyProperty;
|
|
1966
1972
|
}
|
|
1967
|
-
get
|
|
1968
|
-
return this.
|
|
1969
|
-
}
|
|
1970
|
-
get defaultSortProperty() {
|
|
1971
|
-
return this._defaultSortProperty;
|
|
1972
|
-
}
|
|
1973
|
-
get defaultSortAsc() {
|
|
1974
|
-
return this._defaultSortAsc;
|
|
1975
|
-
}
|
|
1976
|
-
get rowHeight() {
|
|
1977
|
-
return this._rowHeight;
|
|
1978
|
-
}
|
|
1979
|
-
get tableFullHeightOffset() {
|
|
1980
|
-
return this._tableFullHeightOffset;
|
|
1981
|
-
}
|
|
1982
|
-
get model() {
|
|
1983
|
-
return this._model;
|
|
1984
|
-
}
|
|
1985
|
-
addColumnDescriptor(column) {
|
|
1986
|
-
this._columns.push(column);
|
|
1987
|
-
this.setDataKeyFromColumn();
|
|
1988
|
-
return this;
|
|
1989
|
-
}
|
|
1990
|
-
addColumn(property) {
|
|
1991
|
-
const column = new ColumnDescriptor(this, property);
|
|
1992
|
-
this._columns.push(column);
|
|
1993
|
-
this.setDataKeyFromColumn();
|
|
1994
|
-
return column;
|
|
1973
|
+
get dataProvider() {
|
|
1974
|
+
return this._dataProvider;
|
|
1995
1975
|
}
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
column.asNumber(displayFormat);
|
|
1999
|
-
this._columns.push(column);
|
|
2000
|
-
this.setDataKeyFromColumn();
|
|
2001
|
-
return column;
|
|
1976
|
+
get autocompleteOpenOnFocus() {
|
|
1977
|
+
return this._autocompleteOpenOnFocus;
|
|
2002
1978
|
}
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
column.asDate(displayFormat);
|
|
2006
|
-
this._columns.push(column);
|
|
2007
|
-
this.setDataKeyFromColumn();
|
|
2008
|
-
return column;
|
|
1979
|
+
get autocompleteInlineSearch() {
|
|
1980
|
+
return this._autocompleteInlineSearch;
|
|
2009
1981
|
}
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
column.asBoolean(yes, no, asIcon);
|
|
2013
|
-
this._columns.push(column);
|
|
2014
|
-
this.setDataKeyFromColumn();
|
|
2015
|
-
return column;
|
|
1982
|
+
get dropdownClassName() {
|
|
1983
|
+
return this._dropdownClassName;
|
|
2016
1984
|
}
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
column.asEnum(enumType, nameAsValue, titlePath);
|
|
2020
|
-
this._columns.push(column);
|
|
2021
|
-
this.setDataKeyFromColumn();
|
|
2022
|
-
return column;
|
|
1985
|
+
get modelType() {
|
|
1986
|
+
return this._modelType;
|
|
2023
1987
|
}
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
column.withModelType(modelType);
|
|
2027
|
-
column.withDisplayPropertyPath(displayProperty);
|
|
2028
|
-
this._columns.push(column);
|
|
2029
|
-
this.setDataKeyFromColumn();
|
|
2030
|
-
return column;
|
|
1988
|
+
get dialogTableDescriptor() {
|
|
1989
|
+
return this._dialogTableDescriptor;
|
|
2031
1990
|
}
|
|
2032
|
-
|
|
2033
|
-
this.
|
|
2034
|
-
return this;
|
|
1991
|
+
get dialogTableDataProvider() {
|
|
1992
|
+
return this._dialogTableDataProvider;
|
|
2035
1993
|
}
|
|
2036
|
-
|
|
2037
|
-
this.
|
|
1994
|
+
withItemsLabelProperty(itemsLabelProperty, translate = false) {
|
|
1995
|
+
this._itemsLabelProperty = itemsLabelProperty;
|
|
1996
|
+
this._itemsLabelTranslate = translate;
|
|
2038
1997
|
return this;
|
|
2039
1998
|
}
|
|
2040
|
-
|
|
2041
|
-
this.
|
|
1999
|
+
withItemsValueProperty(itemsValueProperty) {
|
|
2000
|
+
this._itemsValueProperty = itemsValueProperty;
|
|
2001
|
+
this._dataKeyProperty = undefined;
|
|
2042
2002
|
return this;
|
|
2043
2003
|
}
|
|
2044
|
-
|
|
2045
|
-
this.
|
|
2004
|
+
withItemsDisabledProperty(itemsDisabledProperty) {
|
|
2005
|
+
this._itemsDisabledProperty = itemsDisabledProperty;
|
|
2046
2006
|
return this;
|
|
2047
2007
|
}
|
|
2048
2008
|
withDataKeyProperty(property) {
|
|
2049
2009
|
this._dataKeyProperty = property;
|
|
2010
|
+
this._itemsValueProperty = undefined;
|
|
2050
2011
|
return this;
|
|
2051
2012
|
}
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2013
|
+
withLookup(lookup, serviceType) {
|
|
2014
|
+
const dataProvider = new LookupDataProvider(this._modelType);
|
|
2015
|
+
if (serviceType) {
|
|
2016
|
+
dataProvider.withServiceType(serviceType);
|
|
2017
|
+
}
|
|
2018
|
+
dataProvider.withLookup(lookup);
|
|
2019
|
+
this._dataProvider = dataProvider;
|
|
2056
2020
|
return this;
|
|
2057
2021
|
}
|
|
2058
|
-
|
|
2059
|
-
this.
|
|
2022
|
+
withLookupDataProvider(dataProvider) {
|
|
2023
|
+
this._dataProvider = dataProvider;
|
|
2060
2024
|
return this;
|
|
2061
2025
|
}
|
|
2062
|
-
|
|
2063
|
-
|
|
2026
|
+
withConfig(config) {
|
|
2027
|
+
return super.withConfig(config);
|
|
2028
|
+
}
|
|
2029
|
+
asAutocomplete(openOnFocus = false, inlineSearch = false) {
|
|
2030
|
+
this._lookupType = FilterLookupDescriptor.LookupTypeEnum.Autocomplete;
|
|
2031
|
+
this._autocompleteOpenOnFocus = openOnFocus;
|
|
2032
|
+
this._autocompleteInlineSearch = inlineSearch;
|
|
2033
|
+
return this;
|
|
2034
|
+
}
|
|
2035
|
+
asDialog(lookupTableDescriptor, tableDataProvider) {
|
|
2036
|
+
this._lookupType = FieldLookupDescriptor.LookupTypeEnum.Dialog;
|
|
2037
|
+
this._dialogTableDescriptor = lookupTableDescriptor;
|
|
2038
|
+
this._dialogTableDataProvider = tableDataProvider;
|
|
2064
2039
|
return this;
|
|
2065
2040
|
}
|
|
2066
2041
|
copy() {
|
|
2067
|
-
const
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2042
|
+
const field = new FieldLookupDescriptor(this._editor, this._property, this._modelType);
|
|
2043
|
+
this.copyFieldsTo(field);
|
|
2044
|
+
field._lookupType = this._lookupType;
|
|
2045
|
+
field._itemsLabelProperty = this._itemsLabelProperty;
|
|
2046
|
+
field._itemsLabelTranslate = this._itemsLabelTranslate;
|
|
2047
|
+
field._itemsValueProperty = this._itemsValueProperty;
|
|
2048
|
+
field._itemsDisabledProperty = this._itemsDisabledProperty;
|
|
2049
|
+
field._dataKeyProperty = this._dataKeyProperty;
|
|
2050
|
+
field._dataProvider = this._dataProvider;
|
|
2051
|
+
field._dropdownClassName = this._dropdownClassName;
|
|
2052
|
+
field._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;
|
|
2053
|
+
field._autocompleteInlineSearch = this._autocompleteInlineSearch;
|
|
2054
|
+
field._dialogTableDescriptor = this._dialogTableDescriptor;
|
|
2055
|
+
return field;
|
|
2076
2056
|
}
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2057
|
+
}
|
|
2058
|
+
(function (FieldLookupDescriptor) {
|
|
2059
|
+
let LookupTypeEnum;
|
|
2060
|
+
(function (LookupTypeEnum) {
|
|
2061
|
+
LookupTypeEnum[LookupTypeEnum["Dropdown"] = 0] = "Dropdown";
|
|
2062
|
+
LookupTypeEnum[LookupTypeEnum["Autocomplete"] = 1] = "Autocomplete";
|
|
2063
|
+
LookupTypeEnum[LookupTypeEnum["Dialog"] = 2] = "Dialog";
|
|
2064
|
+
})(LookupTypeEnum = FieldLookupDescriptor.LookupTypeEnum || (FieldLookupDescriptor.LookupTypeEnum = {}));
|
|
2065
|
+
})(FieldLookupDescriptor || (FieldLookupDescriptor = {}));
|
|
2066
|
+
class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
|
|
2067
|
+
constructor(editor, property, enumType, options, nameAsValue = false, optionsTitlePath) {
|
|
2068
|
+
super(editor, property, null);
|
|
2069
|
+
this._nameAsValue = false;
|
|
2070
|
+
this._enumType = enumType;
|
|
2071
|
+
this._nameAsValue = nameAsValue;
|
|
2072
|
+
if (typeof optionsTitlePath === 'undefined') {
|
|
2073
|
+
optionsTitlePath = TypeUtil.findEnumName(enumType);
|
|
2074
|
+
}
|
|
2075
|
+
this._optionEnumValues = Array.isArray(options)
|
|
2076
|
+
? EnumUtil.fromValuesAsEnumValueArray(enumType, options, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined)
|
|
2077
|
+
: EnumUtil.fromConstantsAsEnumValueArray(enumType, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined);
|
|
2078
|
+
const dataProvider = new LookupDataProvider(null).withLookup(() => of(this._optionEnumValues));
|
|
2079
|
+
this.withLookupDataProvider(dataProvider);
|
|
2080
|
+
this.withItemsLabelProperty('title', optionsTitlePath !== null);
|
|
2081
|
+
this.withItemsValueProperty('value');
|
|
2082
|
+
this.withItemsDisabledProperty('disabled');
|
|
2083
|
+
}
|
|
2084
|
+
get enumType() {
|
|
2085
|
+
return this._enumType;
|
|
2086
|
+
}
|
|
2087
|
+
withDisabledOptions(...disabledOptions) {
|
|
2088
|
+
for (const disabledOption of disabledOptions) {
|
|
2089
|
+
const disabledOptionValue = this._nameAsValue ? EnumUtil.getConstantName(this._enumType, disabledOption) : disabledOption;
|
|
2090
|
+
if (disabledOptionValue) {
|
|
2091
|
+
const option = this._optionEnumValues.find(o => o.value === disabledOptionValue);
|
|
2092
|
+
if (option) {
|
|
2093
|
+
option.disabled = true;
|
|
2094
|
+
}
|
|
2095
|
+
}
|
|
2080
2096
|
}
|
|
2097
|
+
return this;
|
|
2098
|
+
}
|
|
2099
|
+
asAutocomplete(openOnFocus = true) {
|
|
2100
|
+
super.asAutocomplete(openOnFocus, true);
|
|
2101
|
+
return this;
|
|
2102
|
+
}
|
|
2103
|
+
copy() {
|
|
2104
|
+
const field = new FieldLookupEnumDescriptor(this._editor, this._property, this._enumType, []);
|
|
2105
|
+
this.copyFieldsTo(field);
|
|
2106
|
+
field._lookupType = this._lookupType;
|
|
2107
|
+
field._itemsLabelProperty = this._itemsLabelProperty;
|
|
2108
|
+
field._itemsValueProperty = this._itemsValueProperty;
|
|
2109
|
+
field._itemsDisabledProperty = this._itemsDisabledProperty;
|
|
2110
|
+
field._dataKeyProperty = this._dataKeyProperty;
|
|
2111
|
+
field._dataProvider = this._dataProvider;
|
|
2112
|
+
return field;
|
|
2081
2113
|
}
|
|
2082
2114
|
}
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
class ColumnDescriptor {
|
|
2096
|
-
constructor(table, property) {
|
|
2097
|
-
this._modelType = null;
|
|
2098
|
-
this._columnType = ColumnDescriptor.TypeEnum.String;
|
|
2099
|
-
this._isSortEnabled = false;
|
|
2100
|
-
this._enumNameAsValue = false;
|
|
2101
|
-
// boolean specifics
|
|
2102
|
-
this._booleanAsIcon = false;
|
|
2103
|
-
this._table = table;
|
|
2104
|
-
this._property = property;
|
|
2115
|
+
class FieldManyToManyEditorDescriptor extends AFieldDescriptor {
|
|
2116
|
+
constructor(editor, property, mainTableDescriptor, lookupTableDescriptor) {
|
|
2117
|
+
super(editor, property);
|
|
2118
|
+
this._fieldType = FieldManyToManyEditorDescriptor.TypeEnum.DialogTableMultiselect;
|
|
2119
|
+
this._lookupTableDataProvider = null;
|
|
2120
|
+
this._actions = [];
|
|
2121
|
+
this._hasLookupExcludeValues = false;
|
|
2122
|
+
this._excludeFilterProperty = '';
|
|
2123
|
+
this._excludeValueProperty = '';
|
|
2124
|
+
this._mainTableDescriptor = mainTableDescriptor;
|
|
2125
|
+
this._lookupTableDescriptor = lookupTableDescriptor;
|
|
2126
|
+
this._actions.push(FieldManyToManyEditorDescriptor.ActionEnum.Add, FieldManyToManyEditorDescriptor.ActionEnum.Delete);
|
|
2105
2127
|
}
|
|
2106
|
-
get
|
|
2107
|
-
return this.
|
|
2128
|
+
get fieldType() {
|
|
2129
|
+
return this._fieldType;
|
|
2108
2130
|
}
|
|
2109
|
-
get
|
|
2110
|
-
return this.
|
|
2131
|
+
get lookupTableDataProvider() {
|
|
2132
|
+
return this._lookupTableDataProvider;
|
|
2111
2133
|
}
|
|
2112
|
-
get
|
|
2113
|
-
return this.
|
|
2134
|
+
get actions() {
|
|
2135
|
+
return this._actions;
|
|
2114
2136
|
}
|
|
2115
|
-
get
|
|
2116
|
-
return this.
|
|
2137
|
+
get hasLookupExcludeValues() {
|
|
2138
|
+
return this._hasLookupExcludeValues;
|
|
2117
2139
|
}
|
|
2118
|
-
get
|
|
2119
|
-
return this.
|
|
2140
|
+
get excludeFilterProperty() {
|
|
2141
|
+
return this._excludeFilterProperty;
|
|
2120
2142
|
}
|
|
2121
|
-
get
|
|
2122
|
-
return this.
|
|
2143
|
+
get excludeValueProperty() {
|
|
2144
|
+
return this._excludeValueProperty;
|
|
2123
2145
|
}
|
|
2124
|
-
get
|
|
2125
|
-
return this.
|
|
2146
|
+
get mainTableDescriptor() {
|
|
2147
|
+
return this._mainTableDescriptor;
|
|
2126
2148
|
}
|
|
2127
|
-
get
|
|
2128
|
-
return this.
|
|
2149
|
+
get lookupTableDescriptor() {
|
|
2150
|
+
return this._lookupTableDescriptor;
|
|
2129
2151
|
}
|
|
2130
|
-
|
|
2131
|
-
|
|
2152
|
+
withLookup(getAll, serviceType) {
|
|
2153
|
+
const dataProvider = new TableviewDataProvider(this._mainTableDescriptor.model.type);
|
|
2154
|
+
if (serviceType) {
|
|
2155
|
+
dataProvider.withServiceType(serviceType);
|
|
2156
|
+
}
|
|
2157
|
+
dataProvider.withGetAll(getAll);
|
|
2158
|
+
this._lookupTableDataProvider = dataProvider;
|
|
2159
|
+
return this;
|
|
2132
2160
|
}
|
|
2133
|
-
|
|
2134
|
-
|
|
2161
|
+
withLookupDataProvider(dataProvider) {
|
|
2162
|
+
this._lookupTableDataProvider = dataProvider;
|
|
2163
|
+
return this;
|
|
2135
2164
|
}
|
|
2136
|
-
|
|
2137
|
-
|
|
2165
|
+
withActions(actions = []) {
|
|
2166
|
+
this.actions.push(...actions);
|
|
2167
|
+
return this;
|
|
2138
2168
|
}
|
|
2139
|
-
|
|
2140
|
-
|
|
2169
|
+
withLookupExclude(filterProperty, valueProperty, hasLookupExclude = true) {
|
|
2170
|
+
this._hasLookupExcludeValues = hasLookupExclude;
|
|
2171
|
+
this._excludeFilterProperty = filterProperty;
|
|
2172
|
+
this._excludeValueProperty = valueProperty;
|
|
2173
|
+
return this;
|
|
2141
2174
|
}
|
|
2142
|
-
|
|
2143
|
-
|
|
2175
|
+
copy() {
|
|
2176
|
+
const field = new FieldManyToManyEditorDescriptor(this._editor, this._property, this._mainTableDescriptor.copy(), this._lookupTableDescriptor.copy());
|
|
2177
|
+
this.copyFieldsTo(field);
|
|
2178
|
+
field._fieldType = this._fieldType;
|
|
2179
|
+
field._actions = this._actions.map(a => a);
|
|
2180
|
+
field._lookupTableDataProvider = this._lookupTableDataProvider;
|
|
2181
|
+
field._hasLookupExcludeValues = this._hasLookupExcludeValues;
|
|
2182
|
+
field._excludeFilterProperty = this._excludeFilterProperty;
|
|
2183
|
+
field._excludeValueProperty = this._excludeValueProperty;
|
|
2184
|
+
return field;
|
|
2144
2185
|
}
|
|
2145
|
-
|
|
2146
|
-
|
|
2186
|
+
}
|
|
2187
|
+
(function (FieldManyToManyEditorDescriptor) {
|
|
2188
|
+
let TypeEnum;
|
|
2189
|
+
(function (TypeEnum) {
|
|
2190
|
+
TypeEnum[TypeEnum["DialogTableMultiselect"] = 0] = "DialogTableMultiselect";
|
|
2191
|
+
})(TypeEnum = FieldManyToManyEditorDescriptor.TypeEnum || (FieldManyToManyEditorDescriptor.TypeEnum = {}));
|
|
2192
|
+
let ActionEnum;
|
|
2193
|
+
(function (ActionEnum) {
|
|
2194
|
+
ActionEnum[ActionEnum["Add"] = 0] = "Add";
|
|
2195
|
+
ActionEnum[ActionEnum["Delete"] = 1] = "Delete";
|
|
2196
|
+
})(ActionEnum = FieldManyToManyEditorDescriptor.ActionEnum || (FieldManyToManyEditorDescriptor.ActionEnum = {}));
|
|
2197
|
+
})(FieldManyToManyEditorDescriptor || (FieldManyToManyEditorDescriptor = {}));
|
|
2198
|
+
class FieldManyEditorDescriptor extends AFieldDescriptor {
|
|
2199
|
+
constructor(editor, property, tableviewDescriptor) {
|
|
2200
|
+
super(editor, property);
|
|
2201
|
+
this._fieldType = FieldManyEditorDescriptor.TypeEnum.DialogEditor;
|
|
2202
|
+
this._fieldActions = [];
|
|
2203
|
+
this._actions = [];
|
|
2204
|
+
// this._modelType = modelType;
|
|
2205
|
+
this._tableviewDescriptor = tableviewDescriptor;
|
|
2206
|
+
this._fieldActions.push(FieldManyEditorDescriptor.ActionEnum.View, FieldManyEditorDescriptor.ActionEnum.Add, FieldManyEditorDescriptor.ActionEnum.Edit, FieldManyEditorDescriptor.ActionEnum.Delete);
|
|
2147
2207
|
}
|
|
2148
|
-
get
|
|
2149
|
-
return this.
|
|
2208
|
+
get fieldType() {
|
|
2209
|
+
return this._fieldType;
|
|
2150
2210
|
}
|
|
2151
|
-
|
|
2152
|
-
this.
|
|
2153
|
-
return this;
|
|
2211
|
+
get fieldActions() {
|
|
2212
|
+
return this._fieldActions;
|
|
2154
2213
|
}
|
|
2155
|
-
|
|
2156
|
-
this.
|
|
2157
|
-
this._displayFormat = displayFormat;
|
|
2158
|
-
return this;
|
|
2214
|
+
get actions() {
|
|
2215
|
+
return this._actions;
|
|
2159
2216
|
}
|
|
2160
|
-
|
|
2161
|
-
this.
|
|
2162
|
-
this._displayFormat = displayFormat;
|
|
2163
|
-
return this;
|
|
2217
|
+
get tableviewDescriptor() {
|
|
2218
|
+
return this._tableviewDescriptor;
|
|
2164
2219
|
}
|
|
2165
|
-
|
|
2166
|
-
this.
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
this.
|
|
2220
|
+
get tableDescriptor() {
|
|
2221
|
+
return this._tableviewDescriptor.table;
|
|
2222
|
+
}
|
|
2223
|
+
get editorForCreate() {
|
|
2224
|
+
return this._tableviewDescriptor.addEditor;
|
|
2225
|
+
}
|
|
2226
|
+
get editorForRead() {
|
|
2227
|
+
return this._tableviewDescriptor.viewEditor;
|
|
2228
|
+
}
|
|
2229
|
+
get editorForUpdate() {
|
|
2230
|
+
return this._tableviewDescriptor.editEditor;
|
|
2231
|
+
}
|
|
2232
|
+
withFieldAction(action) {
|
|
2233
|
+
this._fieldActions.push(action);
|
|
2170
2234
|
return this;
|
|
2171
2235
|
}
|
|
2172
|
-
|
|
2173
|
-
this.
|
|
2174
|
-
this._enumType = enumType;
|
|
2175
|
-
this._enumNameAsValue = nameAsValue;
|
|
2176
|
-
if (typeof titlePath === 'undefined') {
|
|
2177
|
-
titlePath = TypeUtil.findEnumName(enumType);
|
|
2178
|
-
}
|
|
2179
|
-
this._enumTitlePath = titlePath;
|
|
2236
|
+
withFieldActions(actions) {
|
|
2237
|
+
this._fieldActions = actions;
|
|
2180
2238
|
return this;
|
|
2181
2239
|
}
|
|
2182
|
-
|
|
2183
|
-
this.
|
|
2240
|
+
withAction(action) {
|
|
2241
|
+
this._actions.push(action);
|
|
2184
2242
|
return this;
|
|
2185
2243
|
}
|
|
2244
|
+
copy() {
|
|
2245
|
+
const field = new FieldManyEditorDescriptor(this._editor, this._property, this._tableviewDescriptor.copy());
|
|
2246
|
+
this.copyFieldsTo(field);
|
|
2247
|
+
field._fieldType = this._fieldType;
|
|
2248
|
+
field._fieldActions = this._fieldActions.map(a => a);
|
|
2249
|
+
return field;
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
(function (FieldManyEditorDescriptor) {
|
|
2253
|
+
let TypeEnum;
|
|
2254
|
+
(function (TypeEnum) {
|
|
2255
|
+
TypeEnum[TypeEnum["DialogEditor"] = 0] = "DialogEditor";
|
|
2256
|
+
})(TypeEnum = FieldManyEditorDescriptor.TypeEnum || (FieldManyEditorDescriptor.TypeEnum = {}));
|
|
2257
|
+
let ActionEnum;
|
|
2258
|
+
(function (ActionEnum) {
|
|
2259
|
+
ActionEnum[ActionEnum["View"] = 0] = "View";
|
|
2260
|
+
ActionEnum[ActionEnum["Add"] = 1] = "Add";
|
|
2261
|
+
ActionEnum[ActionEnum["Edit"] = 2] = "Edit";
|
|
2262
|
+
ActionEnum[ActionEnum["Delete"] = 3] = "Delete";
|
|
2263
|
+
})(ActionEnum = FieldManyEditorDescriptor.ActionEnum || (FieldManyEditorDescriptor.ActionEnum = {}));
|
|
2264
|
+
})(FieldManyEditorDescriptor || (FieldManyEditorDescriptor = {}));
|
|
2265
|
+
class AFieldGroupDescriptor extends AGenericFieldDescriptor {
|
|
2266
|
+
constructor(editor, name) {
|
|
2267
|
+
super(editor);
|
|
2268
|
+
this._fields = [];
|
|
2269
|
+
this._validators = [];
|
|
2270
|
+
this._name = `${this.baseName}${name}`;
|
|
2271
|
+
this._default = name === EditorDescriptor.defaultGroupName;
|
|
2272
|
+
}
|
|
2273
|
+
get title() {
|
|
2274
|
+
return this._title;
|
|
2275
|
+
}
|
|
2276
|
+
get validators() {
|
|
2277
|
+
return this._validators;
|
|
2278
|
+
}
|
|
2279
|
+
get baseName() {
|
|
2280
|
+
return `${this.groupName()}_`;
|
|
2281
|
+
}
|
|
2282
|
+
get name() {
|
|
2283
|
+
return this._name;
|
|
2284
|
+
}
|
|
2285
|
+
get default() {
|
|
2286
|
+
return this._default;
|
|
2287
|
+
}
|
|
2186
2288
|
withTitle(title) {
|
|
2187
2289
|
this._title = title;
|
|
2188
2290
|
return this;
|
|
2189
2291
|
}
|
|
2190
|
-
|
|
2191
|
-
this.
|
|
2292
|
+
withValidator(name, expression) {
|
|
2293
|
+
this._validators.push(new FieldValidator(name, expression, undefined));
|
|
2192
2294
|
return this;
|
|
2193
2295
|
}
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
case ColumnDescriptor.TypeEnum.Number:
|
|
2199
|
-
filterType = FilterDescriptor.TypeEnum.Number;
|
|
2200
|
-
break;
|
|
2201
|
-
case ColumnDescriptor.TypeEnum.Boolean:
|
|
2202
|
-
filterType = FilterDescriptor.TypeEnum.Boolean;
|
|
2203
|
-
break;
|
|
2204
|
-
case ColumnDescriptor.TypeEnum.Date:
|
|
2205
|
-
filterType = FilterDescriptor.TypeEnum.Date;
|
|
2206
|
-
break;
|
|
2207
|
-
case ColumnDescriptor.TypeEnum.String:
|
|
2208
|
-
default:
|
|
2209
|
-
filterType = FilterDescriptor.TypeEnum.String;
|
|
2210
|
-
break;
|
|
2211
|
-
}
|
|
2212
|
-
this._filterDescriptor.asFilterType(filterType);
|
|
2213
|
-
return this._filterDescriptor;
|
|
2296
|
+
}
|
|
2297
|
+
class FieldTabGroupDescriptor extends AFieldGroupDescriptor {
|
|
2298
|
+
constructor(editor, name) {
|
|
2299
|
+
super(editor, name);
|
|
2214
2300
|
}
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
this._filterDescriptor = filterDescriptor;
|
|
2218
|
-
return filterDescriptor;
|
|
2301
|
+
get fields() {
|
|
2302
|
+
return this._fields;
|
|
2219
2303
|
}
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
throw new Error(`Column ${this._property} is not of type enum or enum type is undefined.`);
|
|
2223
|
-
}
|
|
2224
|
-
const filterDescriptor = new FilterLookupEnumDescriptor(this._property, this._enumType, options, this._enumNameAsValue, this._enumTitlePath);
|
|
2225
|
-
this._filterDescriptor = filterDescriptor;
|
|
2226
|
-
return filterDescriptor;
|
|
2304
|
+
groupName() {
|
|
2305
|
+
return 'tab';
|
|
2227
2306
|
}
|
|
2228
|
-
|
|
2229
|
-
this.
|
|
2307
|
+
addField(field) {
|
|
2308
|
+
this._fields.push(field);
|
|
2230
2309
|
return this;
|
|
2231
2310
|
}
|
|
2232
2311
|
copy() {
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2312
|
+
const tab = new FieldTabGroupDescriptor(this._editor, this.name.substring(this.baseName.length));
|
|
2313
|
+
tab._title = this._title;
|
|
2314
|
+
tab._fields = this.fields.map(f => f.copy());
|
|
2315
|
+
return tab;
|
|
2316
|
+
}
|
|
2317
|
+
}
|
|
2318
|
+
class FieldGroupDescriptor extends AFieldGroupDescriptor {
|
|
2319
|
+
constructor(editor, name) {
|
|
2320
|
+
super(editor, name);
|
|
2321
|
+
}
|
|
2322
|
+
get fields() {
|
|
2323
|
+
return this._fields;
|
|
2324
|
+
}
|
|
2325
|
+
groupName() {
|
|
2326
|
+
return 'group';
|
|
2327
|
+
}
|
|
2328
|
+
addField(field) {
|
|
2329
|
+
this._fields.push(field);
|
|
2330
|
+
return this;
|
|
2331
|
+
}
|
|
2332
|
+
copy() {
|
|
2333
|
+
const group = new FieldGroupDescriptor(this._editor, this.name.substring(this.baseName.length));
|
|
2334
|
+
group._title = this._title;
|
|
2335
|
+
group._fields = this.fields.map(f => f.copy());
|
|
2336
|
+
return group;
|
|
2247
2337
|
}
|
|
2248
2338
|
}
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
(
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
TypeEnum[TypeEnum["Enum"] = 4] = "Enum";
|
|
2257
|
-
})(TypeEnum = ColumnDescriptor.TypeEnum || (ColumnDescriptor.TypeEnum = {}));
|
|
2258
|
-
})(ColumnDescriptor || (ColumnDescriptor = {}));
|
|
2259
|
-
class FilterDescriptor {
|
|
2260
|
-
constructor(property) {
|
|
2261
|
-
this._filterType = FilterDescriptor.TypeEnum.String;
|
|
2262
|
-
this._matchModes = null;
|
|
2263
|
-
this._className = '';
|
|
2264
|
-
this._property = property;
|
|
2339
|
+
|
|
2340
|
+
class FieldValidator {
|
|
2341
|
+
constructor(name, expression, message, options) {
|
|
2342
|
+
this._name = name;
|
|
2343
|
+
this._expression = expression;
|
|
2344
|
+
this._message = message;
|
|
2345
|
+
this._options = options;
|
|
2265
2346
|
}
|
|
2266
|
-
get
|
|
2267
|
-
return this.
|
|
2347
|
+
get name() {
|
|
2348
|
+
return this._name;
|
|
2268
2349
|
}
|
|
2269
|
-
get
|
|
2270
|
-
return this.
|
|
2350
|
+
get expression() {
|
|
2351
|
+
return this._expression;
|
|
2271
2352
|
}
|
|
2272
|
-
get
|
|
2273
|
-
return this.
|
|
2353
|
+
get message() {
|
|
2354
|
+
return this._message;
|
|
2274
2355
|
}
|
|
2275
|
-
get
|
|
2276
|
-
return this.
|
|
2356
|
+
get options() {
|
|
2357
|
+
return this._options;
|
|
2277
2358
|
}
|
|
2278
|
-
|
|
2279
|
-
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
class ModelDescriptor {
|
|
2362
|
+
constructor(modelType, idProperty, titleProperty) {
|
|
2363
|
+
var _a, _b;
|
|
2364
|
+
this._type = modelType;
|
|
2365
|
+
this._idPropertyName = (_a = idProperty !== null && idProperty !== void 0 ? idProperty : ModelUtil.findIdAttribute(modelType)) !== null && _a !== void 0 ? _a : undefined;
|
|
2366
|
+
this._titlePropertyName = (_b = titleProperty !== null && titleProperty !== void 0 ? titleProperty : ModelUtil.findTitleAttribute(modelType)) !== null && _b !== void 0 ? _b : undefined;
|
|
2367
|
+
this._typeName = TypeUtil.findTypeName(this._type);
|
|
2280
2368
|
}
|
|
2281
|
-
get
|
|
2282
|
-
return this.
|
|
2369
|
+
get type() {
|
|
2370
|
+
return this._type;
|
|
2283
2371
|
}
|
|
2284
|
-
|
|
2285
|
-
this.
|
|
2286
|
-
return this;
|
|
2372
|
+
get typeName() {
|
|
2373
|
+
return this._typeName;
|
|
2287
2374
|
}
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
* @param filterProperty
|
|
2291
|
-
*/
|
|
2292
|
-
withFilterProperty(filterProperty) {
|
|
2293
|
-
this._filterProperty = filterProperty;
|
|
2294
|
-
return this;
|
|
2375
|
+
get idPropertyName() {
|
|
2376
|
+
return this._idPropertyName;
|
|
2295
2377
|
}
|
|
2296
|
-
|
|
2297
|
-
this.
|
|
2298
|
-
return this;
|
|
2378
|
+
get titlePropertyName() {
|
|
2379
|
+
return this._titlePropertyName;
|
|
2299
2380
|
}
|
|
2300
|
-
|
|
2301
|
-
this.
|
|
2381
|
+
withIdPropertyName(idProperty) {
|
|
2382
|
+
this._idPropertyName = idProperty;
|
|
2302
2383
|
return this;
|
|
2303
2384
|
}
|
|
2304
|
-
|
|
2305
|
-
this.
|
|
2385
|
+
withTitlePropertyName(titleProperty) {
|
|
2386
|
+
this._titlePropertyName = titleProperty;
|
|
2306
2387
|
return this;
|
|
2307
2388
|
}
|
|
2308
2389
|
copy() {
|
|
2309
|
-
const
|
|
2310
|
-
|
|
2311
|
-
return descriptor;
|
|
2312
|
-
}
|
|
2313
|
-
copyFieldsTo(descriptor) {
|
|
2314
|
-
descriptor._filterType = this._filterType;
|
|
2315
|
-
descriptor._filterProperty = this._filterProperty;
|
|
2316
|
-
descriptor._placeholder = this._placeholder;
|
|
2317
|
-
descriptor._className = this._className;
|
|
2390
|
+
const model = new ModelDescriptor(this._type, this._idPropertyName, this._titlePropertyName);
|
|
2391
|
+
return model;
|
|
2318
2392
|
}
|
|
2319
2393
|
}
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
(
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
MatchModeEnum["Contains"] = "contains";
|
|
2334
|
-
MatchModeEnum["EndsWith"] = "endsWith";
|
|
2335
|
-
MatchModeEnum["Equals"] = "equals";
|
|
2336
|
-
MatchModeEnum["NotEquals"] = "notEquals";
|
|
2337
|
-
MatchModeEnum["In"] = "in";
|
|
2338
|
-
MatchModeEnum["LessThan"] = "lt";
|
|
2339
|
-
MatchModeEnum["LessThanOrEqualTo"] = "lte";
|
|
2340
|
-
MatchModeEnum["GreaterThan"] = "gt";
|
|
2341
|
-
MatchModeEnum["GreaterThanOrEqualTo"] = "gte";
|
|
2342
|
-
MatchModeEnum["Between"] = "between";
|
|
2343
|
-
MatchModeEnum["DateIs"] = "dateIs";
|
|
2344
|
-
MatchModeEnum["DateIsNot"] = "dateIsNot";
|
|
2345
|
-
MatchModeEnum["DateBefore"] = "dateBefore";
|
|
2346
|
-
MatchModeEnum["DateAfter"] = "dateAfter";
|
|
2347
|
-
})(MatchModeEnum = FilterDescriptor.MatchModeEnum || (FilterDescriptor.MatchModeEnum = {}));
|
|
2348
|
-
})(FilterDescriptor || (FilterDescriptor = {}));
|
|
2349
|
-
class FilterLookupDescriptor extends FilterDescriptor {
|
|
2350
|
-
constructor(property, modelType) {
|
|
2351
|
-
super(property);
|
|
2352
|
-
this._modelType = null;
|
|
2353
|
-
this._lookupType = FilterLookupDescriptor.LookupTypeEnum.Dropdown;
|
|
2354
|
-
this._itemsLabelTranslate = false;
|
|
2355
|
-
this._multiselect = false;
|
|
2356
|
-
this._dropdownClassName = 'mng-filter-lookup-dropdown';
|
|
2357
|
-
this._modelType = modelType;
|
|
2358
|
-
this._filterType = FilterDescriptor.TypeEnum.Lookup;
|
|
2359
|
-
ModelUtil.trySetLookupItemsProperties(this);
|
|
2394
|
+
|
|
2395
|
+
class TableDescriptor {
|
|
2396
|
+
constructor(modelType, idProperty, titleProperty) {
|
|
2397
|
+
this._filterDisplay = TableDescriptor.FilterDisplayEnum.Menu;
|
|
2398
|
+
this._paginationMode = TableDescriptor.PaginationModeEnum.Pagination;
|
|
2399
|
+
this._columns = [];
|
|
2400
|
+
this._hideHeader = false;
|
|
2401
|
+
this._hasDefaultSort = false;
|
|
2402
|
+
this._defaultSortProperty = [];
|
|
2403
|
+
this._defaultSortAsc = [];
|
|
2404
|
+
this._rowHeight = 45;
|
|
2405
|
+
this._tableFullHeightOffset = 315;
|
|
2406
|
+
this._model = new ModelDescriptor(modelType, idProperty, titleProperty);
|
|
2360
2407
|
}
|
|
2361
|
-
get
|
|
2362
|
-
return this.
|
|
2408
|
+
get filterDisplay() {
|
|
2409
|
+
return this._filterDisplay;
|
|
2363
2410
|
}
|
|
2364
|
-
get
|
|
2365
|
-
return this.
|
|
2411
|
+
get paginationMode() {
|
|
2412
|
+
return this._paginationMode;
|
|
2366
2413
|
}
|
|
2367
|
-
get
|
|
2368
|
-
return this.
|
|
2414
|
+
get columns() {
|
|
2415
|
+
return this._columns;
|
|
2369
2416
|
}
|
|
2370
|
-
get
|
|
2371
|
-
return this.
|
|
2417
|
+
get title() {
|
|
2418
|
+
return this._title;
|
|
2372
2419
|
}
|
|
2373
|
-
get
|
|
2374
|
-
return this.
|
|
2420
|
+
get hideHeader() {
|
|
2421
|
+
return this._hideHeader;
|
|
2375
2422
|
}
|
|
2376
2423
|
get dataKeyProperty() {
|
|
2377
2424
|
return this._dataKeyProperty;
|
|
2378
2425
|
}
|
|
2379
|
-
get
|
|
2380
|
-
return this.
|
|
2426
|
+
get hasDefaultSort() {
|
|
2427
|
+
return this._hasDefaultSort;
|
|
2381
2428
|
}
|
|
2382
|
-
get
|
|
2383
|
-
return this.
|
|
2429
|
+
get defaultSortProperty() {
|
|
2430
|
+
return this._defaultSortProperty;
|
|
2384
2431
|
}
|
|
2385
|
-
get
|
|
2386
|
-
return this.
|
|
2432
|
+
get defaultSortAsc() {
|
|
2433
|
+
return this._defaultSortAsc;
|
|
2387
2434
|
}
|
|
2388
|
-
|
|
2389
|
-
this.
|
|
2390
|
-
|
|
2435
|
+
get rowHeight() {
|
|
2436
|
+
return this._rowHeight;
|
|
2437
|
+
}
|
|
2438
|
+
get tableFullHeightOffset() {
|
|
2439
|
+
return this._tableFullHeightOffset;
|
|
2440
|
+
}
|
|
2441
|
+
get model() {
|
|
2442
|
+
return this._model;
|
|
2443
|
+
}
|
|
2444
|
+
addColumnDescriptor(column) {
|
|
2445
|
+
this._columns.push(column);
|
|
2446
|
+
this.setDataKeyFromColumn();
|
|
2391
2447
|
return this;
|
|
2392
2448
|
}
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
this.
|
|
2449
|
+
addColumn(property) {
|
|
2450
|
+
const column = new ColumnDescriptor(this, property);
|
|
2451
|
+
this._columns.push(column);
|
|
2452
|
+
this.setDataKeyFromColumn();
|
|
2453
|
+
return column;
|
|
2454
|
+
}
|
|
2455
|
+
addColumnNumber(property, displayFormat) {
|
|
2456
|
+
const column = new ColumnDescriptor(this, property);
|
|
2457
|
+
column.asNumber(displayFormat);
|
|
2458
|
+
this._columns.push(column);
|
|
2459
|
+
this.setDataKeyFromColumn();
|
|
2460
|
+
return column;
|
|
2461
|
+
}
|
|
2462
|
+
addColumnDate(property, displayFormat) {
|
|
2463
|
+
const column = new ColumnDescriptor(this, property);
|
|
2464
|
+
column.asDate(displayFormat);
|
|
2465
|
+
this._columns.push(column);
|
|
2466
|
+
this.setDataKeyFromColumn();
|
|
2467
|
+
return column;
|
|
2468
|
+
}
|
|
2469
|
+
addColumnBoolean(property, yes, no, asIcon = false) {
|
|
2470
|
+
const column = new ColumnDescriptor(this, property);
|
|
2471
|
+
column.asBoolean(yes, no, asIcon);
|
|
2472
|
+
this._columns.push(column);
|
|
2473
|
+
this.setDataKeyFromColumn();
|
|
2474
|
+
return column;
|
|
2475
|
+
}
|
|
2476
|
+
addColumnEnum(property, enumType, nameAsValue = false, titlePath) {
|
|
2477
|
+
const column = new ColumnDescriptor(this, property);
|
|
2478
|
+
column.asEnum(enumType, nameAsValue, titlePath);
|
|
2479
|
+
this._columns.push(column);
|
|
2480
|
+
this.setDataKeyFromColumn();
|
|
2481
|
+
return column;
|
|
2482
|
+
}
|
|
2483
|
+
addColumnCustomComponent(property, customComponentType) {
|
|
2484
|
+
const column = new ColumnDescriptor(this, property);
|
|
2485
|
+
column.asCustomComponent(customComponentType);
|
|
2486
|
+
this._columns.push(column);
|
|
2487
|
+
this.setDataKeyFromColumn();
|
|
2488
|
+
return column;
|
|
2489
|
+
}
|
|
2490
|
+
withFilterDisplay(filterDisplayType) {
|
|
2491
|
+
this._filterDisplay = filterDisplayType;
|
|
2396
2492
|
return this;
|
|
2397
2493
|
}
|
|
2398
|
-
|
|
2399
|
-
this.
|
|
2400
|
-
this
|
|
2494
|
+
withPaginationMode(paginationMode) {
|
|
2495
|
+
this._paginationMode = paginationMode;
|
|
2496
|
+
return this;
|
|
2497
|
+
}
|
|
2498
|
+
withTitle(title) {
|
|
2499
|
+
this._title = title;
|
|
2401
2500
|
return this;
|
|
2402
2501
|
}
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
if (serviceType) {
|
|
2406
|
-
dataProvider.withServiceType(serviceType);
|
|
2407
|
-
}
|
|
2408
|
-
dataProvider.withLookup(lookup);
|
|
2409
|
-
this._dataProvider = dataProvider;
|
|
2502
|
+
withHideHeader(hideHeader = true) {
|
|
2503
|
+
this._hideHeader = hideHeader;
|
|
2410
2504
|
return this;
|
|
2411
2505
|
}
|
|
2412
|
-
|
|
2413
|
-
this.
|
|
2506
|
+
withDataKeyProperty(property) {
|
|
2507
|
+
this._dataKeyProperty = property;
|
|
2414
2508
|
return this;
|
|
2415
2509
|
}
|
|
2416
|
-
|
|
2417
|
-
this.
|
|
2510
|
+
withDefaultSort(property, asc = true) {
|
|
2511
|
+
this._hasDefaultSort = true;
|
|
2512
|
+
this._defaultSortProperty.push(property);
|
|
2513
|
+
this._defaultSortAsc.push(asc);
|
|
2418
2514
|
return this;
|
|
2419
2515
|
}
|
|
2420
|
-
|
|
2421
|
-
this.
|
|
2516
|
+
withRowHeight(rowHeight) {
|
|
2517
|
+
this._rowHeight = rowHeight;
|
|
2422
2518
|
return this;
|
|
2423
2519
|
}
|
|
2424
|
-
|
|
2425
|
-
this.
|
|
2520
|
+
withTableFullHeightOffset(tableFullHeightOffset) {
|
|
2521
|
+
this._tableFullHeightOffset = tableFullHeightOffset;
|
|
2426
2522
|
return this;
|
|
2427
2523
|
}
|
|
2428
2524
|
copy() {
|
|
2429
|
-
const descriptor = new
|
|
2430
|
-
this.
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
copyFieldsTo(descriptor) {
|
|
2434
|
-
super.copyFieldsTo(descriptor);
|
|
2435
|
-
descriptor._dataProvider = this._dataProvider;
|
|
2436
|
-
descriptor._lookupType = this._lookupType;
|
|
2437
|
-
descriptor._itemsLabelProperty = this._itemsLabelProperty;
|
|
2438
|
-
descriptor._itemsLabelTranslate = this._itemsLabelTranslate;
|
|
2439
|
-
descriptor._itemsValueProperty = this._itemsValueProperty;
|
|
2525
|
+
const descriptor = new TableDescriptor(this.model.type, this.model.idPropertyName, this.model.titlePropertyName);
|
|
2526
|
+
descriptor._columns = this.columns.map(c => c.copy());
|
|
2527
|
+
descriptor._title = this._title;
|
|
2528
|
+
descriptor._hideHeader = this._hideHeader;
|
|
2440
2529
|
descriptor._dataKeyProperty = this._dataKeyProperty;
|
|
2530
|
+
descriptor._defaultSortProperty = this._defaultSortProperty.map(p => p);
|
|
2531
|
+
descriptor._defaultSortAsc = this._defaultSortAsc.map(p => p);
|
|
2532
|
+
descriptor._filterDisplay = this._filterDisplay;
|
|
2533
|
+
return descriptor;
|
|
2441
2534
|
}
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
super(property, null);
|
|
2446
|
-
this._enumType = enumType;
|
|
2447
|
-
if (typeof optionsTitlePath === 'undefined') {
|
|
2448
|
-
optionsTitlePath = TypeUtil.findEnumName(enumType);
|
|
2535
|
+
setDataKeyFromColumn() {
|
|
2536
|
+
if (!this._dataKeyProperty && this._columns.length === 1) {
|
|
2537
|
+
this._dataKeyProperty = this._columns[0].property;
|
|
2449
2538
|
}
|
|
2450
|
-
const optionEnumValues = Array.isArray(options)
|
|
2451
|
-
? EnumUtil.fromValuesAsEnumValueArray(enumType, options, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined)
|
|
2452
|
-
: EnumUtil.fromConstantsAsEnumValueArray(enumType, nameAsValue, optionsTitlePath !== null && optionsTitlePath !== void 0 ? optionsTitlePath : undefined);
|
|
2453
|
-
const dataProvider = new LookupDataProvider(null).withLookup(() => of(optionEnumValues));
|
|
2454
|
-
this.withLookupDataProvider(dataProvider);
|
|
2455
|
-
this.withItemsLabelProperty('title', optionsTitlePath !== null);
|
|
2456
|
-
this.withItemsValueProperty('value');
|
|
2457
|
-
}
|
|
2458
|
-
get enumType() {
|
|
2459
|
-
return this._enumType;
|
|
2460
|
-
}
|
|
2461
|
-
copy() {
|
|
2462
|
-
const field = new FilterLookupEnumDescriptor(this._property, this._enumType, []);
|
|
2463
|
-
this.copyFieldsTo(field);
|
|
2464
|
-
return field;
|
|
2465
2539
|
}
|
|
2466
2540
|
}
|
|
2467
|
-
(function (
|
|
2468
|
-
let
|
|
2469
|
-
(function (
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
})(
|
|
2473
|
-
|
|
2541
|
+
(function (TableDescriptor) {
|
|
2542
|
+
let PaginationModeEnum;
|
|
2543
|
+
(function (PaginationModeEnum) {
|
|
2544
|
+
PaginationModeEnum[PaginationModeEnum["Pagination"] = 0] = "Pagination";
|
|
2545
|
+
PaginationModeEnum[PaginationModeEnum["InfiniteScroll"] = 1] = "InfiniteScroll";
|
|
2546
|
+
})(PaginationModeEnum = TableDescriptor.PaginationModeEnum || (TableDescriptor.PaginationModeEnum = {}));
|
|
2547
|
+
let FilterDisplayEnum;
|
|
2548
|
+
(function (FilterDisplayEnum) {
|
|
2549
|
+
FilterDisplayEnum[FilterDisplayEnum["Row"] = 0] = "Row";
|
|
2550
|
+
FilterDisplayEnum[FilterDisplayEnum["Menu"] = 1] = "Menu";
|
|
2551
|
+
})(FilterDisplayEnum = TableDescriptor.FilterDisplayEnum || (TableDescriptor.FilterDisplayEnum = {}));
|
|
2552
|
+
})(TableDescriptor || (TableDescriptor = {}));
|
|
2474
2553
|
|
|
2475
2554
|
var TableviewEditorTypeEnum = EditorDescriptor.TableviewEditorTypeEnum;
|
|
2476
2555
|
class TableviewDescriptor {
|
|
@@ -2545,8 +2624,8 @@ class TableviewDescriptor {
|
|
|
2545
2624
|
addColumnEnum(property, enumType, nameAsValue = false, titlePath) {
|
|
2546
2625
|
return this._table.addColumnEnum(property, enumType, nameAsValue, titlePath);
|
|
2547
2626
|
}
|
|
2548
|
-
|
|
2549
|
-
return this._table.
|
|
2627
|
+
addColumnCustomComponent(property, customComponentType) {
|
|
2628
|
+
return this._table.addColumnCustomComponent(property, customComponentType);
|
|
2550
2629
|
}
|
|
2551
2630
|
createTabGroup(name, title) {
|
|
2552
2631
|
this._viewEditor.createTabGroup(name, title);
|
|
@@ -3043,14 +3122,10 @@ class ModelUtil {
|
|
|
3043
3122
|
if (!attributes) {
|
|
3044
3123
|
return null;
|
|
3045
3124
|
}
|
|
3046
|
-
let idAttribute =
|
|
3125
|
+
let idAttribute = ModelUtil.findAttributeByTypeAndName(attributes, 'string', 'id', 'uuid', 'code', 'sifra');
|
|
3047
3126
|
if (!idAttribute) {
|
|
3048
|
-
// if no id,
|
|
3049
|
-
idAttribute = attributes
|
|
3050
|
-
if (!idAttribute) {
|
|
3051
|
-
// if no id or code, take the first attribute
|
|
3052
|
-
idAttribute = attributes[0];
|
|
3053
|
-
}
|
|
3127
|
+
// if no id or code, take the first attribute
|
|
3128
|
+
idAttribute = attributes[0];
|
|
3054
3129
|
}
|
|
3055
3130
|
return (_a = idAttribute === null || idAttribute === void 0 ? void 0 : idAttribute.name) !== null && _a !== void 0 ? _a : null;
|
|
3056
3131
|
}
|
|
@@ -3061,17 +3136,22 @@ class ModelUtil {
|
|
|
3061
3136
|
if (!attributes) {
|
|
3062
3137
|
return null;
|
|
3063
3138
|
}
|
|
3064
|
-
let titleAttribute =
|
|
3139
|
+
let titleAttribute = ModelUtil.findAttributeByTypeAndName(attributes, 'string', 'name', 'ime', 'title', 'naziv');
|
|
3065
3140
|
if (!titleAttribute) {
|
|
3066
|
-
// if no name,
|
|
3067
|
-
titleAttribute = attributes
|
|
3068
|
-
if (!titleAttribute) {
|
|
3069
|
-
// if no name or title, take the first attribute
|
|
3070
|
-
titleAttribute = attributes[0];
|
|
3071
|
-
}
|
|
3141
|
+
// if no name or title, take the first attribute
|
|
3142
|
+
titleAttribute = attributes[0];
|
|
3072
3143
|
}
|
|
3073
3144
|
return (_a = titleAttribute === null || titleAttribute === void 0 ? void 0 : titleAttribute.name) !== null && _a !== void 0 ? _a : null;
|
|
3074
3145
|
}
|
|
3146
|
+
static findAttributeByTypeAndName(attributes, type, ...names) {
|
|
3147
|
+
for (const name of names) {
|
|
3148
|
+
const attribute = attributes.find(a => a.type === type && a.name === name);
|
|
3149
|
+
if (attribute) {
|
|
3150
|
+
return attribute;
|
|
3151
|
+
}
|
|
3152
|
+
}
|
|
3153
|
+
return null;
|
|
3154
|
+
}
|
|
3075
3155
|
static trySetLookupItemsProperties(lookup, idAsDataKey = true) {
|
|
3076
3156
|
var _a;
|
|
3077
3157
|
if (lookup.modelType) {
|
|
@@ -3368,6 +3448,9 @@ class ObjectSerializer {
|
|
|
3368
3448
|
serializeClass(data, type) {
|
|
3369
3449
|
return this.serialize(data, TypeUtil.findTypeName(type));
|
|
3370
3450
|
}
|
|
3451
|
+
serializeClassArray(data, type) {
|
|
3452
|
+
return this.serialize(data, `Array<${TypeUtil.findTypeName(type)}>`);
|
|
3453
|
+
}
|
|
3371
3454
|
serialize(data, type) {
|
|
3372
3455
|
if (data == undefined) {
|
|
3373
3456
|
return data;
|
|
@@ -3419,6 +3502,9 @@ class ObjectSerializer {
|
|
|
3419
3502
|
deserializeClass(data, type) {
|
|
3420
3503
|
return this.deserialize(data, TypeUtil.findTypeName(type));
|
|
3421
3504
|
}
|
|
3505
|
+
deserializeClassArray(data, type) {
|
|
3506
|
+
return this.deserialize(data, `Array<${TypeUtil.findTypeName(type)}>`);
|
|
3507
|
+
}
|
|
3422
3508
|
deserialize(data, type) {
|
|
3423
3509
|
// polymorphism may change the actual type.
|
|
3424
3510
|
type = this.findCorrectType(data, type);
|
|
@@ -3819,8 +3905,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
3819
3905
|
}]
|
|
3820
3906
|
}] });
|
|
3821
3907
|
|
|
3822
|
-
|
|
3908
|
+
/**
|
|
3909
|
+
* Imitation of JSONPath Syntax. Supports:
|
|
3910
|
+
* - Root object notation with '$'
|
|
3911
|
+
* - Dot notation (e.g.: $.foo.bar), no bracket notation for properties
|
|
3912
|
+
* - Array notation (e.g.: [0])
|
|
3913
|
+
*/
|
|
3914
|
+
class JsonPathPipe {
|
|
3823
3915
|
transform(value, path = '') {
|
|
3916
|
+
if (path === '$') {
|
|
3917
|
+
// only return the root
|
|
3918
|
+
return value;
|
|
3919
|
+
}
|
|
3920
|
+
// Check for leading root object notation
|
|
3921
|
+
if (path.startsWith('$')) {
|
|
3922
|
+
path = path.substring(1);
|
|
3923
|
+
}
|
|
3924
|
+
// Check for leading .
|
|
3925
|
+
if (path.startsWith('.')) {
|
|
3926
|
+
path = path.substring(1);
|
|
3927
|
+
}
|
|
3824
3928
|
if (path.indexOf('.') >= 0) {
|
|
3825
3929
|
const pathSplit = path.split('.');
|
|
3826
3930
|
let currValue = value;
|
|
@@ -3828,6 +3932,32 @@ class MngPropertyPathPipe {
|
|
|
3828
3932
|
if (typeof currValue === 'undefined' || currValue === null) {
|
|
3829
3933
|
return currValue;
|
|
3830
3934
|
}
|
|
3935
|
+
if (!p.length) {
|
|
3936
|
+
// empty path, return current value
|
|
3937
|
+
return currValue;
|
|
3938
|
+
}
|
|
3939
|
+
const leftBracketIdx = p.indexOf('[');
|
|
3940
|
+
if (leftBracketIdx >= 0 && p.endsWith(']')) {
|
|
3941
|
+
// should be reference to array
|
|
3942
|
+
const arrayPath = p.substring(0, leftBracketIdx);
|
|
3943
|
+
const arrayIdx = +p.substring(leftBracketIdx + 1, p.length - 1);
|
|
3944
|
+
const array = currValue[arrayPath];
|
|
3945
|
+
console.log(arrayPath, arrayIdx, array);
|
|
3946
|
+
if (Array.isArray(array)) {
|
|
3947
|
+
if (arrayIdx >= 0 && arrayIdx < array.length) {
|
|
3948
|
+
// valid index, continue on the path
|
|
3949
|
+
currValue = array[arrayIdx];
|
|
3950
|
+
continue;
|
|
3951
|
+
}
|
|
3952
|
+
else {
|
|
3953
|
+
console.warn(`Path ${path} array index at ${p} is not within valid array range`, value);
|
|
3954
|
+
}
|
|
3955
|
+
}
|
|
3956
|
+
else {
|
|
3957
|
+
console.warn(`Path ${path} array at ${p} is not a valid array`, value);
|
|
3958
|
+
}
|
|
3959
|
+
return undefined;
|
|
3960
|
+
}
|
|
3831
3961
|
else if (typeof currValue === 'object') {
|
|
3832
3962
|
currValue = currValue[p];
|
|
3833
3963
|
}
|
|
@@ -3839,16 +3969,16 @@ class MngPropertyPathPipe {
|
|
|
3839
3969
|
return currValue;
|
|
3840
3970
|
}
|
|
3841
3971
|
else {
|
|
3842
|
-
return
|
|
3972
|
+
return value[path];
|
|
3843
3973
|
}
|
|
3844
3974
|
}
|
|
3845
3975
|
}
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type:
|
|
3976
|
+
JsonPathPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: JsonPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3977
|
+
JsonPathPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: JsonPathPipe, name: "jsonPath" });
|
|
3978
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: JsonPathPipe, decorators: [{
|
|
3849
3979
|
type: Pipe,
|
|
3850
3980
|
args: [{
|
|
3851
|
-
name: '
|
|
3981
|
+
name: 'jsonPath',
|
|
3852
3982
|
pure: true
|
|
3853
3983
|
}]
|
|
3854
3984
|
}] });
|
|
@@ -4173,12 +4303,12 @@ class MngActionExecutorService {
|
|
|
4173
4303
|
return this.errorMapper.toMngError(error, actionError);
|
|
4174
4304
|
}
|
|
4175
4305
|
}
|
|
4176
|
-
MngActionExecutorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i3.DialogService }, { token: i2.ConfirmationService }, { token:
|
|
4306
|
+
MngActionExecutorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i3.DialogService }, { token: i2.ConfirmationService }, { token: i1$1.TranslateService }, { token: MngNavigationService }, { token: MngErrorMapperService }, { token: MngLinkFormatterPipe }, { token: ACTION_EDITOR_DIALOG_COMPONENT_SETTING }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4177
4307
|
MngActionExecutorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService });
|
|
4178
4308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService, decorators: [{
|
|
4179
4309
|
type: Injectable
|
|
4180
4310
|
}], ctorParameters: function () {
|
|
4181
|
-
return [{ type: i0.Injector }, { type: i1.Router }, { type: i3.DialogService }, { type: i2.ConfirmationService }, { type:
|
|
4311
|
+
return [{ type: i0.Injector }, { type: i1.Router }, { type: i3.DialogService }, { type: i2.ConfirmationService }, { type: i1$1.TranslateService }, { type: MngNavigationService }, { type: MngErrorMapperService }, { type: MngLinkFormatterPipe }, { type: i0.Type, decorators: [{
|
|
4182
4312
|
type: Inject,
|
|
4183
4313
|
args: [ACTION_EDITOR_DIALOG_COMPONENT_SETTING]
|
|
4184
4314
|
}] }];
|
|
@@ -4590,12 +4720,12 @@ class MngCommonsService {
|
|
|
4590
4720
|
return titlePieces.join(' - ');
|
|
4591
4721
|
}
|
|
4592
4722
|
}
|
|
4593
|
-
MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService, deps: [{ token: i1.Router }, { token: i2.PrimeNGConfig }, { token:
|
|
4723
|
+
MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService, deps: [{ token: i1.Router }, { token: i2.PrimeNGConfig }, { token: i1$1.TranslateService }, { token: i4$1.Title }, { token: MngConfigurationService }, { token: MNG_MODULE_CONFIG_IT }, { token: MNG_BROWSER_STORAGE_IT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4594
4724
|
MngCommonsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService });
|
|
4595
4725
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService, decorators: [{
|
|
4596
4726
|
type: Injectable
|
|
4597
4727
|
}], ctorParameters: function () {
|
|
4598
|
-
return [{ type: i1.Router }, { type: i2.PrimeNGConfig }, { type:
|
|
4728
|
+
return [{ type: i1.Router }, { type: i2.PrimeNGConfig }, { type: i1$1.TranslateService }, { type: i4$1.Title }, { type: MngConfigurationService }, { type: undefined, decorators: [{
|
|
4599
4729
|
type: Inject,
|
|
4600
4730
|
args: [MNG_MODULE_CONFIG_IT]
|
|
4601
4731
|
}] }, { type: Storage, decorators: [{
|
|
@@ -4702,13 +4832,13 @@ class MngActionComponent {
|
|
|
4702
4832
|
return `${action.actionName}_${this.cmpId}`;
|
|
4703
4833
|
}
|
|
4704
4834
|
}
|
|
4705
|
-
MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, deps: [{ token: i1.ActivatedRoute }, { token:
|
|
4706
|
-
MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData", dataProvider: "dataProvider", inputDisabled: ["disabled", "inputDisabled"], inputLoading: ["loading", "inputLoading"], viewContainerInit: ["viewContainer", "viewContainerInit"] }, outputs: { triggerEventEmitter: "trigger" }, host: { properties: { "class": "this.hostClass" } }, providers: [ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <a
|
|
4835
|
+
MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1$1.TranslateService }, { token: MngActionExecutorService }, { token: i2.ConfirmationService }, { token: MngViewContainerComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4836
|
+
MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData", dataProvider: "dataProvider", inputDisabled: ["disabled", "inputDisabled"], inputLoading: ["loading", "inputLoading"], viewContainerInit: ["viewContainer", "viewContainerInit"] }, outputs: { triggerEventEmitter: "trigger" }, host: { properties: { "class": "this.hostClass" } }, providers: [ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <a\n *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [href]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : actionLink.url\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"\n >{{ ($label | async) ?? '' }}</a\n >\n <ng-template #routerLink>\n <a\n *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"\n ($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.pathSegments | linkFormatter: itemId:item:action.model:actionData)\n \"\n [queryParams]=\"actionLink.queryParams\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"\n >{{ ($label | async) ?? '' }}</a\n >\n </ng-template>\n <ng-template #button>\n <button\n type=\"button\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [pTooltip]=\"$any($tooltip | async)\"\n [loading]=\"(($loading | async) ?? false) || ((inputLoading | async) ?? false)\"\n [disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n (click)=\"triggerAction($event)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"></button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"], components: [{ type: i5.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i8.Ripple, selector: "[pRipple]" }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], pipes: { "async": i4.AsyncPipe, "linkFormatter": MngLinkFormatterPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4707
4837
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, decorators: [{
|
|
4708
4838
|
type: Component,
|
|
4709
|
-
args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <a
|
|
4839
|
+
args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <a\n *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [href]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : actionLink.url\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"\n >{{ ($label | async) ?? '' }}</a\n >\n <ng-template #routerLink>\n <a\n *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"\n ($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.pathSegments | linkFormatter: itemId:item:action.model:actionData)\n \"\n [queryParams]=\"actionLink.queryParams\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"\n >{{ ($label | async) ?? '' }}</a\n >\n </ng-template>\n <ng-template #button>\n <button\n type=\"button\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [pTooltip]=\"$any($tooltip | async)\"\n [loading]=\"(($loading | async) ?? false) || ((inputLoading | async) ?? false)\"\n [disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n (click)=\"triggerAction($event)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"></button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"] }]
|
|
4710
4840
|
}], ctorParameters: function () {
|
|
4711
|
-
return [{ type: i1.ActivatedRoute }, { type:
|
|
4841
|
+
return [{ type: i1.ActivatedRoute }, { type: i1$1.TranslateService }, { type: MngActionExecutorService }, { type: i2.ConfirmationService }, { type: MngViewContainerComponentService, decorators: [{
|
|
4712
4842
|
type: Optional
|
|
4713
4843
|
}] }];
|
|
4714
4844
|
}, propDecorators: { hostClass: [{
|
|
@@ -4871,11 +5001,25 @@ class MngComponentDirective {
|
|
|
4871
5001
|
ngOnInit() {
|
|
4872
5002
|
this.viewContainerRef.clear();
|
|
4873
5003
|
this.componentRef = this.viewContainerRef.createComponent(this.component);
|
|
5004
|
+
if (this.inputs) {
|
|
5005
|
+
if (this.isCmpInstanceOfColumnValue(this.componentRef.instance)) {
|
|
5006
|
+
this.componentRef.instance.setColumnValue(this.inputs['value'], this.inputs['item'], this.inputs['descriptor']);
|
|
5007
|
+
}
|
|
5008
|
+
else {
|
|
5009
|
+
const instanceAny = this.componentRef;
|
|
5010
|
+
for (const input in this.inputs) {
|
|
5011
|
+
instanceAny[input] = this.inputs[input];
|
|
5012
|
+
}
|
|
5013
|
+
}
|
|
5014
|
+
}
|
|
4874
5015
|
this.componentInstanceEventEmitter.next(this.componentRef.instance);
|
|
4875
5016
|
}
|
|
5017
|
+
isCmpInstanceOfColumnValue(cmp) {
|
|
5018
|
+
return typeof cmp.setColumnValue === 'function';
|
|
5019
|
+
}
|
|
4876
5020
|
}
|
|
4877
5021
|
MngComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4878
|
-
MngComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: MngComponentDirective, selector: "[mngComponent]", inputs: { component: ["mngComponent", "component"] }, outputs: { componentInstanceEventEmitter: "instanceCreated" }, ngImport: i0 });
|
|
5022
|
+
MngComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: MngComponentDirective, selector: "[mngComponent]", inputs: { component: ["mngComponent", "component"], inputs: "inputs" }, outputs: { componentInstanceEventEmitter: "instanceCreated" }, ngImport: i0 });
|
|
4879
5023
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngComponentDirective, decorators: [{
|
|
4880
5024
|
type: Directive,
|
|
4881
5025
|
args: [{
|
|
@@ -4884,6 +5028,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
4884
5028
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { component: [{
|
|
4885
5029
|
type: Input,
|
|
4886
5030
|
args: ['mngComponent']
|
|
5031
|
+
}], inputs: [{
|
|
5032
|
+
type: Input
|
|
4887
5033
|
}], componentInstanceEventEmitter: [{
|
|
4888
5034
|
type: Output,
|
|
4889
5035
|
args: ['instanceCreated']
|
|
@@ -5069,12 +5215,12 @@ class MngFormEditorComponent {
|
|
|
5069
5215
|
this.formOptions.formState.disabled = this.isFormDisabled !== null ? this.isFormDisabled === true : this.descriptor.disabled;
|
|
5070
5216
|
}
|
|
5071
5217
|
}
|
|
5072
|
-
MngFormEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormEditorComponent, deps: [{ token:
|
|
5073
|
-
MngFormEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormEditorComponent, selector: "mng-form-editor", inputs: { descriptor: "descriptor", submitLoading: "submitLoading", item: "item", isSubmitButtonVisible: "isSubmitButtonVisible", isFormDisabled: "isFormDisabled" }, outputs: { formSubmitEventEmitter: "formSubmit" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formFields\" [options]=\"formOptions\" [model]=\"formModel\"></formly-form>\n <button #submitButton pButton type=\"submit\" [class.hidden]=\"!isSubmitButtonVisible\" [disabled]=\"form.disabled\" [loading]=\"(submitLoading$ | async) ?? false\"></button>\n</form>\n<p-messages [value]=\"formMessages\" [enableService]=\"false\"></p-messages>\n", components: [{ type: i3$
|
|
5218
|
+
MngFormEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormEditorComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5219
|
+
MngFormEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormEditorComponent, selector: "mng-form-editor", inputs: { descriptor: "descriptor", submitLoading: "submitLoading", item: "item", isSubmitButtonVisible: "isSubmitButtonVisible", isFormDisabled: "isFormDisabled" }, outputs: { formSubmitEventEmitter: "formSubmit" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formFields\" [options]=\"formOptions\" [model]=\"formModel\"></formly-form>\n <button #submitButton pButton type=\"submit\" [class.hidden]=\"!isSubmitButtonVisible\" [disabled]=\"form.disabled\" [loading]=\"(submitLoading$ | async) ?? false\"></button>\n</form>\n<p-messages [value]=\"formMessages\" [enableService]=\"false\"></p-messages>\n", components: [{ type: i3$1.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { type: i3$2.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: i4$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5074
5220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormEditorComponent, decorators: [{
|
|
5075
5221
|
type: Component,
|
|
5076
5222
|
args: [{ selector: 'mng-form-editor', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formFields\" [options]=\"formOptions\" [model]=\"formModel\"></formly-form>\n <button #submitButton pButton type=\"submit\" [class.hidden]=\"!isSubmitButtonVisible\" [disabled]=\"form.disabled\" [loading]=\"(submitLoading$ | async) ?? false\"></button>\n</form>\n<p-messages [value]=\"formMessages\" [enableService]=\"false\"></p-messages>\n" }]
|
|
5077
|
-
}], ctorParameters: function () { return [{ type:
|
|
5223
|
+
}], ctorParameters: function () { return [{ type: i1$1.TranslateService }]; }, propDecorators: { descriptor: [{
|
|
5078
5224
|
type: Input
|
|
5079
5225
|
}], submitLoading: [{
|
|
5080
5226
|
type: Input
|
|
@@ -5101,13 +5247,18 @@ const MNG_AUTOCOMPLETE_VALUE_ACCESSOR = {
|
|
|
5101
5247
|
multi: true
|
|
5102
5248
|
};
|
|
5103
5249
|
class MngAutocompleteComponent {
|
|
5104
|
-
constructor(injector) {
|
|
5250
|
+
constructor(injector, translate) {
|
|
5105
5251
|
this.injector = injector;
|
|
5252
|
+
this.translate = translate;
|
|
5253
|
+
this.itemsLabelTranslate = false;
|
|
5254
|
+
this.inlineSearch = false;
|
|
5255
|
+
this.openOnFocus = false;
|
|
5106
5256
|
this.multiselect = false;
|
|
5107
5257
|
this.className = null;
|
|
5108
5258
|
this.dropdownClassName = null;
|
|
5109
5259
|
this.valueChangeEventEmitter = new EventEmitter();
|
|
5110
|
-
this.
|
|
5260
|
+
this.isInited = false;
|
|
5261
|
+
this.suggestionsSubject = new BehaviorSubject([]);
|
|
5111
5262
|
this.searchSubscription = null;
|
|
5112
5263
|
this.dataProviderService = null;
|
|
5113
5264
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
@@ -5116,15 +5267,9 @@ class MngAutocompleteComponent {
|
|
|
5116
5267
|
this.onTouchedFn = () => { };
|
|
5117
5268
|
this.autocompleteFormControl = new FormControl();
|
|
5118
5269
|
this.suggestions$ = this.suggestionsSubject.asObservable();
|
|
5119
|
-
this.isLoading = false;
|
|
5120
5270
|
}
|
|
5121
5271
|
ngOnInit() {
|
|
5122
|
-
|
|
5123
|
-
this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
|
|
5124
|
-
}
|
|
5125
|
-
else {
|
|
5126
|
-
console.warn(`Data provider should be provided for MngAutocompleteComponent.`);
|
|
5127
|
-
}
|
|
5272
|
+
this.setItemsAndDataProvider();
|
|
5128
5273
|
}
|
|
5129
5274
|
ngOnDestroy() {
|
|
5130
5275
|
var _a;
|
|
@@ -5134,7 +5279,6 @@ class MngAutocompleteComponent {
|
|
|
5134
5279
|
var _a;
|
|
5135
5280
|
(_a = this.searchSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
5136
5281
|
if (this.dataProvider) {
|
|
5137
|
-
this.isLoading = true;
|
|
5138
5282
|
const queryParamBuilder = MediusQueryParamBuilder.create();
|
|
5139
5283
|
if (this.itemsLabelProperty) {
|
|
5140
5284
|
queryParamBuilder.withSort(this.itemsLabelProperty);
|
|
@@ -5142,20 +5286,26 @@ class MngAutocompleteComponent {
|
|
|
5142
5286
|
if (event.query && event.query.length > 0 && this.itemsLabelProperty) {
|
|
5143
5287
|
queryParamBuilder.withFilter(this.itemsLabelProperty, event.query, undefined, MediusFilterMatchType.StartsWith);
|
|
5144
5288
|
}
|
|
5145
|
-
this.searchSubscription = this.
|
|
5146
|
-
next:
|
|
5147
|
-
this.
|
|
5148
|
-
this.isLoading = false;
|
|
5149
|
-
},
|
|
5150
|
-
error: () => {
|
|
5151
|
-
this.isLoading = false;
|
|
5289
|
+
this.searchSubscription = this.getLookup(queryParamBuilder.build(), event.query).subscribe({
|
|
5290
|
+
next: items => {
|
|
5291
|
+
this.setSuggestionsFromItems(items, event.query);
|
|
5152
5292
|
}
|
|
5153
5293
|
});
|
|
5154
5294
|
}
|
|
5155
5295
|
}
|
|
5156
5296
|
onSelect(value) {
|
|
5157
|
-
|
|
5158
|
-
this.
|
|
5297
|
+
let outputValue = value;
|
|
5298
|
+
if (this.itemsValueProperty && typeof value === 'object') {
|
|
5299
|
+
outputValue = value[this.itemsValueProperty];
|
|
5300
|
+
}
|
|
5301
|
+
this.onChangeFn(outputValue);
|
|
5302
|
+
this.valueChangeEventEmitter.next(outputValue);
|
|
5303
|
+
}
|
|
5304
|
+
onFocus(event) {
|
|
5305
|
+
var _a;
|
|
5306
|
+
if (this.openOnFocus) {
|
|
5307
|
+
(_a = this.primeAutocomplete) === null || _a === void 0 ? void 0 : _a.show();
|
|
5308
|
+
}
|
|
5159
5309
|
}
|
|
5160
5310
|
registerOnChange(fn) {
|
|
5161
5311
|
this.onChangeFn = fn;
|
|
@@ -5171,20 +5321,171 @@ class MngAutocompleteComponent {
|
|
|
5171
5321
|
this.autocompleteFormControl.enable();
|
|
5172
5322
|
}
|
|
5173
5323
|
}
|
|
5174
|
-
writeValue(
|
|
5175
|
-
this.
|
|
5324
|
+
writeValue(value) {
|
|
5325
|
+
this.setItemsAndDataProvider();
|
|
5326
|
+
if (this.itemsValuePropertyInit && value != null && typeof value !== 'object') {
|
|
5327
|
+
const defaultItem = { [this.itemsValuePropertyInit]: value };
|
|
5328
|
+
if (this.itemsLabelProperty) {
|
|
5329
|
+
defaultItem[this.itemsLabelProperty] = value;
|
|
5330
|
+
}
|
|
5331
|
+
const matchedItem = this.suggestionsSubject.value.find(i => i[this.itemsValuePropertyInit] === value);
|
|
5332
|
+
if (matchedItem) {
|
|
5333
|
+
this.autocompleteFormControl.setValue(matchedItem, { emitEvent: false });
|
|
5334
|
+
}
|
|
5335
|
+
else if (this.dataProvider) {
|
|
5336
|
+
const queryParamBuilder = MediusQueryParamBuilder.create();
|
|
5337
|
+
queryParamBuilder.withFilter(this.itemsValuePropertyInit, value, undefined, MediusFilterMatchType.Equals);
|
|
5338
|
+
this.getLookup(queryParamBuilder.build())
|
|
5339
|
+
.pipe(first())
|
|
5340
|
+
.subscribe({
|
|
5341
|
+
next: items => {
|
|
5342
|
+
let isMatch = false;
|
|
5343
|
+
if (items.length === 1) {
|
|
5344
|
+
this.autocompleteFormControl.setValue(items[0]);
|
|
5345
|
+
isMatch = true;
|
|
5346
|
+
}
|
|
5347
|
+
else if (items.length > 1) {
|
|
5348
|
+
// for lookup data providers not using query params
|
|
5349
|
+
const matchedItem = items.find(i => i[this.itemsValuePropertyInit] === value);
|
|
5350
|
+
if (matchedItem) {
|
|
5351
|
+
this.setAutocompleteValueFromWrite(matchedItem);
|
|
5352
|
+
isMatch = true;
|
|
5353
|
+
}
|
|
5354
|
+
}
|
|
5355
|
+
if (!isMatch) {
|
|
5356
|
+
this.setAutocompleteValueFromWrite(defaultItem);
|
|
5357
|
+
}
|
|
5358
|
+
},
|
|
5359
|
+
error: () => {
|
|
5360
|
+
this.setAutocompleteValueFromWrite(defaultItem);
|
|
5361
|
+
}
|
|
5362
|
+
});
|
|
5363
|
+
}
|
|
5364
|
+
else {
|
|
5365
|
+
this.setAutocompleteValueFromWrite(defaultItem);
|
|
5366
|
+
}
|
|
5367
|
+
}
|
|
5368
|
+
else {
|
|
5369
|
+
this.setAutocompleteValueFromWrite(value);
|
|
5370
|
+
}
|
|
5371
|
+
}
|
|
5372
|
+
setItemsAndDataProvider() {
|
|
5373
|
+
if (this.isInited) {
|
|
5374
|
+
return;
|
|
5375
|
+
}
|
|
5376
|
+
this.itemsLabelProperty = this.itemsLabelPropertyInit;
|
|
5377
|
+
this.itemsValueProperty = this.itemsValuePropertyInit;
|
|
5378
|
+
if (this.dataProvider) {
|
|
5379
|
+
this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
|
|
5380
|
+
if (this.itemsLabelTranslate) {
|
|
5381
|
+
// setup translation properties
|
|
5382
|
+
if (this.itemsLabelPropertyInit) {
|
|
5383
|
+
this.itemsLabelProperty = `${this.itemsLabelPropertyInit}_i18n`;
|
|
5384
|
+
}
|
|
5385
|
+
else if (!this.itemsLabelProperty && !this.itemsValuePropertyInit) {
|
|
5386
|
+
this.itemsLabelProperty = 'title_i18n';
|
|
5387
|
+
this.itemsValueProperty = 'value';
|
|
5388
|
+
}
|
|
5389
|
+
else {
|
|
5390
|
+
throw new Error(`Invalid use with value (${this.itemsLabelPropertyInit}) and label (${this.itemsLabelPropertyInit}) property setup.`);
|
|
5391
|
+
}
|
|
5392
|
+
}
|
|
5393
|
+
}
|
|
5394
|
+
else {
|
|
5395
|
+
console.warn(`Data provider should be provided for MngAutocompleteComponent.`);
|
|
5396
|
+
}
|
|
5397
|
+
if (this.openOnFocus) {
|
|
5398
|
+
this.onSearch({ query: '' });
|
|
5399
|
+
}
|
|
5400
|
+
this.isInited = true;
|
|
5401
|
+
}
|
|
5402
|
+
setAutocompleteValueFromWrite(value) {
|
|
5403
|
+
if (value && this.itemsLabelTranslate) {
|
|
5404
|
+
value = this.i18nPopulateItems([value], this.translate.instant(this.i18nGetItemsKeys([value])))[0];
|
|
5405
|
+
}
|
|
5406
|
+
this.autocompleteFormControl.setValue(value, { emitEvent: false });
|
|
5407
|
+
}
|
|
5408
|
+
getLookup(qp, query) {
|
|
5409
|
+
if (this.dataProvider) {
|
|
5410
|
+
return this.dataProvider.lookup(qp, this.dataProviderService, query).pipe(switchMap(items => {
|
|
5411
|
+
if (this.itemsLabelTranslate) {
|
|
5412
|
+
return this.translate.stream(this.i18nGetItemsKeys(items)).pipe(map(translations => this.i18nPopulateItems(items, translations)));
|
|
5413
|
+
}
|
|
5414
|
+
else {
|
|
5415
|
+
return of(items);
|
|
5416
|
+
}
|
|
5417
|
+
}));
|
|
5418
|
+
}
|
|
5419
|
+
else {
|
|
5420
|
+
return of([]);
|
|
5421
|
+
}
|
|
5422
|
+
}
|
|
5423
|
+
i18nGetItemsKeys(items) {
|
|
5424
|
+
return items.map(item => (typeof item === 'object' && this.itemsLabelPropertyInit ? item[this.itemsLabelPropertyInit] : item));
|
|
5425
|
+
}
|
|
5426
|
+
i18nPopulateItems(items, i18nMap) {
|
|
5427
|
+
return items.map(item => {
|
|
5428
|
+
if (typeof item === 'object' && this.itemsLabelPropertyInit) {
|
|
5429
|
+
const label = item[this.itemsLabelPropertyInit];
|
|
5430
|
+
const translation = i18nMap[label];
|
|
5431
|
+
if (translation) {
|
|
5432
|
+
return Object.assign(Object.assign({}, item), { [this.itemsLabelProperty]: translation });
|
|
5433
|
+
}
|
|
5434
|
+
return Object.assign({}, item);
|
|
5435
|
+
}
|
|
5436
|
+
else {
|
|
5437
|
+
const translation = i18nMap[item];
|
|
5438
|
+
return {
|
|
5439
|
+
[this.itemsLabelProperty]: translation !== null && translation !== void 0 ? translation : item,
|
|
5440
|
+
[this.itemsValueProperty]: item
|
|
5441
|
+
};
|
|
5442
|
+
}
|
|
5443
|
+
});
|
|
5444
|
+
}
|
|
5445
|
+
setSuggestionsFromItems(items, query) {
|
|
5446
|
+
var _a;
|
|
5447
|
+
if (this.inlineSearch) {
|
|
5448
|
+
const queryLowerCase = (_a = query === null || query === void 0 ? void 0 : query.toLowerCase()) !== null && _a !== void 0 ? _a : '';
|
|
5449
|
+
const filteredItems = items.filter(i => {
|
|
5450
|
+
let itemLabel = i;
|
|
5451
|
+
if (this.itemsLabelProperty && typeof i === 'object') {
|
|
5452
|
+
itemLabel = i[this.itemsLabelProperty];
|
|
5453
|
+
}
|
|
5454
|
+
if (itemLabel == null) {
|
|
5455
|
+
return queryLowerCase == null || !queryLowerCase.length;
|
|
5456
|
+
}
|
|
5457
|
+
if (typeof itemLabel !== 'string') {
|
|
5458
|
+
itemLabel = itemLabel.toString();
|
|
5459
|
+
}
|
|
5460
|
+
return itemLabel.toLowerCase().startsWith(queryLowerCase);
|
|
5461
|
+
});
|
|
5462
|
+
this.suggestionsSubject.next([...filteredItems]);
|
|
5463
|
+
}
|
|
5464
|
+
else {
|
|
5465
|
+
this.suggestionsSubject.next([...items]);
|
|
5466
|
+
}
|
|
5176
5467
|
}
|
|
5177
5468
|
}
|
|
5178
|
-
MngAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
5179
|
-
MngAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty",
|
|
5469
|
+
MngAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, deps: [{ token: i0.Injector }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5470
|
+
MngAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsValuePropertyInit: ["itemsValueProperty", "itemsValuePropertyInit"], itemsLabelPropertyInit: ["itemsLabelProperty", "itemsLabelPropertyInit"], itemsLabelTranslate: "itemsLabelTranslate", inlineSearch: "inlineSearch", openOnFocus: "openOnFocus", multiselect: "multiselect", placeholder: "placeholder", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeAutocomplete", first: true, predicate: AutoComplete, descendants: true }], ngImport: i0, template: "<p-autoComplete\n (onFocus)=\"onFocus($event)\"\n [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [minLength]=\"openOnFocus ? 0 : 1\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n", components: [{ type: i2$1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }], directives: [{ type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4.AsyncPipe, "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5180
5471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, decorators: [{
|
|
5181
5472
|
type: Component,
|
|
5182
|
-
args: [{ selector: 'mng-autocomplete', providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-autoComplete\n [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n" }]
|
|
5183
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dataProvider: [{
|
|
5473
|
+
args: [{ selector: 'mng-autocomplete', providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-autoComplete\n (onFocus)=\"onFocus($event)\"\n [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [minLength]=\"openOnFocus ? 0 : 1\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n" }]
|
|
5474
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1$1.TranslateService }]; }, propDecorators: { dataProvider: [{
|
|
5184
5475
|
type: Input
|
|
5185
5476
|
}], dataKeyProperty: [{
|
|
5186
5477
|
type: Input
|
|
5187
|
-
}],
|
|
5478
|
+
}], itemsValuePropertyInit: [{
|
|
5479
|
+
type: Input,
|
|
5480
|
+
args: ['itemsValueProperty']
|
|
5481
|
+
}], itemsLabelPropertyInit: [{
|
|
5482
|
+
type: Input,
|
|
5483
|
+
args: ['itemsLabelProperty']
|
|
5484
|
+
}], itemsLabelTranslate: [{
|
|
5485
|
+
type: Input
|
|
5486
|
+
}], inlineSearch: [{
|
|
5487
|
+
type: Input
|
|
5488
|
+
}], openOnFocus: [{
|
|
5188
5489
|
type: Input
|
|
5189
5490
|
}], multiselect: [{
|
|
5190
5491
|
type: Input
|
|
@@ -5315,12 +5616,12 @@ class MngDropdownComponent {
|
|
|
5315
5616
|
this.dropdownFormControl.setValue(obj, { emitEvent: false });
|
|
5316
5617
|
}
|
|
5317
5618
|
}
|
|
5318
|
-
MngDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, deps: [{ token: i0.Injector }, { token:
|
|
5319
|
-
MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelPropertyInit: ["itemsLabelProperty", "itemsLabelPropertyInit"], itemsLabelTranslate: "itemsLabelTranslate", itemsValuePropertyInit: ["itemsValueProperty", "itemsValuePropertyInit"], itemsDisabledProperty: "itemsDisabledProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", selectFirstItem: "selectFirstItem", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown\n *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [optionDisabled]=\"$any(itemsDisabledProperty)\"\n [options]=\"$any(items$ | async)\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [optionDisabled]=\"$any(itemsDisabledProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i2$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i3$
|
|
5619
|
+
MngDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, deps: [{ token: i0.Injector }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5620
|
+
MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelPropertyInit: ["itemsLabelProperty", "itemsLabelPropertyInit"], itemsLabelTranslate: "itemsLabelTranslate", itemsValuePropertyInit: ["itemsValueProperty", "itemsValuePropertyInit"], itemsDisabledProperty: "itemsDisabledProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", selectFirstItem: "selectFirstItem", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown\n *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [optionDisabled]=\"$any(itemsDisabledProperty)\"\n [options]=\"$any(items$ | async)\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [optionDisabled]=\"$any(itemsDisabledProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i2$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i3$3.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5320
5621
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, decorators: [{
|
|
5321
5622
|
type: Component,
|
|
5322
5623
|
args: [{ selector: 'mng-dropdown', providers: [MNG_DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-dropdown\n *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [optionDisabled]=\"$any(itemsDisabledProperty)\"\n [options]=\"$any(items$ | async)\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [optionDisabled]=\"$any(itemsDisabledProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n" }]
|
|
5323
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type:
|
|
5624
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1$1.TranslateService }]; }, propDecorators: { dataProvider: [{
|
|
5324
5625
|
type: Input
|
|
5325
5626
|
}], dataKeyProperty: [{
|
|
5326
5627
|
type: Input
|
|
@@ -5540,13 +5841,13 @@ class MngActionEditorComponent {
|
|
|
5540
5841
|
this.subscriptions.push(subscription);
|
|
5541
5842
|
}
|
|
5542
5843
|
}
|
|
5543
|
-
MngActionEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionEditorComponent, deps: [{ token: i0.Injector }, { token:
|
|
5544
|
-
MngActionEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionEditorComponent, selector: "mng-action-editor", inputs: { action: "action", itemId: "itemId", item: "item", actionData: "actionData", dataProvider: "dataProvider", viewContainerInit: ["viewContainer", "viewContainerInit"] }, outputs: { actionRunEventEmitter: "actionSubmit" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: MngFormEditorComponent, descendants: true }], ngImport: i0, template: "<
|
|
5844
|
+
MngActionEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionEditorComponent, deps: [{ token: i0.Injector }, { token: i1$1.TranslateService }, { token: MngActionExecutorService }, { token: MngCommonsService }, { token: MngNavigationService }, { token: i3.DynamicDialogRef, optional: true }, { token: i3.DynamicDialogConfig, optional: true }, { token: MngViewContainerComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
5845
|
+
MngActionEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionEditorComponent, selector: "mng-action-editor", inputs: { action: "action", itemId: "itemId", item: "item", actionData: "actionData", dataProvider: "dataProvider", viewContainerInit: ["viewContainer", "viewContainerInit"] }, outputs: { actionRunEventEmitter: "actionSubmit" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: MngFormEditorComponent, descendants: true }], ngImport: i0, template: "<h5 *ngIf=\"!isDialog && title\">{{ title }}</h5>\n<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template pTemplate=\"left\">\n <mng-action *ngFor=\"let action of toolbarLeftActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </ng-template>\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </ng-template>\n </p-toolbar>\n </div>\n\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && (loading$ | async) === false\" [descriptor]=\"action.editorDescriptor\" [item]=\"item\" (formSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n\n <div class=\"flex flex-row justify-content-between\">\n <div>\n <mng-action *ngFor=\"let action of footerLeftActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </div>\n <div>\n <mng-action *ngFor=\"let action of footerRightActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </div>\n </div>\n</div>\n", components: [{ type: i4$3.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataProvider", "disabled", "loading", "viewContainer"], outputs: ["trigger"] }, { type: i6.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { type: MngFormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isSubmitButtonVisible", "isFormDisabled"], outputs: ["formSubmit"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5545
5846
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionEditorComponent, decorators: [{
|
|
5546
5847
|
type: Component,
|
|
5547
|
-
args: [{ selector: 'mng-action-editor', changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
5848
|
+
args: [{ selector: 'mng-action-editor', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h5 *ngIf=\"!isDialog && title\">{{ title }}</h5>\n<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template pTemplate=\"left\">\n <mng-action *ngFor=\"let action of toolbarLeftActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </ng-template>\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </ng-template>\n </p-toolbar>\n </div>\n\n <div class=\"flex-grow-1\">\n <div class=\"text-center\" *ngIf=\"loading$ | async\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n <mng-form-editor *ngIf=\"action.editorDescriptor && (loading$ | async) === false\" [descriptor]=\"action.editorDescriptor\" [item]=\"item\" (formSubmit)=\"onSubmit($event)\">\n </mng-form-editor>\n </div>\n\n <div class=\"flex flex-row justify-content-between\">\n <div>\n <mng-action *ngFor=\"let action of footerLeftActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </div>\n <div>\n <mng-action *ngFor=\"let action of footerRightActions\" [action]=\"action\" [disabled]=\"submitLoading$\" [viewContainer]=\"viewContainer\"></mng-action>\n </div>\n </div>\n</div>\n" }]
|
|
5548
5849
|
}], ctorParameters: function () {
|
|
5549
|
-
return [{ type: i0.Injector }, { type:
|
|
5850
|
+
return [{ type: i0.Injector }, { type: i1$1.TranslateService }, { type: MngActionExecutorService }, { type: MngCommonsService }, { type: MngNavigationService }, { type: i3.DynamicDialogRef, decorators: [{
|
|
5550
5851
|
type: Optional
|
|
5551
5852
|
}] }, { type: i3.DynamicDialogConfig, decorators: [{
|
|
5552
5853
|
type: Optional
|
|
@@ -5587,7 +5888,7 @@ class MngFormlyFieldAutocompleteComponent extends FieldType {
|
|
|
5587
5888
|
}
|
|
5588
5889
|
}
|
|
5589
5890
|
MngFormlyFieldAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5590
|
-
MngFormlyFieldAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldAutocompleteComponent, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [className]=\"descriptor.inputClassName\">\n</mng-autocomplete>\n", components: [{ type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type:
|
|
5891
|
+
MngFormlyFieldAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldAutocompleteComponent, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [className]=\"descriptor.inputClassName\">\n</mng-autocomplete>\n", components: [{ type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5591
5892
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldAutocompleteComponent, decorators: [{
|
|
5592
5893
|
type: Component,
|
|
5593
5894
|
args: [{ selector: 'mng-formly-field-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [className]=\"descriptor.inputClassName\">\n</mng-autocomplete>\n" }]
|
|
@@ -5604,10 +5905,10 @@ class MngFormlyFieldInputComponent extends FieldType {
|
|
|
5604
5905
|
}
|
|
5605
5906
|
}
|
|
5606
5907
|
MngFormlyFieldInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5607
|
-
MngFormlyFieldInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldInputComponent, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [useGrouping]=\"$any(descriptor.numberUseGrouping)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\" [class]=\"descriptor.labelClassName\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"descriptor.inputClassName\"></p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton\n [name]=\"$any(key)\"\n [value]=\"option.value\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [styleClass]=\"descriptor.inputClassName\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'mng-radio-button-label ' + descriptor.labelClassName\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea\n *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea\n [class]=\"descriptor.inputClassName\">\n </textarea>\n\n <p-calendar\n *ngSwitchCase=\"'datepicker'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-calendar>\n\n <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"descriptor.inputClassName\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\n</ng-container>\n", components: [{ type: i1$2.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i2$3.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabelledBy"], outputs: ["onChange"] }, { type: i3$
|
|
5908
|
+
MngFormlyFieldInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldInputComponent, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [useGrouping]=\"$any(descriptor.numberUseGrouping)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\" [class]=\"descriptor.labelClassName\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"descriptor.inputClassName\"></p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton\n [name]=\"$any(key)\"\n [value]=\"option.value\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [styleClass]=\"descriptor.inputClassName\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'mng-radio-button-label ' + descriptor.labelClassName\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea\n *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea\n [class]=\"descriptor.inputClassName\">\n </textarea>\n\n <p-calendar\n *ngSwitchCase=\"'datepicker'\"\n appendTo=\"body\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-calendar>\n\n <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"descriptor.inputClassName\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\n</ng-container>\n", components: [{ type: i1$2.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i2$3.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabelledBy"], outputs: ["onChange"] }, { type: i3$1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { type: i4$4.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i5$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i6$1.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9$1.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10.InputText, selector: "[pInputText]" }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5608
5909
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldInputComponent, decorators: [{
|
|
5609
5910
|
type: Component,
|
|
5610
|
-
args: [{ selector: 'mng-formly-field-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [useGrouping]=\"$any(descriptor.numberUseGrouping)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\" [class]=\"descriptor.labelClassName\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"descriptor.inputClassName\"></p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton\n [name]=\"$any(key)\"\n [value]=\"option.value\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [styleClass]=\"descriptor.inputClassName\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'mng-radio-button-label ' + descriptor.labelClassName\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea\n *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea\n [class]=\"descriptor.inputClassName\">\n </textarea>\n\n <p-calendar\n *ngSwitchCase=\"'datepicker'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-calendar>\n\n <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"descriptor.inputClassName\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\n</ng-container>\n" }]
|
|
5911
|
+
args: [{ selector: 'mng-formly-field-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"to.type\">\n <p-inputNumber\n *ngSwitchCase=\"'number'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"$any(descriptor.numberMin)\"\n [max]=\"$any(descriptor.numberMax)\"\n [step]=\"$any(descriptor.numberStep)\"\n [useGrouping]=\"$any(descriptor.numberUseGrouping)\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-inputNumber>\n\n <div *ngSwitchCase=\"'switch'\" class=\"flex flex-column\">\n <label [for]=\"key\" [class]=\"descriptor.labelClassName\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <p-inputSwitch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"descriptor.inputClassName\"></p-inputSwitch>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n </div>\n\n <ng-container *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let option of descriptor.radioOptions\" [id]=\"$any(key)\" class=\"field-radiobutton\">\n <p-radioButton\n [name]=\"$any(key)\"\n [value]=\"option.value\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [styleClass]=\"descriptor.inputClassName\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'mng-radio-button-label ' + descriptor.labelClassName\">{{ option.title | translate }}</label>\n </div>\n </ng-container>\n\n <textarea\n *ngSwitchCase=\"'textarea'\"\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pInputTextarea\n [class]=\"descriptor.inputClassName\">\n </textarea>\n\n <p-calendar\n *ngSwitchCase=\"'datepicker'\"\n appendTo=\"body\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"$any(descriptor.datePickerFormat)\"\n [minDate]=\"$any(descriptor.datePickerMin)\"\n [maxDate]=\"$any(descriptor.datePickerMax)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [showIcon]=\"true\"\n [inputStyleClass]=\"descriptor.inputClassName\">\n </p-calendar>\n\n <p-inputMask\n *ngSwitchCase=\"'mask'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"$any(descriptor.mask)\"\n [placeholder]=\"$any(descriptor.placeholder)\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"descriptor.inputClassName\">\n </p-inputMask>\n\n <input *ngSwitchDefault pInputText [id]=\"$any(key)\" [type]=\"to.type || 'text'\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" />\n</ng-container>\n" }]
|
|
5611
5912
|
}] });
|
|
5612
5913
|
|
|
5613
5914
|
class MngFormlyFieldDropdownComponent extends FieldType {
|
|
@@ -5617,7 +5918,7 @@ class MngFormlyFieldDropdownComponent extends FieldType {
|
|
|
5617
5918
|
}
|
|
5618
5919
|
}
|
|
5619
5920
|
MngFormlyFieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5620
|
-
MngFormlyFieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldDropdownComponent, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder\"\n [dataProvider]=\"descriptor.dataProvider\"\n [itemsLabelProperty]=\"descriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"descriptor.itemsLabelTranslate\"\n [itemsValueProperty]=\"descriptor.itemsValueProperty\"\n [itemsDisabledProperty]=\"descriptor.itemsDisabledProperty\"\n [dataKeyProperty]=\"descriptor.dataKeyProperty\"\n [showClear]=\"!to.required\"\n [className]=\"descriptor.inputClassName\">\n</mng-dropdown>\n", components: [{ type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type:
|
|
5921
|
+
MngFormlyFieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldDropdownComponent, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder\"\n [dataProvider]=\"descriptor.dataProvider\"\n [itemsLabelProperty]=\"descriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"descriptor.itemsLabelTranslate\"\n [itemsValueProperty]=\"descriptor.itemsValueProperty\"\n [itemsDisabledProperty]=\"descriptor.itemsDisabledProperty\"\n [dataKeyProperty]=\"descriptor.dataKeyProperty\"\n [showClear]=\"!to.required\"\n [className]=\"descriptor.inputClassName\">\n</mng-dropdown>\n", components: [{ type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5621
5922
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldDropdownComponent, decorators: [{
|
|
5622
5923
|
type: Component,
|
|
5623
5924
|
args: [{ selector: 'mng-formly-field-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"dFormControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder\"\n [dataProvider]=\"descriptor.dataProvider\"\n [itemsLabelProperty]=\"descriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"descriptor.itemsLabelTranslate\"\n [itemsValueProperty]=\"descriptor.itemsValueProperty\"\n [itemsDisabledProperty]=\"descriptor.itemsDisabledProperty\"\n [dataKeyProperty]=\"descriptor.dataKeyProperty\"\n [showClear]=\"!to.required\"\n [className]=\"descriptor.inputClassName\">\n</mng-dropdown>\n" }]
|
|
@@ -5692,36 +5993,22 @@ class MngTableColumnFilterComponent {
|
|
|
5692
5993
|
}
|
|
5693
5994
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
5694
5995
|
autocompleteFilter(value, filterCallback) {
|
|
5695
|
-
|
|
5696
|
-
let filterValue = value;
|
|
5697
|
-
if (this.lookupDescriptor.itemsValueProperty) {
|
|
5698
|
-
filterValue = filterValue[this.lookupDescriptor.itemsValueProperty];
|
|
5699
|
-
}
|
|
5700
|
-
filterCallback(filterValue);
|
|
5701
|
-
}
|
|
5702
|
-
else {
|
|
5703
|
-
filterCallback(value);
|
|
5704
|
-
}
|
|
5996
|
+
filterCallback(value);
|
|
5705
5997
|
}
|
|
5706
5998
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
5707
5999
|
dropdownFilter(value, filterCallback) {
|
|
5708
|
-
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
filterCallback(filterValue);
|
|
5714
|
-
}
|
|
5715
|
-
else {
|
|
5716
|
-
filterCallback(value);
|
|
5717
|
-
}
|
|
6000
|
+
filterCallback(value);
|
|
6001
|
+
}
|
|
6002
|
+
toLookupFilterValue(value) {
|
|
6003
|
+
console.log(this.descriptor.property, value);
|
|
6004
|
+
return this.lookupDescriptor.dataKeyProperty && value ? { [this.lookupDescriptor.dataKeyProperty]: value } : value;
|
|
5718
6005
|
}
|
|
5719
6006
|
}
|
|
5720
6007
|
MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i2.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
5721
|
-
MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [
|
|
6008
|
+
MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i4$5.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName"], outputs: ["valueChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1$1.TranslatePipe } });
|
|
5722
6009
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
|
|
5723
6010
|
type: Component,
|
|
5724
|
-
args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [
|
|
6011
|
+
args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n matchMode=\"equals\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
|
|
5725
6012
|
}], ctorParameters: function () { return [{ type: i2.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
|
|
5726
6013
|
type: Input
|
|
5727
6014
|
}], display: [{
|
|
@@ -5735,13 +6022,26 @@ class MngTableColumnValueComponent {
|
|
|
5735
6022
|
this.columnTypeBoolean = ColumnDescriptor.TypeEnum.Boolean;
|
|
5736
6023
|
this.columnTypeDate = ColumnDescriptor.TypeEnum.Date;
|
|
5737
6024
|
this.columnTypeEnum = ColumnDescriptor.TypeEnum.Enum;
|
|
6025
|
+
this.columnTypeCustom = ColumnDescriptor.TypeEnum.Custom;
|
|
6026
|
+
this.jsonPath = '$';
|
|
6027
|
+
}
|
|
6028
|
+
ngOnInit() {
|
|
6029
|
+
if (this.descriptor.jsonPath) {
|
|
6030
|
+
this.jsonPath = this.descriptor.jsonPath;
|
|
6031
|
+
}
|
|
6032
|
+
else {
|
|
6033
|
+
this.jsonPath = `$.${this.descriptor.property}`;
|
|
6034
|
+
if (this.descriptor.objectModelType) {
|
|
6035
|
+
this.jsonPath = `$.${this.descriptor.property}.${this.descriptor.objectTitleProperty}`;
|
|
6036
|
+
}
|
|
6037
|
+
}
|
|
5738
6038
|
}
|
|
5739
6039
|
}
|
|
5740
6040
|
MngTableColumnValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5741
|
-
MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{
|
|
6041
|
+
MngTableColumnValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: { descriptor: "descriptor", item: "item" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n", directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }], pipes: { "jsonPath": JsonPathPipe, "number": i4.DecimalPipe, "date": i4.DatePipe, "boolean": MngBooleanPipe, "translate": i1$1.TranslatePipe, "enum": MngEnumPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5742
6042
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnValueComponent, decorators: [{
|
|
5743
6043
|
type: Component,
|
|
5744
|
-
args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{
|
|
6044
|
+
args: [{ selector: 'mng-table-column-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"descriptor.columnType\">\n <ng-container *ngSwitchCase=\"columnTypeString\">\n {{ item | jsonPath: jsonPath }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeNumber\">\n {{ item | jsonPath: jsonPath | number: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeDate\">\n {{ item | jsonPath: jsonPath | date: descriptor.displayFormat }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeBoolean\">\n <ng-container *ngIf=\"descriptor.booleanAsIcon; else booleanText\"></ng-container>\n <i [class]=\"item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo:true\"></i>\n <ng-template #booleanText>\n {{ item | jsonPath: jsonPath | boolean: descriptor.booleanYes:descriptor.booleanNo | translate }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeEnum\">\n {{ item | jsonPath: jsonPath | enum: descriptor.enumType:descriptor.enumTitlePath:descriptor.enumNameAsValue | translate }}\n </ng-container>\n <ng-container *ngSwitchCase=\"columnTypeCustom\">\n <ng-container\n [mngComponent]=\"descriptor.customComponentType!\"\n [inputs]=\"{\n value: item | jsonPath: jsonPath,\n item: item,\n descriptor: descriptor\n }\"></ng-container>\n </ng-container>\n</ng-container>\n" }]
|
|
5745
6045
|
}], propDecorators: { descriptor: [{
|
|
5746
6046
|
type: Input
|
|
5747
6047
|
}], item: [{
|
|
@@ -6014,13 +6314,13 @@ class MngTableComponent {
|
|
|
6014
6314
|
}
|
|
6015
6315
|
}
|
|
6016
6316
|
}
|
|
6017
|
-
MngTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token:
|
|
6018
|
-
MngTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableComponent, selector: "mng-table", inputs: { descriptor: "descriptor", items: "items", queryResult: "queryResult", loading: "loading", dataProvider: "dataProvider", useQueryParams: "useQueryParams", selectionMode: "selectionMode", selectionEnabled: "selectionEnabled", isColumnClickable: "isColumnClickable", captionComponent: "captionComponent", columnActionComponent: "columnActionComponent" }, outputs: { loadEventEmitter: "tableLoad", cellClickEventEmitter: "cellClick", selectionChangeEventEmitter: "selectionChange", captionCmpInstEventEmitter: "captionComponentInstance", columnActionCmpInstEventEmitter: "columnActionComponentInstance" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "primeTable", first: true, predicate: Table, descendants: true }, { propertyName: "components", predicate: MngComponentDirective, descendants: true }], ngImport: i0, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table\n *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n [selectionMode]=\"selectionMode\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n <ng-template *ngIf=\"captionTemplate || captionComponent || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else componentOrDefaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #componentOrDefaultCaption>\n <div *ngIf=\"captionComponent; else defaultCaption\" [mngComponent]=\"captionComponent\" (instanceCreated)=\"onCaptionCmpInst($event)\"></div>\n <ng-template #defaultCaption>\n <h5 class=\"p-0 m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr *ngIf=\"!descriptor.hideHeader\">\n <th *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ col.property | i18nProperty: descriptor.model | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ col.property | i18nProperty: descriptor.model | translate }}\n <ng-container>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" [class.clickable]=\"isColumnClickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate || columnActionComponent\" class=\"text-right\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponent\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponent>\n <span [mngComponent]=\"columnActionComponent!\" (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{width: '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n", components: [{ type: i4$4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i4$4.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { type: i4$4.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: ["descriptor", "display"] }, { type: i4$4.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { type: i4$4.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: ["descriptor", "item"] }, { type: i7$1.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"], outputs: ["instanceCreated"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4.AsyncPipe, "translate": i3$1.TranslatePipe, "i18nProperty": MngI18nPropertyPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6317
|
+
MngTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i1$1.TranslateService }, { token: MngViewContainerComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
6318
|
+
MngTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableComponent, selector: "mng-table", inputs: { descriptor: "descriptor", items: "items", queryResult: "queryResult", loading: "loading", dataProvider: "dataProvider", useQueryParams: "useQueryParams", selectionMode: "selectionMode", selectionEnabled: "selectionEnabled", isColumnClickable: "isColumnClickable", captionComponent: "captionComponent", columnActionComponent: "columnActionComponent" }, outputs: { loadEventEmitter: "tableLoad", cellClickEventEmitter: "cellClick", selectionChangeEventEmitter: "selectionChange", captionCmpInstEventEmitter: "captionComponentInstance", columnActionCmpInstEventEmitter: "columnActionComponentInstance" }, queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], viewQueries: [{ propertyName: "primeTable", first: true, predicate: Table, descendants: true }, { propertyName: "components", predicate: MngComponentDirective, descendants: true }], ngImport: i0, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table\n *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n [selectionMode]=\"selectionMode\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n <ng-template *ngIf=\"captionTemplate || captionComponent || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else componentOrDefaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #componentOrDefaultCaption>\n <div *ngIf=\"captionComponent; else defaultCaption\" [mngComponent]=\"captionComponent\" (instanceCreated)=\"onCaptionCmpInst($event)\"></div>\n <ng-template #defaultCaption>\n <h5 class=\"p-0 m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr *ngIf=\"!descriptor.hideHeader\">\n <th *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ col.title ?? (col.property | i18nProperty: descriptor.model) | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ col.title ?? (col.property | i18nProperty: descriptor.model) | translate }}\n <ng-container>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" [class.clickable]=\"isColumnClickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate || columnActionComponent\" class=\"text-right\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponent\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponent>\n <span [mngComponent]=\"columnActionComponent!\" (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{width: '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n", components: [{ type: i4$5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i4$5.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { type: i4$5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: ["descriptor", "display"] }, { type: i4$5.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { type: i4$5.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: ["descriptor", "item"] }, { type: i7$1.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "async": i4.AsyncPipe, "translate": i1$1.TranslatePipe, "i18nProperty": MngI18nPropertyPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6019
6319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableComponent, decorators: [{
|
|
6020
6320
|
type: Component,
|
|
6021
|
-
args: [{ selector: 'mng-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table\n *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n [selectionMode]=\"selectionMode\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n <ng-template *ngIf=\"captionTemplate || captionComponent || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else componentOrDefaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #componentOrDefaultCaption>\n <div *ngIf=\"captionComponent; else defaultCaption\" [mngComponent]=\"captionComponent\" (instanceCreated)=\"onCaptionCmpInst($event)\"></div>\n <ng-template #defaultCaption>\n <h5 class=\"p-0 m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr *ngIf=\"!descriptor.hideHeader\">\n <th *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ col.property | i18nProperty: descriptor.model | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ col.property | i18nProperty: descriptor.model | translate }}\n <ng-container>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" [class.clickable]=\"isColumnClickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate || columnActionComponent\" class=\"text-right\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponent\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponent>\n <span [mngComponent]=\"columnActionComponent!\" (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{width: '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n" }]
|
|
6321
|
+
args: [{ selector: 'mng-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + descriptor.tableFullHeightOffset + 'px)' : null\">\n <!-- MUST NOT use observable for value when using virtual scroll - does not work for some reason -->\n <p-table\n *ngIf=\"!useQueryParams || useQueryParamsInitialized\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor.dataKeyProperty)\"\n [lazy]=\"useDataProvider\"\n [loading]=\"(loading$ | async) ?? false\"\n [paginator]=\"useDataProvider && !infiniteScroll\"\n [rows]=\"$any(infiniteScroll ? 20 : rows)\"\n [first]=\"$any(infiniteScroll ? 0 : offset)\"\n [totalRecords]=\"$any(infiniteScroll ? null : (queryResult$ | async)?.allDataCount ?? 0)\"\n [rowsPerPageOptions]=\"$any(infiniteScroll ? null : rowsPerPageOptions)\"\n [showCurrentPageReport]=\"!infiniteScroll\"\n [currentPageReportTemplate]=\"'mngTable.paginationMsg' | translate\"\n [multiSortMeta]=\"$any(multiSortMeta)\"\n [filters]=\"filterMetadata\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [scrollable]=\"infiniteScroll\"\n [virtualScroll]=\"infiniteScroll\"\n [virtualRowHeight]=\"$any(rowHeight)\"\n [scrollHeight]=\"$any(scrollHeight)\"\n [rowHover]=\"true\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n [selectionMode]=\"selectionMode\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\">\n <ng-template *ngIf=\"captionTemplate || captionComponent || descriptor.title\" pTemplate=\"caption\">\n <ng-container *ngIf=\"captionTemplate; else componentOrDefaultCaption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </ng-container>\n <ng-template #componentOrDefaultCaption>\n <div *ngIf=\"captionComponent; else defaultCaption\" [mngComponent]=\"captionComponent\" (instanceCreated)=\"onCaptionCmpInst($event)\"></div>\n <ng-template #defaultCaption>\n <h5 class=\"p-0 m-0\">{{ descriptor.title }}</h5>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <ng-template pTemplate=\"header\">\n <tr *ngIf=\"!descriptor.hideHeader\">\n <th *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <ng-container *ngFor=\"let col of descriptor.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\">\n <div class=\"flex justify-content-between align-items-center\">\n {{ col.title ?? (col.property | i18nProperty: descriptor.model) | translate }}\n <p-sortIcon [field]=\"col.property\"></p-sortIcon>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"!col.isSortEnabled\">\n {{ col.title ?? (col.property | i18nProperty: descriptor.model) | translate }}\n <ng-container>\n <mng-table-column-filter\n *ngIf=\"col.filterDescriptor && descriptor.filterDisplay === filterDisplayMenu\"\n class=\"ml-auto\"\n [display]=\"descriptor.filterDisplay\"\n [descriptor]=\"col.filterDescriptor\">\n </mng-table-column-filter>\n </ng-container>\n </th>\n </ng-container>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n <tr *ngIf=\"descriptor.filterDisplay === filterDisplayRow\">\n <!-- We need the line below, because otherwise p-tableRadioButton shifts the rest of the columns in table -->\n <th *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 2.25em\"></th>\n <th *ngFor=\"let col of descriptor.columns\">\n <div class=\"flex\" *ngIf=\"col.filterDescriptor\">\n <mng-table-column-filter [display]=\"descriptor.filterDisplay\" [descriptor]=\"col.filterDescriptor\"></mng-table-column-filter>\n </div>\n </th>\n <th *ngIf=\"columnActionTemplate || columnActionComponent\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td *ngFor=\"let col of descriptor.columns\" (click)=\"onCellClick(col, item, idx)\" [class.clickable]=\"isColumnClickable\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"columnActionTemplate || columnActionComponent\" class=\"text-right\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponent\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponent>\n <span [mngComponent]=\"columnActionComponent!\" (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"descriptor.rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n <div class=\"loading-text\"></div>\n <p-skeleton [ngStyle]=\"{width: '100%'}\"></p-skeleton>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"descriptor.columns.length + (columnActionTemplate || columnActionComponent ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n" }]
|
|
6022
6322
|
}], ctorParameters: function () {
|
|
6023
|
-
return [{ type: i0.Injector }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type:
|
|
6323
|
+
return [{ type: i0.Injector }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i1$1.TranslateService }, { type: MngViewContainerComponentService, decorators: [{
|
|
6024
6324
|
type: Optional
|
|
6025
6325
|
}] }];
|
|
6026
6326
|
}, propDecorators: { descriptor: [{
|
|
@@ -6136,12 +6436,12 @@ class MngTableviewComponent {
|
|
|
6136
6436
|
}
|
|
6137
6437
|
}
|
|
6138
6438
|
}
|
|
6139
|
-
MngTableviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableviewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MessageService }, { token:
|
|
6140
|
-
MngTableviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableviewComponent, selector: "mng-tableview", inputs: { descriptor: "descriptor", dataProvider: "dataProvider", actions: "actions" }, providers: [MessageService, ConfirmationService, MngViewContainerComponentService], viewQueries: [{ propertyName: "tableComponent", first: true, predicate: MngTableComponent, descendants: true }], ngImport: i0, template: "<div class=\"mng-tableview\">\n <p-toast></p-toast>\n\n <div class=\"card\">\n <p-toolbar styleClass=\"mb-4\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n <ng-template pTemplate=\"left\">\n <mng-action *ngFor=\"let action of toolbarLeftActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n (cellClick)=\"onTableCellClick($event)\"\n [isColumnClickable]=\"
|
|
6439
|
+
MngTableviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableviewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MessageService }, { token: i1$1.TranslateService }, { token: i3.DialogService }, { token: i2.ConfirmationService }, { token: MngActionExecutorService }, { token: MngViewContainerComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6440
|
+
MngTableviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableviewComponent, selector: "mng-tableview", inputs: { descriptor: "descriptor", dataProvider: "dataProvider", actions: "actions" }, providers: [MessageService, ConfirmationService, MngViewContainerComponentService], viewQueries: [{ propertyName: "tableComponent", first: true, predicate: MngTableComponent, descendants: true }], ngImport: i0, template: "<div class=\"mng-tableview\">\n <p-toast></p-toast>\n\n <div class=\"card\">\n <p-toolbar styleClass=\"mb-4\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n <ng-template pTemplate=\"left\">\n <mng-action *ngFor=\"let action of toolbarLeftActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n (cellClick)=\"onTableCellClick($event)\"\n [isColumnClickable]=\"rowClickActions.length > 0\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between table-header\">\n <h5 class=\"p-0 m-0\">{{ descriptor.tableTitle | translate }}</h5>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <mng-action\n *ngFor=\"let action of rowInlineActions\"\n [action]=\"action\"\n [item]=\"item\"\n [itemId]=\"descriptor.model.idPropertyName ? item[descriptor.model.idPropertyName] : null\">\n </mng-action>\n </ng-template>\n </mng-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", components: [{ type: i6$2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { type: i4$3.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataProvider", "disabled", "loading", "viewContainer"], outputs: ["trigger"] }, { type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "isColumnClickable", "captionComponent", "columnActionComponent"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": i1$1.TranslatePipe } });
|
|
6141
6441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableviewComponent, decorators: [{
|
|
6142
6442
|
type: Component,
|
|
6143
|
-
args: [{ selector: 'mng-tableview', providers: [MessageService, ConfirmationService, MngViewContainerComponentService], template: "<div class=\"mng-tableview\">\n <p-toast></p-toast>\n\n <div class=\"card\">\n <p-toolbar styleClass=\"mb-4\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n <ng-template pTemplate=\"left\">\n <mng-action *ngFor=\"let action of toolbarLeftActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n (cellClick)=\"onTableCellClick($event)\"\n [isColumnClickable]=\"
|
|
6144
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MessageService }, { type:
|
|
6443
|
+
args: [{ selector: 'mng-tableview', providers: [MessageService, ConfirmationService, MngViewContainerComponentService], template: "<div class=\"mng-tableview\">\n <p-toast></p-toast>\n\n <div class=\"card\">\n <p-toolbar styleClass=\"mb-4\" *ngIf=\"toolbarLeftActions.length > 0 || toolbarRightActions.length > 0\">\n <ng-template pTemplate=\"left\">\n <mng-action *ngFor=\"let action of toolbarLeftActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"> </mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n (cellClick)=\"onTableCellClick($event)\"\n [isColumnClickable]=\"rowClickActions.length > 0\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-between table-header\">\n <h5 class=\"p-0 m-0\">{{ descriptor.tableTitle | translate }}</h5>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <mng-action\n *ngFor=\"let action of rowInlineActions\"\n [action]=\"action\"\n [item]=\"item\"\n [itemId]=\"descriptor.model.idPropertyName ? item[descriptor.model.idPropertyName] : null\">\n </mng-action>\n </ng-template>\n </mng-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n" }]
|
|
6444
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MessageService }, { type: i1$1.TranslateService }, { type: i3.DialogService }, { type: i2.ConfirmationService }, { type: MngActionExecutorService }, { type: MngViewContainerComponentService }]; }, propDecorators: { descriptor: [{
|
|
6145
6445
|
type: Input
|
|
6146
6446
|
}], dataProvider: [{
|
|
6147
6447
|
type: Input
|
|
@@ -6160,12 +6460,24 @@ class AMngTableviewRouteComponent {
|
|
|
6160
6460
|
}
|
|
6161
6461
|
createActionDescriptors() {
|
|
6162
6462
|
const actions = [];
|
|
6163
|
-
actions.push(
|
|
6164
|
-
actions.push(
|
|
6165
|
-
actions.push(
|
|
6166
|
-
actions.push(
|
|
6463
|
+
actions.push(this.createActionDescriptorForDetails());
|
|
6464
|
+
actions.push(this.createActionDescriptorForAdd());
|
|
6465
|
+
actions.push(this.createActionDescriptorForEdit());
|
|
6466
|
+
actions.push(this.createActionDescriptorForDelete());
|
|
6167
6467
|
return actions;
|
|
6168
6468
|
}
|
|
6469
|
+
createActionDescriptorForDetails(descriptor = this.descriptor.viewEditor) {
|
|
6470
|
+
return new ActionEditorDetailsDescriptor(descriptor);
|
|
6471
|
+
}
|
|
6472
|
+
createActionDescriptorForAdd(descriptor = this.descriptor.addEditor) {
|
|
6473
|
+
return new ActionEditorAddDescriptor(descriptor);
|
|
6474
|
+
}
|
|
6475
|
+
createActionDescriptorForEdit(descriptor = this.descriptor.editEditor) {
|
|
6476
|
+
return new ActionEditorEditDescriptor(descriptor);
|
|
6477
|
+
}
|
|
6478
|
+
createActionDescriptorForDelete(descriptor = this.descriptor.model) {
|
|
6479
|
+
return new ActionDeleteDescriptor(descriptor);
|
|
6480
|
+
}
|
|
6169
6481
|
}
|
|
6170
6482
|
AMngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AMngTableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6171
6483
|
AMngTableviewRouteComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: AMngTableviewRouteComponent, ngImport: i0 });
|
|
@@ -6252,7 +6564,7 @@ class MngFormlyFieldLookupDialogComponent extends FieldType {
|
|
|
6252
6564
|
eventSubtype: MngFormFieldEventComponentSubtype.ON_INIT
|
|
6253
6565
|
});
|
|
6254
6566
|
this.config = this.descriptor.config;
|
|
6255
|
-
if (!this.descriptor.
|
|
6567
|
+
if (!this.descriptor.dialogTableDataProvider && ((_a = this.descriptor.dataProvider) === null || _a === void 0 ? void 0 : _a.serviceType)) {
|
|
6256
6568
|
this.dialogUseDataProvider = true;
|
|
6257
6569
|
this.dialogDataProviderService = this.injector.get(this.descriptor.dataProvider.serviceType);
|
|
6258
6570
|
}
|
|
@@ -6260,7 +6572,7 @@ class MngFormlyFieldLookupDialogComponent extends FieldType {
|
|
|
6260
6572
|
this.setFieldLabelValue(this.formControl.value);
|
|
6261
6573
|
const subscription = this.formControl.valueChanges.pipe(startWith(this.formControl.value), distinctUntilChanged((prev, curr) => {
|
|
6262
6574
|
var _a;
|
|
6263
|
-
const compareProp = (_a = this.descriptor.
|
|
6575
|
+
const compareProp = (_a = this.descriptor.dialogTableDescriptor.dataKeyProperty) !== null && _a !== void 0 ? _a : this.descriptor.dialogTableDescriptor.model.idPropertyName;
|
|
6264
6576
|
if (compareProp && typeof prev === 'object' && typeof curr === 'object') {
|
|
6265
6577
|
return prev[compareProp] === curr[compareProp];
|
|
6266
6578
|
}
|
|
@@ -6295,8 +6607,8 @@ class MngFormlyFieldLookupDialogComponent extends FieldType {
|
|
|
6295
6607
|
if (!this.dialogAreItemsLoaded && this.dialogUseDataProvider) {
|
|
6296
6608
|
this.dialogIsLoadingSubject.next(true);
|
|
6297
6609
|
const queryParamBuilder = MediusQueryParamBuilder.create(50);
|
|
6298
|
-
if (this.descriptor.
|
|
6299
|
-
this.descriptor.
|
|
6610
|
+
if (this.descriptor.dialogTableDescriptor.hasDefaultSort) {
|
|
6611
|
+
this.descriptor.dialogTableDescriptor.defaultSortProperty.forEach((p, idx) => queryParamBuilder.withSort(p, this.descriptor.dialogTableDescriptor.defaultSortAsc[idx]));
|
|
6300
6612
|
}
|
|
6301
6613
|
this.lookupDataProviderSubscription = (_a = this.descriptor.dataProvider) === null || _a === void 0 ? void 0 : _a.lookup(queryParamBuilder.build(), this.dialogDataProviderService).subscribe({
|
|
6302
6614
|
next: res => {
|
|
@@ -6368,7 +6680,7 @@ class MngFormlyFieldLookupDialogComponent extends FieldType {
|
|
|
6368
6680
|
return;
|
|
6369
6681
|
}
|
|
6370
6682
|
if (typeof value === 'object') {
|
|
6371
|
-
const labelProperty = (_a = this.descriptor.itemsLabelProperty) !== null && _a !== void 0 ? _a : (_b = this.descriptor.
|
|
6683
|
+
const labelProperty = (_a = this.descriptor.itemsLabelProperty) !== null && _a !== void 0 ? _a : (_b = this.descriptor.dialogTableDescriptor) === null || _b === void 0 ? void 0 : _b.model.titlePropertyName;
|
|
6372
6684
|
if (!labelProperty) {
|
|
6373
6685
|
throw new Error('Could not determine label property.');
|
|
6374
6686
|
}
|
|
@@ -6380,10 +6692,10 @@ class MngFormlyFieldLookupDialogComponent extends FieldType {
|
|
|
6380
6692
|
}
|
|
6381
6693
|
}
|
|
6382
6694
|
MngFormlyFieldLookupDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldLookupDialogComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
6383
|
-
MngFormlyFieldLookupDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldLookupDialogComponent, selector: "mng-formly-field-lookup-dialog", viewQueries: [{ propertyName: "mngTable", first: true, predicate: MngTableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"'p-inputgroup mng-dropdown-dialog' + descriptor.inputClassName\" [class.p-inputtext-sm]=\"descriptor.isSizeSmall\" [class.p-inputtext-lg]=\"descriptor.isSizeLarge\">\n <input pInputText type=\"text\" [id]=\"$any(key)\" [readonly]=\"true\" [formlyAttributes]=\"field\" [formControl]=\"fieldLabelFormControl\" />\n <i class=\"mng-dropdown-clear-icon pi pi-times\" (click)=\"clear()\" *ngIf=\"!to.required && formControl?.value\"></i>\n <button
|
|
6695
|
+
MngFormlyFieldLookupDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldLookupDialogComponent, selector: "mng-formly-field-lookup-dialog", viewQueries: [{ propertyName: "mngTable", first: true, predicate: MngTableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"'p-inputgroup mng-dropdown-dialog' + descriptor.inputClassName\" [class.p-inputtext-sm]=\"descriptor.isSizeSmall\" [class.p-inputtext-lg]=\"descriptor.isSizeLarge\">\n <input pInputText type=\"text\" [id]=\"$any(key)\" [readonly]=\"true\" [formlyAttributes]=\"field\" [formControl]=\"fieldLabelFormControl\" />\n <i class=\"mng-dropdown-clear-icon pi pi-times\" (click)=\"clear()\" *ngIf=\"!to.required && formControl?.value && !formControl?.disabled\"></i>\n <button\n pButton\n pRipple\n class=\"mng-dropdown-dialog-search-button\"\n type=\"button\"\n [label]=\"'general.search' | translate: {item: ''}\"\n [disabled]=\"formControl?.disabled\"\n (click)=\"openSelectDialog()\"></button>\n</div>\n\n<p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.search' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-lookup-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table\n [descriptor]=\"descriptor.dialogTableDescriptor!\"\n [dataProvider]=\"descriptor.dialogTableDataProvider\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [selectionMode]=\"'single'\"\n [loading]=\"dialogIsLoading$\"\n [captionComponent]=\"config?.table?.captionComponent\"\n [columnActionComponent]=\"config?.table?.columnActionComponent\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"onCaptionCmpInst($event)\"\n (columnActionComponentInstance)=\"onColumnActionCmpInst($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n pRipple\n type=\"button\"\n [label]=\"'general.select' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"addItem()\"\n [loading]=\"(dialogIsLoading$ | async) ?? false\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", components: [{ type: i1$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "isColumnClickable", "captionComponent", "columnActionComponent"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { type: i3$2.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: i4$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.InputText, selector: "[pInputText]" }, { type: i3$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i8.Ripple, selector: "[pRipple]" }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i1$1.TranslatePipe, "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6384
6696
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldLookupDialogComponent, decorators: [{
|
|
6385
6697
|
type: Component,
|
|
6386
|
-
args: [{ selector: 'mng-formly-field-lookup-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'p-inputgroup mng-dropdown-dialog' + descriptor.inputClassName\" [class.p-inputtext-sm]=\"descriptor.isSizeSmall\" [class.p-inputtext-lg]=\"descriptor.isSizeLarge\">\n <input pInputText type=\"text\" [id]=\"$any(key)\" [readonly]=\"true\" [formlyAttributes]=\"field\" [formControl]=\"fieldLabelFormControl\" />\n <i class=\"mng-dropdown-clear-icon pi pi-times\" (click)=\"clear()\" *ngIf=\"!to.required && formControl?.value\"></i>\n <button
|
|
6698
|
+
args: [{ selector: 'mng-formly-field-lookup-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'p-inputgroup mng-dropdown-dialog' + descriptor.inputClassName\" [class.p-inputtext-sm]=\"descriptor.isSizeSmall\" [class.p-inputtext-lg]=\"descriptor.isSizeLarge\">\n <input pInputText type=\"text\" [id]=\"$any(key)\" [readonly]=\"true\" [formlyAttributes]=\"field\" [formControl]=\"fieldLabelFormControl\" />\n <i class=\"mng-dropdown-clear-icon pi pi-times\" (click)=\"clear()\" *ngIf=\"!to.required && formControl?.value && !formControl?.disabled\"></i>\n <button\n pButton\n pRipple\n class=\"mng-dropdown-dialog-search-button\"\n type=\"button\"\n [label]=\"'general.search' | translate: {item: ''}\"\n [disabled]=\"formControl?.disabled\"\n (click)=\"openSelectDialog()\"></button>\n</div>\n\n<p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.search' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-lookup-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table\n [descriptor]=\"descriptor.dialogTableDescriptor!\"\n [dataProvider]=\"descriptor.dialogTableDataProvider\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [selectionMode]=\"'single'\"\n [loading]=\"dialogIsLoading$\"\n [captionComponent]=\"config?.table?.captionComponent\"\n [columnActionComponent]=\"config?.table?.columnActionComponent\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"onCaptionCmpInst($event)\"\n (columnActionComponentInstance)=\"onColumnActionCmpInst($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n pRipple\n type=\"button\"\n [label]=\"'general.select' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"addItem()\"\n [loading]=\"(dialogIsLoading$ | async) ?? false\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n" }]
|
|
6387
6699
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { mngTable: [{
|
|
6388
6700
|
type: ViewChild,
|
|
6389
6701
|
args: [MngTableComponent]
|
|
@@ -6535,7 +6847,7 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
|
|
|
6535
6847
|
}
|
|
6536
6848
|
}
|
|
6537
6849
|
MngFormlyFieldTableDialogFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldTableDialogFormComponent, deps: [{ token: MngActionExecutorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6538
|
-
MngFormlyFieldTableDialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldTableDialogFormComponent, selector: "mng-formly-table-dialog-form-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\" (cellClick)=\"onTableCellClick($event)\" [isColumnClickable]=\"rowInlineActions.length > 0\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action\n *ngFor=\"let action of rowInlineActions\"\n [action]=\"action\"\n [item]=\"item\"\n [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\"\n [actionData]=\"{itemIndex: idx}\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], components: [{ type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "isColumnClickable", "captionComponent", "columnActionComponent"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataProvider", "disabled", "loading", "viewContainer"], outputs: ["trigger"] }], directives: [{ type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate":
|
|
6850
|
+
MngFormlyFieldTableDialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldTableDialogFormComponent, selector: "mng-formly-table-dialog-form-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\" (cellClick)=\"onTableCellClick($event)\" [isColumnClickable]=\"rowInlineActions.length > 0\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action\n *ngFor=\"let action of rowInlineActions\"\n [action]=\"action\"\n [item]=\"item\"\n [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\"\n [actionData]=\"{itemIndex: idx}\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], components: [{ type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "isColumnClickable", "captionComponent", "columnActionComponent"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataProvider", "disabled", "loading", "viewContainer"], outputs: ["trigger"] }], directives: [{ type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6539
6851
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldTableDialogFormComponent, decorators: [{
|
|
6540
6852
|
type: Component,
|
|
6541
6853
|
args: [{ selector: 'mng-formly-table-dialog-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\" (cellClick)=\"onTableCellClick($event)\" [isColumnClickable]=\"rowInlineActions.length > 0\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action\n *ngFor=\"let action of rowInlineActions\"\n [action]=\"action\"\n [item]=\"item\"\n [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\"\n [actionData]=\"{itemIndex: idx}\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"] }]
|
|
@@ -6649,7 +6961,7 @@ class MngFormlyFieldTableDialogMultiselectComponent extends FieldType {
|
|
|
6649
6961
|
}
|
|
6650
6962
|
}
|
|
6651
6963
|
MngFormlyFieldTableDialogMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldTableDialogMultiselectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
6652
|
-
MngFormlyFieldTableDialogMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldTableDialogMultiselectComponent, selector: "mng-formly-table-multiselect-add-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header pt-0\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button\n *ngIf=\"hasAddAction && !options?.formState?.disabled\"\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-plus\"\n class=\"p-button-rounded p-button-success mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button\n *ngIf=\"hasDeleteAction && !options?.formState?.disabled\"\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-trash\"\n class=\"p-button-rounded p-button-danger mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n </ng-template>\n</mng-table>\n\n<p-dialog\n *ngIf=\"hasAddAction\"\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n pRipple\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"addItems()\"\n [loading]=\"(dialogIsLoading$ | async) ?? false\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", components: [{ type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "isColumnClickable", "captionComponent", "columnActionComponent"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { type: i1$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: i3$
|
|
6964
|
+
MngFormlyFieldTableDialogMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldTableDialogMultiselectComponent, selector: "mng-formly-table-multiselect-add-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header pt-0\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button\n *ngIf=\"hasAddAction && !options?.formState?.disabled\"\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-plus\"\n class=\"p-button-rounded p-button-success mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button\n *ngIf=\"hasDeleteAction && !options?.formState?.disabled\"\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-trash\"\n class=\"p-button-rounded p-button-danger mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n </ng-template>\n</mng-table>\n\n<p-dialog\n *ngIf=\"hasAddAction\"\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n pRipple\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"addItems()\"\n [loading]=\"(dialogIsLoading$ | async) ?? false\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", components: [{ type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "isColumnClickable", "captionComponent", "columnActionComponent"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { type: i1$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: i3$2.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i8.Ripple, selector: "[pRipple]" }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i1$1.TranslatePipe, "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6653
6965
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldTableDialogMultiselectComponent, decorators: [{
|
|
6654
6966
|
type: Component,
|
|
6655
6967
|
args: [{ selector: 'mng-formly-table-multiselect-add-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header pt-0\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button\n *ngIf=\"hasAddAction && !options?.formState?.disabled\"\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-plus\"\n class=\"p-button-rounded p-button-success mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button\n *ngIf=\"hasDeleteAction && !options?.formState?.disabled\"\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-trash\"\n class=\"p-button-rounded p-button-danger mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n </ng-template>\n</mng-table>\n\n<p-dialog\n *ngIf=\"hasAddAction\"\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n pRipple\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-text\"\n (click)=\"addItems()\"\n [loading]=\"(dialogIsLoading$ | async) ?? false\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n" }]
|
|
@@ -6658,7 +6970,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
6658
6970
|
class MngFormlyFieldTabsComponent extends FieldType {
|
|
6659
6971
|
}
|
|
6660
6972
|
MngFormlyFieldTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6661
|
-
MngFormlyFieldTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldTabsComponent, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabView>\n <p-tabPanel\n *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last\"\n [header]=\"tab.templateOptions?.label! | translate\"\n [headerStyleClass]=\"$any(formControl!.valid ? 'p-tabview-title' : null)\">\n <ng-template pTemplate=\"header\">\n <span\n class=\"p-tabview-title\"\n [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\"\n >{{ tab.templateOptions?.label! | translate }}</span\n >\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n", components: [{ type: i1$4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i1$4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i3$
|
|
6973
|
+
MngFormlyFieldTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldTabsComponent, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabView>\n <p-tabPanel\n *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last\"\n [header]=\"tab.templateOptions?.label! | translate\"\n [headerStyleClass]=\"$any(formControl!.valid ? 'p-tabview-title' : null)\">\n <ng-template pTemplate=\"header\">\n <span\n class=\"p-tabview-title\"\n [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\"\n >{{ tab.templateOptions?.label! | translate }}</span\n >\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n", components: [{ type: i1$4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i1$4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i3$1.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6662
6974
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldTabsComponent, decorators: [{
|
|
6663
6975
|
type: Component,
|
|
6664
6976
|
args: [{ selector: 'mng-formly-field-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tabView>\n <p-tabPanel\n *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last\"\n [header]=\"tab.templateOptions?.label! | translate\"\n [headerStyleClass]=\"$any(formControl!.valid ? 'p-tabview-title' : null)\">\n <ng-template pTemplate=\"header\">\n <span\n class=\"p-tabview-title\"\n [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\"\n >{{ tab.templateOptions?.label! | translate }}</span\n >\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n" }]
|
|
@@ -6667,7 +6979,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
6667
6979
|
class MngFormlyFieldFieldsetComponent extends FieldType {
|
|
6668
6980
|
}
|
|
6669
6981
|
MngFormlyFieldFieldsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldFieldsetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6670
|
-
MngFormlyFieldFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldFieldsetComponent, selector: "mng-formly-field-fieldset", usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let group of field.fieldGroup; let i = index; let last = last\">\n <p-fieldset *ngIf=\"!group.templateOptions?.['descriptor']?.default; else defaultSet\" [legend]=\"group.templateOptions?.label! | translate\">\n <formly-field [field]=\"group\"></formly-field>\n </p-fieldset>\n <ng-template #defaultSet>\n <formly-field [field]=\"group\"></formly-field>\n </ng-template>\n</ng-container>\n", components: [{ type: i1$5.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { type: i3$
|
|
6982
|
+
MngFormlyFieldFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldFieldsetComponent, selector: "mng-formly-field-fieldset", usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let group of field.fieldGroup; let i = index; let last = last\">\n <p-fieldset *ngIf=\"!group.templateOptions?.['descriptor']?.default; else defaultSet\" [legend]=\"group.templateOptions?.label! | translate\">\n <formly-field [field]=\"group\"></formly-field>\n </p-fieldset>\n <ng-template #defaultSet>\n <formly-field [field]=\"group\"></formly-field>\n </ng-template>\n</ng-container>\n", components: [{ type: i1$5.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { type: i3$1.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6671
6983
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldFieldsetComponent, decorators: [{
|
|
6672
6984
|
type: Component,
|
|
6673
6985
|
args: [{ selector: 'mng-formly-field-fieldset', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let group of field.fieldGroup; let i = index; let last = last\">\n <p-fieldset *ngIf=\"!group.templateOptions?.['descriptor']?.default; else defaultSet\" [legend]=\"group.templateOptions?.label! | translate\">\n <formly-field [field]=\"group\"></formly-field>\n </p-fieldset>\n <ng-template #defaultSet>\n <formly-field [field]=\"group\"></formly-field>\n </ng-template>\n</ng-container>\n" }]
|
|
@@ -6676,7 +6988,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
6676
6988
|
class MngFormlyFieldWrapperComponent extends FieldWrapper {
|
|
6677
6989
|
}
|
|
6678
6990
|
MngFormlyFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6679
|
-
MngFormlyFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldWrapperComponent, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field\">\n <label [for]=\"key\" [class]=\"to?.['descriptor']?.['labelClassName'] ?? ''\"\n >{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label\n >\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to?.['descriptor']?.['helpText']\">{{ to?.['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3$
|
|
6991
|
+
MngFormlyFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyFieldWrapperComponent, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field\">\n <label [for]=\"key\" [class]=\"to?.['descriptor']?.['labelClassName'] ?? ''\"\n >{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label\n >\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to?.['descriptor']?.['helpText']\">{{ to?.['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3$1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6680
6992
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyFieldWrapperComponent, decorators: [{
|
|
6681
6993
|
type: Component,
|
|
6682
6994
|
args: [{ selector: 'mng-formly-field-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"field\">\n <label [for]=\"key\" [class]=\"to?.['descriptor']?.['labelClassName'] ?? ''\"\n >{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label\n >\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to?.['descriptor']?.['helpText']\">{{ to?.['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
|
|
@@ -6685,7 +6997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
6685
6997
|
class MngFormlyTableWrapperComponent extends FieldWrapper {
|
|
6686
6998
|
}
|
|
6687
6999
|
MngFormlyTableWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyTableWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6688
|
-
MngFormlyTableWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyTableWrapperComponent, selector: "mng-formly-table-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to?.['descriptor']?.['helpText']\">{{ to?.['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3$
|
|
7000
|
+
MngFormlyTableWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFormlyTableWrapperComponent, selector: "mng-formly-table-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to?.['descriptor']?.['helpText']\">{{ to?.['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i3$1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6689
7001
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFormlyTableWrapperComponent, decorators: [{
|
|
6690
7002
|
type: Component,
|
|
6691
7003
|
args: [{ selector: 'mng-formly-table-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to?.['descriptor']?.['helpText']\">{{ to?.['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
|
|
@@ -6710,7 +7022,7 @@ class MngFooterComponent {
|
|
|
6710
7022
|
}
|
|
6711
7023
|
}
|
|
6712
7024
|
MngFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFooterComponent, deps: [{ token: MngCommonsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6713
|
-
MngFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFooterComponent, selector: "mng-footer", ngImport: i0, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">© {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n", pipes: { "translate":
|
|
7025
|
+
MngFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngFooterComponent, selector: "mng-footer", ngImport: i0, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">© {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n", pipes: { "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6714
7026
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngFooterComponent, decorators: [{
|
|
6715
7027
|
type: Component,
|
|
6716
7028
|
args: [{ selector: 'mng-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">© {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n" }]
|
|
@@ -7048,7 +7360,7 @@ class MngMenuItemComponent {
|
|
|
7048
7360
|
}
|
|
7049
7361
|
}
|
|
7050
7362
|
MngMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngMenuItemComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7051
|
-
MngMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "root", "class.active-menuitem": "active" } }, ngImport: i0, template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false && (isAllowed$ | async) === true\" class=\"layout-menuitem-root-text\">{{ item.label! | translate }}</div>\n <a\n *ngIf=\"(!item.routerLink || item.items) && item.visible !== false && (isAllowed$ | async) === true\"\n [attr.href]=\"item.href\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [routerLink]=\"item.routerLink\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a\n *ngIf=\"item.routerLink && !item.items && item.visible !== false && (isAllowed$ | async) === true\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover = true\"\n (mouseleave)=\"hover = false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul\n *ngIf=\"((item.items && active) || (item.items && (mngCommons.menuModeIsStatic$ | async) && (root || active))) && item.visible !== false && (isAllowed$ | async) === true\"\n [@children]=\"\n (mngCommons.menuModeIsSlim$ | async) && (mainLayoutService.isMobile$ | async) === false && root\n ? active\n ? 'visible'\n : 'hidden'\n : (mngCommons.menuModeIsStatic$ | async) && root && (mainLayoutService.isMobile$ | async) === false\n ? 'visible'\n : active\n ? 'visibleAnimated'\n : 'hiddenAnimated'\n \">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClassName\"></li>\n </ng-template>\n </ul>\n</ng-container>\n", components: [{ type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i8.Ripple, selector: "[pRipple]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe, "translate":
|
|
7363
|
+
MngMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey" }, host: { properties: { "class.layout-root-menuitem": "root", "class.active-menuitem": "active" } }, ngImport: i0, template: "<ng-container>\n <div *ngIf=\"root && item.visible !== false && (isAllowed$ | async) === true\" class=\"layout-menuitem-root-text\">{{ item.label! | translate }}</div>\n <a\n *ngIf=\"(!item.routerLink || item.items) && item.visible !== false && (isAllowed$ | async) === true\"\n [attr.href]=\"item.href\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (keydown.enter)=\"itemClick($event)\"\n [routerLink]=\"item.routerLink\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <a\n *ngIf=\"item.routerLink && !item.items && item.visible !== false && (isAllowed$ | async) === true\"\n (click)=\"itemClick($event)\"\n (mouseenter)=\"hover = true\"\n (mouseleave)=\"hover = false\"\n [routerLink]=\"item.routerLink\"\n routerLinkActive=\"active-menuitem-routerlink\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item.className ?? ''\"\n pRipple>\n <i [ngClass]=\"item.icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item.label! | translate }}</span>\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\" *ngIf=\"item.items\"></i>\n <span class=\"menuitem-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </a>\n <ul\n *ngIf=\"((item.items && active) || (item.items && (mngCommons.menuModeIsStatic$ | async) && (root || active))) && item.visible !== false && (isAllowed$ | async) === true\"\n [@children]=\"\n (mngCommons.menuModeIsSlim$ | async) && (mainLayoutService.isMobile$ | async) === false && root\n ? active\n ? 'visible'\n : 'hidden'\n : (mngCommons.menuModeIsStatic$ | async) && root && (mainLayoutService.isMobile$ | async) === false\n ? 'visible'\n : active\n ? 'visibleAnimated'\n : 'hiddenAnimated'\n \">\n <ng-template ngFor let-child let-i=\"index\" [ngForOf]=\"item.items\">\n <li mng-menuitem [item]=\"child\" [index]=\"i\" [parentKey]=\"key\" [class]=\"child.badgeClassName\"></li>\n </ng-template>\n </ul>\n</ng-container>\n", components: [{ type: MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i8.Ripple, selector: "[pRipple]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe, "translate": i1$1.TranslatePipe }, animations: [
|
|
7052
7364
|
trigger('children', [
|
|
7053
7365
|
state('void', style({
|
|
7054
7366
|
height: '0px'
|
|
@@ -7160,7 +7472,7 @@ class MngTopbarComponent {
|
|
|
7160
7472
|
}
|
|
7161
7473
|
}
|
|
7162
7474
|
MngTopbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTopbarComponent, deps: [{ token: i1.ActivatedRoute }, { token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7163
|
-
MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTopbarComponent, selector: "mng-topbar", viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event, profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", components: [{ type: i2$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"], outputs: ["instanceCreated"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type:
|
|
7475
|
+
MngTopbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTopbarComponent, selector: "mng-topbar", viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event, profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n", components: [{ type: i2$2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i4.AsyncPipe, "translate": i1$1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7164
7476
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTopbarComponent, decorators: [{
|
|
7165
7477
|
type: Component,
|
|
7166
7478
|
args: [{ selector: 'mng-topbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-left\">\n <a\n href=\"#\"\n class=\"topbar-menu-button\"\n (click)=\"mainLayoutService.onMenuButtonClick($event)\"\n *ngIf=\"(mngCommons.menuModeIsOverlay$ | async) || (mainLayoutService.isMobile$ | async)\">\n <i class=\"pi pi-bars\"></i>\n </a>\n\n <ng-container [mngComponent]=\"breadcrumbComponent\"></ng-container>\n </div>\n\n <ng-container [mngComponent]=\"menuComponent\"></ng-container>\n\n <div class=\"layout-topbar-right\">\n <ul class=\"layout-topbar-right-items\">\n <li #profile class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <a href=\"#\" (click)=\"mainLayoutService.onTopbarItemClick($event, profile)\">\n <i class=\"pi pi-fw pi-user\"></i>\n </a>\n <ul class=\"fadeInDown\" *ngIf=\"user\">\n <li role=\"menuitem\">\n <a>\n {{ user?.displayName ?? user?.username }}\n </a>\n </li>\n <li role=\"menuitem\" *ngIf=\"user?.logout || user?.logoutUrl\">\n <a [href]=\"user?.logoutUrl\" (click)=\"logout(user, $event)\">\n <i class=\"pi pi-fw pi-sign-out\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n </ul>\n </li>\n <li *ngIf=\"languages.length > 1\" class=\"profile-item\" [ngClass]=\"{'active-topmenuitem': (mainLayoutService.activeTopbarItem$ | async) === profile}\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"selectedLanguage\" [options]=\"languages\" (onChange)=\"switchLanguage($event.value)\"></p-dropdown>\n </li>\n </ul>\n </div>\n</div>\n" }]
|
|
@@ -7198,7 +7510,7 @@ class MngMainLayoutComponent {
|
|
|
7198
7510
|
}
|
|
7199
7511
|
}
|
|
7200
7512
|
MngMainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: MngCommonsService }, { token: MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7201
|
-
MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent"], outputs: ["instanceCreated"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7513
|
+
MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7202
7514
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
|
|
7203
7515
|
type: Component,
|
|
7204
7516
|
args: [{ selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n" }]
|
|
@@ -7468,7 +7780,7 @@ const declarations = [
|
|
|
7468
7780
|
MngComponentDirective,
|
|
7469
7781
|
MngTemplateDirective,
|
|
7470
7782
|
// pipes
|
|
7471
|
-
|
|
7783
|
+
JsonPathPipe,
|
|
7472
7784
|
MngEnumPipe,
|
|
7473
7785
|
MngBooleanPipe,
|
|
7474
7786
|
MngI18nPropertyPipe,
|
|
@@ -7572,7 +7884,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
7572
7884
|
MngComponentDirective,
|
|
7573
7885
|
MngTemplateDirective,
|
|
7574
7886
|
// pipes
|
|
7575
|
-
|
|
7887
|
+
JsonPathPipe,
|
|
7576
7888
|
MngEnumPipe,
|
|
7577
7889
|
MngBooleanPipe,
|
|
7578
7890
|
MngI18nPropertyPipe,
|
|
@@ -7615,7 +7927,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
7615
7927
|
CommonModule,
|
|
7616
7928
|
RouterModule,
|
|
7617
7929
|
HttpClientModule,
|
|
7618
|
-
ReactiveFormsModule,
|
|
7930
|
+
ReactiveFormsModule, i1$1.TranslateModule, i3$1.FormlyModule, AutoCompleteModule,
|
|
7619
7931
|
BreadcrumbModule,
|
|
7620
7932
|
ButtonModule,
|
|
7621
7933
|
CalendarModule,
|
|
@@ -7687,7 +7999,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
7687
7999
|
MngComponentDirective,
|
|
7688
8000
|
MngTemplateDirective,
|
|
7689
8001
|
// pipes
|
|
7690
|
-
|
|
8002
|
+
JsonPathPipe,
|
|
7691
8003
|
MngEnumPipe,
|
|
7692
8004
|
MngBooleanPipe,
|
|
7693
8005
|
MngI18nPropertyPipe,
|
|
@@ -7792,9 +8104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
7792
8104
|
}]
|
|
7793
8105
|
}] });
|
|
7794
8106
|
|
|
7795
|
-
class
|
|
7796
|
-
constructor(
|
|
7797
|
-
this.type = type;
|
|
8107
|
+
class AMngBaseApiService {
|
|
8108
|
+
constructor(http) {
|
|
7798
8109
|
this.http = http;
|
|
7799
8110
|
this.objectSerializer = ObjectSerializer.get();
|
|
7800
8111
|
}
|
|
@@ -7805,12 +8116,6 @@ class AMngApiService {
|
|
|
7805
8116
|
}
|
|
7806
8117
|
return `${this.getBasePath()}${this.getServiceBasePath()}${path}`;
|
|
7807
8118
|
}
|
|
7808
|
-
deserialize(item) {
|
|
7809
|
-
return this.deserializeClass(item, this.type);
|
|
7810
|
-
}
|
|
7811
|
-
serialize(item) {
|
|
7812
|
-
return this.serializeClass(item, this.type);
|
|
7813
|
-
}
|
|
7814
8119
|
serializeQueryParam(queryParam, type = 'QueryParam') {
|
|
7815
8120
|
return this.objectSerializer.serialize(queryParam, type);
|
|
7816
8121
|
}
|
|
@@ -7820,9 +8125,27 @@ class AMngApiService {
|
|
|
7820
8125
|
deserializeClass(item, type) {
|
|
7821
8126
|
return this.objectSerializer.deserializeClass(item, type);
|
|
7822
8127
|
}
|
|
8128
|
+
deserializeClassArray(item, type) {
|
|
8129
|
+
return this.objectSerializer.deserializeClassArray(item, type);
|
|
8130
|
+
}
|
|
7823
8131
|
serializeClass(item, type) {
|
|
7824
8132
|
return this.objectSerializer.serializeClass(item, type);
|
|
7825
8133
|
}
|
|
8134
|
+
serializeClassArray(item, type) {
|
|
8135
|
+
return this.objectSerializer.serializeClassArray(item, type);
|
|
8136
|
+
}
|
|
8137
|
+
}
|
|
8138
|
+
class AMngApiService extends AMngBaseApiService {
|
|
8139
|
+
constructor(type, http) {
|
|
8140
|
+
super(http);
|
|
8141
|
+
this.type = type;
|
|
8142
|
+
}
|
|
8143
|
+
deserialize(item) {
|
|
8144
|
+
return this.deserializeClass(item, this.type);
|
|
8145
|
+
}
|
|
8146
|
+
serialize(item) {
|
|
8147
|
+
return this.serializeClass(item, this.type);
|
|
8148
|
+
}
|
|
7826
8149
|
}
|
|
7827
8150
|
|
|
7828
8151
|
class AMngGetAllApiService extends AMngApiService {
|
|
@@ -8373,5 +8696,5 @@ class RouteDataBuilder {
|
|
|
8373
8696
|
* Generated bundle index. Do not edit.
|
|
8374
8697
|
*/
|
|
8375
8698
|
|
|
8376
|
-
export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionLinkDescriptor, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngLinkFormatterPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService,
|
|
8699
|
+
export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionLinkDescriptor, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtil, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngLinkFormatterPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
|
|
8377
8700
|
//# sourceMappingURL=mediusinc-mng-commons.mjs.map
|