@sankhyalabs/core 5.20.0-dev.8 → 5.20.0-dev.80

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 (208) hide show
  1. package/.docs/classes/Base64Utils.md +39 -0
  2. package/.docs/classes/Change.md +11 -11
  3. package/.docs/classes/ColumnFilterManager.md +145 -0
  4. package/.docs/classes/DataUnit.md +429 -139
  5. package/.docs/classes/DataUnitInMemoryLoader.md +303 -0
  6. package/.docs/classes/DataUnitLoaderUtils.md +151 -0
  7. package/.docs/classes/DateUtils.md +8 -8
  8. package/.docs/classes/FieldComparator.md +2 -2
  9. package/.docs/classes/IDBRepository.md +22 -0
  10. package/.docs/classes/KeyboardManager.md +99 -9
  11. package/.docs/classes/LockManager.md +249 -0
  12. package/.docs/classes/MaskFormatter.md +66 -14
  13. package/.docs/classes/ObjectUtils.md +189 -0
  14. package/.docs/classes/OverflowWatcher.md +533 -0
  15. package/.docs/classes/SelectionInfo.md +25 -11
  16. package/.docs/classes/ServiceCanceledException.md +193 -0
  17. package/.docs/classes/ServiceUtils.md +67 -0
  18. package/.docs/classes/SilentException.md +193 -0
  19. package/.docs/classes/StringUtils.md +33 -9
  20. package/.docs/classes/UserAgentUtils.md +15 -1
  21. package/.docs/enumerations/Action.md +41 -21
  22. package/.docs/enumerations/ChangeOperation.md +4 -4
  23. package/.docs/enumerations/LockManagerOperation.md +33 -0
  24. package/.docs/enumerations/OverflowDirection.md +29 -0
  25. package/.docs/enumerations/RECORD_DATE_FORMAT.md +27 -0
  26. package/.docs/enumerations/SelectionMode.md +2 -2
  27. package/.docs/enumerations/StorageType.md +37 -0
  28. package/.docs/enumerations/UserInterface.md +15 -5
  29. package/.docs/globals.md +25 -0
  30. package/.docs/interfaces/DUActionInterceptor.md +1 -1
  31. package/.docs/interfaces/DataUnitInMemoryLoaderConfig.md +37 -0
  32. package/.docs/interfaces/IRepository.md +18 -0
  33. package/.docs/interfaces/LoadDataRequest.md +1 -1
  34. package/.docs/interfaces/OverFlowWatcherParams.md +67 -0
  35. package/.docs/interfaces/PageRequest.md +3 -3
  36. package/.docs/interfaces/PaginationInfo.md +25 -0
  37. package/.docs/interfaces/PaginationInfoBuilderParams.md +37 -0
  38. package/.docs/interfaces/QuickFilter.md +3 -3
  39. package/.docs/interfaces/Record.md +4 -4
  40. package/.docs/interfaces/SavedRecord.md +5 -5
  41. package/.docs/interfaces/WaitingChange.md +3 -3
  42. package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +1 -1
  43. package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +1 -1
  44. package/.docs/type-aliases/DataUnitEventOptions.md +17 -0
  45. package/.docs/type-aliases/OnOverflowCallBack.md +25 -0
  46. package/.docs/variables/OVERFLOWED_CLASS_NAME.md +13 -0
  47. package/.releaserc +1 -0
  48. package/bun.lockb +0 -0
  49. package/dist/dataunit/DataUnit.d.ts +92 -13
  50. package/dist/dataunit/DataUnit.js +227 -71
  51. package/dist/dataunit/DataUnit.js.map +1 -1
  52. package/dist/dataunit/DataUnitHelper.js +6 -5
  53. package/dist/dataunit/DataUnitHelper.js.map +1 -1
  54. package/dist/dataunit/formatting/PrettyFormatter.js +17 -6
  55. package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -1
  56. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.d.ts +9 -0
  57. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js +6 -0
  58. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js.map +1 -0
  59. package/dist/dataunit/loader/dataUnitInMemoryLoader.d.ts +25 -0
  60. package/dist/dataunit/loader/dataUnitInMemoryLoader.js +131 -0
  61. package/dist/dataunit/loader/dataUnitInMemoryLoader.js.map +1 -0
  62. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.d.ts +20 -0
  63. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js +62 -0
  64. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js.map +1 -0
  65. package/dist/dataunit/loading/LoadDataRequest.d.ts +1 -1
  66. package/dist/dataunit/loading/PaginationInfo.d.ts +8 -0
  67. package/dist/dataunit/metadata/DataType.js +7 -1
  68. package/dist/dataunit/metadata/DataType.js.map +1 -1
  69. package/dist/dataunit/metadata/UnitMetadata.d.ts +1 -0
  70. package/dist/dataunit/metadata/UnitMetadata.js +1 -0
  71. package/dist/dataunit/metadata/UnitMetadata.js.map +1 -1
  72. package/dist/dataunit/sorting/FieldComparator.d.ts +2 -2
  73. package/dist/dataunit/sorting/FieldComparator.js +4 -9
  74. package/dist/dataunit/sorting/FieldComparator.js.map +1 -1
  75. package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -0
  76. package/dist/dataunit/state/action/DataUnitAction.js +2 -0
  77. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  78. package/dist/dataunit/state/slice/LoadingControlSlice.js +16 -0
  79. package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -1
  80. package/dist/dataunit/state/slice/RecordsSlice.js +1 -1
  81. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
  82. package/dist/dataunit/state/slice/SelectionSlice.js +4 -4
  83. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
  84. package/dist/exceptions/ServiceCanceledException.d.ts +14 -0
  85. package/dist/exceptions/ServiceCanceledException.js +13 -0
  86. package/dist/exceptions/ServiceCanceledException.js.map +1 -0
  87. package/dist/exceptions/SilentException.d.ts +14 -0
  88. package/dist/exceptions/SilentException.js +13 -0
  89. package/dist/exceptions/SilentException.js.map +1 -0
  90. package/dist/index.d.ts +13 -2
  91. package/dist/index.js +12 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/repository/IRepository.d.ts +6 -0
  94. package/dist/repository/indexeddb/IDBRepository.d.ts +1 -0
  95. package/dist/repository/indexeddb/IDBRepository.js +3 -0
  96. package/dist/repository/indexeddb/IDBRepository.js.map +1 -1
  97. package/dist/utils/Base64Utils.d.ts +7 -0
  98. package/dist/utils/Base64Utils.js +13 -0
  99. package/dist/utils/Base64Utils.js.map +1 -0
  100. package/dist/utils/CacheManager/index.d.ts +52 -0
  101. package/dist/utils/CacheManager/index.js +101 -0
  102. package/dist/utils/CacheManager/index.js.map +1 -0
  103. package/dist/utils/CacheManager/interfaces/index.d.ts +5 -0
  104. package/dist/utils/CacheManager/interfaces/index.js +7 -0
  105. package/dist/utils/CacheManager/interfaces/index.js.map +1 -0
  106. package/dist/utils/ColumnFilterManager.d.ts +19 -0
  107. package/dist/utils/ColumnFilterManager.js +73 -0
  108. package/dist/utils/ColumnFilterManager.js.map +1 -0
  109. package/dist/utils/DateUtils.js +3 -0
  110. package/dist/utils/DateUtils.js.map +1 -1
  111. package/dist/utils/ElementUtils.d.ts +2 -0
  112. package/dist/utils/ElementUtils.js +9 -0
  113. package/dist/utils/ElementUtils.js.map +1 -0
  114. package/dist/utils/KeyboardManager/index.d.ts +9 -0
  115. package/dist/utils/KeyboardManager/index.js +45 -1
  116. package/dist/utils/KeyboardManager/index.js.map +1 -1
  117. package/dist/utils/KeyboardManager/interface.d.ts +1 -0
  118. package/dist/utils/LockManager.d.ts +58 -0
  119. package/dist/utils/LockManager.js +188 -0
  120. package/dist/utils/LockManager.js.map +1 -0
  121. package/dist/utils/MaskFormatter.d.ts +16 -1
  122. package/dist/utils/MaskFormatter.js +82 -2
  123. package/dist/utils/MaskFormatter.js.map +1 -1
  124. package/dist/utils/ObjectUtils.d.ts +52 -0
  125. package/dist/utils/ObjectUtils.js +71 -0
  126. package/dist/utils/ObjectUtils.js.map +1 -1
  127. package/dist/utils/OnboardingUtils.js +1 -1
  128. package/dist/utils/OnboardingUtils.js.map +1 -1
  129. package/dist/utils/OverflowWatcher/index.d.ts +59 -0
  130. package/dist/utils/OverflowWatcher/index.js +188 -0
  131. package/dist/utils/OverflowWatcher/index.js.map +1 -0
  132. package/dist/utils/OverflowWatcher/types/overflow-callback.d.ts +6 -0
  133. package/dist/utils/OverflowWatcher/types/overflow-callback.js +2 -0
  134. package/dist/utils/OverflowWatcher/types/overflow-callback.js.map +1 -0
  135. package/dist/utils/OverflowWatcher/types/overflow-direction.d.ts +7 -0
  136. package/dist/utils/OverflowWatcher/types/overflow-direction.js +9 -0
  137. package/dist/utils/OverflowWatcher/types/overflow-direction.js.map +1 -0
  138. package/dist/utils/ServiceUtils.d.ts +24 -0
  139. package/dist/utils/ServiceUtils.js +40 -0
  140. package/dist/utils/ServiceUtils.js.map +1 -0
  141. package/dist/utils/SortingUtils.d.ts +9 -0
  142. package/dist/utils/SortingUtils.js +24 -0
  143. package/dist/utils/SortingUtils.js.map +1 -0
  144. package/dist/utils/StringUtils.d.ts +6 -0
  145. package/dist/utils/StringUtils.js +23 -6
  146. package/dist/utils/StringUtils.js.map +1 -1
  147. package/dist/utils/UserAgentUtils/index.d.ts +1 -0
  148. package/dist/utils/UserAgentUtils/index.js +5 -0
  149. package/dist/utils/UserAgentUtils/index.js.map +1 -1
  150. package/jest.config.ts +2 -0
  151. package/package.json +2 -1
  152. package/reports/test-report.xml +760 -0
  153. package/setupTests.js +7 -0
  154. package/sonar-project.properties +6 -3
  155. package/src/dataunit/DataUnit.ts +278 -86
  156. package/src/dataunit/DataUnitHelper.ts +6 -5
  157. package/src/dataunit/formatting/PrettyFormatter.ts +19 -6
  158. package/src/dataunit/loader/DataUnitInMemoryLoaderConfig.ts +10 -0
  159. package/src/dataunit/loader/dataUnitInMemoryLoader.ts +176 -0
  160. package/src/dataunit/loader/utils/dataUnitLoaderUtils.ts +86 -0
  161. package/src/dataunit/loading/LoadDataRequest.ts +1 -1
  162. package/src/dataunit/loading/PaginationInfo.ts +10 -0
  163. package/src/dataunit/metadata/DataType.ts +8 -1
  164. package/src/dataunit/metadata/UnitMetadata.ts +1 -0
  165. package/src/dataunit/sorting/FieldComparator.ts +18 -32
  166. package/src/dataunit/state/action/DataUnitAction.ts +2 -0
  167. package/src/dataunit/state/slice/LoadingControlSlice.ts +42 -0
  168. package/src/dataunit/state/slice/RecordsSlice.ts +1 -1
  169. package/src/dataunit/state/slice/SelectionSlice.ts +4 -4
  170. package/src/dataunit/state/slice/test/RecordsSlice.spec.ts +45 -0
  171. package/src/dataunit/test/DataUnit.spec.ts +44 -0
  172. package/src/exceptions/ServiceCanceledException.ts +25 -0
  173. package/src/exceptions/SilentException.ts +25 -0
  174. package/src/index.ts +32 -1
  175. package/src/repository/IRepository.ts +7 -0
  176. package/src/repository/indexeddb/IDBRepository.ts +4 -0
  177. package/src/utils/Base64Utils.ts +13 -0
  178. package/src/utils/CacheManager/index.ts +103 -0
  179. package/src/utils/CacheManager/interfaces/index.ts +5 -0
  180. package/src/utils/ColumnFilterManager.ts +104 -0
  181. package/src/utils/DateUtils.ts +3 -0
  182. package/src/utils/ElementUtils.ts +10 -0
  183. package/src/utils/KeyboardManager/index.ts +57 -0
  184. package/src/utils/KeyboardManager/interface.ts +1 -0
  185. package/src/utils/LockManager.ts +207 -0
  186. package/src/utils/MaskFormatter.ts +93 -2
  187. package/src/utils/ObjectUtils.ts +77 -0
  188. package/src/utils/OnboardingUtils.ts +1 -1
  189. package/src/utils/OverflowWatcher/index.ts +243 -0
  190. package/src/utils/OverflowWatcher/types/overflow-callback.ts +6 -0
  191. package/src/utils/OverflowWatcher/types/overflow-direction.ts +7 -0
  192. package/src/utils/ServiceUtils.ts +36 -0
  193. package/src/utils/SortingUtils.ts +30 -0
  194. package/src/utils/StringUtils.ts +23 -6
  195. package/src/utils/UserAgentUtils/index.ts +6 -1
  196. package/test/dataunit/formatting/PrettyFormatter.spec.ts +177 -0
  197. package/test/dataunit/loader/dataUnitInMemoryLoader.spec.ts +221 -0
  198. package/test/dataunit/loader/utils/dataUnitLoaderUtils.spec.ts +158 -0
  199. package/test/testCases/NumberUtilsTestCases.ts +190 -0
  200. package/test/testCases/StringUtilsTestCases.ts +435 -0
  201. package/test/testCases/TimeFormatterTestUtils.ts +43 -0
  202. package/test/util/ColumnFilterManager.spec.ts +133 -0
  203. package/test/util/ElementUtils.spec.ts +34 -0
  204. package/test/util/NumberUtils.spec.ts +72 -150
  205. package/test/util/ObjectUtils.spec.ts +572 -0
  206. package/test/util/OverflowWatcher.spec.ts +152 -0
  207. package/test/util/StringUtils.spec.ts +260 -36
  208. package/test/util/TimeFormatter.spec.ts +65 -18
