@sankhyalabs/sankhyablocks 5.4.3 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/cjs/{SnkMessageBuilder-115e8a80.js → SnkMessageBuilder-e64dce7f.js} +49 -1
  2. package/dist/cjs/{constants-ae0ed870.js → constants-3787fa32.js} +1 -0
  3. package/dist/cjs/dataunit-fetcher-8f5ade55.js +319 -0
  4. package/dist/cjs/index-8d94b7e0.js +7 -0
  5. package/dist/cjs/{index-fc7ca86c.js → index-de79181a.js} +2 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  8. package/dist/cjs/snk-application.cjs.entry.js +3 -315
  9. package/dist/cjs/snk-attach.cjs.entry.js +450 -0
  10. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-crud.cjs.entry.js +23 -13
  13. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
  14. package/dist/cjs/{snk-data-unit-aa613f3b.js → snk-data-unit-85d6565e.js} +4 -1
  15. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
  17. package/dist/cjs/snk-expression-item.cjs.entry.js +213 -0
  18. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +435 -0
  20. package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
  21. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-grid.cjs.entry.js +11 -3
  23. package/dist/cjs/{snk-guides-viewer-7db960c2.js → snk-guides-viewer-9784c527.js} +2 -2
  24. package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
  25. package/dist/cjs/snk-personalized-filter.cjs.entry.js +126 -0
  26. package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
  27. package/dist/cjs/{snk-simple-crud.cjs.entry.js → snk-simple-bar_2.cjs.entry.js} +48 -5
  28. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-taskbar.cjs.entry.js +6 -4
  30. package/dist/cjs/{taskbar-elements-5e87cf44.js → taskbar-elements-bc2598f9.js} +4 -1
  31. package/dist/collection/collection-manifest.json +4 -1
  32. package/dist/collection/components/snk-attach/interfaces/index.js +1 -0
  33. package/dist/collection/components/snk-attach/snk-attach.css +8 -0
  34. package/dist/collection/components/snk-attach/snk-attach.js +202 -0
  35. package/dist/collection/components/snk-attach/structure/crud-config-builder.js +37 -0
  36. package/dist/collection/components/snk-attach/structure/data-unit-builder.js +106 -0
  37. package/dist/collection/components/snk-attach/structure/index.js +3 -0
  38. package/dist/collection/components/snk-attach/structure/taskbar-builder.js +47 -0
  39. package/dist/collection/components/snk-configurator/snk-configurator.js +3 -3
  40. package/dist/collection/components/snk-crud/snk-crud.js +22 -11
  41. package/dist/collection/components/snk-data-unit/snk-data-unit.js +21 -0
  42. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +62 -69
  43. package/dist/collection/components/snk-grid/snk-grid.js +11 -3
  44. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +4 -0
  45. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +87 -0
  46. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.js +34 -0
  47. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.css +97 -0
  48. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +298 -0
  49. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +2 -2
  50. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +37 -2
  51. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +65 -2
  52. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -0
  53. package/dist/collection/components/snk-taskbar/snk-taskbar.js +4 -2
  54. package/dist/collection/lib/http/data-fetcher/fetchers/attach-fetcher.js +136 -0
  55. package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js +1 -0
  56. package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js +1 -0
  57. package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/ISave.js +6 -0
  58. package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/index.js +3 -0
  59. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +63 -0
  60. package/dist/collection/lib/message/SnkMessageBuilder.js +7 -1
  61. package/dist/collection/lib/message/resources/snk-attach.msg.js +27 -0
  62. package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +12 -0
  63. package/dist/collection/lib/message/resources/snk-simple-bar.msg.js +3 -0
  64. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  65. package/dist/collection/lib/store/index.js +2 -1
  66. package/dist/collection/lib/utils/constants.js +1 -0
  67. package/dist/components/SnkMessageBuilder.js +49 -1
  68. package/dist/components/constants.js +1 -0
  69. package/dist/components/dataunit-fetcher.js +317 -0
  70. package/dist/components/index.d.ts +3 -0
  71. package/dist/components/index.js +3 -0
  72. package/dist/components/index2.js +1 -1
  73. package/dist/components/index3.js +199 -0
  74. package/dist/components/snk-application2.js +2 -314
  75. package/dist/components/snk-attach.d.ts +11 -0
  76. package/dist/components/snk-attach.js +6 -0
  77. package/dist/components/snk-attach2.js +498 -0
  78. package/dist/components/snk-crud.js +77 -48
  79. package/dist/components/snk-data-exporter2.js +1 -1
  80. package/dist/components/snk-data-unit2.js +4 -0
  81. package/dist/components/snk-expression-item.d.ts +11 -0
  82. package/dist/components/snk-expression-item.js +6 -0
  83. package/dist/components/snk-expression-item2.js +241 -0
  84. package/dist/components/snk-filter-field-search.js +1 -200
  85. package/dist/{esm/snk-filter-field-search.entry.js → components/snk-filter-field-search2.js} +65 -38
  86. package/dist/components/snk-filter-param-config.js +1 -273
  87. package/dist/{esm/snk-filter-param-config.entry.js → components/snk-filter-param-config2.js} +35 -11
  88. package/dist/components/snk-grid2.js +12 -4
  89. package/dist/components/snk-personalized-filter.d.ts +11 -0
  90. package/dist/components/snk-personalized-filter.js +158 -0
  91. package/dist/components/snk-simple-bar.js +1 -41
  92. package/dist/components/snk-simple-bar2.js +59 -0
  93. package/dist/components/snk-simple-crud.js +1 -328
  94. package/dist/{esm/snk-simple-crud.entry.js → components/snk-simple-crud2.js} +73 -18
  95. package/dist/components/snk-taskbar2.js +10 -199
  96. package/dist/esm/{SnkMessageBuilder-a15d22f8.js → SnkMessageBuilder-f3590f65.js} +49 -1
  97. package/dist/esm/{constants-15617e7d.js → constants-e916ccc3.js} +1 -0
  98. package/dist/esm/dataunit-fetcher-d32c6a47.js +317 -0
  99. package/dist/esm/{index-6519a79e.js → index-507e19ec.js} +1 -1
  100. package/dist/esm/index-620ac460.js +7 -0
  101. package/dist/esm/{index-e467ade5.js → index-8efbf198.js} +2 -1
  102. package/dist/esm/loader.js +1 -1
  103. package/dist/esm/sankhyablocks.js +1 -1
  104. package/dist/esm/snk-application.entry.js +3 -315
  105. package/dist/esm/snk-attach.entry.js +446 -0
  106. package/dist/esm/snk-config-options.entry.js +1 -1
  107. package/dist/esm/snk-configurator.entry.js +1 -1
  108. package/dist/esm/snk-crud.entry.js +25 -15
  109. package/dist/esm/snk-data-exporter.entry.js +4 -4
  110. package/dist/esm/{snk-data-unit-5ed93c0e.js → snk-data-unit-50b1660c.js} +4 -1
  111. package/dist/esm/snk-data-unit.entry.js +2 -2
  112. package/dist/esm/snk-detail-view.entry.js +6 -6
  113. package/dist/esm/snk-expression-item.entry.js +209 -0
  114. package/dist/esm/snk-field-config.entry.js +1 -1
  115. package/dist/esm/snk-filter-field-search_2.entry.js +430 -0
  116. package/dist/esm/snk-form-config.entry.js +1 -1
  117. package/dist/esm/snk-grid-config.entry.js +1 -1
  118. package/dist/esm/snk-grid.entry.js +13 -5
  119. package/dist/esm/{snk-guides-viewer-1e7c21f6.js → snk-guides-viewer-4d12f268.js} +3 -3
  120. package/dist/esm/snk-guides-viewer.entry.js +5 -5
  121. package/dist/esm/snk-personalized-filter.entry.js +122 -0
  122. package/dist/esm/snk-select-box.entry.js +1 -1
  123. package/dist/esm/snk-simple-bar_2.entry.js +325 -0
  124. package/dist/esm/snk-tab-config.entry.js +1 -1
  125. package/dist/esm/snk-taskbar.entry.js +7 -5
  126. package/dist/esm/{taskbar-elements-10d80c79.js → taskbar-elements-e6af3e93.js} +5 -2
  127. package/dist/sankhyablocks/p-17375123.js +1 -0
  128. package/dist/sankhyablocks/{p-b80cf644.entry.js → p-1c0ee011.entry.js} +1 -1
  129. package/dist/sankhyablocks/p-1dcfd32a.entry.js +1 -0
  130. package/dist/sankhyablocks/p-27e264d9.entry.js +1 -0
  131. package/dist/sankhyablocks/p-343699ad.entry.js +1 -0
  132. package/dist/sankhyablocks/p-3d3263b4.js +1 -0
  133. package/dist/sankhyablocks/p-3fbe2d69.entry.js +11 -0
  134. package/dist/sankhyablocks/p-433dfa63.entry.js +1 -0
  135. package/dist/sankhyablocks/{p-f132e371.js → p-4c2015a9.js} +1 -1
  136. package/dist/sankhyablocks/p-4eefe631.entry.js +1 -0
  137. package/dist/sankhyablocks/p-6a02e236.js +1 -0
  138. package/dist/sankhyablocks/{p-0a1e7f75.entry.js → p-6ac29569.entry.js} +1 -1
  139. package/dist/sankhyablocks/{p-f4d36823.entry.js → p-6f0b3cc0.entry.js} +1 -1
  140. package/dist/sankhyablocks/{p-6516f35a.entry.js → p-86f75e7a.entry.js} +1 -1
  141. package/dist/sankhyablocks/{p-32599159.entry.js → p-8b02b276.entry.js} +1 -1
  142. package/dist/sankhyablocks/p-8bdf5e57.entry.js +1 -0
  143. package/dist/sankhyablocks/{p-9bfa3cfb.entry.js → p-c4417efb.entry.js} +1 -1
  144. package/dist/sankhyablocks/p-c9477950.js +1 -0
  145. package/dist/sankhyablocks/{p-703dddb9.js → p-ccd26e3a.js} +1 -1
  146. package/dist/sankhyablocks/p-d410f45a.js +1 -0
  147. package/dist/sankhyablocks/p-df8f13b4.entry.js +1 -0
  148. package/dist/sankhyablocks/{p-3169584f.entry.js → p-e0b4aec3.entry.js} +1 -1
  149. package/dist/sankhyablocks/p-e9f42525.entry.js +1 -0
  150. package/dist/sankhyablocks/{p-1393dc00.entry.js → p-f344b811.entry.js} +1 -1
  151. package/dist/sankhyablocks/p-f4184ce7.js +1 -0
  152. package/dist/sankhyablocks/p-f821768b.js +74 -0
  153. package/dist/sankhyablocks/{p-f29caa0a.entry.js → p-f8c66aa3.entry.js} +1 -1
  154. package/dist/sankhyablocks/p-fd4ed40a.entry.js +1 -0
  155. package/dist/sankhyablocks/p-ff96b509.entry.js +27 -0
  156. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  157. package/dist/types/components/snk-attach/interfaces/index.d.ts +10 -0
  158. package/dist/types/components/snk-attach/snk-attach.d.ts +45 -0
  159. package/dist/types/components/snk-attach/structure/crud-config-builder.d.ts +7 -0
  160. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +16 -0
  161. package/dist/types/components/snk-attach/structure/index.d.ts +3 -0
  162. package/dist/types/components/snk-attach/structure/taskbar-builder.d.ts +8 -0
  163. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +5 -0
  164. package/dist/types/components/snk-filter-field-search/interfaces/index.d.ts +14 -4
  165. package/dist/types/components/snk-filter-field-search/snk-filter-field-search.d.ts +13 -10
  166. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +20 -0
  167. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.d.ts +9 -0
  168. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +54 -0
  169. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.d.ts +4 -2
  170. package/dist/types/components/snk-simple-bar/snk-simple-bar.d.ts +14 -0
  171. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  172. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +1 -0
  173. package/dist/types/components.d.ts +150 -9
  174. package/dist/types/global.d.ts +9 -0
  175. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +8 -2
  176. package/dist/types/lib/http/data-fetcher/fetchers/attach-fetcher.d.ts +14 -0
  177. package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.d.ts +9 -0
  178. package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.d.ts +13 -0
  179. package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/ISave.d.ts +26 -0
  180. package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/index.d.ts +3 -0
  181. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +7 -0
  182. package/dist/types/lib/message/resources/snk-attach.msg.d.ts +2 -0
  183. package/dist/types/lib/message/resources/snk-personalized-filter.msg.d.ts +1 -0
  184. package/dist/types/lib/message/resources/snk-simple-bar.msg.d.ts +1 -0
  185. package/dist/types/lib/store/index.d.ts +1 -0
  186. package/dist/types/lib/utils/constants.d.ts +2 -1
  187. package/package.json +1 -1
  188. package/react/components.d.ts +3 -0
  189. package/react/components.js +3 -0
  190. package/react/components.js.map +1 -1
  191. package/dist/cjs/snk-filter-field-search.cjs.entry.js +0 -185
  192. package/dist/cjs/snk-filter-param-config.cjs.entry.js +0 -256
  193. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -30
  194. package/dist/esm/snk-simple-bar.entry.js +0 -26
  195. package/dist/sankhyablocks/p-1c17eecf.entry.js +0 -1
  196. package/dist/sankhyablocks/p-2ecf14ff.js +0 -1
  197. package/dist/sankhyablocks/p-340d6fb0.entry.js +0 -84
  198. package/dist/sankhyablocks/p-74724fa7.js +0 -1
  199. package/dist/sankhyablocks/p-79d22df0.entry.js +0 -1
  200. package/dist/sankhyablocks/p-79f01b63.entry.js +0 -1
  201. package/dist/sankhyablocks/p-81e85890.entry.js +0 -1
  202. package/dist/sankhyablocks/p-93d8fe00.entry.js +0 -1
  203. package/dist/sankhyablocks/p-94e6fc90.entry.js +0 -1
  204. package/dist/sankhyablocks/p-98f7f796.js +0 -1
  205. package/dist/sankhyablocks/p-b3e71248.entry.js +0 -1
  206. package/dist/sankhyablocks/p-bc281de0.js +0 -1
  207. package/dist/sankhyablocks/p-d61759a5.entry.js +0 -1
  208. package/dist/sankhyablocks/p-d65809d5.entry.js +0 -1
  209. package/dist/sankhyablocks/p-f587a454.js +0 -1
  210. package/dist/types/components/snk-application/snk-application.d.ts +0 -259
  211. package/dist/types/components/snk-crud/snk-crud.d.ts +0 -73
  212. package/dist/types/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.d.ts +0 -40
  213. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +0 -27
  214. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +0 -23
  215. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +0 -23
  216. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +0 -29
  217. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +0 -25
  218. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +0 -19
  219. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -38
  220. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +0 -74
  221. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +0 -53
  222. package/dist/types/components/snk-grid/snk-grid.d.ts +0 -95
  223. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +0 -59
