@sankhyalabs/sankhyablocks 8.15.0-rc.2 → 8.15.0-rc.21

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 (243) hide show
  1. package/dist/cjs/{ConfigStorage-302bbbd4.js → ConfigStorage-8d4e9d53.js} +70 -7
  2. package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
  3. package/dist/cjs/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-33995e92.js} +21 -13
  4. package/dist/cjs/{SnkMessageBuilder-e7dcf408.js → SnkMessageBuilder-66aa2557.js} +6 -1
  5. package/dist/cjs/SnkMultiSelectionListDataSource-d15f7aac.js +140 -0
  6. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-bb8e9ae4.js} +1 -1
  7. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-d73f4449.js} +13 -1
  8. package/dist/cjs/index-f9e81701.js +2 -10
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-e4a7c4c3.js → pesquisa-fetcher-bdbbe9ac.js} +277 -61
  11. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  12. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +520 -5
  13. package/dist/cjs/snk-application.cjs.entry.js +13 -8
  14. package/dist/cjs/snk-attach.cjs.entry.js +67 -47
  15. package/dist/cjs/snk-crud.cjs.entry.js +16 -10
  16. package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -6
  17. package/dist/cjs/{snk-data-unit-82c08a8c.js → snk-data-unit-41c29713.js} +1 -1
  18. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  19. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
  20. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  21. package/dist/cjs/snk-filter-bar.cjs.entry.js +36 -5
  22. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  23. package/dist/cjs/snk-filter-item.cjs.entry.js +10 -6
  24. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  25. package/dist/cjs/snk-form-config.cjs.entry.js +47 -27
  26. package/dist/cjs/snk-form.cjs.entry.js +11 -4
  27. package/dist/cjs/snk-grid.cjs.entry.js +37 -22
  28. package/dist/cjs/{snk-guides-viewer-d32c096f.js → snk-guides-viewer-a8dd24a3.js} +15 -9
  29. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
  30. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  32. package/dist/cjs/snk-simple-crud.cjs.entry.js +256 -22
  33. package/dist/cjs/snk-taskbar.cjs.entry.js +123 -15
  34. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-3ecd1278.js} +9 -9
  35. package/dist/collection/collection-manifest.json +6 -6
  36. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  37. package/dist/collection/components/snk-application/snk-application.js +51 -11
  38. package/dist/collection/components/snk-attach/snk-attach.js +39 -24
  39. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +1 -1
  40. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +29 -22
  41. package/dist/collection/components/snk-crud/snk-crud.js +95 -3
  42. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  43. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  44. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
  45. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +7 -3
  46. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  47. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  48. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  49. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -6
  50. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
  51. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +116 -2
  52. package/dist/collection/components/snk-form/snk-form.js +25 -1
  53. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
  54. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  55. package/dist/collection/components/snk-grid/snk-grid.js +100 -16
  56. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  57. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  58. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  59. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  60. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +421 -17
  61. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  62. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +9 -9
  63. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  64. package/dist/collection/components/snk-taskbar/snk-taskbar.js +166 -14
  65. package/dist/collection/lib/configs/ConfigStorage.js +63 -3
  66. package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
  67. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  68. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
  69. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  70. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  71. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +4 -11
  72. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  73. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  74. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  75. package/dist/components/ConfigStorage.js +68 -5
  76. package/dist/components/DataFetcher.js +5 -3
  77. package/dist/components/SnkFormConfigManager.js +19 -11
  78. package/dist/components/SnkMessageBuilder.js +6 -1
  79. package/dist/components/dataunit-fetcher.js +45 -50
  80. package/dist/components/field-search.js +93 -3
  81. package/dist/components/form-config-fetcher.js +12 -0
  82. package/dist/components/index.d.ts +6 -6
  83. package/dist/components/snk-application2.js +9 -1
  84. package/dist/components/snk-attach2.js +115 -52
  85. package/dist/components/snk-crud.js +15 -3
  86. package/dist/components/snk-data-exporter2.js +7 -3
  87. package/dist/components/snk-detail-view2.js +40 -7
  88. package/dist/components/snk-entity-list.js +5 -3
  89. package/dist/components/snk-filter-bar2.js +38 -3
  90. package/dist/components/snk-filter-detail2.js +5 -1
  91. package/dist/components/snk-filter-item2.js +11 -6
  92. package/dist/components/snk-form-config2.js +46 -26
  93. package/dist/components/snk-form.js +8 -0
  94. package/dist/components/snk-grid-config2.js +128 -102
  95. package/dist/components/snk-grid2.js +38 -17
  96. package/dist/components/snk-personalized-filter-editor.js +3 -1
  97. package/dist/components/snk-simple-crud2.js +317 -29
  98. package/dist/components/snk-taskbar2.js +139 -25
  99. package/dist/components/taskbar-actions-button2.js +1 -1
  100. package/dist/esm/{ConfigStorage-4151acc8.js → ConfigStorage-6e241cd7.js} +70 -7
  101. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
  102. package/dist/esm/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-7a4e678f.js} +21 -13
  103. package/dist/esm/{SnkMessageBuilder-0fb796b9.js → SnkMessageBuilder-0a4becdd.js} +6 -1
  104. package/dist/esm/SnkMultiSelectionListDataSource-7084f3b3.js +133 -0
  105. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-8ec448b0.js} +1 -1
  106. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-765b8498.js} +13 -1
  107. package/dist/esm/index-a7d3d3f1.js +2 -10
  108. package/dist/esm/loader.js +1 -1
  109. package/dist/esm/{pesquisa-fetcher-fa0c2540.js → pesquisa-fetcher-96d2f351.js} +266 -54
  110. package/dist/esm/sankhyablocks.js +1 -1
  111. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +519 -6
  112. package/dist/esm/snk-application.entry.js +13 -8
  113. package/dist/esm/snk-attach.entry.js +66 -46
  114. package/dist/esm/snk-crud.entry.js +16 -10
  115. package/dist/esm/snk-data-exporter.entry.js +10 -6
  116. package/dist/esm/{snk-data-unit-5d201fb3.js → snk-data-unit-de1d140d.js} +1 -1
  117. package/dist/esm/snk-data-unit.entry.js +2 -2
  118. package/dist/esm/snk-detail-view.entry.js +9 -10
  119. package/dist/esm/snk-entity-list.entry.js +5 -3
  120. package/dist/esm/snk-filter-bar.entry.js +36 -5
  121. package/dist/esm/snk-filter-detail.entry.js +4 -1
  122. package/dist/esm/snk-filter-item.entry.js +10 -6
  123. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  124. package/dist/esm/snk-form-config.entry.js +48 -28
  125. package/dist/esm/snk-form.entry.js +11 -4
  126. package/dist/esm/snk-grid.entry.js +38 -23
  127. package/dist/esm/{snk-guides-viewer-f49613c6.js → snk-guides-viewer-131e9660.js} +15 -9
  128. package/dist/esm/snk-guides-viewer.entry.js +7 -8
  129. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  130. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  131. package/dist/esm/snk-simple-crud.entry.js +257 -23
  132. package/dist/esm/snk-taskbar.entry.js +124 -16
  133. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-2473c8ac.js} +9 -9
  134. package/dist/sankhyablocks/p-004c356e.js +26 -0
  135. package/dist/sankhyablocks/p-0624f62d.js +56 -0
  136. package/dist/sankhyablocks/p-075bba4c.entry.js +1 -0
  137. package/dist/sankhyablocks/p-07a61550.entry.js +1 -0
  138. package/dist/sankhyablocks/p-103c5956.entry.js +1 -0
  139. package/dist/sankhyablocks/p-1048bd26.entry.js +1 -0
  140. package/dist/sankhyablocks/{p-e6380c60.js → p-125bb902.js} +1 -1
  141. package/dist/sankhyablocks/p-13ae1a89.entry.js +1 -0
  142. package/dist/sankhyablocks/{p-e0fd9555.entry.js → p-24ed6ad6.entry.js} +1 -1
  143. package/dist/sankhyablocks/p-32556aa6.js +1 -0
  144. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  145. package/dist/sankhyablocks/p-34a7f2ab.js +65 -0
  146. package/dist/sankhyablocks/{p-f3d1c48e.js → p-52c8e589.js} +1 -1
  147. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  148. package/dist/sankhyablocks/p-5833cff9.js +1 -0
  149. package/dist/sankhyablocks/p-5a2e016a.entry.js +1 -0
  150. package/dist/sankhyablocks/p-619c5f6f.entry.js +11 -0
  151. package/dist/sankhyablocks/p-6f560924.entry.js +1 -0
  152. package/dist/sankhyablocks/p-8967fa78.js +1 -0
  153. package/dist/sankhyablocks/p-9b1beac5.entry.js +1 -0
  154. package/dist/sankhyablocks/p-a87149e4.entry.js +1 -0
  155. package/dist/sankhyablocks/{p-7f3c7b09.entry.js → p-ac77949b.entry.js} +1 -1
  156. package/dist/sankhyablocks/p-ae4fc9a9.js +1 -0
  157. package/dist/sankhyablocks/p-b10b9934.entry.js +1 -0
  158. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  159. package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
  160. package/dist/sankhyablocks/p-bf39bdb8.entry.js +1 -0
  161. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  162. package/dist/sankhyablocks/p-efeca7ba.js +1 -0
  163. package/dist/sankhyablocks/p-f7d0fab9.entry.js +1 -0
  164. package/dist/sankhyablocks/p-f7d9d148.entry.js +1 -0
  165. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  166. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  167. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  168. package/dist/types/components/snk-application/snk-application.d.ts +8 -0
  169. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -1
  170. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +10 -1
  171. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +5 -4
  172. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  173. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  174. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  175. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  176. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +6 -2
  177. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +20 -1
  178. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  179. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  180. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  181. package/dist/types/components/snk-grid/snk-grid.d.ts +19 -1
  182. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  183. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  184. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  185. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +76 -3
  186. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
  187. package/dist/types/components.d.ts +226 -12
  188. package/dist/types/lib/configs/ConfigStorage.d.ts +21 -1
  189. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
  190. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  191. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  192. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  193. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  194. package/package.json +9 -2
  195. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  196. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  197. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  198. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  199. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  200. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  201. package/dist/esm/snk-grid-config.entry.js +0 -479
  202. package/dist/esm/snk-select-box.entry.js +0 -21
  203. package/dist/sankhyablocks/p-02e3a45b.entry.js +0 -1
  204. package/dist/sankhyablocks/p-05243555.js +0 -1
  205. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  206. package/dist/sankhyablocks/p-0d7863ed.js +0 -26
  207. package/dist/sankhyablocks/p-0ec5b2e5.js +0 -1
  208. package/dist/sankhyablocks/p-1d75d9f9.entry.js +0 -1
  209. package/dist/sankhyablocks/p-2582537c.entry.js +0 -1
  210. package/dist/sankhyablocks/p-282789a6.entry.js +0 -1
  211. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  212. package/dist/sankhyablocks/p-3b0e4e08.js +0 -65
  213. package/dist/sankhyablocks/p-40915359.entry.js +0 -1
  214. package/dist/sankhyablocks/p-573a07c5.js +0 -1
  215. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  216. package/dist/sankhyablocks/p-761ed32f.entry.js +0 -1
  217. package/dist/sankhyablocks/p-86801b08.entry.js +0 -1
  218. package/dist/sankhyablocks/p-96ef14f9.entry.js +0 -1
  219. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  220. package/dist/sankhyablocks/p-9b5944a4.entry.js +0 -1
  221. package/dist/sankhyablocks/p-9bdbc7d8.entry.js +0 -1
  222. package/dist/sankhyablocks/p-a52b9254.entry.js +0 -11
  223. package/dist/sankhyablocks/p-aa95fb2c.js +0 -56
  224. package/dist/sankhyablocks/p-ac384baf.entry.js +0 -1
  225. package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
  226. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  227. package/dist/sankhyablocks/p-c4874327.entry.js +0 -1
  228. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  229. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  230. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  231. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  232. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  233. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  234. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  235. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  236. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  237. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  238. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  239. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  240. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  241. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  242. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  243. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
