@sankhyalabs/core 5.20.0-dev.6 → 5.20.0-dev.61

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 (144) hide show
  1. package/.docs/classes/Change.md +11 -11
  2. package/.docs/classes/DataUnit.md +317 -137
  3. package/.docs/classes/DateUtils.md +8 -8
  4. package/.docs/classes/IDBRepository.md +22 -0
  5. package/.docs/classes/LockManager.md +191 -0
  6. package/.docs/classes/MaskFormatter.md +66 -14
  7. package/.docs/classes/ObjectUtils.md +141 -0
  8. package/.docs/classes/OverflowWatcher.md +533 -0
  9. package/.docs/classes/SelectionInfo.md +25 -11
  10. package/.docs/classes/ServiceCanceledException.md +193 -0
  11. package/.docs/classes/ServiceUtils.md +67 -0
  12. package/.docs/classes/SilentException.md +193 -0
  13. package/.docs/enumerations/Action.md +41 -21
  14. package/.docs/enumerations/ChangeOperation.md +4 -4
  15. package/.docs/enumerations/LockManagerOperation.md +21 -0
  16. package/.docs/enumerations/OverflowDirection.md +29 -0
  17. package/.docs/enumerations/SelectionMode.md +2 -2
  18. package/.docs/enumerations/StorageType.md +37 -0
  19. package/.docs/globals.md +18 -0
  20. package/.docs/interfaces/DUActionInterceptor.md +1 -1
  21. package/.docs/interfaces/IRepository.md +18 -0
  22. package/.docs/interfaces/LoadDataRequest.md +1 -1
  23. package/.docs/interfaces/OverFlowWatcherParams.md +67 -0
  24. package/.docs/interfaces/PageRequest.md +3 -3
  25. package/.docs/interfaces/PaginationInfo.md +13 -0
  26. package/.docs/interfaces/QuickFilter.md +3 -3
  27. package/.docs/interfaces/Record.md +4 -4
  28. package/.docs/interfaces/SavedRecord.md +5 -5
  29. package/.docs/interfaces/WaitingChange.md +3 -3
  30. package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +1 -1
  31. package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +1 -1
  32. package/.docs/type-aliases/DataUnitEventOptions.md +17 -0
  33. package/.docs/type-aliases/OnOverflowCallBack.md +25 -0
  34. package/.docs/variables/OVERFLOWED_CLASS_NAME.md +13 -0
  35. package/bun.lockb +0 -0
  36. package/dist/dataunit/DataUnit.d.ts +60 -11
  37. package/dist/dataunit/DataUnit.js +158 -46
  38. package/dist/dataunit/DataUnit.js.map +1 -1
  39. package/dist/dataunit/DataUnitHelper.js +6 -5
  40. package/dist/dataunit/DataUnitHelper.js.map +1 -1
  41. package/dist/dataunit/formatting/PrettyFormatter.js +14 -6
  42. package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -1
  43. package/dist/dataunit/loading/LoadDataRequest.d.ts +1 -1
  44. package/dist/dataunit/loading/PaginationInfo.d.ts +4 -0
  45. package/dist/dataunit/metadata/DataType.js +3 -0
  46. package/dist/dataunit/metadata/DataType.js.map +1 -1
  47. package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -0
  48. package/dist/dataunit/state/action/DataUnitAction.js +2 -0
  49. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  50. package/dist/dataunit/state/slice/InvalidFieldsSlice.js +2 -0
  51. package/dist/dataunit/state/slice/InvalidFieldsSlice.js.map +1 -1
  52. package/dist/dataunit/state/slice/RecordsSlice.js +1 -1
  53. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
  54. package/dist/dataunit/state/slice/SelectionSlice.js +4 -4
  55. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
  56. package/dist/exceptions/ServiceCanceledException.d.ts +14 -0
  57. package/dist/exceptions/ServiceCanceledException.js +13 -0
  58. package/dist/exceptions/ServiceCanceledException.js.map +1 -0
  59. package/dist/exceptions/SilentException.d.ts +14 -0
  60. package/dist/exceptions/SilentException.js +13 -0
  61. package/dist/exceptions/SilentException.js.map +1 -0
  62. package/dist/index.d.ts +8 -2
  63. package/dist/index.js +7 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/repository/IRepository.d.ts +6 -0
  66. package/dist/repository/indexeddb/IDBRepository.d.ts +1 -0
  67. package/dist/repository/indexeddb/IDBRepository.js +3 -0
  68. package/dist/repository/indexeddb/IDBRepository.js.map +1 -1
  69. package/dist/utils/CacheManager/index.d.ts +52 -0
  70. package/dist/utils/CacheManager/index.js +101 -0
  71. package/dist/utils/CacheManager/index.js.map +1 -0
  72. package/dist/utils/CacheManager/interfaces/index.d.ts +5 -0
  73. package/dist/utils/CacheManager/interfaces/index.js +7 -0
  74. package/dist/utils/CacheManager/interfaces/index.js.map +1 -0
  75. package/dist/utils/DateUtils.js +3 -0
  76. package/dist/utils/DateUtils.js.map +1 -1
  77. package/dist/utils/ElementUtils.d.ts +2 -0
  78. package/dist/utils/ElementUtils.js +9 -0
  79. package/dist/utils/ElementUtils.js.map +1 -0
  80. package/dist/utils/LockManager.d.ts +46 -0
  81. package/dist/utils/LockManager.js +141 -0
  82. package/dist/utils/LockManager.js.map +1 -0
  83. package/dist/utils/MaskFormatter.d.ts +16 -1
  84. package/dist/utils/MaskFormatter.js +82 -2
  85. package/dist/utils/MaskFormatter.js.map +1 -1
  86. package/dist/utils/ObjectUtils.d.ts +38 -0
  87. package/dist/utils/ObjectUtils.js +51 -0
  88. package/dist/utils/ObjectUtils.js.map +1 -1
  89. package/dist/utils/OnboardingUtils.js +1 -1
  90. package/dist/utils/OnboardingUtils.js.map +1 -1
  91. package/dist/utils/OverflowWatcher/index.d.ts +59 -0
  92. package/dist/utils/OverflowWatcher/index.js +188 -0
  93. package/dist/utils/OverflowWatcher/index.js.map +1 -0
  94. package/dist/utils/OverflowWatcher/types/overflow-callback.d.ts +6 -0
  95. package/dist/utils/OverflowWatcher/types/overflow-callback.js +2 -0
  96. package/dist/utils/OverflowWatcher/types/overflow-callback.js.map +1 -0
  97. package/dist/utils/OverflowWatcher/types/overflow-direction.d.ts +7 -0
  98. package/dist/utils/OverflowWatcher/types/overflow-direction.js +9 -0
  99. package/dist/utils/OverflowWatcher/types/overflow-direction.js.map +1 -0
  100. package/dist/utils/ServiceUtils.d.ts +24 -0
  101. package/dist/utils/ServiceUtils.js +40 -0
  102. package/dist/utils/ServiceUtils.js.map +1 -0
  103. package/dist/utils/SortingUtils.d.ts +9 -0
  104. package/dist/utils/SortingUtils.js +24 -0
  105. package/dist/utils/SortingUtils.js.map +1 -0
  106. package/jest.config.ts +2 -0
  107. package/package.json +2 -1
  108. package/reports/test-report.xml +175 -0
  109. package/setupTests.js +7 -0
  110. package/sonar-project.properties +6 -3
  111. package/src/dataunit/DataUnit.ts +189 -59
  112. package/src/dataunit/DataUnitHelper.ts +6 -5
  113. package/src/dataunit/formatting/PrettyFormatter.ts +15 -6
  114. package/src/dataunit/loading/LoadDataRequest.ts +1 -1
  115. package/src/dataunit/loading/PaginationInfo.ts +5 -0
  116. package/src/dataunit/metadata/DataType.ts +3 -0
  117. package/src/dataunit/state/action/DataUnitAction.ts +2 -0
  118. package/src/dataunit/state/slice/InvalidFieldsSlice.ts +2 -0
  119. package/src/dataunit/state/slice/RecordsSlice.ts +1 -1
  120. package/src/dataunit/state/slice/SelectionSlice.ts +4 -4
  121. package/src/dataunit/state/slice/test/RecordsSlice.spec.ts +45 -0
  122. package/src/dataunit/test/DataUnit.spec.ts +44 -0
  123. package/src/exceptions/ServiceCanceledException.ts +25 -0
  124. package/src/exceptions/SilentException.ts +25 -0
  125. package/src/index.ts +19 -1
  126. package/src/repository/IRepository.ts +7 -0
  127. package/src/repository/indexeddb/IDBRepository.ts +4 -0
  128. package/src/utils/CacheManager/index.ts +103 -0
  129. package/src/utils/CacheManager/interfaces/index.ts +5 -0
  130. package/src/utils/DateUtils.ts +3 -0
  131. package/src/utils/ElementUtils.ts +10 -0
  132. package/src/utils/LockManager.ts +157 -0
  133. package/src/utils/MaskFormatter.ts +93 -2
  134. package/src/utils/ObjectUtils.ts +56 -0
  135. package/src/utils/OnboardingUtils.ts +1 -1
  136. package/src/utils/OverflowWatcher/index.ts +243 -0
  137. package/src/utils/OverflowWatcher/types/overflow-callback.ts +6 -0
  138. package/src/utils/OverflowWatcher/types/overflow-direction.ts +7 -0
  139. package/src/utils/ServiceUtils.ts +36 -0
  140. package/src/utils/SortingUtils.ts +30 -0
  141. package/src/utils/test/objectUtils.spec.ts +109 -0
  142. package/test/dataunit/formatting/PrettyFormatter.spec.ts +177 -0
  143. package/test/util/ElementUtils.spec.ts +34 -0
  144. package/test/util/OverflowWatcher.spec.ts +152 -0