@@ -0,0 +1,101 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { StorageType } from './interfaces/index.js';
11
+ export * from "./interfaces/index.js";
12
+ export class CacheManager {
13
+ /**
14
+ * Recupera ou define o valor no cache.
15
+ *
16
+ * @param key Identificador único para armazenar e recuperar o valor.
17
+ * @param fetchCallback Função que retorna uma `Promise` com o valor a ser armazenado no cache caso ele não exista ou tenha expirado.
18
+ * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
19
+ * @returns Uma `Promise` com o valor armazenado ou obtido via `fetchCallback`.
20
+ */
21
+ static getOrSet(key, fetchCallback, storageType = StorageType.IN_MEMORY_CACHE) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const cache = this.getCache(storageType);
24
+ if (cache[key]) {
25
+ return cache[key].data;
26
+ }
27
+ const data = yield fetchCallback();
28
+ cache[key] = { data };
29
+ this.saveCache(cache, storageType);
30
+ return data;
31
+ });
32
+ }
33
+ /**
34
+ * Remove uma entrada específica do cache.
35
+ *
36
+ * @param key Identificador único da entrada a ser removida.
37
+ * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
38
+ */
39
+ static clear(key, storageType = StorageType.IN_MEMORY_CACHE) {
40
+ const cache = this.getCache(storageType);
41
+ delete cache[key];
42
+ this.saveCache(cache, storageType);
43
+ }
44
+ /**
45
+ * Remove todas as entradas do cache.
46
+ *
47
+ * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
48
+ */
49
+ static clearAll(storageType = StorageType.IN_MEMORY_CACHE) {
50
+ if (storageType === StorageType.IN_MEMORY_CACHE) {
51
+ this.inMemoryCache.clear();
52
+ }
53
+ else {
54
+ this.getStorage(storageType).removeItem(this.storageKey);
55
+ }
56
+ }
57
+ /**
58
+ * Obtém o cache armazenado no armazenamento especificado.
59
+ * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
60
+ * @returns Um objeto representando o cache armazenado.
61
+ */
62
+ static getCache(storageType) {
63
+ if (storageType === StorageType.IN_MEMORY_CACHE) {
64
+ return Object.fromEntries(this.inMemoryCache);
65
+ }
66
+ const storage = this.getStorage(storageType);
67
+ const cache = storage.getItem(this.storageKey);
68
+ return cache ? JSON.parse(cache) : {};
69
+ }
70
+ /**
71
+ * Salva o cache no armazenamento especificado.
72
+ * @param cache O objeto representando o cache a ser salvo.
73
+ * @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
74
+ */
75
+ static saveCache(cache, storageType) {
76
+ if (storageType === StorageType.IN_MEMORY_CACHE) {
77
+ this.inMemoryCache = new Map(Object.entries(cache));
78
+ }
79
+ else {
80
+ const storage = this.getStorage(storageType);
81
+ storage.setItem(this.storageKey, JSON.stringify(cache));
82
+ }
83
+ }
84
+ /**
85
+ * Retorna o armazenamento correspondente ao tipo especificado.
86
+ * @param storageType Tipo de armazenamento: `'sessionStorage'` ou `'localStorage'`.
87
+ * @returns O objeto de armazenamento correspondente.
88
+ */
89
+ static getStorage(storageType) {
90
+ return storageType === StorageType.LOCAL_STORAGE ? localStorage : sessionStorage;
91
+ }
92
+ }
93
+ /**
94
+ * Nome da chave utilizada para armazenar o cache no armazenamento.
95
+ */
96
+ CacheManager.storageKey = 'cacheManager';
97
+ /**
98
+ * Estrutura de armazenamento em memória.
99
+ */
100
+ CacheManager.inMemoryCache = new Map();
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/CacheManager/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,cAAc,uBAAuB,CAAC;AAEtC,MAAM,OAAO,YAAY;IAWrB;;;;;;;OAOG;IACI,MAAM,CAAO,QAAQ,CACxB,GAAW,EACX,aAA+B,EAC/B,cAA2B,WAAW,CAAC,eAAe;;YAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEzC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;gBACZ,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;aAC1B;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,cAA2B,WAAW,CAAC,eAAe;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,cAA2B,WAAW,CAAC,eAAe;QACzE,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC9B;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,QAAQ,CAAC,WAAwB;QAC5C,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE;YAC7C,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACjD;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,SAAS,CAAC,KAA0B,EAAE,WAAwB;QACzE,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD;aAAM;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3D;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,UAAU,CAAC,WAAwB;QAC9C,OAAO,WAAW,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;IACrF,CAAC;;AAhGD;;GAEG;AACqB,uBAAU,GAAG,cAAc,CAAC;AAEpD;;GAEG;AACY,0BAAa,GAAG,IAAI,GAAG,EAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare enum StorageType {
2
+ IN_MEMORY_CACHE = "inMemoryCache",
3
+ SESSION_STORAGE = "sessionStorage",
4
+ LOCAL_STORAGE = "localStorage"
5
+ }
@@ -0,0 +1,7 @@
1
+ export var StorageType;
2
+ (function (StorageType) {
3
+ StorageType["IN_MEMORY_CACHE"] = "inMemoryCache";
4
+ StorageType["SESSION_STORAGE"] = "sessionStorage";
5
+ StorageType["LOCAL_STORAGE"] = "localStorage";
6
+ })(StorageType || (StorageType = {}));
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/CacheManager/interfaces/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,gDAAiC,CAAA;IACjC,iDAAkC,CAAA;IAClC,6CAA8B,CAAA;AAClC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
@@ -0,0 +1,19 @@
1
+ import { Filter } from '../dataunit/metadata/UnitMetadata.js';
2
+ import DataUnit, { Record } from '../dataunit/DataUnit.js';
3
+ export declare class ColumnFilterManager {
4
+ static getColumnFilters(filters: Array<Filter>, fieldName: string): Map<string, IColumnFilter>;
5
+ static getFilterFunction(dataUnit: DataUnit, filters?: Array<IColumnFilter>): ((record: Record) => boolean) | undefined;
6
+ private static recordMatchesFilter;
7
+ static compileDistinct(fieldName: string, dataUnit: DataUnit): Array<IMultiSelectionOption>;
8
+ static compileDistinctFromArray(fieldName: string, dataUnit: DataUnit, records: Array<Record>): Array<IMultiSelectionOption>;
9
+ private static doCompileDistinct;
10
+ }
11
+ interface IMultiSelectionOption {
12
+ value: string;
13
+ label: string;
14
+ check: boolean;
15
+ }
16
+ export interface IColumnFilter extends Filter {
17
+ columnName: string;
18
+ }
19
+ export {};
@@ -0,0 +1,73 @@
1
+ import { FieldComparator } from '../dataunit/sorting/FieldComparator.js';
2
+ const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
3
+ export class ColumnFilterManager {
4
+ static getColumnFilters(filters, fieldName) {
5
+ const columnFilters = new Map();
6
+ if (!(filters === null || filters === void 0 ? void 0 : filters.length)) {
7
+ return columnFilters;
8
+ }
9
+ filters.forEach(filter => {
10
+ const result = COLUMN_FILTER_PATTERN.exec(filter.name);
11
+ if (result) {
12
+ if (fieldName !== result[1]) {
13
+ columnFilters.set(filter.name, Object.assign({ columnName: result[1] }, filter));
14
+ }
15
+ }
16
+ });
17
+ return columnFilters;
18
+ }
19
+ static getFilterFunction(dataUnit, filters) {
20
+ if (!(filters === null || filters === void 0 ? void 0 : filters.length))
21
+ return undefined;
22
+ return record => {
23
+ for (const filter of filters) {
24
+ if (!ColumnFilterManager.recordMatchesFilter(dataUnit, record, filter)) {
25
+ return false;
26
+ }
27
+ }
28
+ return true;
29
+ };
30
+ }
31
+ static recordMatchesFilter(dataUnit, record, columnFilter) {
32
+ const fieldDescriptor = dataUnit.getField(columnFilter.columnName);
33
+ if (!columnFilter.params || !fieldDescriptor)
34
+ return false;
35
+ const fieldValue = record[columnFilter.columnName];
36
+ for (let param of columnFilter.params) {
37
+ const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
38
+ if (FieldComparator.compareValues(fieldDescriptor, fieldValue, paramValue) === 0) {
39
+ return true;
40
+ }
41
+ }
42
+ return false;
43
+ }
44
+ static compileDistinct(fieldName, dataUnit) {
45
+ const request = dataUnit.getLastLoadRequest();
46
+ let list = dataUnit.records;
47
+ return this.doCompileDistinct(request, fieldName, dataUnit, list);
48
+ }
49
+ static compileDistinctFromArray(fieldName, dataUnit, records) {
50
+ const request = dataUnit.getLastLoadRequest();
51
+ return this.doCompileDistinct(request, fieldName, dataUnit, records);
52
+ }
53
+ static doCompileDistinct(request, fieldName, dataUnit, list) {
54
+ var _a;
55
+ if (request != undefined) {
56
+ const columnFilters = Array.from(ColumnFilterManager.getColumnFilters((_a = request === null || request === void 0 ? void 0 : request.filters) !== null && _a !== void 0 ? _a : [], fieldName).values());
57
+ const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, columnFilters);
58
+ if (filterFunction != undefined) {
59
+ list = list.filter(filterFunction);
60
+ }
61
+ }
62
+ const distinct = new Map(list.map(record => {
63
+ const fieldValue = record[fieldName];
64
+ if (fieldValue == undefined) {
65
+ return [null, { label: null, value: null, check: true }];
66
+ }
67
+ const item = { label: dataUnit.getFormattedValue(fieldName, fieldValue), value: fieldValue, check: true };
68
+ return [item.label, item];
69
+ }));
70
+ return Array.from(distinct.values());
71
+ }
72
+ }
73
+ //# sourceMappingURL=ColumnFilterManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnFilterManager.js","sourceRoot":"","sources":["../../src/utils/ColumnFilterManager.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,9 @@ export default class DateUtils {
36
36
  * @returns - Uma string com as horas no formato HH:MM ou HH:MM:SS.
