@mediusinc/mng-commons 5.3.0 → 5.4.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/esm2022/core/helpers/object.mjs +8 -1
  2. package/esm2022/table/api/data-providers/table.data-provider.mjs +12 -6
  3. package/esm2022/table/api/models/table-event.model.mjs +1 -1
  4. package/esm2022/table/components/table/table.component.mjs +14 -7
  5. package/esm2022/tableview/action/components/action/action.component.mjs +2 -2
  6. package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +31 -17
  7. package/esm2022/tableview/action/components/table/action-table.component.mjs +4 -4
  8. package/esm2022/tableview/action/services/view-container.service.mjs +1 -1
  9. package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +1 -1
  10. package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +9 -2
  11. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +18 -1
  12. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +3 -2
  13. package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
  14. package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
  15. package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +18 -6
  16. package/esm2022/tableview/editor/components/editor/auto-save-status/auto-save-status.component.mjs +82 -0
  17. package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +164 -14
  18. package/esm2022/tableview/editor/helpers/editor-autosave.mjs +49 -0
  19. package/esm2022/tableview/editor/models/editor-auto-save-preview.model.mjs +2 -0
  20. package/esm2022/tableview/editor/services/form-editor.service.mjs +1 -1
  21. package/esm2022/tableview/index.mjs +3 -1
  22. package/fesm2022/mediusinc-mng-commons-core.mjs +7 -0
  23. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  24. package/fesm2022/mediusinc-mng-commons-table-api.mjs +11 -5
  25. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  26. package/fesm2022/mediusinc-mng-commons-table.mjs +13 -6
  27. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  28. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +44 -7
  29. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  30. package/fesm2022/mediusinc-mng-commons-tableview.mjs +322 -40
  31. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  32. package/i18n/en.json +14 -0
  33. package/i18n/sl.json +14 -0
  34. package/package.json +1 -1
  35. package/table/api/data-providers/table.data-provider.d.ts +14 -5
  36. package/table/api/models/table-event.model.d.ts +4 -3
  37. package/table/components/table/table.component.d.ts +11 -2
  38. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +4 -0
  39. package/tableview/action/components/table/action-table.component.d.ts +2 -2
  40. package/tableview/action/services/view-container.service.d.ts +6 -5
  41. package/tableview/api/action/models/execution/view-container.model.d.ts +7 -24
  42. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +10 -1
  43. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +5 -0
  44. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +1 -1
  45. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +1 -0
  46. package/tableview/api/editor/descriptors/field.descriptor.d.ts +1 -1
  47. package/tableview/api/editor/models/form-editor.event.d.ts +9 -0
  48. package/tableview/api/editor/models/form-editor.interface.d.ts +2 -2
  49. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +10 -3
  50. package/tableview/editor/components/editor/auto-save-status/auto-save-status.component.d.ts +10 -0
  51. package/tableview/editor/components/editor/form-editor.component.d.ts +51 -4
  52. package/tableview/editor/helpers/editor-autosave.d.ts +17 -0
  53. package/tableview/editor/models/editor-auto-save-preview.model.d.ts +10 -0
  54. package/tableview/editor/services/form-editor.service.d.ts +2 -2
  55. package/tableview/index.d.ts +2 -0
  56. package/version-info.json +6 -6
@@ -1,4 +1,4 @@
1
- import { of, throwError, isObservable, Subject, tap } from 'rxjs';
1
+ import { of, Subject, throwError, isObservable, tap } from 'rxjs';
2
2
  import { StyleLevelEnum, CommonsInternalError, DataProviderInst, LoggerService, findReflectTypeName, StyleSizeEnum, ACommonsErrorBase, toObservable, fromEnumValuesAsValueArray, fromEnumConstantsAsValueArray, getEnumConstantName, TypeRegistry, GetterPipe, copyDataListParams } from '@mediusinc/mng-commons/core';
3
3
  import { ActionButtonDescriptor, ButtonStyleBuilder, LookupDataProviderInst, ButtonStyleRoundedEnum } from '@mediusinc/mng-commons/form/api';
4
4
  import { TypeDescriptor, ModelDescriptor, trySetLookupItemsProperties, enumModelGeneric, model, findClassTitleAttribute } from '@mediusinc/mng-commons/model';