@@ -29,6 +29,9 @@ import { v4 as uuid } from "uuid";
29
29
  import { DataUnitStorage } from "./DataUnitStorage.js";
30
30
  import { getInvalidFieldMessage, InvalidFieldsReducer } from "./state/slice/InvalidFieldsSlice.js";
31
31
  import { getLoadingProperties, LoadingPropertiesReducer } from "./state/slice/LoadingProperties.js";
32
+ import SortingUtils from "../utils/SortingUtils.js";
33
+ import ServiceCanceledException from "../exceptions/ServiceCanceledException.js";
34
+ import SilentException from "../exceptions/SilentException.js";
32
35
  /***
33
36
  * `DataUnit`: Atua como uma camada de abstração entre o back-end e a interface do usuário.
34
37
  */
@@ -37,6 +40,7 @@ export default class DataUnit {
37
40
  var _a;
38
41
  this._childByName = new Map();
39
42
  this._savingLockers = [];
43
+ this._waitingToReload = false;
40
44
  /**
41
45
  *
42
46
  * Trata as Actions do DataUnit Parent
@@ -50,6 +54,8 @@ export default class DataUnit {
50
54
  case Action.NEXT_SELECTED:
51
55
  case Action.PREVIOUS_SELECTED:
52
56
  case Action.DATA_LOADED:
57
+ case Action.RECORDS_ADDED:
58
+ case Action.EDITION_CANCELED:
53
59
  this.clearDataUnit();
54
60
  const selectedRecord = (_a = this._parentDataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecord();
55
61
  if (selectedRecord != undefined && !this.isNewRecord(selectedRecord.__record__id__)) {
@@ -75,11 +81,12 @@ export default class DataUnit {
75
81
  InvalidFieldsReducer,
76
82
  SnapshotReducer
77
83
  ]);
78
- this._observers = [];
84
+ this._observers = new Map();
79
85
  this._filterProviders = new Map();
80
86
  this._sortingProvider = undefined;
81
87
  this._defaultSorting = [];
82
- this._interceptors = [];
88
+ this._allowReleaseCallbacks = true;
89
+ this._interceptors = new Map();
83
90
  this._parentDataUnit = parentDataUnit;
84
91
  (_a = this._parentDataUnit) === null || _a === void 0 ? void 0 : _a.subscribe(this.onDataUnitParentEvent);
85
92
  this._loadingLockers = [];
@@ -107,10 +114,12 @@ export default class DataUnit {
107
114
  * - Sorting Providers
108
115
  */
109
116
  releaseCallbacks() {
110
- this._observers = [];
117
+ if (!this._allowReleaseCallbacks)
118
+ return;
119
+ this._observers = new Map();
111
120
  this._filterProviders = new Map();
112
121
  this._sortingProvider = undefined;
113
- this._interceptors = [];
122
+ this._interceptors = new Map();
114
123
  }
115
124
  /**
116
125
  * Adiciona uma propriedade transacional que será envida aos
@@ -135,6 +144,19 @@ export default class DataUnit {
135
144
  get dataUnitId() {
136
145
  return this._uuid;
137
146
  }
147
+ /**
148
+ * Retorna se o dataUnit está com recarregamento pendente.
149
+ */
150
+ isWaitingToReload() {
151
+ return this._waitingToReload;
152
+ }
153
+ /**
154
+ * Define se o dataUnit tem um recarregamento pendente.
155
+ * @param isWaiting
156
+ */
157
+ setWaitingToReload(isWaiting) {
158
+ this._waitingToReload = isWaiting;
159
+ }
138
160
  /**
139
161
  *
140
162
  * Obtém o nome de identificação do DataUnit (geralmente em formato de URI - Uniform Resource Identifier).
@@ -202,14 +224,14 @@ export default class DataUnit {
202
224
  return new Promise((resolve, fail) => __awaiter(this, void 0, void 0, function* () {
203
225
  if (yield this.dispatchAction(Action.LOADING_DATA, request, executionCtx)) {
204
226
  if (this.dataLoader) {
205
- this.dataLoader(this, request).then(response => {
206
- this.dispatchAction(Action.DATA_LOADED, Object.assign(Object.assign({}, response), { keepSelection: request.keepSelection, filters: request.filters }), executionCtx);
207
- this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
227
+ this.dataLoader(this, request).then((response) => __awaiter(this, void 0, void 0, function* () {
228
+ yield this.dispatchAction(Action.DATA_LOADED, Object.assign(Object.assign({}, response), { keepSelection: request.keepSelection, filters: request.filters, selectFirstRecord }), executionCtx);
229
+ yield this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
208
230
  if (selectFirstRecord) {
209
231
  this.requestSelectFirst(executionCtx);
210
232
  }
211
233
  resolve(response);
212
- }).catch(error => {
234
+ })).catch(error => {
213
235
  console.error(error);
214
236
  const { errorCode } = error;
215
237
  this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
@@ -269,13 +291,16 @@ export default class DataUnit {
269
291
  loadData(quickFilter, executionCtx, checkLastFilter, source, selectFirstRecord) {
270
292
  return __awaiter(this, void 0, void 0, function* () {
271
293
  yield this.processLoadingLockers();
272
- if (this._parentDataUnit && !this._parentDataUnit.getSelectedRecord()) {
273
- if (this.records) {
274
- this.clearDataUnit();
294
+ if (this._parentDataUnit) {
295
+ const parentRecord = this._parentDataUnit.getSelectedRecord();
296
+ if (parentRecord == undefined || this._parentDataUnit.isNewRecord(parentRecord.__record__id__)) {
297
+ if (this.records) {
298
+ this.clearDataUnit();
299
+ }
300
+ return Promise.resolve({
301
+ records: []
302
+ });
275
303
  }
276
- return Promise.resolve({
277
- records: []
278
- });
279
304
  }
280
305
  const loadDataRequest = this.getLoadDataRequest(quickFilter, source);
281
306
  return this.executeLoadData(loadDataRequest, executionCtx, checkLastFilter, selectFirstRecord);
@@ -293,6 +318,9 @@ export default class DataUnit {
293
318
  */
294
319
  gotoPage(page, executionCtx) {
295
320
  return __awaiter(this, void 0, void 0, function* () {
321
+ if (this._pageSize === 0) {
322
+ return;
323
+ }
296
324
  let request = getCurrentRequest(this._stateManager);
297
325
  if (!request) {
298
326
  request = {
@@ -405,7 +433,15 @@ export default class DataUnit {
405
433
  Promise.all(dispatchPromisses).then(() => resolve());
406
434
  }).catch(cause => {
407
435
  const { errorCode } = cause;
436
+ this.dispatchAction(Action.SAVING_ERROR);
408
437
  this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
438
+ if (cause instanceof ServiceCanceledException) {
439
+ console.debug("Service canceled: " + cause.message);
440
+ resolve();
441
+ }
442
+ if (cause instanceof SilentException) {
443
+ fail();
444
+ }
409
445
  fail(new ErrorException("Erro ao salvar alterações", cause, errorCode));
410
446
  });
411
447
  }
@@ -509,9 +545,10 @@ export default class DataUnit {
509
545
  const currentRecordsKeys = Array.from(getCurrentRecords(this._stateManager).keys());
510
546
  const removedIndex = recordIds
511
547
  .map(id => currentRecordsKeys.indexOf(id))
512
- .filter(index => index > -1);
548
+ .filter(index => index > -1)
549
+ .sort((a, b) => a - b);
513
550
  const nextIndex = Math.min(removedIndex.slice(-1)[0] + 1, currentRecordsKeys.length);
514
- const selectionAfterRemove = [currentRecordsKeys[nextIndex]];
551
+ const selectionAfterRemove = currentRecordsKeys[nextIndex] ? [currentRecordsKeys[nextIndex]] : [];
515
552
  this.dispatchAction(Action.RECORDS_REMOVED, { records: removedIds, cachedRecords, removedIndex, buffered: false, selectionAfterRemove }, executionCtx);
516
553
  this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
517
554
  resolve(removedIds);
@@ -591,7 +628,7 @@ export default class DataUnit {
591
628
  *
592
629
  */
593
630
  addInterceptor(interceptor) {
594
- this._interceptors.push(interceptor);
631
+ this._interceptors.set(interceptor.interceptAction.toString(), interceptor);
595
632
  }
596
633
  /**
597
634
  *
@@ -601,7 +638,7 @@ export default class DataUnit {
601
638
  *
602
639
  */
603
640
  removeInterceptor(interceptor) {
604
- this._interceptors = this._interceptors.filter(i => i !== interceptor);
641
+ this._interceptors.delete(interceptor.interceptAction.toString());
605
642
  }
606
643
  /**
607
644
  *
@@ -700,7 +737,8 @@ export default class DataUnit {
700
737
  *
701
738
  */
702
739
  set records(records) {
703
- this.dispatchAction(Action.DATA_LOADED, { records }, undefined);
740
+ const paginationInfo = this.getPaginationInfo();
741
+ this.dispatchAction(Action.DATA_LOADED, { records, paginationInfo }, undefined);
704
742
  }
705
743
  /**
706
744
  *
@@ -787,6 +825,9 @@ export default class DataUnit {
787
825
  copySelected(executionCtx) {
788
826
  const selectionInfo = this.getSelectionInfo();
789
827
  if (selectionInfo) {
828
+ if (selectionInfo.isAllRecords()) {
829
+ throw new Error("Erro interno: Impossível copiar os registros selecionados pois a seleção atual é virtual.");
830
+ }
790
831
  const selectedRecords = selectionInfo.records;
791
832
  if (selectedRecords) {
792
833
  this.dispatchAction(Action.RECORDS_COPIED, prepareCopiedRecord(this._stateManager, selectedRecords, this.getParentRecordId()), executionCtx);
@@ -845,27 +886,35 @@ export default class DataUnit {
845
886
  * @param fieldName -Identificador do campo a ser modificado.
846
887
  * @param newValue - Valor a ser inserido no campo.
847
888
  * @param records - Indica quais registros foram afetados pela alteração no valor do campo.
889
+ * @param options - Configurações do evento
848
890
  * @returns - Promise que será resolvida quando o novo valor for persistido no state.
849
891
  *
850
- */
851
- setFieldValue(fieldName, newValue, records) {
892
+ */
893
+ setFieldValue(fieldName, newValue, records, options) {
852
894
  return __awaiter(this, void 0, void 0, function* () {
853
- if (!this.hasNewRecord() && !this.getSelectedRecord())
895
+ const noRecordSelected = !this.hasNewRecord() && !this.getSelectedRecord();
896
+ const suppressCreateNewRecord = options === null || options === void 0 ? void 0 : options.suppressCreateNewRecord;
897
+ if (noRecordSelected && suppressCreateNewRecord)
898
+ return Promise.resolve(false);
899
+ if (noRecordSelected)
854
900
  yield this.addRecord();
855
901
  const typedValue = this.validateAndTypeValue(fieldName, newValue);
856
902
  const currentValue = this.getFieldValue(fieldName);
903
+ if (!(newValue instanceof Promise) && ObjectUtils.hasEquivalentProps(currentValue, typedValue)) {
904
+ return Promise.resolve(false);
905
+ }
857
906
  if (newValue instanceof Promise) {
858
907
  const promise = new Promise(accept => {
859
908
  newValue.then(resolvedValue => {
860
909
  this.dispatchAction(Action.DATA_RESOLVED, { [fieldName]: resolvedValue, records }, undefined);
861
- accept(this.setFieldValue(fieldName, resolvedValue, records));
910
+ accept(this.setFieldValue(fieldName, resolvedValue, records, options));
862
911
  });
863
912
  });
864
913
  this._savingLockers.push(promise);
865
914
  return promise;
866
915
  }
867
916
  if (currentValue !== typedValue) {
868
- const promise = this.dispatchAction(Action.DATA_CHANGED, { [fieldName]: typedValue, records }, undefined);
917
+ const promise = this.dispatchAction(Action.DATA_CHANGED, { [fieldName]: typedValue, records }, undefined, options);
869
918
  this._savingLockers.push(promise);
870
919
  return promise;
871
920
  }
@@ -884,6 +933,17 @@ export default class DataUnit {
884
933
  setInvalidField(fieldName, message, recordId) {
885
934
  this.dispatchAction(Action.FIELD_INVALIDATED, { fieldName, message, recordId }, undefined);
886
935
  }
936
+ /**
937
+ *
938
+ * Cancela o saving exibindo os campos invalidos.
939
+ *
940
+ * @param filds - Lista dos campos
941
+ * @param recordId - Indica qual registro está com os campos inválido.
942
+ *
943
+ */
944
+ savingCanceled(fields, recordId) {
945
+ this.dispatchAction(Action.SAVING_CANCELED, { fields, recordId }, undefined);
946
+ }
887
947
  /**
888
948
  *
889
949
  * Limpa campos inválidos.
@@ -982,7 +1042,7 @@ export default class DataUnit {
982
1042
  setSelection(selection, executionCtx) {
983
1043
  return new Promise(resolve => {
984
1044
  this.dispatchAction(Action.SELECTION_CHANGED, { type: "id", selection }, executionCtx)
985
- .then(() => resolve(getSelectionInfo(this._stateManager)));
1045
+ .then(() => resolve(this.getSelectionInfo()));
986
1046
  });
987
1047
  }
988
1048
  /**
@@ -1033,7 +1093,14 @@ export default class DataUnit {
1033
1093
  *
1034
1094
  **/
1035
1095
  getSelectionInfo() {
1036
- return getSelectionInfo(this._stateManager);
1096
+ var _a;
1097
+ const selectionInfo = getSelectionInfo(this._stateManager);
1098
+ selectionInfo.getAllRecords = () => { var _a; return (_a = this.allRecordsLoader) === null || _a === void 0 ? void 0 : _a.call(this, this); };
1099
+ if (selectionInfo.sort != undefined && selectionInfo.sort.length > 0) {
1100
+ const sortingFunction = SortingUtils.getSortingFunction(this, selectionInfo.sort);
1101
+ (_a = selectionInfo.records) === null || _a === void 0 ? void 0 : _a.sort(sortingFunction);
1102
+ }
1103
+ return selectionInfo;
1037
1104
  }
1038
1105
  /**
1039
1106
  *
@@ -1045,6 +1112,14 @@ export default class DataUnit {
1045
1112
  getSelectedRecord() {
1046
1113
  return getSelectedRecord(this._stateManager);
1047
1114
  }
1115
+ /**
1116
+ * Retorna o DataUnit pai
1117
+ *
1118
+ * @returns DataUnit pai ou undefined
1119
+ */
1120
+ getParentDataUnit() {
1121
+ return this._parentDataUnit;
1122
+ }
1048
1123
  /**
1049
1124
  *
1050
1125
  * Limpa todos os registros do DataUnit
@@ -1132,12 +1207,25 @@ export default class DataUnit {
1132
1207
  *
1133
1208
  * Retorna se existe algum tipo de alteração pendente.
1134
1209
  *
1210
+ * @param ignoreChildren: Define se deverá ignorar alterações pendentes no DataUnit filho.
1135
1211
  * @returns Verdadeiro se existir alterações pendentes.
1136
1212
  *
1137
1213
  */
1138
- isDirty() {
1214
+ isDirty(ignoreChildren) {
1215
+ if (ignoreChildren)
1216
+ return isDirty(this._stateManager);
1139
1217
  return isDirty(this._stateManager) || this.childrenIsDirty();
1140
1218
  }
1219
+ /**
1220
+ *
1221
+ * Retorna se existe alterações pendentes no DataUnit pai.
1222
+ *
1223
+ * @returns Verdadeiro se existir alterações pendentes e Falso caso não exista alterações ou não exista DataUnit pai.
1224
+ *
1225
+ */
1226
+ isParentDirty() {
1227
+ return this._parentDataUnit ? this._parentDataUnit.isDirty(true) : false;
1228
+ }
1141
1229
  /**
1142
1230
  *
1143
1231
  * Retorna se existe algum DataUnit detail com alterações pendentes.
@@ -1299,18 +1387,18 @@ export default class DataUnit {
1299
1387
  * @returns - Verdadeiro se ação iniciada.
1300
1388
  *
1301
1389
  */
1302
- dispatchAction(actionType, payload, executionCtx) {
1390
+ dispatchAction(actionType, payload, executionCtx, options) {
1303
1391
  return __awaiter(this, void 0, void 0, function* () {
1304
1392
  return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
1305
1393
  let action = new DataUnitAction(actionType, payload);
1306
1394
  if (executionCtx && executionCtx.before) {
1307
1395
  action = executionCtx.before(action);
1308
1396
  }
1309
- if (action && this._interceptors && this._interceptors.length > 0) {
1397
+ if (action && this._interceptors && this._interceptors.size > 0) {
1310
1398
  action = yield this.intercept(action, this._interceptors.values());
1311
1399
  }
1312
1400
  if (action) {
1313
- this.doDispatchAction(action);
1401
+ this.doDispatchAction(action, options);
1314
1402
  if (executionCtx && executionCtx.after) {
1315
1403
  executionCtx.after(action);
1316
1404
  }
@@ -1350,17 +1438,14 @@ export default class DataUnit {
1350
1438
  * @param action - Ações em execução no DataUnit.
1351
1439
  *
1352
1440
  */
1353
- doDispatchAction(action) {
1441
+ doDispatchAction(action, options = {}) {
1354
1442
  var _a;
1355
1443
  this._stateManager.process(action);
1356
1444
  (_a = this === null || this === void 0 ? void 0 : this._parentDataUnit) === null || _a === void 0 ? void 0 : _a.dispatchAction(Action.CHILD_CHANGED, { srcAction: action, srcDataUnit: this });
1357
1445
  this._observers.forEach(f => {
1358
- /*
1359
- if some observer throws exceptions,
1360
- should be continued
1361
- */
1446
+ //if some observer throws exceptions, should be continued
1362
1447
  try {
1363
- f(action);
1448
+ f(action, options);
1364
1449
  }
1365
1450
  catch (e) {
1366
1451
  console.warn("[DataUnit] error while call observer", e);
@@ -1395,20 +1480,36 @@ export default class DataUnit {
1395
1480
  * Ela vai ser chamada sempre que uma ação for despachada (dispatchAction()).
1396
1481
  *
1397
1482
  * @param observer - Função que recebe como parâmetro as ações que serão monitoradas.
1398
- *
1483
+ * @param uuid - Identificador do observer. Quando não informado, será gerado um identificador aleatório.
1399
1484
  */
1400
- subscribe(observer) {
1401
- this._observers.push(observer);
1485
+ subscribe(observer, uuid) {
1486
+ if (uuid) {
1487
+ this._observers.set(uuid, observer);
1488
+ }
1489
+ else {
1490
+ uuid = StringUtils.generateUUID();
1491
+ this._observers.set(uuid, observer);
1492
+ }
1493
+ return uuid;
1402
1494
  }
1403
1495
  /**
1404
1496
  *
1405
1497
  * Remove um observer existente.
1406
1498
  *
1407
1499
  * @param observer - Observer que se deseja remover.
1408
- *
1500
+ * @param uuid - Identificador do observer. Quando não informado o delete removera com base no equals do observer.
1409
1501
  */
1410
- unsubscribe(observer) {
1411
- this._observers = this._observers.filter(f => f !== observer);
1502
+ unsubscribe(observer, uuid) {
1503
+ if (uuid) {
1504
+ this._observers.delete(uuid);
1505
+ }
1506
+ else {
1507
+ this._observers.forEach((valor, chave) => {
1508
+ if (valor == observer) {
1509
+ this._observers.delete(chave);
1510
+ }
1511
+ });
1512
+ }
1412
1513
  }
1413
1514
  /**
1414
1515
  *
@@ -1515,10 +1616,11 @@ export default class DataUnit {
1515
1616
  * @param fieldName - nome do campo para ficar invisível.
1516
1617
  *
1517
1618
  */
1518
- hideField(fieldName) {
1619
+ hideField(fieldName, options) {
1519
1620
  const fieldDescriptor = this.getField(fieldName);
1520
1621
  if ((fieldDescriptor === null || fieldDescriptor === void 0 ? void 0 : fieldDescriptor.visible) === true) {
1521
1622
  fieldDescriptor.visible = false;
1623
+ fieldDescriptor.properties = Object.assign(Object.assign({}, fieldDescriptor.properties), { visibleOnConfig: options.visibleOnConfig });
1522
1624
  this.metadata = Object.assign({}, this.metadata);
1523
1625
  }
1524
1626
  }
@@ -1570,10 +1672,13 @@ export default class DataUnit {
1570
1672
  getSelection() {
1571
1673
  console.warn("DataUnit: O método `getSelection` foi descontinuado. Use o método `getSelectionInfo`.");
1572
1674
  const selection = this.getSelectionInfo();
1573
- if (selection != undefined && selection.isAllRecords()) {
1675
+ if (selection == undefined) {
1676
+ return [];
1677
+ }
1678
+ if (selection.isAllRecords()) {
1574
1679
  throw new Error("Erro interno: Impossível retornar os registros selecionados. A seleção atual é virtual. Use o método `getSelectionInfo`.");
1575
1680
  }
1576
- return (selection === null || selection === void 0 ? void 0 : selection.recordIds) || [];
1681
+ return selection === null || selection === void 0 ? void 0 : selection.recordIds;
1577
1682
  }
1578
1683
  /**
1579
1684
  * Adiciona um campo stand-alone ao dataUnit.
@@ -1603,6 +1708,9 @@ export default class DataUnit {
1603
1708
  }));
1604
1709
  return loadingLockerResolver || Promise.resolve;
1605
1710
  }
1711
+ set allowReleaseCallbacks(allow) {
1712
+ this._allowReleaseCallbacks = allow;
1713
+ }
1606
1714
  processLoadingLockers() {
1607
1715
  return __awaiter(this, void 0, void 0, function* () {
1608
1716
  if (this._loadingLockers.length) {
@@ -1613,6 +1721,7 @@ export default class DataUnit {
1613
1721
  }
1614
1722
  }
1615
1723
  DataUnit.CHANGING_PAGE_LOADING_SOURCE = "CHANGING_PAGE_LOADING_SOURCE";
1724
+ DataUnit.ALL_RECORDS_SELECTION_SOURCE = "ALL_RECORDS_SELECTION_SOURCE";
1616
1725
  DataUnit.DEFAULT_DATAUNIT_NAME = "dataunit";
1617
1726
  export var ChangeOperation;
1618
1727
  (function (ChangeOperation) {
@@ -1698,7 +1807,10 @@ export class SelectionInfo {
1698
1807
  }
1699
1808
  get records() {
1700
1809
  if (this.isAllRecords()) {
1701
- throw new Error("Erro interno: [ALL_RECORDS] - Impossível retornar os registros selecionados numa seleção virtual.");
1810
+ if (this.getAllRecords != undefined) {
1811
+ return this.getAllRecords();
1812
+ }
1813
+ throw new Error("Erro interno: Impossível retornar os registros selecionados numa seleção virtual.");
1702
1814
  }
1703
1815
  return this._records;
1704
1816
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataUnit.js","sourceRoot":"","sources":["../../src/dataunit/DataUnit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataUnit.js","sourceRoot":"","sources":["../../src/dataunit/DataUnit.ts"],"names":[],"mappings":"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"}
@@ -19,16 +19,17 @@ export function defaultDataLoader(dataUnit, request, recordsIn) {
19
19
  return Promise.resolve({ records: records, paginationInfo: buildPaginationInfo(request, records) });
20
20
  }
21
21
  function buildPaginationInfo({ offset, limit }, records) {
22
- if (offset === undefined || limit === undefined) {
22
+ if (offset === undefined || limit === undefined || records === undefined) {
23
23
  return undefined;
24
24
  }
25
- const lastRecord = Math.min(offset + limit, records.length);
25
+ const total = (records === null || records === void 0 ? void 0 : records.length) || 0;
26
+ const lastRecord = Math.min(offset + limit, total);
26
27
  return {
27
- currentPage: Math.ceil(offset / limit),
28
+ currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
28
29
  firstRecord: offset,
29
30
  lastRecord: lastRecord,
30
- total: records.length,
31
- hasMore: !!(records.length - lastRecord),
31
+ total: total,
32
+ hasMore: !!(total - lastRecord),
32
33
  };
33
34
  }
34
35
  function filterRecords(record, filter, dataUnit) {