@sankhyalabs/sankhyablocks 2.5.2 → 2.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 (146) hide show
  1. package/dist/cjs/{SnkMessageBuilder-370e23ae.js → SnkMessageBuilder-09b25b0a.js} +20 -1
  2. package/dist/cjs/data-exporter-option-417da37a.js +19 -0
  3. package/dist/cjs/{index-20e8b68a.js → index-2cd6f753.js} +26 -0
  4. package/dist/cjs/index-696b5c3b.js +200 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  7. package/dist/cjs/snk-application.cjs.entry.js +2 -2
  8. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-configurator_3.cjs.entry.js +71 -13
  10. package/dist/cjs/snk-crud.cjs.entry.js +3 -2
  11. package/dist/cjs/{snk-exporter-email-sender_8.cjs.entry.js → snk-data-exporter_9.cjs.entry.js} +305 -8
  12. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  13. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  14. package/dist/cjs/snk-filter-detail.cjs.entry.js +1 -1
  15. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  18. package/dist/cjs/snk-filter-personalized.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  21. package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-form.cjs.entry.js +1 -1
  23. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  24. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  25. package/dist/cjs/{taskbar-elements-3807c809.js → taskbar-elements-bbb89cdb.js} +8 -5
  26. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  27. package/dist/collection/collection-manifest.json +1 -0
  28. package/dist/collection/components/snk-data-exporter/enum/data-exporter-option.js +11 -0
  29. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +4 -4
  30. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -0
  31. package/dist/collection/components/snk-data-exporter/snk-data-exporter.css +19 -0
  32. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +181 -0
  33. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +140 -0
  34. package/dist/collection/components/snk-grid/snk-grid.js +69 -10
  35. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +7 -4
  36. package/dist/collection/components/snk-taskbar/snk-taskbar.js +2 -2
  37. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +33 -0
  38. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.js +1 -0
  39. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +1 -0
  40. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterResponse.js +1 -0
  41. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  42. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +16 -0
  43. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  44. package/dist/collection/lib/store/index.js +5 -0
  45. package/dist/collection/lib/utils/fileViewer/index.js +3 -0
  46. package/dist/collection/lib/utils/fileViewer/interfaces/IFileViewerParams.js +1 -0
  47. package/dist/components/ConfigStorage.js +3 -6694
  48. package/dist/components/DataFetcher.js +6695 -0
  49. package/dist/components/SnkMessageBuilder.js +20 -1
  50. package/dist/components/index.d.ts +1 -0
  51. package/dist/components/index.js +1 -0
  52. package/dist/components/snk-application2.js +2 -1
  53. package/dist/components/snk-crud.js +10 -4
  54. package/dist/components/snk-data-exporter.d.ts +11 -0
  55. package/dist/components/snk-data-exporter.js +6 -0
  56. package/dist/components/snk-data-exporter2.js +330 -0
  57. package/dist/components/snk-form-config2.js +1 -1
  58. package/dist/components/snk-form2.js +8 -2
  59. package/dist/components/snk-grid2.js +74 -10
  60. package/dist/components/snk-taskbar2.js +212 -9
  61. package/dist/esm/{SnkMessageBuilder-7d583c9a.js → SnkMessageBuilder-47db5d75.js} +20 -1
  62. package/dist/esm/data-exporter-option-006307dd.js +19 -0
  63. package/dist/esm/{index-e4121713.js → index-a77b6f35.js} +25 -1
  64. package/dist/esm/index-d89e384f.js +198 -0
  65. package/dist/esm/loader.js +2 -2
  66. package/dist/esm/sankhyablocks.js +2 -2
  67. package/dist/esm/snk-application.entry.js +2 -2
  68. package/dist/esm/snk-config-options.entry.js +1 -1
  69. package/dist/esm/snk-configurator_3.entry.js +68 -10
  70. package/dist/esm/snk-crud.entry.js +3 -2
  71. package/dist/esm/{snk-exporter-email-sender_8.entry.js → snk-data-exporter_9.entry.js} +304 -8
  72. package/dist/esm/snk-data-unit.entry.js +2 -2
  73. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  74. package/dist/esm/snk-filter-detail.entry.js +1 -1
  75. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  76. package/dist/esm/snk-filter-number.entry.js +1 -1
  77. package/dist/esm/snk-filter-period.entry.js +1 -1
  78. package/dist/esm/snk-filter-personalized.entry.js +1 -1
  79. package/dist/esm/snk-filter-search.entry.js +1 -1
  80. package/dist/esm/snk-filter-text.entry.js +1 -1
  81. package/dist/esm/snk-form-config.entry.js +1 -1
  82. package/dist/esm/snk-form.entry.js +1 -1
  83. package/dist/esm/snk-pesquisa.entry.js +1 -1
  84. package/dist/esm/snk-tab-config.entry.js +1 -1
  85. package/dist/esm/{taskbar-elements-b2bbe275.js → taskbar-elements-beec3b27.js} +8 -5
  86. package/dist/esm/teste-pesquisa.entry.js +1 -1
  87. package/dist/sankhyablocks/{p-a3871147.entry.js → p-02d430a7.entry.js} +3 -3
  88. package/dist/sankhyablocks/p-04581d0c.entry.js +1 -0
  89. package/dist/sankhyablocks/p-112bb324.js +1 -0
  90. package/dist/sankhyablocks/{p-c17be74f.entry.js → p-12ebe36a.entry.js} +1 -1
  91. package/dist/sankhyablocks/p-13116d05.entry.js +1 -0
  92. package/dist/sankhyablocks/{p-14af45cc.entry.js → p-187b0d06.entry.js} +1 -1
  93. package/dist/sankhyablocks/{p-570cc474.entry.js → p-1a2533d0.entry.js} +1 -1
  94. package/dist/sankhyablocks/{p-fd3b562d.entry.js → p-1ccaea51.entry.js} +1 -1
  95. package/dist/sankhyablocks/p-1d7a0daf.js +1 -0
  96. package/dist/sankhyablocks/p-50c8bcb7.entry.js +1 -0
  97. package/dist/sankhyablocks/{p-44ce5b90.entry.js → p-57895452.entry.js} +1 -1
  98. package/dist/sankhyablocks/{p-48bbbd2c.entry.js → p-68fcc226.entry.js} +1 -1
  99. package/dist/sankhyablocks/p-719e570a.js +1 -0
  100. package/dist/sankhyablocks/{p-00b3c5d8.entry.js → p-772f1c44.entry.js} +1 -1
  101. package/dist/sankhyablocks/{p-c30d0966.entry.js → p-82e20fc0.entry.js} +1 -1
  102. package/dist/sankhyablocks/{p-eff899b0.entry.js → p-91c23d20.entry.js} +1 -1
  103. package/dist/sankhyablocks/p-a77dd79a.js +2 -0
  104. package/dist/sankhyablocks/{p-f50c6ef6.entry.js → p-ab4ff312.entry.js} +1 -1
  105. package/dist/sankhyablocks/p-c8327a5c.js +1 -0
  106. package/dist/sankhyablocks/{p-2664ae24.entry.js → p-d3e402d3.entry.js} +1 -1
  107. package/dist/sankhyablocks/{p-9593c937.entry.js → p-d7ae56ce.entry.js} +1 -1
  108. package/dist/sankhyablocks/{p-70e52fee.entry.js → p-d96bf6a7.entry.js} +1 -1
  109. package/dist/sankhyablocks/{p-b0a0222f.entry.js → p-df5d94c6.entry.js} +1 -1
  110. package/dist/sankhyablocks/{p-db111acd.entry.js → p-e075dba7.entry.js} +1 -1
  111. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  112. package/dist/types/components/snk-data-exporter/data/attachment.d.ts +1 -1
  113. package/dist/types/components/snk-data-exporter/data/email.d.ts +3 -3
  114. package/dist/types/components/snk-data-exporter/data/export-config.d.ts +5 -5
  115. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +5 -5
  116. package/dist/types/components/snk-data-exporter/data/report.d.ts +1 -1
  117. package/dist/types/components/snk-data-exporter/enum/data-exporter-option.d.ts +10 -0
  118. package/dist/types/components/snk-data-exporter/exporter-email-sender/email-info-step.d.ts +4 -4
  119. package/dist/types/components/snk-data-exporter/exporter-email-sender/options-step.d.ts +4 -4
  120. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -0
  121. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +40 -0
  122. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +61 -0
  123. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -2
  124. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +1 -1
  125. package/dist/types/components.d.ts +33 -3
  126. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +3 -0
  127. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +9 -0
  128. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +14 -0
  129. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterResponse.d.ts +7 -0
  130. package/dist/types/lib/message/resources/snk-data-exporter.msg.d.ts +1 -0
  131. package/dist/types/lib/store/index.d.ts +4 -0
  132. package/dist/types/lib/utils/fileViewer/index.d.ts +2 -0
  133. package/dist/types/lib/utils/fileViewer/interfaces/IFileViewerParams.d.ts +4 -0
  134. package/package.json +2 -1
  135. package/react/components.d.ts +1 -0
  136. package/react/components.js +1 -0
  137. package/react/components.js.map +1 -1
  138. package/dist/cjs/AuthorizationConfig-79ffae4b.js +0 -7
  139. package/dist/esm/AuthorizationConfig-dcbd207a.js +0 -7
  140. package/dist/sankhyablocks/p-8a872a35.entry.js +0 -1
  141. package/dist/sankhyablocks/p-9ba3df4c.js +0 -2
  142. package/dist/sankhyablocks/p-9e67cf79.entry.js +0 -1
  143. package/dist/sankhyablocks/p-c118ef2a.entry.js +0 -1
  144. package/dist/sankhyablocks/p-dbaad88c.js +0 -1
  145. package/dist/sankhyablocks/p-dc36cfbf.js +0 -1
  146. package/dist/sankhyablocks/p-e7f772ed.js +0 -1