@@ -554,6 +554,7 @@ function actionDelete(model, serviceProvider) {
554
554
  class EditorDataProviderInst extends DataProviderInst {
555
555
  constructor(type, serviceType) {
556
556
  super(type, serviceType);
557
+ this._editorResetSubject = new Subject();
557
558
  this._fetch = id => throwError(() => new CommonsInternalError(`No fetch function provided for id ${id}.`));
558
559
  }
559
560
  get fetch() {
@@ -568,6 +569,9 @@ class EditorDataProviderInst extends DataProviderInst {
568
569
  get delete() {
569
570
  return this._delete;
570
571
  }
572
+ get editorReset$() {
573
+ return this._editorResetSubject.asObservable();
574
+ }
571
575
  /**
572
576
  * Sets the fetch function for the EditorDataProvider instance.
573
577
  *
@@ -621,6 +625,9 @@ class EditorDataProviderInst extends DataProviderInst {
621
625
  this._delete = fn;
622
626
  return this;
623
627
  }
628
+ resetEditor(event) {
629
+ this._editorResetSubject.next(event ?? {});
630
+ }
624
631
  }
625
632
 
626
633
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1851,6 +1858,7 @@ class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
1851
1858
  optionsValueProperty: 'value'
1852
1859
  });
1853
1860
  this._enumModel = enumModel;
1861
+ this._options = options;
1854
1862
  this._optionEnumValues = Array.isArray(options)
1855
1863
  ? fromEnumValuesAsValueArray(this._enumModel.type, options, this._enumModel.nameAsValue, this._enumModel.i18nBaseKey ?? undefined)
1856
1864
  : fromEnumConstantsAsValueArray(this._enumModel.type, this._enumModel.nameAsValue, this._enumModel.i18nBaseKey ?? undefined);
@@ -1892,7 +1900,7 @@ class FieldLookupEnumDescriptor extends FieldLookupDescriptor {
1892
1900
  return this;
1893
1901
  }
1894
1902
  copy() {
1895
- const field = new FieldLookupEnumDescriptor(this._property, this._enumModel, []);
1903
+ const field = new FieldLookupEnumDescriptor(this._property, this._enumModel, this._options);
1896
1904
  this.copyFieldsTo(field);
1897
1905
  field._lookupType = this._lookupType;
1898
1906
  field._optionsLabelProperty = this._optionsLabelProperty;
@@ -2499,6 +2507,12 @@ class EditorDescriptorInst {
2499
2507
  get localizationModel() {
2500
2508
  return this._localizationModel;
2501
2509
  }
2510
+ get autoSave() {
2511
+ return this._autoSave;
2512
+ }
2513
+ get autoSaveIdentifier() {
2514
+ return this._autoSaveIdentifier;
2515
+ }
2502
2516
  /**
2503
2517
  * Creates new tab group. Next added fields are added to newly created tab group.
2504
2518
  * @param name Name of the group.
@@ -2824,6 +2838,11 @@ class EditorDescriptorInst {
2824
2838
  }
2825
2839
  return this;
2826
2840
  }
2841
+ withAutoSave(enabled = true, autoSaveIdentifier) {
2842
+ this._autoSave = enabled;
2843
+ this._autoSaveIdentifier = autoSaveIdentifier;
2844
+ return this;
2845
+ }
2827
2846
  /**
2828
2847
  * Creates a copy of editor descriptor object.
2829
2848
  */
@@ -2856,6 +2875,12 @@ class EditorDescriptorInst {
2856
2875
  editor._currentGroup = editor._currentTabGroup.fields.length > 0 ? editor._currentTabGroup.fields[editor._currentTabGroup.fields.length - 1] : undefined;
2857
2876
  }
2858
2877
  editor._disabled = this._disabled;
2878
+ editor._autoSave = this._autoSave;
2879
+ editor._autoSaveIdentifier = this._autoSaveIdentifier;
2880
+ editor._isLocalized = this._isLocalized;
2881
+ editor._localizationLocaleProperty = this._localizationLocaleProperty;
2882
+ editor._localizationModel = this._localizationModel;
2883
+ editor._localizationLocalizationProperty = this._localizationLocalizationProperty;
2859
2884
  return editor;
2860
2885
  }
2861
2886
  /**
@@ -3277,8 +3302,11 @@ class TableviewDataProviderInst extends DataProviderInst {
3277
3302
  get isLazy() {
3278
3303
  return this.tableDataProvider.isLazy;
3279
3304
  }
3280
- get getAllReload$() {
3281
- return this.tableDataProvider.getAllReload$;
3305
+ get tableReload$() {
3306
+ return this.tableDataProvider.tableReload$;
3307
+ }
3308
+ get editorReset$() {
3309
+ return this.editorDataProvider.editorReset$;
3282
3310
  }
3283
3311
  get getAll() {
3284
3312
  return this.tableDataProvider.getAll;
@@ -3295,9 +3323,6 @@ class TableviewDataProviderInst extends DataProviderInst {
3295
3323
  get delete() {
3296
3324
  return this.editorDataProvider.delete;
3297
3325
  }
3298
- getAllReload(queryParam) {
3299
- this.tableDataProvider.getAllReload(queryParam);
3300
- }
3301
3326
  withGetAll(fn) {
3302
3327
  this.tableDataProvider.withGetAll(fn);
3303
3328
  return this;
@@ -3322,6 +3347,18 @@ class TableviewDataProviderInst extends DataProviderInst {
3322
3347
  this.editorDataProvider.withDelete(fn);
3323
3348
  return this;
3324
3349
  }
3350
+ /**
3351
+ * @deprecated Use ${reloadTable} instead.
3352
+ */
3353
+ getAllReload(params) {
3354
+ this.tableDataProvider.getAllReload(params);
3355
+ }
3356
+ reloadTable(event) {
3357
+ this.tableDataProvider.reloadTable(event);
3358
+ }
3359
+ resetEditor(event) {
3360
+ this.editorDataProvider.resetEditor(event);
3361
+ }
3325
3362
  }
3326
3363
  class DynamicTableviewDataProviderInst extends TableviewDataProviderInst {
3327
3364
  constructor(serviceType) {