37
37
  */
38
38
  static formatTime(date, showSeconds = false) {
39
+ if (date == null) {
40
+ return '';
41
+ }
39
42
  const timeOptions = { hour: "2-digit", minute: "2-digit", second: showSeconds ? "2-digit" : undefined };
40
43
  return new Intl.DateTimeFormat("pt-BR", timeOptions).format(date);
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../src/utils/DateUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../src/utils/DateUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { OverflowDirection } from './OverflowWatcher/types/overflow-direction.js';
2
+ export declare function calcMarginSize(el: Element, scrollDirection: OverflowDirection): number;
@@ -0,0 +1,9 @@
1
+ import { OverflowDirection } from './OverflowWatcher/types/overflow-direction.js';
2
+ export function calcMarginSize(el, scrollDirection) {
3
+ const computedStyle = getComputedStyle(el);
4
+ if (OverflowDirection.HORIZONTAL === scrollDirection) {
5
+ return (parseInt(computedStyle.marginLeft || '0') + parseInt(computedStyle.marginRight || '0'));
6
+ }
7
+ return (parseInt(computedStyle.marginTop || '0') + parseInt(computedStyle.marginBottom || '0'));
8
+ }
9
+ //# sourceMappingURL=ElementUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementUtils.js","sourceRoot":"","sources":["../../src/utils/ElementUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,eAAkC;IAC3E,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAG,iBAAiB,CAAC,UAAU,KAAK,eAAe,EAAC;QAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC;KACjG;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC;AAClG,CAAC"}
@@ -4,6 +4,7 @@ import { IGetMappedKeys, IKeyboardOptions } from "./interface.js";
4
4
  */
5
5
  export declare class KeyboardManager {
6
6
  private _options;
7
+ private _shadowRoots;
7
8
  private _mappedElements;
8
9
  /**
9
10
  * Construtor para a classe Keyboard.
@@ -11,6 +12,9 @@ export declare class KeyboardManager {
11
12
  * @param {IKeyboardOptions} options - opções para o gerenciamento de eventos de teclado.
12
13
  */
13
14
  constructor(options?: Partial<IKeyboardOptions>);
15
+ private findAllNestedShadowRoots;
16
+ private addEventListenerToNestedShadowRoots;
17
+ private removeEventListenerToNestedShadowRoots;
14
18
  /**
15
19
  * Associa um evento de teclado com uma função
16
20
  *
@@ -20,6 +24,11 @@ export declare class KeyboardManager {
20
24
  * @return {KeyboardManager} O objeto `KeyboardManager`
21
25
  */
22
26
  bind(keyMap: string, callback: VoidFunction, options?: Partial<IKeyboardOptions>): KeyboardManager;
27
+ /**
28
+ * Remove todos os eventos de teclado ou de uma lista informada
29
+ *
30
+ */
31
+ unbindAllShortcutKeys(listShortcutKeys?: string[]): void;
23
32
  /**
24
33
  * Remove um evento de teclado
25
34
  *
@@ -12,8 +12,38 @@ export class KeyboardManager {
12
12
  * @param {IKeyboardOptions} options - opções para o gerenciamento de eventos de teclado.
13
13
  */
14
14
  constructor(options) {
15
+ this._shadowRoots = [];
15
16
  this._mappedElements = {};
16
- this._options = Object.assign({ type: 'keydown', propagate: false, element: document.body, debounceTime: 0 }, options);
17
+ this._options = Object.assign({ type: 'keydown', propagate: false, element: document.body, debounceTime: 0, enableShadowDom: false }, options);
18
+ if (this._options.enableShadowDom) {
19
+ this._shadowRoots = this.findAllNestedShadowRoots(this._options.element);
20
+ }
21
+ }
22
+ findAllNestedShadowRoots(element, results = []) {
23
+ if (!element) {
24
+ return results;
25
+ }
26
+ const shadowRoot = element === null || element === void 0 ? void 0 : element.shadowRoot;
27
+ if (shadowRoot) {
28
+ results.push(shadowRoot);
29
+ shadowRoot.querySelectorAll("*").forEach((child) => {
30
+ this.findAllNestedShadowRoots(child, results);
31
+ });
32
+ }
33
+ element.childNodes.forEach((child) => {
34
+ this.findAllNestedShadowRoots(child, results);
35
+ });
36
+ return results;
37
+ }
38
+ addEventListenerToNestedShadowRoots(event, callback) {
39
+ this._shadowRoots.forEach((shadowRoot) => {
40
+ shadowRoot.addEventListener(event, callback);
41
+ });
42
+ }
43
+ removeEventListenerToNestedShadowRoots(event, callback) {
44
+ this._shadowRoots.forEach((shadowRoot) => {
45
+ shadowRoot.removeEventListener(event, callback);
46
+ });
17
47
  }
18
48
  /**
19
49
  * Associa um evento de teclado com uma função
@@ -36,8 +66,19 @@ export class KeyboardManager {
36
66
  options: bindOptions
37
67
  } });
38
68
  bindOptions.element.addEventListener(bindOptions.type, debounceFunction);
69
+ if (bindOptions.enableShadowDom) {
70
+ this.addEventListenerToNestedShadowRoots(bindOptions.type, debounceFunction);
71
+ }
39
72
  return this;
40
73
  }
74
+ /**
75
+ * Remove todos os eventos de teclado ou de uma lista informada
76
+ *
77
+ */
78
+ unbindAllShortcutKeys(listShortcutKeys) {
79
+ const mappedKeys = [...Object.keys(listShortcutKeys || this._mappedElements)];
80
+ mappedKeys === null || mappedKeys === void 0 ? void 0 : mappedKeys.forEach(keyMap => this.unbind(keyMap));
81
+ }
41
82
  /**
42
83
  * Remove um evento de teclado
43
84
  *
@@ -53,6 +94,9 @@ export class KeyboardManager {
53
94
  delete this._mappedElements[keyMap];
54
95
  const { callback, options: { element, type } } = unbindElement;
55
96
  element.removeEventListener(type, callback);
97
+ if (unbindElement.options.enableShadowDom) {
98
+ this.removeEventListenerToNestedShadowRoots(type, callback);
99
+ }
56
100
  return this;
57
101
  }
58
102
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/KeyboardManager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/KeyboardManager/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export interface IKeyboardOptions {
2
2
  type: 'keydown' | 'keyup';
3
3
  propagate: boolean;
4
+ enableShadowDom: boolean;
4
5
  element: HTMLElement | Document;
5
6
  debounceTime: number;
6
7
  description?: string;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Define os tipos de operação que o locker pode controlar
3
+ */
4
+ export declare enum LockManagerOperation {
5
+ /**
6
+ Operação de lock utilizada para controlar cliques nos botoes da taskbar.
7
+ */
8
+ TASKBAR_CLICK = "taskbar_click",
9
+ /**
10
+ Operação de lock utilizada para controlar carregamento da aplicação.
11
+ */
12
+ APP_LOADING = "app_loading"
13
+ }
14
+ export declare class LockManager {
15
+ private static _locks;
16
+ /**
17
+ * Nome do atributo que será utilizado para controlar contexto de locks nos elementos da DOM.
18
+ */
19
+ static ATTRIBUTE_NAME: string;
20
+ private static buildContextID;
21
+ private static buildLockerID;
22
+ private static findExistingCtxId;
23
+ private static traverseAndAddAttr;
24
+ /**
25
+ * Cria um contexto de locker, caso nao exista, para todos elementos pais iniciados com ez- ou snk-.
26
+ *
27
+ * @param startElement - Elemento de de onde o lock deve começar.
28
+ *
29
+ * @returns - O id do locker, que pode ser usado para iniciar ou aguardar um lock do contexto.
30
+ */
31
+ static addLockManagerCtxId(startElement: HTMLElement): string;
32
+ /**
33
+ * Reseta todos os locks existentes para um determinado contexto e operação de forma assíncrona
34
+ * @param id - ID do contexto ou elemento HTML contendo contexto
35
+ * @param operation - Operação específica para resetar os locks
36
+ * @returns Promise que será resolvida quando todos os locks forem resetados
37
+ */
38
+ static resetLocks(id: string | HTMLElement, operation: LockManagerOperation): Promise<void>;
39
+ /**
40
+ * Inicia um locker baseado em um contexto e uma operação.
41
+ *
42
+ * @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
43
+ * @param operation - Operação do contexto que o lock deve ser feito.
44
+ *
45
+ * @returns - Uma função que fara a liberação do lock.
46
+ */
47
+ static lock(id: string | HTMLElement, operation: LockManagerOperation): () => void;
48
+ /**
49
+ * Aguarda todos os lockers de um contexto e operação serem resolvidos.
50
+ *
51
+ * @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
52
+ * @param operation - Operação do contexto que devera aguardar.
53
+ *
54
+ * @returns - Promise que será resolvida quando todos lockers forem finalizados.
55
+ */
56
+ static whenResolve(id: string | HTMLElement, operation: LockManagerOperation, debounce?: number, timeOut?: number): Promise<void>;
57
+ static whenHasLock(id: string | HTMLElement, operation: LockManagerOperation, timeOut?: number): Promise<void>;
58
+ }