@@ -1,6 +1,202 @@
1
- import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
1
+ import { getRenderingRef, forceUpdate, h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
2
  import { StringUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { A as AuthorizationConfig } from './AuthorizationConfig.js';
4
+ import { d as defineCustomElement$1 } from './snk-data-exporter2.js';
5
+
6
+ const appendToMap = (map, propName, value) => {
7
+ const items = map.get(propName);
8
+ if (!items) {
9
+ map.set(propName, [value]);
10
+ }
11
+ else if (!items.includes(value)) {
12
+ items.push(value);
13
+ }
14
+ };
15
+ const debounce = (fn, ms) => {
16
+ let timeoutId;
17
+ return (...args) => {
18
+ if (timeoutId) {
19
+ clearTimeout(timeoutId);
20
+ }
21
+ timeoutId = setTimeout(() => {
22
+ timeoutId = 0;
23
+ fn(...args);
24
+ }, ms);
25
+ };
26
+ };
27
+
28
+ /**
29
+ * Check if a possible element isConnected.
30
+ * The property might not be there, so we check for it.
31
+ *
32
+ * We want it to return true if isConnected is not a property,
33
+ * otherwise we would remove these elements and would not update.
34
+ *
35
+ * Better leak in Edge than to be useless.
36
+ */
37
+ const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
38
+ const cleanupElements = debounce((map) => {
39
+ for (let key of map.keys()) {
40
+ map.set(key, map.get(key).filter(isConnected));
41
+ }
42
+ }, 2000);
43
+ const stencilSubscription = () => {
44
+ if (typeof getRenderingRef !== 'function') {
45
+ // If we are not in a stencil project, we do nothing.
46
+ // This function is not really exported by @stencil/core.
47
+ return {};
48
+ }
49
+ const elmsToUpdate = new Map();
50
+ return {
51
+ dispose: () => elmsToUpdate.clear(),
52
+ get: (propName) => {
53
+ const elm = getRenderingRef();
54
+ if (elm) {
55
+ appendToMap(elmsToUpdate, propName, elm);
56
+ }
57
+ },
58
+ set: (propName) => {
59
+ const elements = elmsToUpdate.get(propName);
60
+ if (elements) {
61
+ elmsToUpdate.set(propName, elements.filter(forceUpdate));
62
+ }
63
+ cleanupElements(elmsToUpdate);
64
+ },
65
+ reset: () => {
66
+ elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
67
+ cleanupElements(elmsToUpdate);
68
+ },
69
+ };
70
+ };
71
+
72
+ const unwrap = (val) => (typeof val === 'function' ? val() : val);
73
+ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
74
+ const unwrappedState = unwrap(defaultState);
75
+ let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));
76
+ const handlers = {
77
+ dispose: [],
78
+ get: [],
79
+ set: [],
80
+ reset: [],
81
+ };
82
+ const reset = () => {
83
+ var _a;
84
+ // When resetting the state, the default state may be a function - unwrap it to invoke it.
85
+ // otherwise, the state won't be properly reset
86
+ states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));
87
+ handlers.reset.forEach((cb) => cb());
88
+ };
89
+ const dispose = () => {
90
+ // Call first dispose as resetting the state would
91
+ // cause less updates ;)
92
+ handlers.dispose.forEach((cb) => cb());
93
+ reset();
94
+ };
95
+ const get = (propName) => {
96
+ handlers.get.forEach((cb) => cb(propName));
97
+ return states.get(propName);
98
+ };
99
+ const set = (propName, value) => {
100
+ const oldValue = states.get(propName);
101
+ if (shouldUpdate(value, oldValue, propName)) {
102
+ states.set(propName, value);
103
+ handlers.set.forEach((cb) => cb(propName, value, oldValue));
104
+ }
105
+ };
106
+ const state = (typeof Proxy === 'undefined'
107
+ ? {}
108
+ : new Proxy(unwrappedState, {
109
+ get(_, propName) {
110
+ return get(propName);
111
+ },
112
+ ownKeys(_) {
113
+ return Array.from(states.keys());
114
+ },
115
+ getOwnPropertyDescriptor() {
116
+ return {
117
+ enumerable: true,
118
+ configurable: true,
119
+ };
120
+ },
121
+ has(_, propName) {
122
+ return states.has(propName);
123
+ },
124
+ set(_, propName, value) {
125
+ set(propName, value);
126
+ return true;
127
+ },
128
+ }));
129
+ const on = (eventName, callback) => {
130
+ handlers[eventName].push(callback);
131
+ return () => {
132
+ removeFromArray(handlers[eventName], callback);
133
+ };
134
+ };
135
+ const onChange = (propName, cb) => {
136
+ const unSet = on('set', (key, newValue) => {
137
+ if (key === propName) {
138
+ cb(newValue);
139
+ }
140
+ });
141
+ // We need to unwrap the defaultState because it might be a function.
142
+ // Otherwise we might not be sending the right reset value.
143
+ const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
144
+ return () => {
145
+ unSet();
146
+ unReset();
147
+ };
148
+ };
149
+ const use = (...subscriptions) => {
150
+ const unsubs = subscriptions.reduce((unsubs, subscription) => {
151
+ if (subscription.set) {
152
+ unsubs.push(on('set', subscription.set));
153
+ }
154
+ if (subscription.get) {
155
+ unsubs.push(on('get', subscription.get));
156
+ }
157
+ if (subscription.reset) {
158
+ unsubs.push(on('reset', subscription.reset));
159
+ }
160
+ if (subscription.dispose) {
161
+ unsubs.push(on('dispose', subscription.dispose));
162
+ }
163
+ return unsubs;
164
+ }, []);
165
+ return () => unsubs.forEach((unsub) => unsub());
166
+ };
167
+ const forceUpdate = (key) => {
168
+ const oldValue = states.get(key);
169
+ handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
170
+ };
171
+ return {
172
+ state,
173
+ get,
174
+ set,
175
+ on,
176
+ onChange,
177
+ use,
178
+ dispose,
179
+ reset,
180
+ forceUpdate,
181
+ };
182
+ };
183
+ const removeFromArray = (array, item) => {
184
+ const index = array.indexOf(item);
185
+ if (index >= 0) {
186
+ array[index] = array[array.length - 1];
187
+ array.length--;
188
+ }
189
+ };
190
+
191
+ const createStore = (defaultState, shouldUpdate) => {
192
+ const map = createObservableMap(defaultState, shouldUpdate);
193
+ map.use(stencilSubscription());
194
+ return map;
195
+ };
196
+
197
+ const store = createStore({
198
+ exporterProviders: {}
199
+ });
4
200
 
