@mediusinc/mng-commons 0.14.1 → 0.15.0

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.
Files changed (51) hide show
  1. package/esm2020/lib/api/models/query-result.model.mjs +7 -1
  2. package/esm2020/lib/components/action/action.component.mjs +7 -7
  3. package/esm2020/lib/components/action/editor/action-editor.component.mjs +5 -5
  4. package/esm2020/lib/components/form/date-range/date-range.component.mjs +5 -2
  5. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +14 -13
  6. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +5 -4
  7. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +3 -3
  8. package/esm2020/lib/components/tableview/table/table.component.mjs +18 -4
  9. package/esm2020/lib/components/tableview/tableview.component.mjs +17 -4
  10. package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +15 -44
  11. package/esm2020/lib/descriptors/action-button.descriptor.mjs +60 -0
  12. package/esm2020/lib/descriptors/action.descriptor.mjs +27 -22
  13. package/esm2020/lib/descriptors/column.descriptor.mjs +1 -1
  14. package/esm2020/lib/descriptors/filter.descriptor.mjs +7 -3
  15. package/esm2020/lib/descriptors/index.mjs +2 -2
  16. package/esm2020/lib/descriptors/types/action.type.mjs +1 -28
  17. package/esm2020/lib/mng-commons.module.mjs +4 -11
  18. package/esm2020/lib/services/action-executor.service.mjs +23 -20
  19. package/esm2020/lib/styles/button-style.builder.mjs +30 -28
  20. package/esm2020/lib/styles/models/index.mjs +3 -0
  21. package/esm2020/lib/styles/models/style-level.enum.mjs +12 -0
  22. package/esm2020/lib/styles/models/style-size.enum.mjs +9 -0
  23. package/esm2020/lib/styles/styles.util.mjs +9 -8
  24. package/esm2020/public-api.mjs +2 -2
  25. package/fesm2015/mediusinc-mng-commons.mjs +249 -338
  26. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  27. package/fesm2020/mediusinc-mng-commons.mjs +244 -331
  28. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  29. package/lib/api/models/query-result.model.d.ts +1 -0
  30. package/lib/components/tableview/table/table.component.d.ts +2 -0
  31. package/lib/components/tableview/tableview.component.d.ts +7 -3
  32. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +7 -19
  33. package/lib/descriptors/action-button.descriptor.d.ts +22 -0
  34. package/lib/descriptors/action.descriptor.d.ts +15 -13
  35. package/lib/descriptors/index.d.ts +1 -1
  36. package/lib/descriptors/types/action.type.d.ts +0 -24
  37. package/lib/mng-commons.module.d.ts +41 -42
  38. package/lib/styles/button-style.builder.d.ts +8 -8
  39. package/lib/styles/models/index.d.ts +2 -0
  40. package/lib/styles/models/style-level.enum.d.ts +10 -0
  41. package/lib/styles/models/style-size.enum.d.ts +7 -0
  42. package/package.json +1 -1
  43. package/public-api.d.ts +1 -1
  44. package/templates/tableview-route.component.html +1 -1
  45. package/version-info.json +5 -5
  46. package/esm2020/lib/components/button/button.component.mjs +0 -46
  47. package/esm2020/lib/components/button/index.mjs +0 -2
  48. package/esm2020/lib/descriptors/button.descriptor.mjs +0 -111
  49. package/lib/components/button/button.component.d.ts +0 -16
  50. package/lib/components/button/index.d.ts +0 -1
  51. package/lib/descriptors/button.descriptor.d.ts +0 -40
@@ -226,6 +226,12 @@ MediusQueryParam.attributeTypeMap = [
226
226
  ];
227
227
 
228
228
  class MediusQueryResult {
229
+ static fromArray(pageData, allDataCount) {
230
+ const mqr = new MediusQueryResult();
231
+ mqr.allDataCount = allDataCount !== null && allDataCount !== void 0 ? allDataCount : pageData.length;
232
+ mqr.pageData = pageData;
233
+ return mqr;
234
+ }
229
235
  static getAttributeTypeMap() {
230
236
  return MediusQueryResult.attributeTypeMap;
231
237
  }
@@ -855,33 +861,6 @@ var ActionTypeEnum;
855
861
  ActionTypeEnum[ActionTypeEnum["Direct"] = 0] = "Direct";
856
862
  ActionTypeEnum[ActionTypeEnum["Editor"] = 1] = "Editor"; // editor providing middle step for activation
857
863
  })(ActionTypeEnum || (ActionTypeEnum = {}));
858
- var ActionLevelEnum;
859
- (function (ActionLevelEnum) {
860
- ActionLevelEnum[ActionLevelEnum["Default"] = 0] = "Default";
861
- ActionLevelEnum[ActionLevelEnum["Primary"] = 1] = "Primary";
862
- ActionLevelEnum[ActionLevelEnum["Secondary"] = 2] = "Secondary";
863
- ActionLevelEnum[ActionLevelEnum["Info"] = 3] = "Info";
864
- ActionLevelEnum[ActionLevelEnum["Help"] = 4] = "Help";
865
- ActionLevelEnum[ActionLevelEnum["Success"] = 5] = "Success";
866
- ActionLevelEnum[ActionLevelEnum["Warning"] = 6] = "Warning";
867
- ActionLevelEnum[ActionLevelEnum["Danger"] = 7] = "Danger";
868
- })(ActionLevelEnum || (ActionLevelEnum = {}));
869
- var ActionSizeEnum;
870
- (function (ActionSizeEnum) {
871
- ActionSizeEnum[ActionSizeEnum["ExtraSmall"] = 0] = "ExtraSmall";
872
- ActionSizeEnum[ActionSizeEnum["Small"] = 1] = "Small";
873
- ActionSizeEnum[ActionSizeEnum["Normal"] = 2] = "Normal";
874
- ActionSizeEnum[ActionSizeEnum["Large"] = 3] = "Large";
875
- ActionSizeEnum[ActionSizeEnum["ExtraLarge"] = 4] = "ExtraLarge";
876
- })(ActionSizeEnum || (ActionSizeEnum = {}));
877
- var ActionEditorDialogSizeEnum;
878
- (function (ActionEditorDialogSizeEnum) {
879
- ActionEditorDialogSizeEnum[ActionEditorDialogSizeEnum["ExtraSmall"] = 0] = "ExtraSmall";
880
- ActionEditorDialogSizeEnum[ActionEditorDialogSizeEnum["Small"] = 1] = "Small";
881
- ActionEditorDialogSizeEnum[ActionEditorDialogSizeEnum["Normal"] = 2] = "Normal";
882
- ActionEditorDialogSizeEnum[ActionEditorDialogSizeEnum["Large"] = 3] = "Large";
883
- ActionEditorDialogSizeEnum[ActionEditorDialogSizeEnum["ExtraLarge"] = 4] = "ExtraLarge";
884
- })(ActionEditorDialogSizeEnum || (ActionEditorDialogSizeEnum = {}));
885
864
  var ActionEditorSubmitTypeEnum;
886
865
  (function (ActionEditorSubmitTypeEnum) {
887
866
  ActionEditorSubmitTypeEnum[ActionEditorSubmitTypeEnum["Submit"] = 0] = "Submit";
@@ -1017,6 +996,27 @@ var TableDynamicColumnsModeEnum;
1017
996
  TableDynamicColumnsModeEnum[TableDynamicColumnsModeEnum["INCLUDE_ONLY"] = 1] = "INCLUDE_ONLY";
1018
997
  })(TableDynamicColumnsModeEnum || (TableDynamicColumnsModeEnum = {}));
1019
998
 