@@ -1,222 +0,0 @@
1
- import { FieldComparator, SortMode, DataUnit } from '@sankhyalabs/core';
2
- import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
3
-
4
- class ArrayRepository {
5
- constructor(equalsFunction) {
6
- this._list = [];
7
- this._equalsFunction = equalsFunction;
8
- }
9
- async load(filterFunction, sortingFunction, offset, limit) {
10
- let result = [].concat(this._list);
11
- if (filterFunction != undefined) {
12
- result = this._list.filter(item => filterFunction(item));
13
- }
14
- if (sortingFunction != undefined) {
15
- result = result.sort(sortingFunction);
16
- }
17
- const count = result.length;
18
- if (limit != undefined) {
19
- const start = offset || 0;
20
- const end = limit ? start + limit : result.length;
21
- result = result.slice(start, end);
22
- }
23
- return Promise.resolve({ result, count });
24
- }
25
- async distict(itemProcessor) {
26
- const processedItems = [];
27
- let hasEmpty = false;
28
- for (const item of this._list) {
29
- const processedItem = itemProcessor(item);
30
- if (processedItem == undefined) {
31
- continue;
32
- }
33
- if (processedItem.value == undefined) {
34
- hasEmpty = true;
35
- continue;
36
- }
37
- processedItems.push(processedItem);
38
- }
39
- if (hasEmpty) {
40
- processedItems.push({ key: "", value: null });
41
- }
42
- return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
43
- }
44
- async push(items) {
45
- this._list.push(...items);
46
- }
47
- async clear() {
48
- this._list = [];
49
- }
50
- async delete(items) {
51
- this._list = this._list.filter(item => {
52
- for (const removed of items) {
53
- if (this._equalsFunction(item, removed)) {
54
- return false;
55
- }
56
- }
57
- return true;
58
- });
59
- }
60
- async update(items) {
61
- this._list = this._list.map(existingItem => {
62
- const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
63
- return newItem == undefined ? existingItem : newItem;
64
- });
65
- }
66
- async insert(itemReference, items) {
67
- const itemPosition = this._list.indexOf(itemReference);
68
- if (itemPosition == -1) {
69
- this._list.push(...items);
70
- return;
71
- }
72
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
73
- }
74
- isOperating() {
75
- return true;
76
- }
77
- async isEmpty() {
78
- return Promise.resolve(this._list.length === 0);
79
- }
80
- async count() {
81
- return Promise.resolve(this._list.length);
82
- }
83
- }
84
-
85
- class PreloadManager {
86
- static setLoadingStatus(dataUnit, loadingInProgress) {
87
- this._loadingStatus.set(dataUnit.name, loadingInProgress);
88
- }
89
- static isCacheEnabled(_dataUnit) {
90
- return true;
91
- }
92
- static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
93
- PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
94
- if (PreloadManager.isCacheEnabled(dataUnit)) {
95
- this.getRepository(dataUnit).push(records);
96
- }
97
- else {
98
- if (resetDatabase) {
99
- this._repositories.delete(dataUnit.name);
100
- }
101
- }
102
- }
103
- static getSortingFunction(dataUnit, sorting) {
104
- if (sorting == undefined || sorting.length == 0) {
105
- return undefined;
106
- }
107
- return (recordA, recordB) => {
108
- for (const sort of sorting) {
109
- const result = FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === SortMode.ASC);
110
- if (result != 0) {
111
- return result;
112
- }
113
- }
114
- };
115
- }
116
- static async getDistinct(dataUnit, fieldName) {
117
- if (!PreloadManager.isCacheEnabled(dataUnit)) {
118
- return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
119
- }
120
- let filterFunction;
121
- const request = dataUnit.getLastLoadRequest();
122
- if (request != undefined) {
123
- const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
124
- filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
125
- }
126
- return new Promise((accept, reject) => {
127
- PreloadManager.getRepository(dataUnit).distict(record => {
128
- if (filterFunction != undefined && !filterFunction(record)) {
129
- return undefined;
130
- }
131
- const fieldValue = record[fieldName];
132
- if (fieldValue == undefined) {
133
- return { key: null, value: null };
134
- }
135
- const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
136
- return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
137
- })
138
- .then(result => {
139
- if (result == undefined) {
140
- accept(undefined);
141
- return;
142
- }
143
- accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
144
- })
145
- .catch(reason => reject(reason));
146
- });
147
- }
148
- static async loadData(dataUnit, request, loadFromServer) {
149
- try {
150
- if (PreloadManager.isCacheEnabled(dataUnit)) {
151
- let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === DataUnit.CHANGING_PAGE_LOADING_SOURCE;
152
- if (useCache) {
153
- const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
154
- if (!isCacheEmpty) {
155
- return PreloadManager.loadFromCache(dataUnit, request);
156
- }
157
- }
158
- //Como não vamos aproveitar o cache, ele precisa ser limpo.
159
- PreloadManager.getRepository(dataUnit).clear().catch(() => { });
160
- }
161
- return loadFromServer(dataUnit, request);
162
- }
163
- catch (error) {
164
- console.error(error);
165
- return Promise.reject(error);
166
- }
167
- }
168
- static insertRecords(dataUnit, reference, records) {
169
- if (PreloadManager.isCacheEnabled(dataUnit)) {
170
- PreloadManager.getRepository(dataUnit).insert(reference, records);
171
- }
172
- }
173
- static updateRecords(dataUnit, records) {
174
- if (PreloadManager.isCacheEnabled(dataUnit)) {
175
- PreloadManager.getRepository(dataUnit).update(records);
176
- }
177
- }
178
- static removeRecords(dataUnit, records) {
179
- if (PreloadManager.isCacheEnabled(dataUnit)) {
180
- PreloadManager.getRepository(dataUnit).delete(records);
181
- }
182
- }
183
- static async countRecords(dataUnit) {
184
- if (PreloadManager.isCacheEnabled(dataUnit)) {
185
- return PreloadManager.getRepository(dataUnit).count();
186
- }
187
- return Promise.resolve(0);
188
- }
189
- static getRepository(dataUnit) {
190
- const name = dataUnit.name;
191
- if (!PreloadManager._repositories.has(name)) {
192
- PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
193
- }
194
- return PreloadManager._repositories.get(name);
195
- }
196
- static async loadFromCache(dataUnit, request) {
197
- return new Promise((accept, reject) => {
198
- const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, "");
199
- const { limit, offset, sort } = request;
200
- PreloadManager.getRepository(dataUnit)
201
- .load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
202
- .then(loadResult => {
203
- const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
204
- const { count, result: records } = loadResult;
205
- const firstRecord = count == 0 ? 0 : offset + 1;
206
- const lastRecord = offset + Math.min(records.length, limit);
207
- const currentPage = offset / limit;
208
- const paginationInfo = {
209
- count, currentPage, firstRecord, lastRecord,
210
- hasMore: stillLoading || (lastRecord < count),
211
- total: stillLoading ? undefined : count
212
- };
213
- accept({ records, paginationInfo });
214
- })
215
- .catch(reason => reject(reason));
216
- });
217
- }
218
- }
219
- PreloadManager._repositories = new Map();
220
- PreloadManager._loadingStatus = new Map();
221
-
222
- export { PreloadManager as P };
@@ -1,43 +0,0 @@
1
- import { UserInterface, DateUtils } from '@sankhyalabs/core';
2
- import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
3
- import { P as PreloadManager } from './PreloadManager-c1c2f2b4.js';
4
-
5
- class SnkMultiSelectionListDataSource {
6
- setDataUnit(dataUnit) {
7
- this._dataUnit = dataUnit;
8
- }
9
- setApplication(application) {
10
- this._application = application;
11
- }
12
- formatLabel(fieldName, value) {
13
- const { userInterface } = this._dataUnit.getField(fieldName);
14
- if (userInterface === UserInterface.DATETIME) {
15
- return DateUtils.formatDate(this._dataUnit.valueFromString(fieldName, value));
16
- }
17
- return String(this._dataUnit.getFormattedValue(fieldName, value));
18
- }
19
- async getStaticOptions(fieldName) {
20
- if (fieldName == undefined) {
21
- return Promise.resolve(undefined);
22
- }
23
- return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName));
24
- }
25
- fetchData(filterTerm, fieldName) {
26
- return new Promise(resolve => {
27
- this._application.executeSelectDistinct(this._dataUnit, fieldName, filterTerm).then(result => {
28
- resolve(result.map(item => {
29
- const field = this._dataUnit.getField(fieldName);
30
- if (field.userInterface === UserInterface.SEARCH) {
31
- return Object.assign(Object.assign({}, JSON.parse(item)), { check: true });
32
- }
33
- return { value: item, label: this.formatLabel(fieldName, item), check: true };
34
- }));
35
- });
36
- });
37
- }
38
- sortItems(fieldName, items) {
39
- return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this._dataUnit, fieldName, items);
40
- }
41
- }
42
-
43
- export { SnkMultiSelectionListDataSource as S };