5
201
  var TaskbarElement;
6
202
  (function (TaskbarElement) {
@@ -18,7 +214,7 @@ var TaskbarElement;
18
214
  TaskbarElement["MORE_OPTIONS"] = "MORE_OPTIONS";
19
215
  TaskbarElement["DIVIDER"] = "DIVIDER";
20
216
  TaskbarElement["CONFIGURATOR"] = "CONFIGURATOR";
21
- TaskbarElement["EXPORT"] = "EXPORT";
217
+ TaskbarElement["DATA_EXPORTER"] = "DATA_EXPORTER";
22
218
  })(TaskbarElement || (TaskbarElement = {}));
23
219
  var AuthorizationElements;
24
220
  (function (AuthorizationElements) {
@@ -46,7 +242,8 @@ const buildCustomButton = (def, className, dataElementId, action, isEnabled) =>
46
242
  return textButton(def.name, className, dataElementId, text, hint, action, isEnabled);
47
243
  }
48
244
  };
49
- const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions) => {
245
+ const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, configName) => {
246
+ var _a;
50
247
  const title = getTitle(element);
51
248
  switch (element) {
52
249
  case TaskbarElement.PREVIOUS:
@@ -73,12 +270,13 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
73
270
  return iconButton("list", element, className, dataElementId, title, action, isEnabled);
74
271
  case TaskbarElement.CONFIGURATOR:
75
272
  return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
76
- case TaskbarElement.EXPORT:
77
- return iconButton("file-download", element, className, dataElementId, title, action, isEnabled);
78
273
  case TaskbarElement.MORE_OPTIONS:
79
274
  return actionButton(element, className, dataElementId, title, action, isEnabled, actions);
80
275
  case TaskbarElement.DIVIDER:
81
276
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium", "data-taskbar-divider": true });
277
+ case TaskbarElement.DATA_EXPORTER:
278
+ const provider = (_a = store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[configName];
279
+ return h("snk-data-exporter", { class: className, title: title, provider: provider, "data-element-id": dataElementId });
82
280
  }
83
281
  };
84
282
  function textButton(name, className, dataElementId, text, title, action, isEnabled) {
@@ -118,7 +316,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
118
316
  [TaskbarElement.GRID_MODE]: "snkTaskbar.titleGridMode",
119
317
  [TaskbarElement.FORM_MODE]: "snkTaskbar.titleFormMode",
120
318
  [TaskbarElement.CONFIGURATOR]: "snkTaskbar.titleConfigurator",
121
- [TaskbarElement.EXPORT]: "snkTaskbar.titleExportar"
319
+ [TaskbarElement.DATA_EXPORTER]: "snkTaskbar.titleDataExporter"
122
320
  };
123
321
  }