@@ -1,331 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { DataUnit, StringUtils, SortMode, DataType, ChangeOperation, ObjectUtils, UserInterface } from '@sankhyalabs/core';
3
- import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants.js';
4
- import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
5
- import './DataFetcher.js';
6
- import './pesquisa-fetcher.js';
7
- import { P as PresentationMode } from './index2.js';
8
- import { T as TaskbarProcessor } from './taskbar-processor.js';
9
- import { d as defineCustomElement$5 } from './snk-data-exporter2.js';
10
- import { d as defineCustomElement$4 } from './snk-data-unit2.js';
11
- import { d as defineCustomElement$3 } from './snk-exporter-email-sender2.js';
12
-
13
- class InMemoryLoader {
14
- constructor(metadata, records) {
15
- this.records = records || [];
16
- this.metadata = metadata;
17
- this._dataUnit = new DataUnit("InMemoryDataUnit");
18
- this._dataUnit.metadataLoader = () => this.metadaLoader();
19
- this._dataUnit.dataLoader = (_dataUnit, request) => this.dataLoader(_dataUnit, request);
20
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
21
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
22
- this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
23
- }
24
- get dataUnit() {
25
- return this._dataUnit;
26
- }
27
- get records() {
28
- return this._records;
29
- }
30
- set records(records) {
31
- this._records = records === null || records === void 0 ? void 0 : records.map(record => {
32
- if (!record["__record__id__"]) {
33
- record["__record__id__"] = this.generateUniqueId();
34
- }
35
- return record;
36
- });
37
- if (this._dataUnit) {
38
- this._dataUnit.records = [...this._records];
39
- }
40
- }
41
- get metadata() {
42
- return this._metadata;
43
- }
44
- set metadata(metadata) {
45
- this._metadata = metadata;
46
- if (this._dataUnit) {
47
- this._dataUnit.metadata = this._metadata;
48
- }
49
- }
50
- generateUniqueId() {
51
- return StringUtils.generateUUID();
52
- }
53
- metadaLoader() {
54
- return Promise.resolve(this._metadata);
55
- }
56
- dataLoader(_dataUnit, request) {
57
- let records = [...this._records];
58
- if (request.sort) {
59
- request.sort.forEach(sort => {
60
- records = records.sort((recordA, recordB) => {
61
- const fieldA = recordA[sort.field];
62
- const fieldB = recordB[sort.field];
63
- const sortFn = this.getSortFn(sort.dataType);
64
- return sortFn(fieldA, fieldB) * (sort.mode == SortMode.ASC ? 1 : -1);
65
- });
66
- });
67
- }
68
- return Promise.resolve({ records: records });
69
- }
70
- getSortFn(type) {
71
- switch (type) {
72
- case DataType.NUMBER:
73
- return this.sortNumber;
74
- case DataType.DATE:
75
- return this.sortDate;
76
- case DataType.OBJECT:
77
- return this.sortObject;
78
- default:
79
- return StringUtils.compare;
80
- }
81
- }
82
- sortObject(a, b) {
83
- return StringUtils.compare(a["label"], b["label"]);
84
- }
85
- sortNumber(a, b) {
86
- return a - b;
87
- }
88
- sortDate(a, b) {
89
- let timeA = a.getTime(), timeB = b.getTime();
90
- return timeA === timeB ? 0 : (timeA < timeB ? -1 : 1);
91
- }
92
- saveLoader(_dataUnit, changes) {
93
- return new Promise((resolve) => {
94
- let dataUnitRecords = [];
95
- changes.forEach(change => {
96
- let { record, updatingFields, operation } = change;
97
- let isAdd = false;
98
- if (operation === ChangeOperation.INSERT ||
99
- operation === ChangeOperation.COPY) {
100
- record["__old__id__"] = record["__record__id__"];
101
- record["__record__id__"] = this.generateUniqueId();
102
- isAdd = true;
103
- }
104
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
105
- if (isAdd) {
106
- this.records.push(changedRecord);
107
- }
108
- else {
109
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
110
- this.records[recordIndex] = changedRecord;
111
- }
112
- dataUnitRecords.push(changedRecord);
113
- });
114
- resolve(dataUnitRecords);
115
- });
116
- }
117
- removeLoader(_dataUnit, recordIds) {
118
- return new Promise((resolve) => {
119
- this._records = this._records.filter(record => !recordIds.includes(record["__record__id__"]));
120
- resolve(recordIds);
121
- });
122
- }
123
- }
124
-
125
- const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto;row-gap:12px;height:100%;width:100%}.simple-crud__taskbar.sc-snk-simple-crud{z-index:var(--more-visible, 2);margin-bottom:var(--space--medium)}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";
126
-
127
- const SnkSimpleCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
128
- constructor() {
129
- super();
130
- this.__registerHost();
131
- this.dataStateChange = createEvent(this, "dataStateChange", 3);
132
- this.dataUnitReady = createEvent(this, "dataUnitReady", 3);
133
- this.REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER"];
134
- this.REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER"];
135
- this._taskbarProcessor = new TaskbarProcessor({
136
- "snkSimpleCrudTaskbar.form_regular": this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(TaskbarElement.GRID_MODE),
137
- "snkSimpleCrudTaskbar.grid_regular": this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(TaskbarElement.FORM_MODE),
138
- "snkSimpleCrudTaskbar.form_selected": this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(TaskbarElement.GRID_MODE),
139
- "snkSimpleCrudTaskbar.grid_selected": this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(TaskbarElement.FORM_MODE),
140
- "snkSimpleCrudTaskbar.finish_edition": ["CANCEL", "SAVE"]
141
- });
142
- this._currentViewMode = VIEW_MODE.GRID;
143
- this._config = undefined;
144
- this.dataState = undefined;
145
- this.dataUnit = undefined;
146
- this.mode = SIMPLE_CRUD_MODE.SERVER;
147
- this.taskbarManager = undefined;
148
- this.messagesBuilder = undefined;
149
- }
150
- resolveInMemoryBtns(taskbarButtons) {
151
- const newTaskBarConfig = [...taskbarButtons];
152
- if (this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
153
- newTaskBarConfig.splice(1, 1);
154
- }
155
- return newTaskBarConfig;
156
- }
157
- /**
158
- * Usado para alternar a visão entre GRID e FORM externamente.
159
- */
160
- async goToView(view) {
161
- this._currentViewMode = view;
162
- if (this._viewStack) {
163
- this._viewStack.show(view);
164
- }
165
- }
166
- actionClickListener(evt) {
167
- const act = evt.detail;
168
- if (act === TaskbarElement.GRID_MODE) {
169
- this.goToView(VIEW_MODE.GRID);
170
- }
171
- else if (act === TaskbarElement.FORM_MODE) {
172
- this.goToView(VIEW_MODE.FORM);
173
- }
174
- evt.stopPropagation();
175
- }
176
- onModeChange() {
177
- if (this.mode == SIMPLE_CRUD_MODE.IN_MEMORY) {
178
- this.initInMemoryDataUnit();
179
- }
180
- }
181
- observeDataState(newValue, oldValue) {
182
- if (ObjectUtils.objectToString(oldValue) != ObjectUtils.objectToString(newValue)) {
183
- this.dataStateChange.emit(newValue);
184
- }
185
- }
186
- componentWillRender() {
187
- this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.getTaskBarDisabledButtons());
188
- }
189
- componentWillLoad() {
190
- this.processMetadata();
191
- this.onModeChange();
192
- }
193
- getTaskBarId() {
194
- var _a, _b, _c;
195
- if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
196
- return "snkSimpleCrudTaskbar.finish_edition";
197
- }
198
- if (((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.selectionInfo) &&
199
- !this.dataState.selectionInfo.isAllRecords() &&
200
- ((_c = this.dataState.selectionInfo.records) === null || _c === void 0 ? void 0 : _c.length) > 0) {
201
- return this._currentViewMode === VIEW_MODE.GRID ? "snkSimpleCrudTaskbar.grid_selected" : "snkSimpleCrudTaskbar.form_selected";
202
- }
203
- return this._currentViewMode === VIEW_MODE.GRID ? "snkSimpleCrudTaskbar.grid_regular" : "snkSimpleCrudTaskbar.form_regular";
204
- }
205
- initInMemoryDataUnit() {
206
- this._inMemoryLoader = new InMemoryLoader(this._metadata);
207
- this.dataUnit = this._inMemoryLoader.dataUnit;
208
- this.dataUnitReady.emit(this.dataUnit);
209
- }
210
- setMetadata(metadata) {
211
- if (this._inMemoryLoader) {
212
- this._inMemoryLoader.metadata = metadata;
213
- }
214
- else if (this.dataUnit) {
215
- this.dataUnit.metadata = metadata;
216
- }
217
- return Promise.resolve();
218
- }
219
- setRecords(records) {
220
- if (this._inMemoryLoader) {
221
- this._inMemoryLoader.records = records;
222
- }
223
- else if (this.dataUnit) {
224
- this.dataUnit.records = records;
225
- }
226
- return Promise.resolve();
227
- }
228
- getRecords() {
229
- return Promise.resolve(this.dataUnit.records);
230
- }
231
- processMetadata() {
232
- const fieldsMetadataElem = this._element.querySelectorAll("snk-field-metadata");
233
- const fieldMetadata = [];
234
- const formConfig = { fields: [], emptyConfig: false };
235
- fieldsMetadataElem.forEach(fieldElem => {
236
- const field = {
237
- name: fieldElem.getAttribute("name") || fieldElem.getAttribute("label"),
238
- label: fieldElem.getAttribute("label"),
239
- dataType: DataType[fieldElem.getAttribute("dataType")] || DataType.TEXT,
240
- userInterface: UserInterface[fieldElem.getAttribute("userInterface")] || UserInterface.SHORTTEXT,
241
- readOnly: fieldElem.getAttribute("readOnly") == "true",
242
- required: fieldElem.getAttribute("required") == "true",
243
- tab: fieldElem.getAttribute("tab") || undefined,
244
- visible: fieldElem.getAttribute("visible") != "false"
245
- };
246
- const fieldConfig = { name: field.name, tab: field.tab, visible: field.visible };
247
- formConfig.fields.push(fieldConfig);
248
- fieldMetadata.push(field);
249
- });
250
- if (fieldMetadata.length > 0) {
251
- this._config = formConfig;
252
- this._metadata = {
253
- name: "SimpleCrud",
254
- label: "SimpleCrud",
255
- fields: fieldMetadata
256
- };
257
- }
258
- }
259
- onDataStateChange(evt) {
260
- this.dataState = Object.assign({}, evt.detail);
261
- }
262
- getTaskBarDisabledButtons() {
263
- var _a, _b;
264
- const disabledButtons = [];
265
- if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasNext)) {
266
- disabledButtons.push(TaskbarElement.NEXT);
267
- }
268
- if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasPrevious)) {
269
- disabledButtons.push(TaskbarElement.PREVIOUS);
270
- }
271
- return disabledButtons;
272
- }
273
- render() {
274
- var _a;
275
- return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, onDataStateChange: evt => this.onDataStateChange(evt), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), "no-header": true }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this._config }))))));
276
- }
277
- get _element() { return this; }
278
- static get watchers() { return {
279
- "mode": ["onModeChange"],
280
- "dataState": ["observeDataState"]
281
- }; }
282
- static get style() { return snkSimpleCrudCss; }
283
- }, [6, "snk-simple-crud", {
284
- "dataState": [16],
285
- "dataUnit": [16],
286
- "mode": [2],
287
- "taskbarManager": [16],
288
- "messagesBuilder": [1040],
289
- "_currentViewMode": [32],
290
- "_config": [32],
291
- "goToView": [64],
292
- "setMetadata": [64],
293
- "setRecords": [64],
294
- "getRecords": [64]
295
- }, [[0, "actionClick", "actionClickListener"]]]);
296
- function defineCustomElement$1() {
297
- if (typeof customElements === "undefined") {
298
- return;
299
- }
300
- const components = ["snk-simple-crud", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-taskbar"];
301
- components.forEach(tagName => { switch (tagName) {
302
- case "snk-simple-crud":
303
- if (!customElements.get(tagName)) {
304
- customElements.define(tagName, SnkSimpleCrud$1);
305
- }
306
- break;
307
- case "snk-data-exporter":
308
- if (!customElements.get(tagName)) {
309
- defineCustomElement$5();
310
- }
311
- break;
312
- case "snk-data-unit":
313
- if (!customElements.get(tagName)) {
314
- defineCustomElement$4();
315
- }
316
- break;
317
- case "snk-exporter-email-sender":
318
- if (!customElements.get(tagName)) {
319
- defineCustomElement$3();
320
- }
321
- break;
322
- case "snk-taskbar":
323
- if (!customElements.get(tagName)) {
324
- defineCustomElement$2();
325
- }
326
- break;
327
- } });
328
- }
1
+ import { S as SnkSimpleCrud$1, d as defineCustomElement$1 } from './snk-simple-crud2.js';
329
2
 
330
3
  const SnkSimpleCrud = SnkSimpleCrud$1;
331
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,13 +1,14 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { DataUnit, StringUtils, SortMode, DataType, ChangeOperation, ObjectUtils, UserInterface } from '@sankhyalabs/core';
3
- import { c as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants-15617e7d.js';
4
- import { T as TaskbarElement } from './taskbar-elements-10d80c79.js';
5
- import './DataFetcher-b3d8b2d5.js';
6
- import './pesquisa-fetcher-bd6af0e3.js';
7
- import { P as PresentationMode } from './index-6519a79e.js';
8
- import { T as TaskbarProcessor } from './taskbar-processor-94402e6e.js';
9
- import './index-e467ade5.js';
10
- import './_commonjsHelpers-9943807e.js';
3
+ import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants.js';
4
+ import { T as TaskbarElement, d as defineCustomElement$1 } from './snk-taskbar2.js';
5
+ import './DataFetcher.js';
6
+ import './pesquisa-fetcher.js';
7
+ import { P as PresentationMode } from './index2.js';
8
+ import { T as TaskbarProcessor } from './taskbar-processor.js';
9
+ import { d as defineCustomElement$4 } from './snk-data-exporter2.js';
10
+ import { d as defineCustomElement$3 } from './snk-data-unit2.js';
11
+ import { d as defineCustomElement$2 } from './snk-exporter-email-sender2.js';
11
12
 
12
13
  class InMemoryLoader {
13
14
  constructor(metadata, records) {
@@ -123,9 +124,10 @@ class InMemoryLoader {
123
124
 
124
125
  const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto;row-gap:12px;height:100%;width:100%}.simple-crud__taskbar.sc-snk-simple-crud{z-index:var(--more-visible, 2);margin-bottom:var(--space--medium)}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";
125
126
 
126
- const SnkSimpleCrud = class {
127
- constructor(hostRef) {
128
- registerInstance(this, hostRef);
127
+ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
128
+ constructor() {
129
+ super();
130
+ this.__registerHost();
129
131
  this.dataStateChange = createEvent(this, "dataStateChange", 3);
130
132
  this.dataUnitReady = createEvent(this, "dataUnitReady", 3);
131
133
  this.REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER"];
@@ -142,6 +144,9 @@ const SnkSimpleCrud = class {
142
144
  this.dataState = undefined;
143
145
  this.dataUnit = undefined;
144
146
  this.mode = SIMPLE_CRUD_MODE.SERVER;
147
+ this.gridConfig = undefined;
148
+ this.formConfig = undefined;
149
+ this.useCancelConfirm = true;
145
150
  this.taskbarManager = undefined;
146
151
  this.messagesBuilder = undefined;
147
152
  }
@@ -246,7 +251,9 @@ const SnkSimpleCrud = class {
246
251
  fieldMetadata.push(field);
247
252
  });
248
253
  if (fieldMetadata.length > 0) {
249
- this._config = formConfig;
254
+ if (!this.formConfig) {
255
+ this.formConfig = formConfig;
256
+ }
250
257
  this._metadata = {
251
258
  name: "SimpleCrud",
252
259
  label: "SimpleCrud",
@@ -270,14 +277,62 @@ const SnkSimpleCrud = class {
270
277
  }
271
278
  render() {
272
279
  var _a;
273
- return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, onDataStateChange: evt => this.onDataStateChange(evt), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), "no-header": true }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this._config }))))));
280
+ return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), config: this.gridConfig, "no-header": true }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this.formConfig }))))));
274
281
  }