999
+ var StyleLevelEnum;
1000
+ (function (StyleLevelEnum) {
1001
+ StyleLevelEnum[StyleLevelEnum["Default"] = 0] = "Default";
1002
+ StyleLevelEnum[StyleLevelEnum["Primary"] = 1] = "Primary";
1003
+ StyleLevelEnum[StyleLevelEnum["Secondary"] = 2] = "Secondary";
1004
+ StyleLevelEnum[StyleLevelEnum["Info"] = 3] = "Info";
1005
+ StyleLevelEnum[StyleLevelEnum["Help"] = 4] = "Help";
1006
+ StyleLevelEnum[StyleLevelEnum["Success"] = 5] = "Success";
1007
+ StyleLevelEnum[StyleLevelEnum["Warning"] = 6] = "Warning";
1008
+ StyleLevelEnum[StyleLevelEnum["Danger"] = 7] = "Danger";
1009
+ })(StyleLevelEnum || (StyleLevelEnum = {}));
1010
+
1011
+ var StyleSizeEnum;
1012
+ (function (StyleSizeEnum) {
1013
+ StyleSizeEnum[StyleSizeEnum["ExtraSmall"] = 0] = "ExtraSmall";
1014
+ StyleSizeEnum[StyleSizeEnum["Small"] = 1] = "Small";
1015
+ StyleSizeEnum[StyleSizeEnum["Normal"] = 2] = "Normal";
1016
+ StyleSizeEnum[StyleSizeEnum["Large"] = 3] = "Large";
1017
+ StyleSizeEnum[StyleSizeEnum["ExtraLarge"] = 4] = "ExtraLarge";
1018
+ })(StyleSizeEnum || (StyleSizeEnum = {}));
1019
+
1020
1020
  class StylesUtil {
1021
1021
  static calculateTableColumnActionWidth(table, actions) {
1022
1022
  const buttonsWidth = actions.reduce((acc, action) => acc + StylesUtil.getActionButtonRoundedWidth(action) + 2 * StylesUtil.ACTION_BUTTON_MARGIN_X, 0);
@@ -1034,15 +1034,15 @@ class StylesUtil {
1034
1034
  }
1035
1035
  }
1036
1036
  static getActionButtonRoundedWidth(action) {
1037
- switch (action.buttonDescriptor.styleClass.size) {
1038
- case ActionSizeEnum.ExtraSmall:
1037
+ switch (action.button.styleClass.size) {
1038
+ case StyleSizeEnum.ExtraSmall:
1039
1039
  return StylesUtil.BUTTON_ROUNDED_WIDTH_XS;
1040
- case ActionSizeEnum.Small:
1040
+ case StyleSizeEnum.Small:
1041
1041
  return StylesUtil.BUTTON_ROUNDED_WIDTH_SM;
1042
- case ActionSizeEnum.Large:
1043
- case ActionSizeEnum.ExtraLarge:
1042
+ case StyleSizeEnum.Large:
1043
+ case StyleSizeEnum.ExtraLarge:
1044
1044
  return StylesUtil.BUTTON_ROUNDED_WIDTH_LG;
1045
- case ActionSizeEnum.Normal:
1045
+ case StyleSizeEnum.Normal:
1046
1046
  default:
1047
1047
  return StylesUtil.BUTTON_ROUNDED_WIDTH;
1048
1048
  }
@@ -1058,8 +1058,8 @@ StylesUtil.TABLE_CELL_PADDING_X_SM = 4;
1058
1058
  StylesUtil.TABLE_CELL_PADDING_X_LG = 12;
1059
1059
 
1060
1060
  class ButtonStyleBuilder {
1061
- constructor(level = ActionLevelEnum.Default, customClass) {
1062
- this._size = ActionSizeEnum.Normal;
1061
+ constructor(level = StyleLevelEnum.Default, customClass) {
1062
+ this._size = StyleSizeEnum.Normal;
1063
1063
  this._textButton = false;
1064
1064
  this._outlineButton = false;
1065
1065
  this._raisedButton = false;
@@ -1067,7 +1067,7 @@ class ButtonStyleBuilder {
1067
1067
  this._actionLevel = level;
1068
1068
  this._customClass = customClass;
1069
1069
  }
1070
- getButtonClass(hasNoTitle = false) {
1070
+ build(hasNoTitle = false) {
1071
1071
  const styles = [this.convertActionLevelToStyleClass(), this.convertSizeToStyleClass(), this._customClass];
1072
1072
  if (hasNoTitle && this._roundedStyle === ButtonStyleRoundedEnum.DEFAULT) {
1073
1073
  styles.push(`p-button-rounded mng-action-button-icon`);
@@ -1095,15 +1095,16 @@ class ButtonStyleBuilder {
1095
1095
  * @param raisedButton if true, raised button will be applied
1096
1096
  * @param customClass additional custom classes (will be added at generating)
1097
1097
  */
1098
- create(actionLevel, size, textButton, outlineButton, raisedButton, roundedButton, customClass) {
1099
- this._actionLevel = actionLevel !== null && actionLevel !== void 0 ? actionLevel : this._actionLevel;
1100
- this._size = size !== null && size !== void 0 ? size : this._size;
1101
- this._textButton = textButton !== null && textButton !== void 0 ? textButton : this._textButton;
1102
- this._outlineButton = outlineButton !== null && outlineButton !== void 0 ? outlineButton : this._outlineButton;
1103
- this._raisedButton = raisedButton !== null && raisedButton !== void 0 ? raisedButton : this._raisedButton;
1104
- this._roundedStyle = roundedButton !== null && roundedButton !== void 0 ? roundedButton : this._roundedStyle;
1105
- this._customClass = customClass;
1106
- return this;
1098
+ static create(actionLevel, size, textButton, outlineButton, raisedButton, roundedButton, customClass) {
1099
+ const descriptor = new ButtonStyleBuilder(actionLevel, customClass);
1100
+ descriptor._actionLevel = actionLevel !== null && actionLevel !== void 0 ? actionLevel : descriptor._actionLevel;
1101
+ descriptor._size = size !== null && size !== void 0 ? size : descriptor._size;
1102
+ descriptor._textButton = textButton !== null && textButton !== void 0 ? textButton : descriptor._textButton;
1103
+ descriptor._outlineButton = outlineButton !== null && outlineButton !== void 0 ? outlineButton : descriptor._outlineButton;
1104
+ descriptor._raisedButton = raisedButton !== null && raisedButton !== void 0 ? raisedButton : descriptor._raisedButton;
1105
+ descriptor._roundedStyle = roundedButton !== null && roundedButton !== void 0 ? roundedButton : descriptor._roundedStyle;
1106
+ descriptor._customClass = customClass;
1107
+ return descriptor;
1107
1108
  }
1108
1109
  /**
1109
1110
  * sets custom action level and returns this object
@@ -1159,35 +1160,36 @@ class ButtonStyleBuilder {
1159
1160
  }
1160
1161
  convertActionLevelToStyleClass() {
1161
1162
  switch (this._actionLevel) {
1162
- case ActionLevelEnum.Default:
1163
- case ActionLevelEnum.Primary:
1163
+ case StyleLevelEnum.Default:
1164
+ case StyleLevelEnum.Primary:
1164
1165
  return 'p-button-primary';
1165
- case ActionLevelEnum.Secondary:
1166
+ case StyleLevelEnum.Secondary:
1166
1167
  return 'p-button-secondary';
1167
- case ActionLevelEnum.Info:
1168
+ case StyleLevelEnum.Info:
1168
1169
  return 'p-button-info';
1169
- case ActionLevelEnum.Help:
1170
+ case StyleLevelEnum.Help:
1170
1171
  return 'p-button-help';
1171
- case ActionLevelEnum.Success:
1172
+ case StyleLevelEnum.Success:
1172
1173
  return 'p-button-success';
1173
- case ActionLevelEnum.Warning:
1174
+ case StyleLevelEnum.Warning:
1174
1175
  return 'p-button-warning';
1175
- case ActionLevelEnum.Danger:
1176
+ case StyleLevelEnum.Danger:
1176
1177
  return 'p-button-danger';
1177
1178
  }
1178
1179
  }
1179
1180
  convertSizeToStyleClass() {
1180
1181
  switch (this._size) {
1181
- case ActionSizeEnum.ExtraSmall:
1182
+ case StyleSizeEnum.ExtraSmall:
1182
1183
  return 'p-button-sm mng-button-xs';
1183
- case ActionSizeEnum.Small:
1184
+ case StyleSizeEnum.Small:
1184
1185
  return 'p-button-sm mng-button-sm';
1185
- case ActionSizeEnum.Normal:
1186
- return '';
1187
- case ActionSizeEnum.Large:
1186
+ case StyleSizeEnum.Large:
1188
1187
  return 'p-button-lg mng-button-lg';
1189
- case ActionSizeEnum.ExtraLarge:
1188
+ case StyleSizeEnum.ExtraLarge:
1190
1189
  return 'p-button-lg mng-button-xl';
1190
+ case StyleSizeEnum.Normal:
1191
+ default:
1192
+ return '';
1191
1193
  }
1192
1194
  }
1193
1195
  get actionLevel() {
@@ -1219,50 +1221,91 @@ var ButtonStyleRoundedEnum;
1219
1221
  ButtonStyleRoundedEnum[ButtonStyleRoundedEnum["SQUARE"] = 2] = "SQUARE";
1220
1222
  })(ButtonStyleRoundedEnum || (ButtonStyleRoundedEnum = {}));
1221
1223
 
1222
- class ActionConfirmationDialogDescriptor {
1224
+ class ActionButtonDescriptor {
1223
1225
  constructor() {
1224
- this._closeOnEscape = true; // Defines if dialog closes when esc key is pressed.
1225
- this._closable = true; // Defines if dialog is closable.
1226
- this._acceptButtonStyle = new ButtonStyleBuilder(ActionLevelEnum.Default);
1227
- this._rejectButtonStyle = new ButtonStyleBuilder(ActionLevelEnum.Default).withTextButton();
1228
- this._icon = 'pi pi-exclamation-triangle';
1229
- this._acceptIcon = 'pi pi-check';
1230
- this._rejectIcon = 'pi pi-times';
1226
+ this._iconPosition = 'left';
1227
+ this._styleClass = new ButtonStyleBuilder();
1228
+ }
1229
+ withLabel(label) {
1230
+ this._label = label;
1231
+ return this;
1231
1232
  }
1232
1233
  withIcon(icon) {
1233
1234
  this._icon = icon;
1234
1235
  return this;
1235
1236
  }
1236
- withTitle(title) {
1237
- this._title = title;
1237
+ withIconPosition(iconPosition) {
1238
+ this._iconPosition = iconPosition;
1238
1239
  return this;
1239
1240
  }
1240
- withMessage(message) {
1241
- this._message = message;
1241
+ withStyleClass(style) {
1242
+ this._styleClass = style;
1242
1243
  return this;
1243
1244
  }
1244
- withAcceptLabel(acceptLabel) {
1245
- this._acceptLabel = acceptLabel;
1245
+ withBadge(badge) {
1246
+ this._badge = badge;
1247
+ return this;
1248
+ }
1249
+ withTooltip(tooltip) {
1250
+ this._tooltip = tooltip;
1246
1251
  return this;
1247
1252
  }
1248
- withAcceptIcon(acceptIcon) {
1249
- this._acceptIcon = acceptIcon;
1253
+ get label() {
1254
+ return this._label;
1255
+ }
1256
+ get icon() {
1257
+ return this._icon;
1258
+ }
1259
+ get iconPosition() {
1260
+ return this._iconPosition;
1261
+ }
1262
+ get styleClass() {
1263
+ return this._styleClass;
1264
+ }
1265
+ get badge() {
1266
+ return this._badge;
1267
+ }
1268
+ get tooltip() {
1269
+ return this._tooltip;
1270
+ }
1271
+ copy() {
1272
+ const descriptor = new ActionButtonDescriptor();
1273
+ descriptor._label = this._label;
1274
+ descriptor._icon = this._icon;
1275
+ descriptor._iconPosition = this._iconPosition;
1276
+ descriptor._styleClass = this._styleClass;
1277
+ descriptor._badge = this._badge;
1278
+ descriptor._tooltip = this._tooltip;
1279
+ return descriptor;
1280
+ }
1281
+ }
1282
+
1283
+ class ActionConfirmationDialogDescriptor {
1284
+ constructor() {
1285
+ this._closeOnEscape = true; // Defines if dialog closes when esc key is pressed.
1286
+ this._closable = true; // Defines if dialog is closable.
1287
+ this._acceptButton = new ActionButtonDescriptor().withIcon('pi pi-check').withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Default));
1288
+ this._rejectButton = new ActionButtonDescriptor().withIcon('pi pi-times').withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Default).withTextButton());
1289
+ this._icon = 'pi pi-exclamation-triangle';
1290
+ }
1291
+ withIcon(icon) {
1292
+ this._icon = icon;
1250
1293
  return this;
1251
1294
  }
1252
- withAcceptButtonStyle(buttonStyle) {
1253
- this._acceptButtonStyle = buttonStyle;
1295
+ withTitle(title) {
1296
+ this._title = title;
1254
1297
  return this;
1255
1298
  }
1256
- withRejectLabel(rejectLabel) {
1257
- this._rejectLabel = rejectLabel;
1299
+ withMessage(message) {
1300
+ this._message = message;
1258
1301
  return this;
1259
1302
  }
1260
- withRejectIcon(rejectIcon) {
1261
- this._rejectIcon = rejectIcon;
1303
+ withAcceptButton(actionButtonDescriptor) {
1304
+ this._acceptButton = actionButtonDescriptor;
1262
1305
  return this;
1263
1306
  }
1264
- withRejectButtonStyle(buttonStyle) {
1265
- this._rejectButtonStyle = buttonStyle;
1307
+ withRejectButton(actionButtonDescriptor) {
1308
+ this._rejectButton = actionButtonDescriptor;
1266
1309
  return this;
1267
1310
  }
1268
1311
  /**
@@ -1294,24 +1337,6 @@ class ActionConfirmationDialogDescriptor {
1294
1337
  get message() {
1295
1338
  return this._message;
1296
1339
  }
1297
- get acceptLabel() {
1298
- return this._acceptLabel;
1299
- }
1300
- get acceptIcon() {
1301
- return this._acceptIcon;
1302
- }
1303
- get acceptButtonStyle() {
1304
- return this._acceptButtonStyle;
1305
- }
1306
- get rejectLabel() {
1307
- return this._rejectLabel;
1308
- }
1309
- get rejectIcon() {
1310
- return this._rejectIcon;
1311
- }
1312
- get rejectButtonStyle() {
1313
- return this._rejectButtonStyle;
1314
- }
1315
1340
  get closeOnEscape() {
1316
1341
  return this._closeOnEscape;
1317
1342
  }
@@ -1321,6 +1346,12 @@ class ActionConfirmationDialogDescriptor {
1321
1346
  get runConfirmationConfigMapFn() {
1322
1347
  return this._runConfirmationConfigMapFn;
1323
1348
  }
1349
+ get acceptButton() {
1350
+ return this._acceptButton;
1351
+ }
1352
+ get rejectButton() {
1353
+ return this._rejectButton;
1354
+ }
1324
1355
  }
1325
1356
 
1326
1357
  class ActionDescriptor {
@@ -1328,12 +1359,12 @@ class ActionDescriptor {
1328
1359
  this._type = ActionTypeEnum.Direct;
1329
1360
  this._activationTrigger = ActionActivationTriggerEnum.OnClick;
1330
1361
  this._position = ActionPositionEnum.ToolbarRight;
1331
- this._level = ActionLevelEnum.Default;
1362
+ this._level = StyleLevelEnum.Default;
1332
1363
  this._routeUrl = null;
1333
1364
  this._hasRunNotificationSuccess = true;
1334
1365
  this._hasRunNotificationError = true;
1335
1366
  //button
1336
- this._buttonDescriptor = new ButtonDescriptor();
1367
+ this._button = new ActionButtonDescriptor();
1337
1368
  // multiple row selection
1338
1369
  this._hasItemsSelection = false;
1339
1370
  this._model = model;
@@ -1409,7 +1440,7 @@ class ActionDescriptor {
1409
1440
  return this._actionNameLong;
1410
1441
  }
1411
1442
  get className() {
1412
- return this.buttonDescriptor.styleClass.customClass;
1443
+ return this.button.styleClass.customClass;
1413
1444
  }
1414
1445
  get runConfirmationDialogDescriptor() {
1415
1446
  return this._runConfirmationDialogDescriptor;
@@ -1450,8 +1481,8 @@ class ActionDescriptor {
1450
1481
  get hasItemsSelection() {
1451
1482
  return this._hasItemsSelection;
1452
1483
  }
1453
- get buttonDescriptor() {
1454
- return this._buttonDescriptor;
1484
+ get button() {
1485
+ return this._button;
1455
1486
  }
1456
1487
  withDataProvider(dataProvider) {
1457
1488
  this._dataProvider = dataProvider;
@@ -1489,9 +1520,10 @@ class ActionDescriptor {
1489
1520
  * creates confirmation action with default style based on action descriptor
1490
1521
  */
1491
1522
  withRunConfirmation() {
1523
+ var _a;
1492
1524
  this._runConfirmationDialogDescriptor = new ActionConfirmationDialogDescriptor();
1493
- this._runConfirmationDialogDescriptor.acceptButtonStyle.withActionLevel(this._level);
1494
- this._runConfirmationDialogDescriptor.rejectButtonStyle.withActionLevel(this._level);
1525
+ this._runConfirmationDialogDescriptor.acceptButton.styleClass.withActionLevel(this._level);
1526
+ (_a = this._runConfirmationDialogDescriptor.rejectButton) === null || _a === void 0 ? void 0 : _a.styleClass.withActionLevel(this._level);
1495
1527
  return this._runConfirmationDialogDescriptor;
1496
1528
  }
1497
1529
  /**
@@ -1533,8 +1565,12 @@ class ActionDescriptor {
1533
1565
  this._permissionsRouteType = permissionsRouteType;
1534
1566
  return this;
1535
1567
  }
1536
- withButtonDescriptor(buttonDescriptor) {
1537
- this._buttonDescriptor = buttonDescriptor;
1568
+ withButtonDescriptor(button) {
1569
+ this._button = button;
1570
+ return this;
1571
+ }
1572
+ withButton(label, icon = null, styleLevel = StyleLevelEnum.Default, styleText = false) {
1573
+ this._button = new ActionButtonDescriptor().withLabel(label).withIcon(icon).withStyleClass(new ButtonStyleBuilder(styleLevel).withTextButton(styleText));
1538
1574
  return this;
1539
1575
  }
1540
1576
  withItemsSelection(hasSelection = true) {
@@ -1556,7 +1592,7 @@ class ActionEditorDescriptor extends ActionDescriptor {
1556
1592
  this._editorActions = [];
1557
1593
  this._editorTitle = undefined;
1558
1594
  this._hasFetchNotificationSuccess = false;
1559
- this._dialogSize = ActionEditorDialogSizeEnum.Normal;
1595
+ this._dialogSize = StyleSizeEnum.Normal;
1560
1596
  this._type = ActionTypeEnum.Editor;
1561
1597
  this._editorDescriptor = editorDescriptor;
1562
1598
  this._editorActions.push(ActionEditorSubmitDescriptor.forPrimary(this), ActionEditorSubmitDescriptor.forSecondary(this));
@@ -1622,7 +1658,7 @@ class ActionEditorDescriptor extends ActionDescriptor {
1622
1658
  this._dataProvider = new EditorDataProvider(this._model.type, serviceType);
1623
1659
  return this;
1624
1660
  }
1625
- withDialogSize(size = ActionEditorDialogSizeEnum.Normal) {
1661
+ withDialogSize(size = StyleSizeEnum.Normal) {
1626
1662
  this._dialogSize = size;
1627
1663
  return this;
1628
1664
  }
@@ -1666,7 +1702,7 @@ class ActionEditorSubmitDescriptor extends ActionDescriptor {
1666
1702
  this._editorAction = editorAction;
1667
1703
  this._submitType = submitType;
1668
1704
  this._position = ActionPositionEnum.FooterRight;
1669
- this.buttonDescriptor.styleClass.withActionLevel(editorAction.level).withTextButton();
1705
+ this.button.styleClass.withActionLevel(editorAction.level).withTextButton();
1670
1706
  }
1671
1707
  /**
1672
1708
  * creates primary action with primary button style
@@ -1674,7 +1710,7 @@ class ActionEditorSubmitDescriptor extends ActionDescriptor {
1674
1710
  * @param submitType
1675
1711
  */
1676
1712
  static forPrimary(editorAction, submitType = ActionEditorSubmitTypeEnum.Submit) {
1677
- return new ActionEditorSubmitDescriptor(editorAction, submitType).withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder()));
1713
+ return new ActionEditorSubmitDescriptor(editorAction, submitType).withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder()));
1678
1714
  }
1679
1715
  /**
1680
1716
  * creates secondary button with text button style
@@ -1682,7 +1718,7 @@ class ActionEditorSubmitDescriptor extends ActionDescriptor {
1682
1718
  * @param submitType
1683
1719
  */
1684
1720
  static forSecondary(editorAction, submitType = ActionEditorSubmitTypeEnum.Cancel) {
1685
- return new ActionEditorSubmitDescriptor(editorAction, submitType).withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withTextButton()));
1721
+ return new ActionEditorSubmitDescriptor(editorAction, submitType).withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withTextButton()));
1686
1722
  }
1687
1723
  get submitType() {
1688
1724
  return this._submitType;
@@ -1716,8 +1752,8 @@ class ActionEditorAddDescriptor extends ActionEditorDescriptor {
1716
1752
  this.withPosition(ActionPositionEnum.ToolbarLeft);
1717
1753
  this.withRouteTrigger('add');
1718
1754
  this.withSubmitFunction(ActionDataProviderUtil.runCreateOrFail);
1719
- this.buttonDescriptor.styleClass.withActionLevel(ActionLevelEnum.Success);
1720
- this.buttonDescriptor.withIcon('pi pi-plus');
1755
+ this.button.styleClass.withActionLevel(StyleLevelEnum.Success);
1756
+ this.button.withIcon('pi pi-plus');
1721
1757
  this.withPermissionsRouteType(Permissions.ActionTypes.ADD);
1722
1758
  }
1723
1759
  withServiceType(serviceType) {
@@ -1744,7 +1780,7 @@ class ActionEditorEditDescriptor extends ActionEditorDescriptor {
1744
1780
  this.withFetchFunction(ActionDataProviderUtil.runFetchOrFail);
1745
1781
  this.withSubmitFunction(ActionDataProviderUtil.runUpdateOrFail);
1746
1782
  this.withPermissionsRouteType(Permissions.ActionTypes.EDIT);
1747
- this.buttonDescriptor.withLabel(null).withIcon('pi pi-pencil');
1783
+ this.button.withLabel(null).withIcon('pi pi-pencil');
1748
1784
  }
1749
1785
  withServiceType(serviceType) {
1750
1786
  return this.withServiceSubmitFunction(serviceType);
@@ -1767,10 +1803,10 @@ class ActionDeleteDescriptor extends ActionDescriptor {
1767
1803
  super(model, ActionDeleteDescriptor.ACTION_NAME);
1768
1804
  this.withPosition(ActionPositionEnum.RowInline);
1769
1805
  this.withRunFunction(ActionDataProviderUtil.runDeleteOrFail);
1770
- this.buttonDescriptor.styleClass.withActionLevel(ActionLevelEnum.Danger);
1806
+ this.button.styleClass.withActionLevel(StyleLevelEnum.Danger);
1771
1807
  this.withRunConfirmation();
1772
1808
  this.withPermissionsRouteType(Permissions.ActionTypes.DELETE);
1773
- this.buttonDescriptor.withLabel(null).withIcon('pi pi-trash');
1809
+ this.button.withLabel(null).withIcon('pi pi-trash');
1774
1810
  }
1775
1811
  withServiceType(serviceType) {
1776
1812
  return this.withServiceDeleteFunction(serviceType);
@@ -2238,8 +2274,12 @@ class FilterLookupDescriptor extends FilterDescriptor {
2238
2274
  this._defaultValue = filterValue;
2239
2275
  this._defaultValueTo = filterValueTo;
2240
2276
  this._defaultFilterMatchMode = filterMatchMode;
2241
- if (Array.isArray(filterValue) && !this.multiselect) {
2242
- throw new Error('Array default filter can only be used with a multiselect filter.');
2277
+ if (filterMatchMode && this._matchModes && this._matchModes.indexOf(filterMatchMode) < 0) {
2278
+ this._defaultFilterMatchMode = undefined;
2279
+ console.warn(`Default filter match mode '${filterMatchMode}' could not be assigned for property ${this._property}.`);
2280
+ }
2281
+ if ((Array.isArray(filterValue) && !this.multiselect) || (this.multiselect && !Array.isArray(filterValue))) {
2282
+ throw new Error(`Default value not in correct format for property ${this._property}.`);
2243
2283
  }
2244
2284
  return this;
2245
2285
  }
@@ -4619,116 +4659,6 @@ class TableviewDynamicDescriptor extends TableviewDescriptor {
4619
4659
  }
4620
4660
  }
4621
4661
 
4622
- class ButtonDescriptor {
4623
- constructor() {
4624
- this._disabled = false;
4625
- this._iconPosition = 'left';
4626
- this._styleClass = new ButtonStyleBuilder();
4627
- this._loading = false;
4628
- this._loadingIcon = 'pi pi-spinner pi-spin';
4629
- }
4630
- withLabel(label) {
4631
- this._label = label;
4632
- return this;
4633
- }
4634
- withDisabled(disabled = true) {
4635
- this._disabled = disabled;
4636
- return this;
4637
- }
4638
- withIcon(icon) {
4639
- this._icon = icon;
4640
- return this;
4641
- }
4642
- withIconPosition(iconPosition) {
4643
- this._iconPosition = iconPosition;
4644
- return this;
4645
- }
4646
- withStyleClass(style) {
4647
- this._styleClass = style;
4648
- return this;
4649
- }
4650
- withOnClick(onClick) {
4651
- this._onClick = onClick;
4652
- return this;
4653
- }
4654
- withOnFocus(onFocus) {
4655
- this._onFocus = onFocus;
4656
- return this;
4657
- }
4658
- withOnBlur(onBlur) {
4659
- this._onBlur = onBlur;
4660
- return this;
4661
- }
4662
- withLoading(loading = true) {
4663
- this._loading = loading;
4664
- return this;
4665
- }
4666
- withLoadingIcon(loadingIcon) {
4667
- this._loadingIcon = loadingIcon;
4668
- return this;
4669
- }
4670
- withBadge(badge) {
4671
- this._badge = badge;
4672
- return this;
4673
- }
4674
- withTooltip(tooltip) {
4675
- this._tooltip = tooltip;
4676
- return this;
4677
- }
4678
- get label() {
4679
- return this._label;
4680
- }
4681
- get disabled() {
4682
- return this._disabled;
4683
- }
4684
- get icon() {
4685
- return this._icon;
4686
- }
4687
- get iconPosition() {
4688
- return this._iconPosition;
4689
- }
4690
- get styleClass() {
4691
- return this._styleClass;
4692
- }
4693
- get onClick() {
4694
- return this._onClick;
4695
- }
4696
- get onFocus() {
4697
- return this._onFocus;
4698
- }
4699
- get onBlur() {
4700
- return this._onBlur;
4701
- }
4702
- get loading() {
4703
- return this._loading;
4704
- }
4705
- get loadingIcon() {
4706
- return this._loadingIcon;
4707
- }
4708
- get badge() {
4709
- return this._badge;
4710
- }
4711
- get tooltip() {
4712
- return this._tooltip;
4713
- }
4714
- copy() {
4715
- const descriptor = new ButtonDescriptor();
4716
- descriptor._label = this._label;
4717
- descriptor._disabled = this._disabled;
4718
- descriptor._icon = this._icon;
4719
- descriptor._iconPosition = this._iconPosition;
4720
- descriptor._styleClass = this._styleClass;
4721
- descriptor._onClick = this._onClick;
4722
- descriptor._onFocus = this._onFocus;
4723
- descriptor._onBlur = this._onBlur;
4724
- descriptor._loading = this._loading;
4725
- descriptor._loadingIcon = this._loadingIcon;
4726
- descriptor._badge = this._badge;
4727
- descriptor._tooltip = this._tooltip;
4728
- return descriptor;
4729
- }
4730
- }
4731
-
4732
4662
  class EditorFormlyUtil {
4733
4663
  static createFormlyConfigFromDescriptor(descriptor) {
4734
4664
  const fields = [];
@@ -6949,7 +6879,7 @@ class MngActionExecutorService {
6949
6879
  * @return Action context for run function.
6950
6880
  */
6951
6881
  runAction(action, parameters, dataProvider, instance, previousActionInstance) {
6952
- var _a, _b, _c, _d, _e, _f;
6882
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6953
6883
  if (!instance) {
6954
6884
  // create new instance if non provided
6955
6885
  instance = new ActionInstance(action, ActionInstanceStateEnum.ActivationEnd, this.debug);
@@ -6967,33 +6897,35 @@ class MngActionExecutorService {
6967
6897
  key: srcConfirmComponent.getConfirmationServiceInstanceKey(action),
6968
6898
  icon: confirmationDescriptor.icon,
6969
6899
  acceptVisible: true,
6970
- acceptIcon: (_a = confirmationDescriptor.acceptIcon) !== null && _a !== void 0 ? _a : undefined,
6971
- acceptButtonStyleClass: confirmationDescriptor.acceptButtonStyle.getButtonClass(),
6900
+ acceptIcon: (_a = confirmationDescriptor.acceptButton.icon) !== null && _a !== void 0 ? _a : undefined,
6901
+ acceptButtonStyleClass: confirmationDescriptor.acceptButton.styleClass.build(),
6972
6902
  rejectVisible: true,
6973
- rejectIcon: (_b = confirmationDescriptor.rejectIcon) !== null && _b !== void 0 ? _b : undefined,
6974
- rejectButtonStyleClass: confirmationDescriptor.rejectButtonStyle.getButtonClass(),
6903
+ rejectIcon: (_c = (_b = confirmationDescriptor.rejectButton) === null || _b === void 0 ? void 0 : _b.icon) !== null && _c !== void 0 ? _c : undefined,
6904
+ rejectButtonStyleClass: (_d = confirmationDescriptor.rejectButton) === null || _d === void 0 ? void 0 : _d.styleClass.build(),
6975
6905
  closeOnEscape: confirmationDescriptor.closeOnEscape
6976
6906
  };
6977
6907
  if (confirmationDescriptor.title !== null) {
6978
- confirmParams.header = (_c = I18nUtils.Action.get(this.translate, action, 'confirm.title', confirmationDescriptor.title, item, 'general.confirmation')) !== null && _c !== void 0 ? _c : undefined;
6908
+ confirmParams.header = (_e = I18nUtils.Action.get(this.translate, action, 'confirm.title', confirmationDescriptor.title, item, 'general.confirmation')) !== null && _e !== void 0 ? _e : undefined;
6979
6909
  }
6980
6910
  if (confirmationDescriptor.message !== null) {
6981
6911
  confirmParams.message =
6982
- (_d = I18nUtils.Action.get(this.translate, action, 'confirm.message', confirmationDescriptor.message, StringUtil.escapeHtmlAny(item), 'general.confirmation')) !== null && _d !== void 0 ? _d : undefined;
6912
+ (_f = I18nUtils.Action.get(this.translate, action, 'confirm.message', confirmationDescriptor.message, StringUtil.escapeHtmlAny(item), 'general.confirmation')) !== null && _f !== void 0 ? _f : undefined;
6983
6913
  }
6984
- if (confirmationDescriptor.acceptLabel !== null) {
6985
- confirmParams.acceptLabel = (_e = I18nUtils.Action.get(this.translate, action, 'confirm.accept', confirmationDescriptor.acceptLabel, item, 'general.yes')) !== null && _e !== void 0 ? _e : undefined;
6914
+ if (confirmationDescriptor.acceptButton.label !== null) {
6915
+ confirmParams.acceptLabel =
6916
+ (_g = I18nUtils.Action.get(this.translate, action, 'confirm.accept', confirmationDescriptor.acceptButton.label, item, 'general.yes')) !== null && _g !== void 0 ? _g : undefined;
6986
6917
  }
6987
- if (confirmationDescriptor.acceptIcon !== null) {
6988
- confirmParams.acceptIcon = confirmationDescriptor.acceptIcon;
6918
+ if (confirmationDescriptor.acceptButton.icon !== null) {
6919
+ confirmParams.acceptIcon = confirmationDescriptor.acceptButton.icon;
6989
6920
  }
6990
- if (confirmationDescriptor.rejectIcon !== null) {
6991
- confirmParams.rejectIcon = confirmationDescriptor.rejectIcon;
6921
+ if (((_h = confirmationDescriptor.rejectButton) === null || _h === void 0 ? void 0 : _h.icon) !== null) {
6922
+ confirmParams.rejectIcon = (_j = confirmationDescriptor.rejectButton) === null || _j === void 0 ? void 0 : _j.icon;
6992
6923
  }
6993
- if (confirmationDescriptor.rejectLabel !== null) {
6994
- confirmParams.rejectLabel = (_f = I18nUtils.Action.get(this.translate, action, 'confirm.reject', confirmationDescriptor.rejectLabel, item, 'general.no')) !== null && _f !== void 0 ? _f : undefined;
6924
+ if (((_k = confirmationDescriptor.rejectButton) === null || _k === void 0 ? void 0 : _k.label) !== null) {
6925
+ confirmParams.rejectLabel =
6926
+ (_m = I18nUtils.Action.get(this.translate, action, 'confirm.reject', (_l = confirmationDescriptor.rejectButton) === null || _l === void 0 ? void 0 : _l.label, item, 'general.no')) !== null && _m !== void 0 ? _m : undefined;
6995
6927
  }
6996
- if (confirmationDescriptor.rejectLabel === null && confirmationDescriptor.rejectIcon === null) {
6928
+ if (confirmationDescriptor.rejectButton == null || (confirmationDescriptor.rejectButton.label === null && confirmationDescriptor.rejectButton.icon === null)) {
6997
6929
  confirmParams.rejectVisible = false;
6998
6930
  }
6999
6931
  confirmParams.accept = () => {
@@ -7042,19 +6974,19 @@ class MngActionExecutorService {
7042
6974
  dialogClassName = (_a = action.dialogClassName) !== null && _a !== void 0 ? _a : 'mng-action-editor-dialog';
7043
6975
  let dialogSizeClassName = '';
7044
6976
  switch (action.dialogSize) {
7045
- case ActionEditorDialogSizeEnum.ExtraSmall:
6977
+ case StyleSizeEnum.ExtraSmall:
7046
6978
  dialogSizeClassName = 'mng-action-editor-dialog-xs';
7047
6979
  break;
7048
- case ActionEditorDialogSizeEnum.Small:
6980
+ case StyleSizeEnum.Small:
7049
6981
  dialogSizeClassName = 'mng-action-editor-dialog-sm';
7050
6982
  break;
7051
- case ActionEditorDialogSizeEnum.Large:
6983
+ case StyleSizeEnum.Large:
7052
6984
  dialogSizeClassName = 'mng-action-editor-dialog-lg';
7053
6985
  break;
7054
- case ActionEditorDialogSizeEnum.ExtraLarge:
6986
+ case StyleSizeEnum.ExtraLarge:
7055
6987
  dialogSizeClassName = 'mng-action-editor-dialog-xl';
7056
6988
  break;
7057
- case ActionEditorDialogSizeEnum.Normal:
6989
+ case StyleSizeEnum.Normal:
7058
6990
  default:
7059
6991
  break;
7060
6992
  }
@@ -7708,7 +7640,7 @@ class MngActionComponent {
7708
7640
  ngOnInit() {
7709
7641
  var _a, _b;
7710
7642
  this.viewContainer = (_b = (_a = this.viewContainerInit) !== null && _a !== void 0 ? _a : this.viewContainerService) !== null && _b !== void 0 ? _b : undefined;
7711
- this.hasNoTitle = this.action.buttonDescriptor.label === null;
7643
+ this.hasNoTitle = this.action.button.label === null;
7712
7644
  this.isEnabledSubject.next(true);
7713
7645
  this.isVisibleSubject.next(true);
7714
7646
  this.isPermittedSubject.next(true);
@@ -7731,7 +7663,7 @@ class MngActionComponent {
7731
7663
  this.isHostHidden = !isVisible || !isPermitted;
7732
7664
  });
7733
7665
  this.subscriptions.push(hostVisibilitySubscription);
7734
- this.buttonClass = this.action.buttonDescriptor.styleClass.getButtonClass(this.hasNoTitle);
7666
+ this.buttonClass = this.action.button.styleClass.build(this.action.button.label == null || this.action.button.label.length == 0);
7735
7667
  }
7736
7668
  ngOnChanges(changes) {
7737
7669
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -7822,21 +7754,21 @@ class MngActionComponent {
7822
7754
  }
7823
7755
  if (!this.hasNoTitle) {
7824
7756
  (_f = this.labelSubscription) === null || _f === void 0 ? void 0 : _f.unsubscribe();
7825
- this.labelSubscription = I18nUtils.Action.getAsync(this.translate, this.action, 'title', (_g = this.action.buttonDescriptor.label) !== null && _g !== void 0 ? _g : undefined, this.item).subscribe({
7757
+ this.labelSubscription = I18nUtils.Action.getAsync(this.translate, this.action, 'title', (_g = this.action.button.label) !== null && _g !== void 0 ? _g : undefined, this.item).subscribe({
7826
7758
  next: i18n => this.labelSubject.next(i18n)
7827
7759
  });
7828
7760
  }
7829
7761
  (_h = this.tooltipSubscription) === null || _h === void 0 ? void 0 : _h.unsubscribe();
7830
- this.tooltipSubscription = I18nUtils.Action.getAsync(this.translate, this.action, 'tooltip', this.action.buttonDescriptor.tooltip, this.item).subscribe({
7762
+ this.tooltipSubscription = I18nUtils.Action.getAsync(this.translate, this.action, 'tooltip', this.action.button.tooltip, this.item).subscribe({
7831
7763
  next: i18n => this.tooltipSubject.next(i18n)
7832
7764
  });
7833
7765
  }
7834
7766
  }
7835
7767
  MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngActionComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1$2.TranslateService }, { token: MngAuthorizationService }, { token: MngActionExecutorService }, { token: i2.ConfirmationService }, { token: MngViewContainerComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
7836
- MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData", queryParam: "queryParam", dataProvider: "dataProvider", inputDisabled: ["disabled", "inputDisabled"], inputLoading: ["loading", "inputLoading"], viewContainerInit: ["viewContainer", "viewContainerInit"], selectedItems: "selectedItems" }, outputs: { finishEventEmitter: "finish" }, host: { properties: { "class": "this.hostClass", "class.m-0": "this.isHostHidden" } }, providers: [ConfirmationService], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"($isVisible | async) && ($isPermitted | async)\">\n <a\n *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [icon]=\"$any(action.buttonDescriptor.icon)\"\n [href]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.url | parametrize: itemId:item:actionData)\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\n >{{ ($label | async) ?? '' }}</a\n >\n <ng-template #routerLink>\n <a\n *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [icon]=\"$any(action.buttonDescriptor.icon)\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.pathSegments | parametrize: itemId:item:actionData)\"\n [queryParams]=\"actionLink.queryParams | parametrize: itemId:item:actionData\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\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.buttonDescriptor.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]=\"buttonClass\"></button>\n </ng-template>\n <p-confirmDialog\n *ngIf=\"action.runConfirmationDialogDescriptor\"\n [key]=\"action.actionName + '_' + cmpId\"\n [baseZIndex]=\"50\"\n appendTo=\"body\"\n [closable]=\"action.runConfirmationDialogDescriptor.closable\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i9.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"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: MngParametrizePipe, name: "parametrize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7768
+ MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData", queryParam: "queryParam", dataProvider: "dataProvider", inputDisabled: ["disabled", "inputDisabled"], inputLoading: ["loading", "inputLoading"], viewContainerInit: ["viewContainer", "viewContainerInit"], selectedItems: "selectedItems" }, outputs: { finishEventEmitter: "finish" }, host: { properties: { "class": "this.hostClass", "class.m-0": "this.isHostHidden" } }, providers: [ConfirmationService], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"($isVisible | async) && ($isPermitted | async)\">\n <a\n *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [icon]=\"$any(action.button.icon)\"\n [href]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.url | parametrize: itemId:item:actionData)\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\n >{{ ($label | async) ?? '' }}</a\n >\n <ng-template #routerLink>\n <a\n *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [icon]=\"$any(action.button.icon)\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.pathSegments | parametrize: itemId:item:actionData)\"\n [queryParams]=\"actionLink.queryParams | parametrize: itemId:item:actionData\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\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.button.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]=\"buttonClass\"></button>\n </ng-template>\n <p-confirmDialog\n *ngIf=\"action.runConfirmationDialogDescriptor\"\n [key]=\"action.actionName + '_' + cmpId\"\n [baseZIndex]=\"50\"\n appendTo=\"body\"\n [closable]=\"action.runConfirmationDialogDescriptor.closable\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i9.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"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: MngParametrizePipe, name: "parametrize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7837
7769
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngActionComponent, decorators: [{
7838
7770
  type: Component,
7839
- args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfirmationService], template: "<ng-container *ngIf=\"($isVisible | async) && ($isPermitted | async)\">\n <a\n *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [icon]=\"$any(action.buttonDescriptor.icon)\"\n [href]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.url | parametrize: itemId:item:actionData)\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\n >{{ ($label | async) ?? '' }}</a\n >\n <ng-template #routerLink>\n <a\n *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [icon]=\"$any(action.buttonDescriptor.icon)\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.pathSegments | parametrize: itemId:item:actionData)\"\n [queryParams]=\"actionLink.queryParams | parametrize: itemId:item:actionData\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\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.buttonDescriptor.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]=\"buttonClass\"></button>\n </ng-template>\n <p-confirmDialog\n *ngIf=\"action.runConfirmationDialogDescriptor\"\n [key]=\"action.actionName + '_' + cmpId\"\n [baseZIndex]=\"50\"\n appendTo=\"body\"\n [closable]=\"action.runConfirmationDialogDescriptor.closable\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"] }]
7771
+ args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfirmationService], template: "<ng-container *ngIf=\"($isVisible | async) && ($isPermitted | async)\">\n <a\n *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [icon]=\"$any(action.button.icon)\"\n [href]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.url | parametrize: itemId:item:actionData)\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\n >{{ ($label | async) ?? '' }}</a\n >\n <ng-template #routerLink>\n <a\n *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [icon]=\"$any(action.button.icon)\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false) ? null : (actionLink.pathSegments | parametrize: itemId:item:actionData)\"\n [queryParams]=\"actionLink.queryParams | parametrize: itemId:item:actionData\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n [class]=\"buttonClass\"\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.button.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]=\"buttonClass\"></button>\n </ng-template>\n <p-confirmDialog\n *ngIf=\"action.runConfirmationDialogDescriptor\"\n [key]=\"action.actionName + '_' + cmpId\"\n [baseZIndex]=\"50\"\n appendTo=\"body\"\n [closable]=\"action.runConfirmationDialogDescriptor.closable\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"] }]
7840
7772
  }], ctorParameters: function () {
7841
7773
  return [{ type: i1.ActivatedRoute }, { type: i1$2.TranslateService }, { type: MngAuthorizationService }, { type: MngActionExecutorService }, { type: i2.ConfirmationService }, { type: MngViewContainerComponentService, decorators: [{
7842
7774
  type: Optional
@@ -8817,9 +8749,12 @@ class MngDateRangeComponent {
8817
8749
  this.fromCtrl.setValue(startDate);
8818
8750
  this.toCtrl.setValue(endDate);
8819
8751
  }
8820
- else {
8752
+ else if (startDate || endDate) {
8821
8753
  this.dateRangeCtrl.setValue([startDate, endDate]);
8822
8754
  }
8755
+ else {
8756
+ this.dateRangeCtrl.setValue(null);
8757
+ }
8823
8758
  }
8824
8759
  onValueChange() {
8825
8760
  if (this.showTime) {
@@ -8907,11 +8842,11 @@ class MngActionEditorComponent {
8907
8842
  this.setTitle();
8908
8843
  for (const action of this.action.editorActions) {
8909
8844
  if (action instanceof ActionEditorSubmitDescriptor) {
8910
- if (typeof action.buttonDescriptor.icon === 'undefined') {
8911
- action.buttonDescriptor.withIcon(action.submitType === ActionEditorSubmitTypeEnum.Submit ? 'pi pi-check' : 'pi pi-times');
8845
+ if (typeof action.button.icon === 'undefined') {
8846
+ action.button.withIcon(action.submitType === ActionEditorSubmitTypeEnum.Submit ? 'pi pi-check' : 'pi pi-times');
8912
8847
  }
8913
- if (typeof action.buttonDescriptor.label === 'undefined') {
8914
- action.buttonDescriptor.withLabel(action.submitType === ActionEditorSubmitTypeEnum.Submit ? 'general.save' : this.isDialog ? 'general.close' : 'general.cancel');
8848
+ if (typeof action.button.label === 'undefined') {
8849
+ action.button.withLabel(action.submitType === ActionEditorSubmitTypeEnum.Submit ? 'general.save' : this.isDialog ? 'general.close' : 'general.cancel');
8915
8850
  }
8916
8851
  // assign run operations
8917
8852
  action.withRunNotificationSuccess(undefined, undefined, false);
@@ -9081,50 +9016,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
9081
9016
  args: [MngFormEditorComponent]
9082
9017
  }] } });
9083
9018
 
9084
- class MngButtonComponent {
9085
- constructor() {
9086
- this.clickEmitter = new EventEmitter();
9087
- this.focusEmitter = new EventEmitter();
9088
- this.blurEmitter = new EventEmitter();
9089
- this.buttonClass = 'p-button';
9090
- }
9091
- ngOnInit() {
9092
- this.buttonClass = `${this.descriptor.styleClass.getButtonClass(this.descriptor.label == null)}`;
9093
- }
9094
- onClick(event) {
9095
- var _a, _b;
9096
- this.clickEmitter.next(event);
9097
- (_b = (_a = this.descriptor).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
9098
- }
9099
- onFocus(event) {
9100
- var _a, _b;
9101
- this.focusEmitter.next(event);
9102
- (_b = (_a = this.descriptor).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, event);
9103
- }
9104
- onBlur(event) {
9105
- var _a, _b;
9106
- this.blurEmitter.next(event);
9107
- (_b = (_a = this.descriptor).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, event);
9108
- }
9109
- }
9110
- MngButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9111
- MngButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngButtonComponent, selector: "mng-button", inputs: { descriptor: "descriptor" }, outputs: { clickEmitter: "buttonClick", focusEmitter: "buttonFocus", blurEmitter: "buttonBlur" }, ngImport: i0, template: "<p-button\n #button\n type=\"button\"\n [label]=\"$any(descriptor.label) | translate\"\n [icon]=\"$any(descriptor.icon)\"\n [iconPos]=\"$any(descriptor.iconPosition)\"\n [loading]=\"$any(descriptor.loading)\"\n [loadingIcon]=\"$any(descriptor.loadingIcon)\"\n [disabled]=\"$any(descriptor.disabled)\"\n [styleClass]=\"buttonClass\"\n [pTooltip]=\"$any(descriptor.tooltip) | translate\"\n [badge]=\"$any(descriptor.badge)\"\n (onClick)=\"onClick($event)\"\n (onBlur)=\"onBlur($event)\"\n (onFocus)=\"onFocus($event)\"></p-button>\n", dependencies: [{ kind: "directive", type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i4$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngButtonComponent, decorators: [{
9113
- type: Component,
9114
- args: [{ selector: 'mng-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-button\n #button\n type=\"button\"\n [label]=\"$any(descriptor.label) | translate\"\n [icon]=\"$any(descriptor.icon)\"\n [iconPos]=\"$any(descriptor.iconPosition)\"\n [loading]=\"$any(descriptor.loading)\"\n [loadingIcon]=\"$any(descriptor.loadingIcon)\"\n [disabled]=\"$any(descriptor.disabled)\"\n [styleClass]=\"buttonClass\"\n [pTooltip]=\"$any(descriptor.tooltip) | translate\"\n [badge]=\"$any(descriptor.badge)\"\n (onClick)=\"onClick($event)\"\n (onBlur)=\"onBlur($event)\"\n (onFocus)=\"onFocus($event)\"></p-button>\n" }]
9115
- }], propDecorators: { descriptor: [{
9116
- type: Input
9117
- }], clickEmitter: [{
9118
- type: Output,
9119
- args: ['buttonClick']
9120
- }], focusEmitter: [{
9121
- type: Output,
9122
- args: ['buttonFocus']
9123
- }], blurEmitter: [{
9124
- type: Output,
9125
- args: ['buttonBlur']
9126
- }] } });
9127
-
9128
9019
  class MngFormlyFieldAutocompleteComponent extends FieldType {
9129
9020
  constructor() {
9130
9021
  super(...arguments);
@@ -9674,6 +9565,7 @@ class MngTableComponent {
9674
9565
  else {
9675
9566
  this.initializeDataLoadingTriggers();
9676
9567
  }
9568
+ this.queryResultSubscription = this.queryResult$.subscribe(e => (this.queryResult = e));
9677
9569
  }
9678
9570
  ngAfterContentInit() {
9679
9571
  this.templates.forEach(template => {
@@ -9687,6 +9579,9 @@ class MngTableComponent {
9687
9579
  this.showInlineActionsColumn = true;
9688
9580
  }
9689
9581
  break;
9582
+ case 'footer':
9583
+ this.footerTemplate = template.template;
9584
+ break;
9690
9585
  }
9691
9586
  });
9692
9587
  }
@@ -9696,8 +9591,9 @@ class MngTableComponent {
9696
9591
  }
9697
9592
  }
9698
9593
  ngOnDestroy() {
9699
- var _a;
9594
+ var _a, _b;
9700
9595
  (_a = this.dataProviderSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
9596
+ (_b = this.queryResultSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
9701
9597
  this.subscriptions.forEach(s => s.unsubscribe());
9702
9598
  }
9703
9599
  reload(emitEvent = false, resetParams = false) {
@@ -9873,8 +9769,17 @@ class MngTableComponent {
9873
9769
  break;
9874
9770
  }
9875
9771
  }
9772
+ let value = null;
9773
+ if (applyDefaultFilters) {
9774
+ if (f.defaultValueTo && f.defaultValue) {
9775
+ value = [f.defaultValue, f.defaultValueTo];
9776
+ }
9777
+ else if (f.defaultValue) {
9778
+ value = f.defaultValue;
9779
+ }
9780
+ }
9876
9781
  primeFilterMeta[f.property] = {
9877
- value: applyDefaultFilters && f.defaultValue ? f.defaultValue : null,
9782
+ value: value,
9878
9783
  matchMode: matchMode
9879
9784
  };
9880
9785
  });
@@ -9959,10 +9864,10 @@ class MngTableComponent {
9959
9864
  }
9960
9865
  }
9961
9866
  MngTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i1$2.TranslateService }, { token: MngActionExecutorService }, { token: MngViewContainerComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
9962
- MngTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableComponent, selector: "mng-table", inputs: { initialDescriptor: ["descriptor", "initialDescriptor"], items: "items", queryResult: "queryResult", loading: "loading", dataProvider: "dataProvider", useQueryParams: "useQueryParams", selectionMode: "selectionMode", selectionEnabled: "selectionEnabled", actions: "actions", isColumnClickable: "isColumnClickable", viewContainerInit: ["viewContainer", "viewContainerInit"], captionComponent: "captionComponent", columnActionComponent: "columnActionComponent", columnActionMinWidth: "columnActionMinWidth" }, 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 }], usesOnChanges: true, ngImport: i0, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + 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$ | async)\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor?.dataKeyProperty ?? null)\"\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 [selectionMode]=\"$any(selectionEnabled ? selectionMode : null)\"\n [rowHover]=\"descriptor?.hasHover ?? true\"\n [styleClass]=\"className\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\"\n [resizableColumns]=\"true\"\n [autoLayout]=\"true\">\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\" class=\"mng-table-header\" [class]=\"descriptor?.headerClassName\">\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=\"min-width: 36px\"></th>\n <ng-container *ngFor=\"let col of descriptor?.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\" [style.width.%]=\"col.width\" [style.min-width.px]=\"col.minWidth\" [class]=\"col.headerClassName\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n <tr *ngIf=\"descriptor?.filterDisplay === filterDisplayRow && hasColumnFilters\" class=\"mng-column-filter-row\">\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=\"min-width: 36px\"></th>\n <th\n *ngFor=\"let col of descriptor?.columns\"\n [class]=\"(col.filterDescriptor ? 'mng-column-filter-' + col.filterDescriptor.filterType + ' ' : ' ') + col.filterDescriptor?.columnClassName\"\n [style.width.%]=\"col.filterDescriptor?.columnWidth ?? col.width\"\n [style.min-width.px]=\"col.filterDescriptor?.columnMinWidth ?? col.minWidth\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"rowHeight\" [class]=\"descriptor?.rowClassName | mngClassMapPipe: descriptor?.rowClassNameMapFn:item\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\" style=\"width: 3rem\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 3rem\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td\n *ngFor=\"let col of descriptor?.columns\"\n (click)=\"onCellClick($event, col, item, idx)\"\n [class]=\"col.className\"\n [class.clickable]=\"isColumnClickable\"\n [style.width.%]=\"col.width\"\n [style.min-width.px]=\"col.minWidth\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"showInlineActionsColumn\" class=\"column-action text-right\" [style.min-width.px]=\"columnActionMinWidth\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponentOrDefault\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponentOrDefault>\n <span\n *ngIf=\"columnActionComponent; else defaultColumnActions\"\n [mngComponent]=\"columnActionComponent!\"\n (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n <ng-template #defaultColumnActions>\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 [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"(descriptor?.columns?.length ?? 0) + (showInlineActionsColumn ? 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 ?? 0) + (showInlineActionsColumn ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6$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", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "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"] }, { kind: "directive", type: i6$4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$4.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i6$4.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i6$4.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i6$4.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i7$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { kind: "component", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: ["descriptor", "item"] }, { kind: "component", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: ["descriptor", "display"] }, { kind: "component", type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "queryParam", "dataProvider", "disabled", "loading", "viewContainer", "selectedItems"], outputs: ["finish"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: MngI18nPropertyPipe, name: "i18nProperty" }, { kind: "pipe", type: MngClassMapPipe, name: "mngClassMapPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9867
+ MngTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableComponent, selector: "mng-table", inputs: { initialDescriptor: ["descriptor", "initialDescriptor"], items: "items", queryResult: "queryResult", loading: "loading", dataProvider: "dataProvider", useQueryParams: "useQueryParams", selectionMode: "selectionMode", selectionEnabled: "selectionEnabled", actions: "actions", isColumnClickable: "isColumnClickable", viewContainerInit: ["viewContainer", "viewContainerInit"], captionComponent: "captionComponent", columnActionComponent: "columnActionComponent", columnActionMinWidth: "columnActionMinWidth" }, 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 }], usesOnChanges: true, ngImport: i0, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + 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$ | async)\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor?.dataKeyProperty ?? null)\"\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 [selectionMode]=\"$any(selectionEnabled ? selectionMode : null)\"\n [rowHover]=\"descriptor?.hasHover ?? true\"\n [styleClass]=\"className\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\"\n [resizableColumns]=\"true\"\n [autoLayout]=\"true\">\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\" class=\"mng-table-header\" [class]=\"descriptor?.headerClassName\">\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=\"min-width: 36px\"></th>\n <ng-container *ngFor=\"let col of descriptor?.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\" [style.width.%]=\"col.width\" [style.min-width.px]=\"col.minWidth\" [class]=\"col.headerClassName\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n <tr *ngIf=\"descriptor?.filterDisplay === filterDisplayRow && hasColumnFilters\" class=\"mng-column-filter-row\">\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=\"min-width: 36px\"></th>\n <th\n *ngFor=\"let col of descriptor?.columns\"\n [class]=\"(col.filterDescriptor ? 'mng-column-filter-' + col.filterDescriptor.filterType + ' ' : ' ') + col.filterDescriptor?.columnClassName\"\n [style.width.%]=\"col.filterDescriptor?.columnWidth ?? col.width\"\n [style.min-width.px]=\"col.filterDescriptor?.columnMinWidth ?? col.minWidth\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"rowHeight\" [class]=\"descriptor?.rowClassName | mngClassMapPipe: descriptor?.rowClassNameMapFn:item\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\" style=\"width: 3rem\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 3rem\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td\n *ngFor=\"let col of descriptor?.columns\"\n (click)=\"onCellClick($event, col, item, idx)\"\n [class]=\"col.className\"\n [class.clickable]=\"isColumnClickable\"\n [style.width.%]=\"col.width\"\n [style.min-width.px]=\"col.minWidth\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"showInlineActionsColumn\" class=\"column-action text-right\" [style.min-width.px]=\"columnActionMinWidth\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponentOrDefault\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponentOrDefault>\n <span\n *ngIf=\"columnActionComponent; else defaultColumnActions\"\n [mngComponent]=\"columnActionComponent!\"\n (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n <ng-template #defaultColumnActions>\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 [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"(descriptor?.columns?.length ?? 0) + (showInlineActionsColumn ? 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 ?? 0) + (showInlineActionsColumn ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n\n <ng-template *ngIf=\"footerTemplate\" pTemplate=\"summary\">\n <ng-container [ngTemplateOutlet]=\"footerTemplate\" [ngTemplateOutletContext]=\"{queryResult: queryResult}\"></ng-container>\n </ng-template>\n </p-table>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6$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", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "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"] }, { kind: "directive", type: i6$4.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$4.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i6$4.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i6$4.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i6$4.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i7$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { kind: "component", type: MngTableColumnValueComponent, selector: "mng-table-column-value", inputs: ["descriptor", "item"] }, { kind: "component", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: ["descriptor", "display"] }, { kind: "component", type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "queryParam", "dataProvider", "disabled", "loading", "viewContainer", "selectedItems"], outputs: ["finish"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: MngI18nPropertyPipe, name: "i18nProperty" }, { kind: "pipe", type: MngClassMapPipe, name: "mngClassMapPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9963
9868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableComponent, decorators: [{
9964
9869
  type: Component,
9965
- args: [{ selector: 'mng-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + 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$ | async)\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor?.dataKeyProperty ?? null)\"\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 [selectionMode]=\"$any(selectionEnabled ? selectionMode : null)\"\n [rowHover]=\"descriptor?.hasHover ?? true\"\n [styleClass]=\"className\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\"\n [resizableColumns]=\"true\"\n [autoLayout]=\"true\">\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\" class=\"mng-table-header\" [class]=\"descriptor?.headerClassName\">\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=\"min-width: 36px\"></th>\n <ng-container *ngFor=\"let col of descriptor?.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\" [style.width.%]=\"col.width\" [style.min-width.px]=\"col.minWidth\" [class]=\"col.headerClassName\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n <tr *ngIf=\"descriptor?.filterDisplay === filterDisplayRow && hasColumnFilters\" class=\"mng-column-filter-row\">\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=\"min-width: 36px\"></th>\n <th\n *ngFor=\"let col of descriptor?.columns\"\n [class]=\"(col.filterDescriptor ? 'mng-column-filter-' + col.filterDescriptor.filterType + ' ' : ' ') + col.filterDescriptor?.columnClassName\"\n [style.width.%]=\"col.filterDescriptor?.columnWidth ?? col.width\"\n [style.min-width.px]=\"col.filterDescriptor?.columnMinWidth ?? col.minWidth\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"rowHeight\" [class]=\"descriptor?.rowClassName | mngClassMapPipe: descriptor?.rowClassNameMapFn:item\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\" style=\"width: 3rem\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 3rem\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td\n *ngFor=\"let col of descriptor?.columns\"\n (click)=\"onCellClick($event, col, item, idx)\"\n [class]=\"col.className\"\n [class.clickable]=\"isColumnClickable\"\n [style.width.%]=\"col.width\"\n [style.min-width.px]=\"col.minWidth\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"showInlineActionsColumn\" class=\"column-action text-right\" [style.min-width.px]=\"columnActionMinWidth\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponentOrDefault\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponentOrDefault>\n <span\n *ngIf=\"columnActionComponent; else defaultColumnActions\"\n [mngComponent]=\"columnActionComponent!\"\n (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n <ng-template #defaultColumnActions>\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 [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"(descriptor?.columns?.length ?? 0) + (showInlineActionsColumn ? 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 ?? 0) + (showInlineActionsColumn ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n</div>\n" }]
9870
+ args: [{ selector: 'mng-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [style.height]=\"scrollHeight === 'flex' ? 'calc(100vh - ' + 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$ | async)\"\n [value]=\"infiniteScroll ? dataProviderInfiniteScrollItems : (queryResult$ | async)?.pageData ?? []\"\n [dataKey]=\"$any(descriptor?.dataKeyProperty ?? null)\"\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 [selectionMode]=\"$any(selectionEnabled ? selectionMode : null)\"\n [rowHover]=\"descriptor?.hasHover ?? true\"\n [styleClass]=\"className\"\n (onLazyLoad)=\"onTableLazyLoad($event)\"\n (onSort)=\"onTableSort($event)\"\n (onFilter)=\"onTableFilter($event)\"\n sortMode=\"multiple\"\n responsiveLayout=\"scroll\"\n [resizableColumns]=\"true\"\n [autoLayout]=\"true\">\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\" class=\"mng-table-header\" [class]=\"descriptor?.headerClassName\">\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=\"min-width: 36px\"></th>\n <ng-container *ngFor=\"let col of descriptor?.columns\">\n <th *ngIf=\"col.isSortEnabled\" [pSortableColumn]=\"col.property\" [style.width.%]=\"col.width\" [style.min-width.px]=\"col.minWidth\" [class]=\"col.headerClassName\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n <tr *ngIf=\"descriptor?.filterDisplay === filterDisplayRow && hasColumnFilters\" class=\"mng-column-filter-row\">\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=\"min-width: 36px\"></th>\n <th\n *ngFor=\"let col of descriptor?.columns\"\n [class]=\"(col.filterDescriptor ? 'mng-column-filter-' + col.filterDescriptor.filterType + ' ' : ' ') + col.filterDescriptor?.columnClassName\"\n [style.width.%]=\"col.filterDescriptor?.columnWidth ?? col.width\"\n [style.min-width.px]=\"col.filterDescriptor?.columnMinWidth ?? col.minWidth\">\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=\"showInlineActionsColumn\"></th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-item let-idx=\"rowIndex\">\n <tr [style.height.px]=\"rowHeight\" [class]=\"descriptor?.rowClassName | mngClassMapPipe: descriptor?.rowClassNameMapFn:item\">\n <td *ngIf=\"selectionEnabled && selectionMode === 'multiple'\" style=\"width: 3rem\">\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"selectionEnabled && selectionMode === 'single'\" style=\"width: 3rem\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n <td\n *ngFor=\"let col of descriptor?.columns\"\n (click)=\"onCellClick($event, col, item, idx)\"\n [class]=\"col.className\"\n [class.clickable]=\"isColumnClickable\"\n [style.width.%]=\"col.width\"\n [style.min-width.px]=\"col.minWidth\">\n <mng-table-column-value [descriptor]=\"col\" [item]=\"item\"></mng-table-column-value>\n </td>\n <td *ngIf=\"showInlineActionsColumn\" class=\"column-action text-right\" [style.min-width.px]=\"columnActionMinWidth\">\n <ng-container *ngIf=\"columnActionTemplate; else showColumnActionComponentOrDefault\">\n <ng-container *ngTemplateOutlet=\"columnActionTemplate; context: {rowItem: item, rowIndex: idx}\"></ng-container>\n </ng-container>\n <ng-template #showColumnActionComponentOrDefault>\n <span\n *ngIf=\"columnActionComponent; else defaultColumnActions\"\n [mngComponent]=\"columnActionComponent!\"\n (instanceCreated)=\"onColumnActionCmpInst($event)\"></span>\n </ng-template>\n <ng-template #defaultColumnActions>\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 [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n </ng-template>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"loadingbody\">\n <tr [style.height.px]=\"rowHeight\">\n <td [attr.colspan]=\"(descriptor?.columns?.length ?? 0) + (showInlineActionsColumn ? 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 ?? 0) + (showInlineActionsColumn ? 1 : 0) + (selectionEnabled ? 1 : 0)\">\n {{ 'mngTable.noItems' | translate }}\n </td>\n </tr>\n </ng-template>\n\n <ng-template *ngIf=\"footerTemplate\" pTemplate=\"summary\">\n <ng-container [ngTemplateOutlet]=\"footerTemplate\" [ngTemplateOutletContext]=\"{queryResult: queryResult}\"></ng-container>\n </ng-template>\n </p-table>\n</div>\n" }]
9966
9871
  }], ctorParameters: function () {
9967
9872
  return [{ type: i0.Injector }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i1$2.TranslateService }, { type: MngActionExecutorService }, { type: MngViewContainerComponentService, decorators: [{
9968
9873
  type: Optional
@@ -10069,6 +9974,15 @@ class MngTableviewComponent {
10069
9974
  this.toolbarRightActions = this.toolbarRightActions.reverse();
10070
9975
  this.hasItemSelectionAction = [...this.toolbarLeftActions, ...this.toolbarRightActions].some(e => e.hasItemsSelection);
10071
9976
  }
9977
+ ngAfterContentInit() {
9978
+ this.templates.forEach(template => {
9979
+ switch (template.getType()) {
9980
+ case 'footer':
9981
+ this.footerTemplate = template.template;
9982
+ break;
9983
+ }
9984
+ });
9985
+ }
10072
9986
  ngOnDestroy() {
10073
9987
  this.subscriptions.forEach(s => s.unsubscribe());
10074
9988
  }
@@ -10090,10 +10004,10 @@ class MngTableviewComponent {
10090
10004
  }
10091
10005
  }
10092
10006
  MngTableviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableviewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MessageService }, { token: i1$2.TranslateService }, { token: i3.DialogService }, { token: i2.ConfirmationService }, { token: MngActionExecutorService }, { token: MngViewContainerComponentService }], target: i0.ɵɵFactoryTarget.Component });
10093
- MngTableviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", 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\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n [actions]=\"actions\"\n [selectionEnabled]=\"hasItemSelectionAction\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\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 </mng-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7$4.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i6$2.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { kind: "directive", type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { kind: "component", type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "actions", "isColumnClickable", "viewContainer", "captionComponent", "columnActionComponent", "columnActionMinWidth"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { kind: "component", type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "queryParam", "dataProvider", "disabled", "loading", "viewContainer", "selectedItems"], outputs: ["finish"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
10007
+ MngTableviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableviewComponent, selector: "mng-tableview", inputs: { descriptor: "descriptor", dataProvider: "dataProvider", actions: "actions" }, providers: [MessageService, ConfirmationService, MngViewContainerComponentService], queries: [{ propertyName: "templates", predicate: MngTemplateDirective }], 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\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n [actions]=\"actions\"\n [selectionEnabled]=\"hasItemSelectionAction\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\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\n <ng-template let-queryResult=\"queryResult\" mngTemplate=\"footer\">\n <ng-container *ngIf=\"footerTemplate\" [ngTemplateOutlet]=\"footerTemplate\" [ngTemplateOutletContext]=\"{queryResult: queryResult}\"></ng-container>\n </ng-template>\n </mng-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7$4.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i6$2.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { kind: "directive", type: MngTemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { kind: "component", type: MngTableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "useQueryParams", "selectionMode", "selectionEnabled", "actions", "isColumnClickable", "viewContainer", "captionComponent", "columnActionComponent", "columnActionMinWidth"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnActionComponentInstance"] }, { kind: "component", type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "queryParam", "dataProvider", "disabled", "loading", "viewContainer", "selectedItems"], outputs: ["finish"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
10094
10008
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableviewComponent, decorators: [{
10095
10009
  type: Component,
10096
- 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\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n [actions]=\"actions\"\n [selectionEnabled]=\"hasItemSelectionAction\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\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 </mng-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n" }]
10010
+ 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\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n\n <ng-template pTemplate=\"right\">\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\" [queryParam]=\"tableQueryParam\" [selectedItems]=\"selectedItems\"></mng-action>\n </ng-template>\n </p-toolbar>\n\n <mng-table\n [descriptor]=\"descriptor.table\"\n [dataProvider]=\"dataProvider\"\n [useQueryParams]=\"true\"\n [actions]=\"actions\"\n [selectionEnabled]=\"hasItemSelectionAction\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\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\n <ng-template let-queryResult=\"queryResult\" mngTemplate=\"footer\">\n <ng-container *ngIf=\"footerTemplate\" [ngTemplateOutlet]=\"footerTemplate\" [ngTemplateOutletContext]=\"{queryResult: queryResult}\"></ng-container>\n </ng-template>\n </mng-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n" }]
10097
10011
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MessageService }, { type: i1$2.TranslateService }, { type: i3.DialogService }, { type: i2.ConfirmationService }, { type: MngActionExecutorService }, { type: MngViewContainerComponentService }]; }, propDecorators: { descriptor: [{
10098
10012
  type: Input
10099
10013
  }], dataProvider: [{
@@ -10103,6 +10017,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
10103
10017
  }], tableComponent: [{
10104
10018
  type: ViewChild,
10105
10019
  args: [MngTableComponent]
10020
+ }], templates: [{
10021
+ type: ContentChildren,
10022
+ args: [MngTemplateDirective]
10106
10023
  }] } });
10107
10024
 
10108
10025
  class AMngTableviewRouteComponent {
@@ -10154,7 +10071,7 @@ class AMngTableviewRouteComponent {
10154
10071
  }));
10155
10072
  })
10156
10073
  .withPosition(ActionPositionEnum.ToolbarRight);
10157
- action.buttonDescriptor.withIcon('pi pi-upload');
10074
+ action.button.withIcon('pi pi-upload');
10158
10075
  return action;
10159
10076
  }
10160
10077
  createActionDescriptorForRefresh(descriptor = this.descriptor.model) {
@@ -10166,7 +10083,7 @@ class AMngTableviewRouteComponent {
10166
10083
  ctx.parameters.viewContainer.triggerTableReload({});
10167
10084
  return of(null);
10168
10085
  });
10169
- action.buttonDescriptor.withIcon('pi pi-refresh').styleClass.withActionLevel(ActionLevelEnum.Secondary);
10086
+ action.button.withIcon('pi pi-refresh').styleClass.withActionLevel(StyleLevelEnum.Secondary);
10170
10087
  return action;
10171
10088
  }
10172
10089
  }
@@ -10210,10 +10127,10 @@ class MngTableviewRouteComponent extends AMngTableviewRouteComponent {
10210
10127
  }
10211
10128
  }
10212
10129
  MngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableviewRouteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10213
- MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, viewQueries: [{ propertyName: "tableviewComponent", first: true, predicate: MngTableviewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
10130
+ MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, viewQueries: [{ propertyName: "tableviewComponent", first: true, predicate: MngTableviewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"> </mng-tableview>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
10214
10131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableviewRouteComponent, decorators: [{
10215
10132
  type: Component,
10216
- args: [{ selector: 'mng-tableview-route', template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview>\n </div>\n</div>\n" }]
10133
+ args: [{ selector: 'mng-tableview-route', template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"> </mng-tableview>\n </div>\n</div>\n" }]
10217
10134
  }], propDecorators: { descriptorInit: [{
10218
10135
  type: Input,
10219
10136
  args: ['descriptor']
@@ -10415,17 +10332,17 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
10415
10332
  const viewAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.viewEditor, 'details', this.descriptor.editor.model.type, this.descriptor.property)
10416
10333
  .withPosition(ActionPositionEnum.RowClick)
10417
10334
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
10418
- .withDialogSize(ActionEditorDialogSizeEnum.Small);
10335
+ .withDialogSize(StyleSizeEnum.Small);
10419
10336
  viewAction.withEditorActions([new ActionEditorSubmitDescriptor(viewAction, ActionEditorSubmitTypeEnum.Cancel)]);
10420
- viewAction.buttonDescriptor.withLabel(null);
10337
+ viewAction.button.withLabel(null);
10421
10338
  this.actions.push(viewAction);
10422
10339
  }
10423
10340
  if (hasAddAction) {
10424
10341
  const addAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.addEditor, 'add', this.descriptor.editor.model.type, this.descriptor.property)
10425
10342
  .withPosition(ActionPositionEnum.ToolbarRight)
10426
10343
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
10427
- .withDialogSize(ActionEditorDialogSizeEnum.Small)
10428
- .withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(ActionSizeEnum.ExtraSmall)))
10344
+ .withDialogSize(StyleSizeEnum.Small)
10345
+ .withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(StyleSizeEnum.ExtraSmall)))
10429
10346
  .withSubmitFunction(ctx => {
10430
10347
  if (!ctx.parameters.item) {
10431
10348
  return throwError(() => new Error(`No item was provided in context, edit cannot be done.`));
@@ -10438,15 +10355,15 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
10438
10355
  })
10439
10356
  .withIsVisibleFunction(() => { var _a; return of(!((_a = this.options) === null || _a === void 0 ? void 0 : _a.formState.disabled)); })
10440
10357
  .withIsEnabledFunction(() => this.isEnabled$);
10441
- addAction.buttonDescriptor.withLabel(null).withIcon('pi pi-plus');
10358
+ addAction.button.withLabel(null).withIcon('pi pi-plus');
10442
10359
  this.actions.push(addAction);
10443
10360
  }
10444
10361
  if (hasEditAction) {
10445
10362
  const editAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.editEditor, 'edit', this.descriptor.editor.model.type, this.descriptor.property)
10446
10363
  .withPosition(ActionPositionEnum.RowInline)
10447
10364
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
10448
- .withDialogSize(ActionEditorDialogSizeEnum.Small)
10449
- .withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(ActionSizeEnum.ExtraSmall)))
10365
+ .withDialogSize(StyleSizeEnum.Small)
10366
+ .withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(StyleSizeEnum.ExtraSmall)))
10450
10367
  .withSubmitFunction(ctx => {
10451
10368
  var _a;
10452
10369
  if (!ctx.parameters.item) {
@@ -10460,13 +10377,13 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
10460
10377
  })
10461
10378
  .withIsVisibleFunction(() => { var _a; return of(!((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.disabled)); })
10462
10379
  .withIsEnabledFunction(() => this.isEnabled$);
10463
- editAction.buttonDescriptor.withLabel(null).withIcon('pi pi-pencil');
10380
+ editAction.button.withLabel(null).withIcon('pi pi-pencil');
10464
10381
  this.actions.push(editAction);
10465
10382
  }
10466
10383
  if (hasDeleteAction) {
10467
10384
  const deleteAction = new ActionDescriptor(this.descriptor.tableviewDescriptor.model, 'delete', this.descriptor.editor.model.type, this.descriptor.property)
10468
10385
  .withPosition(ActionPositionEnum.RowInline)
10469
- .withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder(ActionLevelEnum.Danger).withSize(ActionSizeEnum.ExtraSmall)))
10386
+ .withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Danger).withSize(StyleSizeEnum.ExtraSmall)))
10470
10387
  .withRunFunction(ctx => {
10471
10388
  var _a;
10472
10389
  if (!ctx.parameters.item) {
@@ -10492,7 +10409,7 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
10492
10409
  })
10493
10410
  .withIsVisibleFunction(() => { var _a; return of(!((_a = this.options) === null || _a === void 0 ? void 0 : _a.formState.disabled)); })
10494
10411
  .withIsEnabledFunction(() => this.isEnabled$);
10495
- deleteAction.buttonDescriptor.withLabel(null).withIcon('pi pi-trash');
10412
+ deleteAction.button.withLabel(null).withIcon('pi pi-trash');
10496
10413
  this.actions.push(deleteAction);
10497
10414
  }
10498
10415
  this.actions.push(...this.descriptor.actions);
@@ -11711,9 +11628,7 @@ const declarations = [
11711
11628
  MngFormEditorComponent,
11712
11629
  MngActionComponent,
11713
11630
  MngActionEditorComponent,
11714
- MngActionRouteComponent,
11715
- //button
11716
- MngButtonComponent
11631
+ MngActionRouteComponent
11717
11632
  ];
11718
11633
  class MngCommonsModule {
11719
11634
  static forRoot(config) {
@@ -11836,9 +11751,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
11836
11751
  MngFormEditorComponent,
11837
11752
  MngActionComponent,
11838
11753
  MngActionEditorComponent,
11839
- MngActionRouteComponent,
11840
- //button
11841
- MngButtonComponent
11754
+ MngActionRouteComponent
11842
11755
  ], imports: [
11843
11756
  // angular modules
11844
11757
  CommonModule,
@@ -11959,9 +11872,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
11959
11872
  MngFormEditorComponent,
11960
11873
  MngActionComponent,
11961
11874
  MngActionEditorComponent,
11962
- MngActionRouteComponent,
11963
- //button
11964
- MngButtonComponent] });
11875
+ MngActionRouteComponent] });
11965
11876
  MngCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngCommonsModule, imports: [
11966
11877
  // angular modules
11967
11878
  CommonModule,
@@ -12802,5 +12713,5 @@ class TableviewRouteBuilder {
12802
12713
  * Generated bundle index. Do not edit.
12803
12714
  */
12804
12715
 
12805
- export { ACTION_EDITOR_DIALOG_COMPONENT_SETTING, AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, APermissions, ActionActivationTriggerEnum, ActionConfirmationDialogDescriptor, ActionContext, ActionContextValidation, ActionDataProviderUtil, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorDialogSizeEnum, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionEditorSubmitTypeEnum, ActionError, ActionInstance, ActionInstanceStateEnum, ActionLevelEnum, ActionLinkDescriptor, ActionParameters, ActionPositionEnum, ActionSimpleDescriptor, ActionSizeEnum, ActionTypeEnum, AuthorizationTypeEnum, AuthorizationUtil, ButtonDescriptor, ButtonStyleBuilder, ButtonStyleRoundedEnum, ColumnDescriptor, ColumnDynamicDescriptor, ColumnTypeEnum, DataProvider, DateUtil, DefaultMngErrorMapperService, DynamicTableviewDataProvider, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldGroupDescriptor, FieldGroupTypeEnum, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorDescriptor, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorDescriptor, FieldManyToManyEditorTypeEnum, FieldSizeEnum, FieldTabGroupDescriptor, FieldValidationDescriptor, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum, I18nUtils, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_BROWSER_STORAGE_IT, MNG_COMMONS_INITIALIZER_IT, MNG_DATE_RANGE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MNG_MODULE_CONFIG_IT, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAuthorizationGuard, MngAuthorizationService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngButtonComponent, MngClassMapPipe, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDateRangeComponent, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLabelComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngGetterPipe, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngParametrizePipe, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTemplatePipe, MngTopbarComponent, MngVersionComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, Permissions, RouteBuilder, RoutesBuilder, StringUtil, StylesUtil, TableDataProvider, TableDescriptor, TableDynamicColumnsModeEnum, TableDynamicDescriptor, TableFilterDisplayEnum, TablePaginationModeEnum, TableSizeEnum, TableviewActionDefaultCategories, TableviewCrudDataProvider, TableviewDataProvider, TableviewDescriptor, TableviewDynamicDescriptor, TableviewRouteBuilder, TableviewTypeEnum, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
12716
+ export { ACTION_EDITOR_DIALOG_COMPONENT_SETTING, AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, APermissions, ActionActivationTriggerEnum, ActionButtonDescriptor, ActionConfirmationDialogDescriptor, ActionContext, ActionContextValidation, ActionDataProviderUtil, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionEditorSubmitTypeEnum, ActionError, ActionInstance, ActionInstanceStateEnum, ActionLinkDescriptor, ActionParameters, ActionPositionEnum, ActionSimpleDescriptor, ActionTypeEnum, AuthorizationTypeEnum, AuthorizationUtil, ButtonStyleBuilder, ButtonStyleRoundedEnum, ColumnDescriptor, ColumnDynamicDescriptor, ColumnTypeEnum, DataProvider, DateUtil, DefaultMngErrorMapperService, DynamicTableviewDataProvider, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldGroupDescriptor, FieldGroupTypeEnum, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorDescriptor, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorDescriptor, FieldManyToManyEditorTypeEnum, FieldSizeEnum, FieldTabGroupDescriptor, FieldValidationDescriptor, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum, I18nUtils, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_BROWSER_STORAGE_IT, MNG_COMMONS_INITIALIZER_IT, MNG_DATE_RANGE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MNG_MODULE_CONFIG_IT, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAuthorizationGuard, MngAuthorizationService, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngClassMapPipe, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDateRangeComponent, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLabelComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngGetterPipe, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngParametrizePipe, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTemplatePipe, MngTopbarComponent, MngVersionComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, Permissions, RouteBuilder, RoutesBuilder, StringUtil, StyleLevelEnum, StyleSizeEnum, StylesUtil, TableDataProvider, TableDescriptor, TableDynamicColumnsModeEnum, TableDynamicDescriptor, TableFilterDisplayEnum, TablePaginationModeEnum, TableSizeEnum, TableviewActionDefaultCategories, TableviewCrudDataProvider, TableviewDataProvider, TableviewDescriptor, TableviewDynamicDescriptor, TableviewRouteBuilder, TableviewTypeEnum, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
12806
12717
  //# sourceMappingURL=mediusinc-mng-commons.mjs.map