124
322
  observeButtons() {
@@ -209,7 +407,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
209
407
  className += "ez-padding-left--medium";
210
408
  }
211
409
  if (TaskbarElement[def.toString()]) {
212
- return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
410
+ return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList, this.configName);
213
411
  }
214
412
  else {
215
413
  return buildCustomButton(def, className, this.getIdElemBtnCustom(def), elem => this.elementClick(elem), elem => this.isEnabled(elem));
@@ -299,14 +497,19 @@ function defineCustomElement() {
299
497
  if (typeof customElements === "undefined") {
300
498
  return;
301
499
  }
302
- const components = ["snk-taskbar"];
500
+ const components = ["snk-taskbar", "snk-data-exporter"];
303
501
  components.forEach(tagName => { switch (tagName) {
304
502
  case "snk-taskbar":
305
503
  if (!customElements.get(tagName)) {
306
504
  customElements.define(tagName, SnkTaskbar);
307
505
  }
308
506
  break;
507
+ case "snk-data-exporter":
508
+ if (!customElements.get(tagName)) {
509
+ defineCustomElement$1();
510
+ }
511
+ break;
309
512
  } });
310
513
  }
311
514
 
312
- export { SnkTaskbar as S, TaskbarElement as T, defineCustomElement as d };
515
+ export { SnkTaskbar as S, TaskbarElement as T, defineCustomElement as d, store as s };
@@ -60,6 +60,7 @@ const snkTaskbarMessages = {
60
60
  titlePrevious: "Anterior",
61
61
  titleNext: "Próximo",
62
62
  titleRefresh: "Atualizar",
63
+ titleDataExporter: "Exportar",
63
64
  titleClone: "Duplicar",
64
65
  titleRemove: "Excluir",
65
66
  titleMoreOptions: "Mais Opções",
@@ -205,6 +206,23 @@ const snkGridConfigMessages = {
205
206
  }
206
207
  };
207
208
 
209
+ const snkDataExporterMessages = {
210
+ group: {
211
+ export: {
212
+ default: "Exportar para",
213
+ multiSelected: "Exportar {0} linhas selecionadas",
214
+ selectedLine: "Exportar somente 1 linha selecionada",
215
+ },
216
+ custom: "Personalizado"
217
+ },
218
+ label: {
219
+ currentPage: "Somente a página atual",
220
+ spreadsheet: "Planilha",
221
+ cube: "Cubo",
222
+ sendByEmail: "Enviar por email",
223
+ }
224
+ };
225
+
208
226
  class SnkMessageBuilder {
209
227
  constructor() {
210
228
  this._defaults = {
@@ -220,7 +238,8 @@ class SnkMessageBuilder {
220
238
  crudUtils: crudUtilsMessages,
221
239
  snkGrid: snkGridMessages,
222
240
  snkGridConfig: snkGridConfigMessages,
223
- snkExporter: snkExporterMessages
241
+ snkExporter: snkExporterMessages,
242
+ snkDataExporter: snkDataExporterMessages
224
243
  };
225
244
  this._currentOperation = OperationMap.CLEAN;
226
245
  this.loadAppMessages().then((msgs) => {
@@ -0,0 +1,19 @@
1
+ var AuthorizationConfig;
2
+ (function (AuthorizationConfig) {
3
+ AuthorizationConfig["CONFIG_GRID"] = "CONFIG_GRID";
4
+ AuthorizationConfig["CONFIG"] = "CONFIG";
5
+ })(AuthorizationConfig || (AuthorizationConfig = {}));
6
+
7
+ var DataExporterOption;
8
+ (function (DataExporterOption) {
9
+ DataExporterOption["EXPORT_TO_PDF"] = "exportToPDF";
10
+ DataExporterOption["EXPORT_TO_XLS"] = "exportToXLS";
11
+ DataExporterOption["EXPORT_CURRENT_PAGE"] = "exportCurrentPage";
12
+ DataExporterOption["EXPORT_PAGE_TO_PDF"] = "exportPageToPDF";
13
+ DataExporterOption["EXPORT_PAGE_TO_XLS"] = "exportPageToXLS";
14
+ DataExporterOption["EXPORT_BY_EMAIL"] = "exportToEmail";
15
+ DataExporterOption["EXPORT_PDF_TO_EMAIL"] = "exportPDFToEmail";
16
+ DataExporterOption["EXPORT_XLS_TO_EMAIL"] = "exportXLSToEmail";
17
+ })(DataExporterOption || (DataExporterOption = {}));
18
+
19
+ export { AuthorizationConfig as A, DataExporterOption as D };
@@ -15,6 +15,7 @@ let useNativeShadowDom = false;
15
15
  let checkSlotFallbackVisibility = false;
16
16
  let checkSlotRelocate = false;
17
17
  let isSvgMode = false;
18
+ let renderingRef = null;
18
19
  let queuePending = false;
19
20
  const createTime = (fnName, tagName = '') => {
20
21
  {
@@ -1256,6 +1257,11 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
1256
1257
  promise = safeCall(instance, 'componentWillLoad');
1257
1258
  }
1258
1259
  }
1260
+ else {
1261
+ {
1262
+ promise = safeCall(instance, 'componentWillUpdate');
1263
+ }
1264
+ }
1259
1265
  {
1260
1266
  promise = then(promise, () => safeCall(instance, 'componentWillRender'));
1261
1267
  }
@@ -1299,6 +1305,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1299
1305
  };
1300
1306
  const callRender = (hostRef, instance, elm) => {
1301
1307
  try {
1308
+ renderingRef = instance;
1302
1309
  instance = instance.render() ;
1303
1310
  {
1304
1311
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1320,8 +1327,10 @@ const callRender = (hostRef, instance, elm) => {
1320
1327
  catch (e) {
1321
1328
  consoleError(e, hostRef.$hostElement$);
1322
1329
  }
1330
+ renderingRef = null;
1323
1331
  return null;
1324
1332
  };
1333
+ const getRenderingRef = () => renderingRef;
1325
1334
  const postUpdateComponent = (hostRef) => {
1326
1335
  const tagName = hostRef.$cmpMeta$.$tagName$;
1327
1336
  const elm = hostRef.$hostElement$;
@@ -1349,6 +1358,9 @@ const postUpdateComponent = (hostRef) => {
1349
1358
  }
1350
1359
  }
1351
1360
  else {
1361
+ {
1362
+ safeCall(instance, 'componentDidUpdate');
1363
+ }
1352
1364
  endPostUpdate();
1353
1365
  }
1354
1366
  {
@@ -1370,6 +1382,18 @@ const postUpdateComponent = (hostRef) => {
1370
1382
  // ( •_•)>⌐■-■
1371
1383
  // (⌐■_■)
1372
1384
  };
1385
+ const forceUpdate = (ref) => {
1386
+ {
1387
+ const hostRef = getHostRef(ref);
1388
+ const isConnected = hostRef.$hostElement$.isConnected;
1389
+ if (isConnected &&
1390
+ (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1391
+ scheduleUpdate(hostRef, false);
1392
+ }
1393
+ // Returns "true" when the forced update was successfully scheduled
1394
+ return isConnected;
1395
+ }
1396
+ };
1373
1397
  const appDidLoad = (who) => {
1374
1398
  // on appload
1375
1399
  // we have finish the first big initial render
@@ -1958,4 +1982,4 @@ const flush = () => {
1958
1982
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1959
1983
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1960
1984
 
1961
- export { Fragment as F, Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r };
1985
+ export { Fragment as F, Host as H, getRenderingRef as a, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r };
@@ -0,0 +1,198 @@
1
+ import { a as getRenderingRef, f as forceUpdate } from './index-a77b6f35.js';
2
+
3
+ const appendToMap = (map, propName, value) => {
4
+ const items = map.get(propName);
5
+ if (!items) {
6
+ map.set(propName, [value]);
7
+ }
8
+ else if (!items.includes(value)) {
9
+ items.push(value);
10
+ }
11
+ };
12
+ const debounce = (fn, ms) => {
13
+ let timeoutId;
14
+ return (...args) => {
15
+ if (timeoutId) {
16
+ clearTimeout(timeoutId);
17
+ }
18
+ timeoutId = setTimeout(() => {
19
+ timeoutId = 0;
20
+ fn(...args);
21
+ }, ms);
22
+ };
23
+ };
24
+
25
+ /**
26
+ * Check if a possible element isConnected.
27
+ * The property might not be there, so we check for it.
28
+ *
29
+ * We want it to return true if isConnected is not a property,
30
+ * otherwise we would remove these elements and would not update.
31
+ *
32
+ * Better leak in Edge than to be useless.
33
+ */
34
+ const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
35
+ const cleanupElements = debounce((map) => {
36
+ for (let key of map.keys()) {
37
+ map.set(key, map.get(key).filter(isConnected));
38
+ }
39
+ }, 2000);
40
+ const stencilSubscription = () => {
41
+ if (typeof getRenderingRef !== 'function') {
42
+ // If we are not in a stencil project, we do nothing.
43
+ // This function is not really exported by @stencil/core.
44
+ return {};
45
+ }
46
+ const elmsToUpdate = new Map();
47
+ return {
48
+ dispose: () => elmsToUpdate.clear(),
49
+ get: (propName) => {
50
+ const elm = getRenderingRef();
51
+ if (elm) {
52
+ appendToMap(elmsToUpdate, propName, elm);
53
+ }
54
+ },
55
+ set: (propName) => {
56
+ const elements = elmsToUpdate.get(propName);
57
+ if (elements) {
58
+ elmsToUpdate.set(propName, elements.filter(forceUpdate));
59
+ }
60
+ cleanupElements(elmsToUpdate);
61
+ },
62
+ reset: () => {
63
+ elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
64
+ cleanupElements(elmsToUpdate);
65
+ },
66
+ };
67
+ };
68
+
69
+ const unwrap = (val) => (typeof val === 'function' ? val() : val);
70
+ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
71
+ const unwrappedState = unwrap(defaultState);
72
+ let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));
73
+ const handlers = {
74
+ dispose: [],
75
+ get: [],
76
+ set: [],
77
+ reset: [],
78
+ };
79
+ const reset = () => {
80
+ var _a;
81
+ // When resetting the state, the default state may be a function - unwrap it to invoke it.
82
+ // otherwise, the state won't be properly reset
83
+ states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));
84
+ handlers.reset.forEach((cb) => cb());
85
+ };
86
+ const dispose = () => {
87
+ // Call first dispose as resetting the state would
88
+ // cause less updates ;)
89
+ handlers.dispose.forEach((cb) => cb());
90
+ reset();
91
+ };
92
+ const get = (propName) => {
93
+ handlers.get.forEach((cb) => cb(propName));
94
+ return states.get(propName);
95
+ };
96
+ const set = (propName, value) => {
97
+ const oldValue = states.get(propName);
98
+ if (shouldUpdate(value, oldValue, propName)) {
99
+ states.set(propName, value);
100
+ handlers.set.forEach((cb) => cb(propName, value, oldValue));
101
+ }
102
+ };
103
+ const state = (typeof Proxy === 'undefined'
104
+ ? {}
105
+ : new Proxy(unwrappedState, {
106
+ get(_, propName) {
107
+ return get(propName);
108
+ },
109
+ ownKeys(_) {
110
+ return Array.from(states.keys());
111
+ },
112
+ getOwnPropertyDescriptor() {
113
+ return {
114
+ enumerable: true,
115
+ configurable: true,
116
+ };
117
+ },
118
+ has(_, propName) {
119
+ return states.has(propName);
120
+ },
121
+ set(_, propName, value) {
122
+ set(propName, value);
123
+ return true;
124
+ },
125
+ }));
126
+ const on = (eventName, callback) => {
127
+ handlers[eventName].push(callback);
128
+ return () => {
129
+ removeFromArray(handlers[eventName], callback);
130
+ };
131
+ };
132
+ const onChange = (propName, cb) => {
133
+ const unSet = on('set', (key, newValue) => {
134
+ if (key === propName) {
135
+ cb(newValue);
136
+ }
137
+ });
138
+ // We need to unwrap the defaultState because it might be a function.
139
+ // Otherwise we might not be sending the right reset value.
140
+ const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
141
+ return () => {
142
+ unSet();
143
+ unReset();
144
+ };
145
+ };
146
+ const use = (...subscriptions) => {
147
+ const unsubs = subscriptions.reduce((unsubs, subscription) => {
148
+ if (subscription.set) {
149
+ unsubs.push(on('set', subscription.set));
150
+ }
151
+ if (subscription.get) {
152
+ unsubs.push(on('get', subscription.get));
153
+ }
154
+ if (subscription.reset) {
155
+ unsubs.push(on('reset', subscription.reset));
156
+ }
157
+ if (subscription.dispose) {
158
+ unsubs.push(on('dispose', subscription.dispose));
159
+ }
160
+ return unsubs;
161
+ }, []);
162
+ return () => unsubs.forEach((unsub) => unsub());
163
+ };
164
+ const forceUpdate = (key) => {
165
+ const oldValue = states.get(key);
166
+ handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
167
+ };
168
+ return {
169
+ state,
170
+ get,
171
+ set,
172
+ on,
173
+ onChange,
174
+ use,
175
+ dispose,
176
+ reset,
177
+ forceUpdate,
178
+ };
179
+ };
180
+ const removeFromArray = (array, item) => {
181
+ const index = array.indexOf(item);
182
+ if (index >= 0) {
183
+ array[index] = array[array.length - 1];
184
+ array.length--;
185
+ }
186
+ };
187
+
188
+ const createStore = (defaultState, shouldUpdate) => {
189
+ const map = createObservableMap(defaultState, shouldUpdate);
190
+ map.use(stencilSubscription());
191
+ return map;
192
+ };
193
+
194
+ const store = createStore({
195
+ exporterProviders: {}
196
+ });
197
+
198
+ export { store as s };
@@ -1,4 +1,4 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-e4121713.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-a77b6f35.js';
2
2
 
3
3
  /*
4
4
  Stencil Client Patch Esm v2.18.1 | MIT Licensed | https://stenciljs.com
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"beforeSave":[16],"afterSave":[16],"getDataUnit":[64]}]]],["snk-filter-binary-select",[[0,"snk-filter-binary-select",{"value":[1544],"config":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-multi-select",[[0,"snk-filter-multi-select",{"value":[1544],"config":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-number",[[0,"snk-filter-number",{"config":[16],"value":[2],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-period",[[0,"snk-filter-period",{"config":[16],"value":[8],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-personalized",[[0,"snk-filter-personalized",{"config":[16],"value":[1040],"fix":[16],"unfix":[16],"show":[64]}]]],["snk-filter-search",[[0,"snk-filter-search",{"config":[16],"value":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-text",[[0,"snk-filter-text",{"config":[16],"value":[1]},[[0,"ezChange","ezChangeListener"]]]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-config-options",[[2,"snk-config-options",{"fieldConfig":[16],"idConfig":[513,"id-config"],"dataUnit":[16],"_defaultType":[32]}]]],["snk-tab-config",[[6,"snk-tab-config",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32],"_activeEditText":[32],"_activeEditTextIndex":[32],"_actionsHide":[32],"_actionsShow":[32]}]]],["snk-filter-detail",[[0,"snk-filter-detail",{"config":[1040],"getMessage":[16],"show":[64]}]]],["snk-configurator_3",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"taskbarManager":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"enableDataExporter":[4,"enable-data-exporter"],"_dataUnit":[32],"_dataState":[32],"_gridConfig":[32],"_popUpGridConfig":[32],"showConfig":[64],"hideConfig":[64],"setConfig":[64]},[[0,"actionClick","actionClickHandler"]]],[2,"snk-configurator",{"configName":[1,"config-name"],"viewMode":[1,"view-mode"],"_opened":[32],"_permissions":[32],"open":[64],"close":[64]}],[2,"snk-field-config",{"isConfigActive":[16],"fieldConfig":[16],"modeInsertion":[516,"mode-insertion"],"dataUnit":[16]}]]],["snk-form-config",[[2,"snk-form-config",{"dataUnit":[16],"formConfig":[16],"configName":[513,"config-name"],"_formConfigOptions":[32],"_fieldConfigSelected":[32],"_layoutFormConfig":[32],"_fieldsAvailable":[32],"_formConfig":[32],"_formConfigChanged":[32],"_optionFormConfigSelected":[32],"_optionFormConfigChanged":[32],"_tempGroups":[32]}]]],["snk-exporter-email-sender_8",[[2,"snk-filter-bar",{"dataUnit":[1040],"configName":[1,"config-name"],"filterConfig":[1040],"allowDefault":[32],"scrollerLocked":[32]},[[0,"filterChange","filterChangeListener"]]],[2,"snk-grid-config",{"selectedIndex":[1026,"selected-index"],"application":[16],"columns":[1040],"config":[1040],"saveConfig":[64]}],[0,"snk-exporter-email-sender",{"getMessage":[16],"_config":[32],"_opened":[32],"_currentStep":[32],"open":[64]}],[0,"snk-filter-item",{"config":[1040],"getMessage":[16],"detailIsVisible":[32],"showUp":[64],"hideDetail":[64]},[[2,"click","clickListener"],[2,"mousedown","mouseDownListener"],[0,"filterChange","filterChangeListener"]]],[4,"snk-filter-list",{"label":[1],"iconName":[1,"icon-name"],"items":[16],"getMessage":[16],"emptyText":[1,"empty-text"],"findFilterText":[1,"find-filter-text"],"buttonClass":[1,"button-class"],"_filterArgument":[32],"_showAll":[32],"hideDetail":[64]},[[2,"keydown","keyDownHandler"]]],[0,"snk-filter-modal",{"getMessage":[16],"items":[1040],"modalTitle":[1,"modal-title"],"modalSubTitle":[1,"modal-sub-title"],"cancelButtonLabel":[1,"cancel-button-label"],"okButtonLabel":[1,"ok-button-label"],"infoText":[1,"info-text"],"useSearch":[4,"use-search"],"processModalAction":[16],"_filterArgument":[32]}],[1,"snk-select-box",{"selectedOption":[1,"selected-option"]}],[6,"snk-taskbar",{"configName":[1,"config-name"],"buttons":[1],"customButtons":[16],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"_permissions":[32]}]]],["snk-form",[[2,"snk-form",{"configName":[1,"config-name"],"recordsValidator":[16],"actionsList":[16],"taskbarManager":[16],"_dataUnit":[32],"_dataState":[32],"_editionFormConfig":[32],"_insertionFormConfig":[32],"_showFormConfig":[32],"showConfig":[64],"hideConfig":[64]}]]],["snk-crud",[[6,"snk-crud",{"configName":[1025,"config-name"],"actionsList":[16],"taskbarManager":[16],"recordsValidator":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"enableDataExporter":[4,"enable-data-exporter"],"_dataUnit":[32],"_dataState":[32],"_viewMode":[32],"goToView":[64]}]]],["snk-application",[[2,"snk-application",{"messagesBuilder":[1040],"configName":[1,"config-name"],"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"showModal":[64],"closeModal":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"createDataunit":[64],"getDataUnit":[64],"getResourceID":[64],"getUserID":[64],"alert":[64],"error":[64],"success":[64],"message":[64],"confirm":[64],"info":[64],"loadFormConfig":[64],"loadGridConfig":[64],"fetchUserAvailableConfigs":[64],"fetchLegacyConfig":[64],"fetchDefaultConfig":[64],"loadTotals":[64],"saveGridConfig":[64],"getFilterBarConfig":[64],"saveFilterBarConfig":[64],"saveFormConfig":[64],"getDefaultValues":[64],"getDefaultValue":[64],"executeSearch":[64],"executePreparedSearch":[64],"isDebugMode":[64]}]]]], options);
13
+ return bootstrapLazy([["teste-pesquisa",[[1,"teste-pesquisa"]]],["snk-data-unit",[[2,"snk-data-unit",{"dataState":[1040],"dataUnitName":[1,"data-unit-name"],"entityName":[1,"entity-name"],"pageSize":[2,"page-size"],"dataUnit":[1040],"beforeSave":[16],"afterSave":[16],"getDataUnit":[64]}]]],["snk-filter-binary-select",[[0,"snk-filter-binary-select",{"value":[1544],"config":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-multi-select",[[0,"snk-filter-multi-select",{"value":[1544],"config":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-number",[[0,"snk-filter-number",{"config":[16],"value":[2],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-period",[[0,"snk-filter-period",{"config":[16],"value":[8],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-personalized",[[0,"snk-filter-personalized",{"config":[16],"value":[1040],"fix":[16],"unfix":[16],"show":[64]}]]],["snk-filter-search",[[0,"snk-filter-search",{"config":[16],"value":[16],"show":[64]},[[0,"ezChange","ezChangeListener"]]]]],["snk-filter-text",[[0,"snk-filter-text",{"config":[16],"value":[1]},[[0,"ezChange","ezChangeListener"]]]]],["snk-pesquisa",[[2,"snk-pesquisa",{"searchLoader":[16],"selectItem":[16],"argument":[1025],"_itemList":[32],"_startLoading":[32]}]]],["snk-config-options",[[2,"snk-config-options",{"fieldConfig":[16],"idConfig":[513,"id-config"],"dataUnit":[16],"_defaultType":[32]}]]],["snk-tab-config",[[6,"snk-tab-config",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32],"_activeEditText":[32],"_activeEditTextIndex":[32],"_actionsHide":[32],"_actionsShow":[32]}]]],["snk-filter-detail",[[0,"snk-filter-detail",{"config":[1040],"getMessage":[16],"show":[64]}]]],["snk-configurator_3",[[6,"snk-grid",{"configName":[1,"config-name"],"actionsList":[16],"taskbarManager":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"enableDataExporter":[4,"enable-data-exporter"],"_dataUnit":[32],"_dataState":[32],"_gridConfig":[32],"_popUpGridConfig":[32],"showConfig":[64],"hideConfig":[64],"setConfig":[64]},[[0,"ezClickDataExporter","ezClickDataExporterHandler"]]],[2,"snk-configurator",{"configName":[1,"config-name"],"viewMode":[1,"view-mode"],"_opened":[32],"_permissions":[32],"open":[64],"close":[64]}],[2,"snk-field-config",{"isConfigActive":[16],"fieldConfig":[16],"modeInsertion":[516,"mode-insertion"],"dataUnit":[16]}]]],["snk-form-config",[[2,"snk-form-config",{"dataUnit":[16],"formConfig":[16],"configName":[513,"config-name"],"_formConfigOptions":[32],"_fieldConfigSelected":[32],"_layoutFormConfig":[32],"_fieldsAvailable":[32],"_formConfig":[32],"_formConfigChanged":[32],"_optionFormConfigSelected":[32],"_optionFormConfigChanged":[32],"_tempGroups":[32]}]]],["snk-data-exporter_9",[[2,"snk-filter-bar",{"dataUnit":[1040],"configName":[1,"config-name"],"filterConfig":[1040],"allowDefault":[32],"scrollerLocked":[32]},[[0,"filterChange","filterChangeListener"]]],[2,"snk-grid-config",{"selectedIndex":[1026,"selected-index"],"application":[16],"columns":[1040],"config":[1040],"saveConfig":[64]}],[0,"snk-exporter-email-sender",{"getMessage":[16],"_config":[32],"_opened":[32],"_currentStep":[32],"open":[64]}],[0,"snk-filter-item",{"config":[1040],"getMessage":[16],"detailIsVisible":[32],"showUp":[64],"hideDetail":[64]},[[2,"click","clickListener"],[2,"mousedown","mouseDownListener"],[0,"filterChange","filterChangeListener"]]],[6,"snk-taskbar",{"configName":[1,"config-name"],"buttons":[1],"customButtons":[16],"actionsList":[16],"primaryButton":[1,"primary-button"],"disabledButtons":[16],"dataUnit":[16],"_permissions":[32]}],[4,"snk-filter-list",{"label":[1],"iconName":[1,"icon-name"],"items":[16],"getMessage":[16],"emptyText":[1,"empty-text"],"findFilterText":[1,"find-filter-text"],"buttonClass":[1,"button-class"],"_filterArgument":[32],"_showAll":[32],"hideDetail":[64]},[[2,"keydown","keyDownHandler"]]],[0,"snk-filter-modal",{"getMessage":[16],"items":[1040],"modalTitle":[1,"modal-title"],"modalSubTitle":[1,"modal-sub-title"],"cancelButtonLabel":[1,"cancel-button-label"],"okButtonLabel":[1,"ok-button-label"],"infoText":[1,"info-text"],"useSearch":[4,"use-search"],"processModalAction":[16],"_filterArgument":[32]}],[1,"snk-select-box",{"selectedOption":[1,"selected-option"]}],[2,"snk-data-exporter",{"provider":[16],"_showDropdown":[32],"_releasedToExport":[32]}]]],["snk-form",[[2,"snk-form",{"configName":[1,"config-name"],"recordsValidator":[16],"actionsList":[16],"taskbarManager":[16],"_dataUnit":[32],"_dataState":[32],"_editionFormConfig":[32],"_insertionFormConfig":[32],"_showFormConfig":[32],"showConfig":[64],"hideConfig":[64]}]]],["snk-crud",[[6,"snk-crud",{"configName":[1025,"config-name"],"actionsList":[16],"taskbarManager":[16],"recordsValidator":[16],"statusResolver":[16],"multipleSelection":[4,"multiple-selection"],"enableDataExporter":[4,"enable-data-exporter"],"_dataUnit":[32],"_dataState":[32],"_viewMode":[32],"goToView":[64]}]]],["snk-application",[[2,"snk-application",{"messagesBuilder":[1040],"configName":[1,"config-name"],"isUserSup":[64],"hasAccess":[64],"getAllAccess":[64],"getStringParam":[64],"getIntParam":[64],"getFloatParam":[64],"getBooleanParam":[64],"getDateParam":[64],"showPopUp":[64],"showModal":[64],"closeModal":[64],"closePopUp":[64],"temOpcional":[64],"getConfig":[64],"saveConfig":[64],"getAttributeFromHTMLWrapper":[64],"openApp":[64],"createDataunit":[64],"getDataUnit":[64],"getResourceID":[64],"getUserID":[64],"alert":[64],"error":[64],"success":[64],"message":[64],"confirm":[64],"info":[64],"loadFormConfig":[64],"loadGridConfig":[64],"fetchUserAvailableConfigs":[64],"fetchLegacyConfig":[64],"fetchDefaultConfig":[64],"loadTotals":[64],"saveGridConfig":[64],"getFilterBarConfig":[64],"saveFilterBarConfig":[64],"saveFormConfig":[64],"getDefaultValues":[64],"getDefaultValue":[64],"executeSearch":[64],"executePreparedSearch":[64],"isDebugMode":[64]}]]]], options);
14
14
  });
15
15
  };
16
16