275
- get _element() { return getElement(this); }
282
+ get _element() { return this; }
276
283
  static get watchers() { return {
277
284
  "mode": ["onModeChange"],
278
285
  "dataState": ["observeDataState"]
279
286
  }; }
280
- };
281
- SnkSimpleCrud.style = snkSimpleCrudCss;
287
+ static get style() { return snkSimpleCrudCss; }
288
+ }, [6, "snk-simple-crud", {
289
+ "dataState": [16],
290
+ "dataUnit": [16],
291
+ "mode": [2],
292
+ "gridConfig": [16],
293
+ "formConfig": [16],
294
+ "useCancelConfirm": [4, "use-cancel-confirm"],
295
+ "taskbarManager": [16],
296
+ "messagesBuilder": [1040],
297
+ "_currentViewMode": [32],
298
+ "_config": [32],
299
+ "goToView": [64],
300
+ "setMetadata": [64],
301
+ "setRecords": [64],
302
+ "getRecords": [64]
303
+ }, [[0, "actionClick", "actionClickListener"]]]);
304
+ function defineCustomElement() {
305
+ if (typeof customElements === "undefined") {
306
+ return;
307
+ }
308
+ const components = ["snk-simple-crud", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-taskbar"];
309
+ components.forEach(tagName => { switch (tagName) {
310
+ case "snk-simple-crud":
311
+ if (!customElements.get(tagName)) {
312
+ customElements.define(tagName, SnkSimpleCrud);
313
+ }
314
+ break;
315
+ case "snk-data-exporter":
316
+ if (!customElements.get(tagName)) {
317
+ defineCustomElement$4();
318
+ }
319
+ break;
320
+ case "snk-data-unit":
321
+ if (!customElements.get(tagName)) {
322
+ defineCustomElement$3();
323
+ }
324
+ break;
325
+ case "snk-exporter-email-sender":
326
+ if (!customElements.get(tagName)) {
327
+ defineCustomElement$2();
328
+ }
329
+ break;
330
+ case "snk-taskbar":
331
+ if (!customElements.get(tagName)) {
332
+ defineCustomElement$1();
333
+ }
334
+ break;
335
+ } });
336
+ }
282
337
 
283
- export { SnkSimpleCrud as snk_simple_crud };
338
+ export { SnkSimpleCrud as S, defineCustomElement as d };