@sankhyalabs/sankhyablocks 1.3.34 → 1.4.0-beta.1

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 (216) hide show
  1. package/dist/cjs/SnkMessageBuilder-7717f1e4.js +326 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  3. package/dist/cjs/css-shim-b8158822.js +6 -0
  4. package/dist/cjs/dom-36862b77.js +75 -0
  5. package/dist/cjs/filter-item-type.enum-e2e1bc5b.js +14 -0
  6. package/dist/cjs/index-02201bc9.js +2397 -0
  7. package/dist/cjs/index-b0b676c5.js +3298 -0
  8. package/dist/cjs/loader.cjs.js +19 -3
  9. package/dist/cjs/sankhyablocks.cjs.js +117 -5
  10. package/dist/cjs/shadow-css-346c0795.js +389 -0
  11. package/dist/cjs/snk-application.cjs.entry.js +720 -168
  12. package/dist/cjs/snk-crud.cjs.entry.js +70 -0
  13. package/dist/cjs/snk-data-unit.cjs.entry.js +280 -0
  14. package/dist/cjs/snk-filter-bar.cjs.entry.js +278 -0
  15. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +47 -0
  16. package/dist/cjs/snk-filter-detail.cjs.entry.js +49 -0
  17. package/dist/cjs/snk-filter-item.cjs.entry.js +154 -0
  18. package/dist/cjs/snk-filter-list.cjs.entry.js +91 -0
  19. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +23 -0
  20. package/dist/cjs/snk-filter-number.cjs.entry.js +24 -0
  21. package/dist/cjs/snk-filter-period.cjs.entry.js +37 -0
  22. package/dist/cjs/snk-filter-search.cjs.entry.js +44 -0
  23. package/dist/cjs/snk-filter-text.cjs.entry.js +22 -0
  24. package/dist/cjs/snk-form.cjs.entry.js +133 -0
  25. package/dist/cjs/snk-grid.cjs.entry.js +79 -0
  26. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-taskbar.cjs.entry.js +160 -0
  28. package/dist/cjs/taskbar-elements-283c737e.js +93 -0
  29. package/dist/cjs/taskbar-processor-6bd0d35c.js +47 -0
  30. package/dist/cjs/teste-pesquisa.cjs.entry.js +5 -5
  31. package/dist/collection/collection-manifest.json +17 -2
  32. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +9 -2
  33. package/dist/collection/components/snk-application/snk-application.js +1126 -621
  34. package/dist/collection/components/snk-crud/snk-crud.css +6 -0
  35. package/dist/collection/components/snk-crud/snk-crud.js +203 -0
  36. package/dist/collection/components/snk-data-unit/snk-data-unit.css +6 -0
  37. package/dist/collection/components/snk-data-unit/snk-data-unit.js +544 -0
  38. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +88 -0
  39. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +64 -0
  40. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +65 -0
  41. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +78 -0
  42. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +118 -0
  43. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +63 -0
  44. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +10 -0
  45. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +118 -0
  46. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +255 -0
  47. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +233 -0
  48. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +114 -0
  49. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +353 -0
  50. package/dist/collection/components/snk-form/snk-form.css +34 -0
  51. package/dist/collection/components/snk-form/snk-form.js +258 -0
  52. package/dist/collection/components/snk-grid/snk-grid.css +18 -0
  53. package/dist/collection/components/snk-grid/snk-grid.js +205 -0
  54. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +80 -79
  55. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +86 -0
  56. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +43 -0
  57. package/dist/collection/components/snk-taskbar/snk-taskbar.css +3 -0
  58. package/dist/collection/components/snk-taskbar/snk-taskbar.js +307 -0
  59. package/dist/collection/components/teste-pesquisa/teste-pesquisa.js +12 -9
  60. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +37 -12
  61. package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +52 -21
  62. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +54 -0
  63. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +4 -3
  64. package/dist/collection/lib/http/data-fetcher/fetchers/totals-fetcher.js +47 -0
  65. package/dist/collection/lib/index.js +1 -0
  66. package/dist/collection/lib/message/SnkMessageBuilder.js +121 -0
  67. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +23 -0
  68. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +18 -0
  69. package/dist/collection/lib/message/resources/snk-form.msg.js +10 -0
  70. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +17 -0
  71. package/dist/components/SnkMessageBuilder.js +303 -0
  72. package/dist/components/filter-item-type.enum.js +12 -0
  73. package/dist/components/index.d.ts +18 -5
  74. package/dist/components/index.js +22 -0
  75. package/dist/components/index2.js +2384 -0
  76. package/dist/components/snk-application2.js +700 -139
  77. package/dist/components/snk-crud.d.ts +11 -0
  78. package/dist/components/snk-crud.js +133 -0
  79. package/dist/components/snk-data-unit.d.ts +11 -0
  80. package/dist/components/snk-data-unit.js +303 -0
  81. package/dist/components/snk-filter-bar.d.ts +11 -0
  82. package/dist/components/snk-filter-bar.js +6 -0
  83. package/dist/components/snk-filter-bar2.js +310 -0
  84. package/dist/components/snk-filter-binary-select.d.ts +11 -0
  85. package/dist/components/snk-filter-binary-select.js +63 -0
  86. package/dist/components/snk-filter-detail.d.ts +11 -0
  87. package/dist/components/snk-filter-detail.js +6 -0
  88. package/dist/components/snk-filter-detail2.js +63 -0
  89. package/dist/components/snk-filter-item.d.ts +11 -0
  90. package/dist/components/snk-filter-item.js +6 -0
  91. package/dist/components/snk-filter-item2.js +175 -0
  92. package/dist/components/snk-filter-list.d.ts +11 -0
  93. package/dist/components/snk-filter-list.js +6 -0
  94. package/dist/components/snk-filter-list2.js +111 -0
  95. package/dist/components/snk-filter-multi-select.d.ts +11 -0
  96. package/dist/components/snk-filter-multi-select.js +39 -0
  97. package/dist/components/snk-filter-number.d.ts +11 -0
  98. package/dist/components/snk-filter-number.js +40 -0
  99. package/dist/components/snk-filter-period.d.ts +11 -0
  100. package/dist/components/snk-filter-period.js +53 -0
  101. package/dist/components/snk-filter-search.d.ts +11 -0
  102. package/dist/components/snk-filter-search.js +62 -0
  103. package/dist/components/snk-filter-text.d.ts +11 -0
  104. package/dist/components/snk-filter-text.js +38 -0
  105. package/dist/components/snk-form.d.ts +11 -0
  106. package/dist/components/snk-form.js +6 -0
  107. package/dist/components/snk-form2.js +159 -0
  108. package/dist/components/snk-grid.d.ts +11 -0
  109. package/dist/components/snk-grid.js +6 -0
  110. package/dist/components/snk-grid2.js +127 -0
  111. package/dist/components/snk-pesquisa2.js +1 -1
  112. package/dist/components/snk-taskbar.d.ts +11 -0
  113. package/dist/components/snk-taskbar.js +6 -0
  114. package/dist/components/snk-taskbar2.js +264 -0
  115. package/dist/components/taskbar-processor.js +45 -0
  116. package/dist/components/teste-pesquisa.js +1 -1
  117. package/dist/esm/SnkMessageBuilder-a7da466b.js +303 -0
  118. package/dist/esm/app-globals-0f993ce5.js +3 -0
  119. package/dist/esm/css-shim-b3f2ee8d.js +4 -0
  120. package/dist/esm/dom-665d6011.js +73 -0
  121. package/dist/esm/filter-item-type.enum-61fbf80a.js +12 -0
  122. package/dist/esm/index-2b4d2d14.js +3262 -0
  123. package/dist/esm/index-f1d3e4da.js +2384 -0
  124. package/dist/esm/loader.js +19 -3
  125. package/dist/esm/polyfills/css-shim.js +1 -1
  126. package/dist/esm/sankhyablocks.js +117 -5
  127. package/dist/esm/shadow-css-b18e99d7.js +387 -0
  128. package/dist/esm/snk-application.entry.js +692 -140
  129. package/dist/esm/snk-crud.entry.js +66 -0
  130. package/dist/esm/snk-data-unit.entry.js +276 -0
  131. package/dist/esm/snk-filter-bar.entry.js +274 -0
  132. package/dist/esm/snk-filter-binary-select.entry.js +43 -0
  133. package/dist/esm/snk-filter-detail.entry.js +45 -0
  134. package/dist/esm/snk-filter-item.entry.js +150 -0
  135. package/dist/esm/snk-filter-list.entry.js +87 -0
  136. package/dist/esm/snk-filter-multi-select.entry.js +19 -0
  137. package/dist/esm/snk-filter-number.entry.js +20 -0
  138. package/dist/esm/snk-filter-period.entry.js +33 -0
  139. package/dist/esm/snk-filter-search.entry.js +40 -0
  140. package/dist/esm/snk-filter-text.entry.js +18 -0
  141. package/dist/esm/snk-form.entry.js +129 -0
  142. package/dist/esm/snk-grid.entry.js +75 -0
  143. package/dist/esm/snk-pesquisa.entry.js +2 -2
  144. package/dist/esm/snk-taskbar.entry.js +156 -0
  145. package/dist/esm/taskbar-elements-35d64ff9.js +90 -0
  146. package/dist/esm/taskbar-processor-aa6772c9.js +45 -0
  147. package/dist/esm/teste-pesquisa.entry.js +2 -2
  148. package/dist/sankhyablocks/SnkMessageBuilder-a7da466b.js +303 -0
  149. package/dist/sankhyablocks/app-globals-0f993ce5.js +3 -0
  150. package/dist/sankhyablocks/css-shim-b3f2ee8d.js +4 -0
  151. package/dist/sankhyablocks/dom-665d6011.js +73 -0
  152. package/dist/sankhyablocks/filter-item-type.enum-61fbf80a.js +12 -0
  153. package/dist/sankhyablocks/index-2b4d2d14.js +3262 -0
  154. package/dist/sankhyablocks/index-f1d3e4da.js +2384 -0
  155. package/dist/sankhyablocks/index.esm.js +1 -0
  156. package/dist/sankhyablocks/sankhyablocks.esm.js +129 -1
  157. package/dist/sankhyablocks/shadow-css-b18e99d7.js +387 -0
  158. package/dist/sankhyablocks/snk-application.entry.js +8148 -0
  159. package/dist/sankhyablocks/snk-crud.entry.js +66 -0
  160. package/dist/sankhyablocks/snk-data-unit.entry.js +276 -0
  161. package/dist/sankhyablocks/snk-filter-bar.entry.js +274 -0
  162. package/dist/sankhyablocks/snk-filter-binary-select.entry.js +43 -0
  163. package/dist/sankhyablocks/snk-filter-detail.entry.js +45 -0
  164. package/dist/sankhyablocks/snk-filter-item.entry.js +150 -0
  165. package/dist/sankhyablocks/snk-filter-list.entry.js +87 -0
  166. package/dist/sankhyablocks/snk-filter-multi-select.entry.js +19 -0
  167. package/dist/sankhyablocks/snk-filter-number.entry.js +20 -0
  168. package/dist/sankhyablocks/snk-filter-period.entry.js +33 -0
  169. package/dist/sankhyablocks/snk-filter-search.entry.js +40 -0
  170. package/dist/sankhyablocks/snk-filter-text.entry.js +18 -0
  171. package/dist/sankhyablocks/snk-form.entry.js +129 -0
  172. package/dist/sankhyablocks/snk-grid.entry.js +75 -0
  173. package/dist/sankhyablocks/snk-pesquisa.entry.js +311 -0
  174. package/dist/sankhyablocks/snk-taskbar.entry.js +156 -0
  175. package/dist/sankhyablocks/taskbar-elements-35d64ff9.js +90 -0
  176. package/dist/sankhyablocks/taskbar-processor-aa6772c9.js +45 -0
  177. package/dist/sankhyablocks/teste-pesquisa.entry.js +33 -0
  178. package/dist/types/components/snk-application/errorhandler/snk-error-handler.d.ts +1 -0
  179. package/dist/types/components/snk-application/snk-application.d.ts +145 -15
  180. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +12 -0
  181. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +7 -0
  182. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +7 -0
  183. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +14 -0
  184. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +12 -0
  185. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +7 -0
  186. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +9 -0
  187. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +14 -0
  188. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +40 -0
  189. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +51 -0
  190. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -0
  191. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +12 -0
  192. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +84 -0
  193. package/dist/types/components.d.ts +696 -8
  194. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +7 -6
  195. package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +2 -0
  196. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +6 -0
  197. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -1
  198. package/dist/types/lib/http/data-fetcher/fetchers/totals-fetcher.d.ts +8 -0
  199. package/dist/types/lib/index.d.ts +1 -0
  200. package/dist/types/lib/message/SnkMessageBuilder.d.ts +42 -0
  201. package/dist/types/lib/message/resources/snk-data-unit.msg.d.ts +2 -0
  202. package/dist/types/lib/message/resources/snk-filter-bar.msg.d.ts +2 -0
  203. package/dist/types/lib/message/resources/snk-form.msg.d.ts +2 -0
  204. package/dist/types/lib/message/resources/snk-taskbar.msg.d.ts +2 -0
  205. package/dist/types/stencil-public-runtime.d.ts +15 -4
  206. package/loader/package.json +1 -0
  207. package/package.json +5 -5
  208. package/react/components.d.ts +0 -2
  209. package/react/components.js +0 -2
  210. package/react/components.js.map +1 -1
  211. package/dist/cjs/index-1133bc2a.js +0 -1235
  212. package/dist/esm/index-ffda6382.js +0 -1208
  213. package/dist/sankhyablocks/p-2a7b4cb3.entry.js +0 -1
  214. package/dist/sankhyablocks/p-9520d78a.entry.js +0 -1
  215. package/dist/sankhyablocks/p-98e8490d.entry.js +0 -69
  216. package/dist/sankhyablocks/p-edcb9d8e.js +0 -2
@@ -0,0 +1,47 @@
1
+ import { gql } from "graphql-request";
2
+ import { DataFetcher } from "../DataFetcher";
3
+ export class TotalsFetcher {
4
+ constructor() {
5
+ this.templateByQuery = new Map();
6
+ this.buldTemplates();
7
+ }
8
+ buldTemplates() {
9
+ this.templateByQuery.set("fetchTotals", gql `query($filters: [InputFilter!] $name: String!) {
10
+ $queryAlias$: fetchTotals(name: $name, filters: $filters ){
11
+ name
12
+ value
13
+ }
14
+ }`);
15
+ }
16
+ async getTotals(name, resourceID, filters) {
17
+ const path = `totals://${name}/${resourceID}`;
18
+ let variables = {
19
+ name: path,
20
+ filters: filters
21
+ };
22
+ return DataFetcher.get().callGraphQL({
23
+ values: variables,
24
+ query: this.templateByQuery.get("fetchTotals"),
25
+ });
26
+ }
27
+ fetchTotals(name, resourceID, filters = []) {
28
+ return new Promise((accept, reject) => {
29
+ this.getTotals(name, resourceID, filters)
30
+ .then((result) => {
31
+ if (result.length > 0) {
32
+ const totalsData = new Map();
33
+ result.forEach(total => {
34
+ totalsData.set(total.name, parseFloat(total.value));
35
+ });
36
+ accept(totalsData);
37
+ }
38
+ else {
39
+ reject(`Não foi possível recuperar os totalizadores`);
40
+ }
41
+ })
42
+ .catch((error) => {
43
+ reject(error);
44
+ });
45
+ });
46
+ }
47
+ }
@@ -0,0 +1 @@
1
+ export { DataFetcher } from './http/data-fetcher/DataFetcher';
@@ -0,0 +1,121 @@
1
+ import snkDataUnitMessages from "./resources/snk-data-unit.msg.js";
2
+ import snkFilterBarMessages from "./resources/snk-filter-bar.msg.js";
3
+ import snkFormMessages from "./resources/snk-form.msg.js";
4
+ import snkTaskbarMessages from "./resources/snk-taskbar.msg.js";
5
+ export class SnkMessageBuilder {
6
+ constructor() {
7
+ this._defaults = {
8
+ snkDataUnit: snkDataUnitMessages,
9
+ snkForm: snkFormMessages,
10
+ snkTaskbar: snkTaskbarMessages,
11
+ snkFilterBar: snkFilterBarMessages
12
+ };
13
+ this._currentOperation = OperationMap.CLEAN;
14
+ this.loadAppMessages().then((msgs) => {
15
+ this._appMessages = msgs;
16
+ }, error => {
17
+ console.info('O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js', error);
18
+ });
19
+ }
20
+ /**
21
+ * Existem mensagens sensíveis a operação. Por exemplo, a mensagem
22
+ * de inclusão pode ser diferente da mensagem de alteração do mesmo
23
+ * recurso. Para isso "currentOperation" pode variar de acordo com
24
+ * OperationMap.
25
+ */
26
+ set currentOperation(op) {
27
+ this._currentOperation = op;
28
+ }
29
+ /**
30
+ * Método usado para se obter mensagens, respeitando o padrão do sistema
31
+ * ou as mensagens específicas de cada tela
32
+ *
33
+ * @param key Chave usada para obter mensagens. Deve-se usar o separador "."
34
+ * alcançar diversos níveis.
35
+ * @param params Quando a mensagem possui o padrão {{NOME}} as ocorrências
36
+ * serão substituidas pelo respectivo valor do param.
37
+ * @returns A mensagem formatada.
38
+ */
39
+ getMessage(key, params) {
40
+ if (key == undefined) {
41
+ return undefined;
42
+ }
43
+ var parts = key.split(".");
44
+ let msg = this.resolveMessage(parts, this._appMessages);
45
+ if (msg == undefined) {
46
+ msg = this.resolveMessage(parts, this._defaults);
47
+ }
48
+ if (this.customMessageBuilder) {
49
+ const result = this.customMessageBuilder(key, msg, params);
50
+ msg = result.message;
51
+ params = result.params;
52
+ }
53
+ return this.postProcess(msg, params);
54
+ }
55
+ resolveMessage(keys, object) {
56
+ if (object == undefined) {
57
+ return undefined;
58
+ }
59
+ const key = keys[0];
60
+ const result = object[key];
61
+ if (result) {
62
+ if (this.isOperationSensitive(result)) {
63
+ return result[this._currentOperation];
64
+ }
65
+ else {
66
+ const isLeaf = keys.length === 1 ||
67
+ result == undefined ||
68
+ typeof result === "string";
69
+ return isLeaf ? result : this.resolveMessage(keys.slice(1), result);
70
+ }
71
+ }
72
+ }
73
+ isOperationSensitive(value) {
74
+ return value[OperationMap.CLONE] != undefined ||
75
+ value[OperationMap.INSERT] != undefined ||
76
+ value[OperationMap.UPDATE] != undefined ||
77
+ value[OperationMap.CLEAN] != undefined;
78
+ }
79
+ postProcess(message, params) {
80
+ if (message) {
81
+ const propPattern = /(.*?)\{\{(.+?)\}\}/g;
82
+ let processed = "";
83
+ let tail = message;
84
+ let result;
85
+ while ((result = propPattern.exec(message)) !== null) {
86
+ const [match, head, attribute] = result;
87
+ const tailIndex = result.index + match.length;
88
+ tail = tailIndex < message.length ? message.substring(tailIndex) : "";
89
+ let replacement = params ? params[attribute] : undefined;
90
+ if (replacement == undefined) {
91
+ replacement = "";
92
+ }
93
+ processed += head + replacement;
94
+ }
95
+ return processed + tail;
96
+ }
97
+ else {
98
+ return message;
99
+ }
100
+ }
101
+ loadAppMessages() {
102
+ return new Promise((accept, reject) => {
103
+ const messagesUrl = window['applicationenv'] !== "dev" ? `/${window["MGE_MODULE_NAME"]}/labsApps/${window["APPLICATION_NAME"]}/build/messages/appmessages.js`
104
+ : '/messages/appmessages.js';
105
+ import(/* webpackIgnore: true */ messagesUrl)
106
+ .then(module => {
107
+ accept(module.default);
108
+ })
109
+ .catch(reason => {
110
+ reject(reason);
111
+ });
112
+ });
113
+ }
114
+ }
115
+ export var OperationMap;
116
+ (function (OperationMap) {
117
+ OperationMap["CLONE"] = "clone";
118
+ OperationMap["INSERT"] = "insert";
119
+ OperationMap["UPDATE"] = "update";
120
+ OperationMap["CLEAN"] = "clean";
121
+ })(OperationMap || (OperationMap = {}));
@@ -0,0 +1,23 @@
1
+ const snkDataUnitMessages = {
2
+ saveInfo: {
3
+ clone: "Duplicação realizada!",
4
+ insert: "Inclusão realizada!",
5
+ update: "Aleração realizada!"
6
+ },
7
+ cancelInfo: {
8
+ clone: "Duplicação descartada!",
9
+ insert: "A inclusão descartada!",
10
+ update: "A edição foi descartada!"
11
+ },
12
+ removeInfo: "Registro removido com sucesso!",
13
+ cancelConfirmationTitle: "Aviso",
14
+ cancelConfirmation: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",
15
+ removeConfirmationTitle: "Excluir",
16
+ removeConfirmation: "Deseja realmente excluir o registro atual?",
17
+ forbidden: "Sem permissão",
18
+ forbiddenUpdate: "Não é possível fazer alterações. Verifique as permissões de acesso.",
19
+ forbiddenInsert: "Não é possível incluir. Verifique as permissões de acesso.",
20
+ forbiddenClone: "Não é possível duplicar. Verifique as permissões de acesso.",
21
+ forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso."
22
+ };
23
+ export default snkDataUnitMessages;
@@ -0,0 +1,18 @@
1
+ const snkFilterBarMessages = {
2
+ "addFilter": "Adicionar filtro",
3
+ "pinFilter": "Fixar filtro",
4
+ "unpinFilter": "Desfixar filtro",
5
+ "removeFilter": "Remover filtro",
6
+ "cleanFilter": "Limpar",
7
+ "applyFilter": "Aplicar",
8
+ "findFilter": "Buscar filtros...",
9
+ "findField": "Buscar filtros...",
10
+ "emptyFiltersList": "Não há filtros disponíveis",
11
+ "emptyAppliedFiltersList": "Não há filtros aplicados",
12
+ "customFilter": "Filtro personalizado",
13
+ "defaultFilter": "Filtro padrao",
14
+ "failToLoadConfig": "Falha ao buscar configuração de filtros",
15
+ "clearAllFilters": "Limpar todos os filtros",
16
+ "successfullyCleaned": "Filtro limpo com sucesso!"
17
+ };
18
+ export default snkFilterBarMessages;
@@ -0,0 +1,10 @@
1
+ const snkFormMessages = {
2
+ title: {
3
+ clone: "Duplicar registro",
4
+ insert: "Cadastrar registro",
5
+ update: "Alterar registro",
6
+ clean: "{{ENTITY_NAME}}"
7
+ },
8
+ goBackTitle: "Voltar"
9
+ };
10
+ export default snkFormMessages;
@@ -0,0 +1,17 @@
1
+ const snkTaskbarMessages = {
2
+ titleUpdate: "Editar",
3
+ titlePrevious: "Anterior",
4
+ titleNext: "Próximo",
5
+ titleRefresh: "Atualizar",
6
+ titleClone: "Duplicar",
7
+ titleRemove: "Excluir",
8
+ titleMoreOptions: "Mais Opções",
9
+ titleInsert: "Cadastrar",
10
+ titleCancel: "Cancelar",
11
+ titleSave: "Salvar",
12
+ titleGridMode: "Modo Grade",
13
+ titleFormMode: "Modo Formulário",
14
+ titleConfigGrid: "Configuração da grade",
15
+ forbidden: "Permissão não liberada"
16
+ };
17
+ export default snkTaskbarMessages;
@@ -0,0 +1,303 @@
1
+ var DialogType;
2
+ (function (DialogType) {
3
+ DialogType["WARN"] = "warn";
4
+ DialogType["CRITICAL"] = "critical";
5
+ DialogType["DEFAULT"] = "default";
6
+ })(DialogType || (DialogType = {}));
7
+
8
+ class ApplicationUtils {
9
+ static async showDialog(title, message, icon = null, confirm, dialogType = DialogType.DEFAULT, options) {
10
+ if (options) {
11
+ options = Object.assign(Object.assign({}, ApplicationUtils.defaultMessageOptions), options);
12
+ }
13
+ return new Promise(resolve => {
14
+ let dialog = document.querySelector("ez-dialog");
15
+ if (!dialog) {
16
+ dialog = document.createElement("ez-dialog");
17
+ window.document.body.appendChild(dialog);
18
+ }
19
+ dialog.show(title, message, dialogType, confirm, icon, options.labelCancel, options.labelConfirm, options.btnConfirmDanger).then(ok => resolve(ok));
20
+ });
21
+ }
22
+ static async alert(title, message, icon = null, options = ApplicationUtils.defaultMessageOptions) {
23
+ return ApplicationUtils.showDialog(title, message, icon, false, DialogType.WARN, options);
24
+ }
25
+ static async error(title, message, icon = null, options = ApplicationUtils.defaultMessageOptions) {
26
+ return ApplicationUtils.showDialog(title, message, icon, false, DialogType.CRITICAL, options);
27
+ }
28
+ static async confirm(title, message, icon = null, dialogType = DialogType.WARN, options = ApplicationUtils.defaultMessageOptions) {
29
+ return ApplicationUtils.showDialog(title, message, icon, true, dialogType, options);
30
+ }
31
+ static async message(title, message, icon = null, options = ApplicationUtils.defaultMessageOptions) {
32
+ return ApplicationUtils.showDialog(title, message, icon, false, DialogType.DEFAULT, options);
33
+ }
34
+ static async info(message, options = ApplicationUtils.defaultMessageOptions) {
35
+ let toast = document.querySelector("ez-toast");
36
+ if (!toast) {
37
+ toast = document.createElement("ez-toast");
38
+ const icon = document.createElement("ez-icon");
39
+ icon.className = "ez-margin-right--small toast__icon--color";
40
+ icon.slot = "icon";
41
+ toast.appendChild(icon);
42
+ window.document.body.appendChild(toast);
43
+ }
44
+ if (options.iconName) {
45
+ const iconElem = toast.querySelector("ez-icon");
46
+ if (iconElem) {
47
+ iconElem.iconName = options.iconName;
48
+ toast.useIcon = true;
49
+ }
50
+ }
51
+ else {
52
+ toast.useIcon = false;
53
+ }
54
+ toast.show(message, 5000, false, options.canClose);
55
+ }
56
+ }
57
+ ApplicationUtils.defaultMessageOptions = {
58
+ canClose: true,
59
+ labelCancel: 'Não',
60
+ labelConfirm: 'Sim',
61
+ btnConfirmDanger: false
62
+ };
63
+ ;
64
+
65
+ class CSSVarsUtils {
66
+ static applyVarsTextInput(host, child) {
67
+ if (child) {
68
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--background-color');
69
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--border-color');
70
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input--height');
71
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--disabled--background-color');
72
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--disabled--color');
73
+ }
74
+ }
75
+ static applyVarsButton(host, child) {
76
+ if (child) {
77
+ ["--ez-button--min-width",
78
+ "--ez-button--height",
79
+ "--ez-button__icon--width",
80
+ "--ez-button__inline__icon--padding",
81
+ "--ez-button--padding-top",
82
+ "--ez-button--padding-bottom",
83
+ "--ez-button--padding-right",
84
+ "--ez-button--padding-left",
85
+ "--ez-button--color",
86
+ "--ez-button--font-size",
87
+ "--ez-button--font-family",
88
+ "--ez-button--font-weight",
89
+ "--ez-button--background-color",
90
+ "--ez-button--border-radius",
91
+ "--ez-button--border",
92
+ "--ez-button--hover-color",
93
+ "--ez-button--hover--background-color",
94
+ "--ez-button--disabled-color",
95
+ "--ez-button--disabled--background-color",
96
+ "--ez-button--focus--border",
97
+ "--ez-button--focus--box-shadow",
98
+ "--ez-button--active-color",
99
+ "--ez-button--active--background-color",
100
+ "--ez-button--link-color",
101
+ "--ez-button--link--hover-color",
102
+ "--ez-button--link--small--font-size",
103
+ "--ez-button--link--medium--font-size",
104
+ "--ez-button--link--large--font-size",].forEach(prop => {
105
+ CSSVarsUtils.applyIfExists(host, child, prop);
106
+ });
107
+ }
108
+ }
109
+ static applyIfExists(host, element, varName) {
110
+ const prop = getComputedStyle(host).getPropertyValue(varName);
111
+ if (prop) {
112
+ element.style.setProperty(varName, prop);
113
+ }
114
+ }
115
+ }
116
+
117
+ const snkDataUnitMessages = {
118
+ saveInfo: {
119
+ clone: "Duplicação realizada!",
120
+ insert: "Inclusão realizada!",
121
+ update: "Aleração realizada!"
122
+ },
123
+ cancelInfo: {
124
+ clone: "Duplicação descartada!",
125
+ insert: "A inclusão descartada!",
126
+ update: "A edição foi descartada!"
127
+ },
128
+ removeInfo: "Registro removido com sucesso!",
129
+ cancelConfirmationTitle: "Aviso",
130
+ cancelConfirmation: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",
131
+ removeConfirmationTitle: "Excluir",
132
+ removeConfirmation: "Deseja realmente excluir o registro atual?",
133
+ forbidden: "Sem permissão",
134
+ forbiddenUpdate: "Não é possível fazer alterações. Verifique as permissões de acesso.",
135
+ forbiddenInsert: "Não é possível incluir. Verifique as permissões de acesso.",
136
+ forbiddenClone: "Não é possível duplicar. Verifique as permissões de acesso.",
137
+ forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso."
138
+ };
139
+
140
+ const snkFilterBarMessages = {
141
+ "addFilter": "Adicionar filtro",
142
+ "pinFilter": "Fixar filtro",
143
+ "unpinFilter": "Desfixar filtro",
144
+ "removeFilter": "Remover filtro",
145
+ "cleanFilter": "Limpar",
146
+ "applyFilter": "Aplicar",
147
+ "findFilter": "Buscar filtros...",
148
+ "findField": "Buscar filtros...",
149
+ "emptyFiltersList": "Não há filtros disponíveis",
150
+ "emptyAppliedFiltersList": "Não há filtros aplicados",
151
+ "customFilter": "Filtro personalizado",
152
+ "defaultFilter": "Filtro padrao",
153
+ "failToLoadConfig": "Falha ao buscar configuração de filtros",
154
+ "clearAllFilters": "Limpar todos os filtros",
155
+ "successfullyCleaned": "Filtro limpo com sucesso!"
156
+ };
157
+
158
+ const snkFormMessages = {
159
+ title: {
160
+ clone: "Duplicar registro",
161
+ insert: "Cadastrar registro",
162
+ update: "Alterar registro",
163
+ clean: "{{ENTITY_NAME}}"
164
+ },
165
+ goBackTitle: "Voltar"
166
+ };
167
+
168
+ const snkTaskbarMessages = {
169
+ titleUpdate: "Editar",
170
+ titlePrevious: "Anterior",
171
+ titleNext: "Próximo",
172
+ titleRefresh: "Atualizar",
173
+ titleClone: "Duplicar",
174
+ titleRemove: "Excluir",
175
+ titleMoreOptions: "Mais Opções",
176
+ titleInsert: "Cadastrar",
177
+ titleCancel: "Cancelar",
178
+ titleSave: "Salvar",
179
+ titleGridMode: "Modo Grade",
180
+ titleFormMode: "Modo Formulário",
181
+ titleConfigGrid: "Configuração da grade",
182
+ forbidden: "Permissão não liberada"
183
+ };
184
+
185
+ class SnkMessageBuilder {
186
+ constructor() {
187
+ this._defaults = {
188
+ snkDataUnit: snkDataUnitMessages,
189
+ snkForm: snkFormMessages,
190
+ snkTaskbar: snkTaskbarMessages,
191
+ snkFilterBar: snkFilterBarMessages
192
+ };
193
+ this._currentOperation = OperationMap.CLEAN;
194
+ this.loadAppMessages().then((msgs) => {
195
+ this._appMessages = msgs;
196
+ }, error => {
197
+ console.info('O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js', error);
198
+ });
199
+ }
200
+ /**
201
+ * Existem mensagens sensíveis a operação. Por exemplo, a mensagem
202
+ * de inclusão pode ser diferente da mensagem de alteração do mesmo
203
+ * recurso. Para isso "currentOperation" pode variar de acordo com
204
+ * OperationMap.
205
+ */
206
+ set currentOperation(op) {
207
+ this._currentOperation = op;
208
+ }
209
+ /**
210
+ * Método usado para se obter mensagens, respeitando o padrão do sistema
211
+ * ou as mensagens específicas de cada tela
212
+ *
213
+ * @param key Chave usada para obter mensagens. Deve-se usar o separador "."
214
+ * alcançar diversos níveis.
215
+ * @param params Quando a mensagem possui o padrão {{NOME}} as ocorrências
216
+ * serão substituidas pelo respectivo valor do param.
217
+ * @returns A mensagem formatada.
218
+ */
219
+ getMessage(key, params) {
220
+ if (key == undefined) {
221
+ return undefined;
222
+ }
223
+ var parts = key.split(".");
224
+ let msg = this.resolveMessage(parts, this._appMessages);
225
+ if (msg == undefined) {
226
+ msg = this.resolveMessage(parts, this._defaults);
227
+ }
228
+ if (this.customMessageBuilder) {
229
+ const result = this.customMessageBuilder(key, msg, params);
230
+ msg = result.message;
231
+ params = result.params;
232
+ }
233
+ return this.postProcess(msg, params);
234
+ }
235
+ resolveMessage(keys, object) {
236
+ if (object == undefined) {
237
+ return undefined;
238
+ }
239
+ const key = keys[0];
240
+ const result = object[key];
241
+ if (result) {
242
+ if (this.isOperationSensitive(result)) {
243
+ return result[this._currentOperation];
244
+ }
245
+ else {
246
+ const isLeaf = keys.length === 1 ||
247
+ result == undefined ||
248
+ typeof result === "string";
249
+ return isLeaf ? result : this.resolveMessage(keys.slice(1), result);
250
+ }
251
+ }
252
+ }
253
+ isOperationSensitive(value) {
254
+ return value[OperationMap.CLONE] != undefined ||
255
+ value[OperationMap.INSERT] != undefined ||
256
+ value[OperationMap.UPDATE] != undefined ||
257
+ value[OperationMap.CLEAN] != undefined;
258
+ }
259
+ postProcess(message, params) {
260
+ if (message) {
261
+ const propPattern = /(.*?)\{\{(.+?)\}\}/g;
262
+ let processed = "";
263
+ let tail = message;
264
+ let result;
265
+ while ((result = propPattern.exec(message)) !== null) {
266
+ const [match, head, attribute] = result;
267
+ const tailIndex = result.index + match.length;
268
+ tail = tailIndex < message.length ? message.substring(tailIndex) : "";
269
+ let replacement = params ? params[attribute] : undefined;
270
+ if (replacement == undefined) {
271
+ replacement = "";
272
+ }
273
+ processed += head + replacement;
274
+ }
275
+ return processed + tail;
276
+ }
277
+ else {
278
+ return message;
279
+ }
280
+ }
281
+ loadAppMessages() {
282
+ return new Promise((accept, reject) => {
283
+ const messagesUrl = window['applicationenv'] !== "dev" ? `/${window["MGE_MODULE_NAME"]}/labsApps/${window["APPLICATION_NAME"]}/build/messages/appmessages.js`
284
+ : '/messages/appmessages.js';
285
+ import(/* webpackIgnore: true */ messagesUrl)
286
+ .then(module => {
287
+ accept(module.default);
288
+ })
289
+ .catch(reason => {
290
+ reject(reason);
291
+ });
292
+ });
293
+ }
294
+ }
295
+ var OperationMap;
296
+ (function (OperationMap) {
297
+ OperationMap["CLONE"] = "clone";
298
+ OperationMap["INSERT"] = "insert";
299
+ OperationMap["UPDATE"] = "update";
300
+ OperationMap["CLEAN"] = "clean";
301
+ })(OperationMap || (OperationMap = {}));
302
+
303
+ export { ApplicationUtils as A, DialogType as D, OperationMap as O, SnkMessageBuilder as S };
@@ -0,0 +1,12 @@
1
+ var FilterItemType;
2
+ (function (FilterItemType) {
3
+ FilterItemType["MULTI_SELECT"] = "MULTI_SELECT";
4
+ FilterItemType["BINARY_SELECT"] = "BINARY_SELECT";
5
+ FilterItemType["PERIOD"] = "PERIOD";
6
+ FilterItemType["SEARCH"] = "SEARCH";
7
+ FilterItemType["TEXT"] = "TEXT";
8
+ FilterItemType["NUMBER"] = "NUMBER";
9
+ })(FilterItemType || (FilterItemType = {}));
10
+ const FilterItemType$1 = FilterItemType;
11
+
12
+ export { FilterItemType$1 as F };
@@ -1,6 +1,22 @@
1
1
  /* sankhyablocks custom elements */
2
-
3
- import type { Components, JSX } from "../types/components";
2
+ export { SnkApplication as SnkApplication } from '../types/components/snk-application/snk-application';
3
+ export { SnkCrud as SnkCrud } from '../types/components/snk-crud/snk-crud';
4
+ export { SnkDataUnit as SnkDataUnit } from '../types/components/snk-data-unit/snk-data-unit';
5
+ export { SnkFilterBar as SnkFilterBar } from '../types/components/snk-filter-bar/snk-filter-bar';
6
+ export { SnkFilterBinarySelect as SnkFilterBinarySelect } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select';
7
+ export { SnkFilterDetail as SnkFilterDetail } from '../types/components/snk-filter-bar/filter-item/snk-filter-detail';
8
+ export { SnkFilterItem as SnkFilterItem } from '../types/components/snk-filter-bar/filter-item/snk-filter-item';
9
+ export { SnkFilterList as SnkFilterList } from '../types/components/snk-filter-bar/filter-list/snk-filter-list';
10
+ export { SnkFilterMultiSelect as SnkFilterMultiSelect } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select';
11
+ export { SnkFilterPeriod as SnkFilterNumber } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-number';
12
+ export { SnkFilterPeriod as SnkFilterPeriod } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-period';
13
+ export { SnkFilterSearch as SnkFilterSearch } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-search';
14
+ export { SnkFilterText as SnkFilterText } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-text';
15
+ export { SnkForm as SnkForm } from '../types/components/snk-form/snk-form';
16
+ export { SnkGrid as SnkGrid } from '../types/components/snk-grid/snk-grid';
17
+ export { SnkPesquisa as SnkPesquisa } from '../types/components/snk-pesquisa/snk-pesquisa';
18
+ export { SnkTaskbar as SnkTaskbar } from '../types/components/snk-taskbar/snk-taskbar';
19
+ export { TestePesquisa as TestePesquisa } from '../types/components/teste-pesquisa/teste-pesquisa';
4
20
 
5
21
  /**
6
22
  * Used to manually set the base path where assets can be found.
@@ -20,7 +36,4 @@ export interface SetPlatformOptions {
20
36
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
21
37
  }
22
38
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
23
-
24
- export type { Components, JSX };
25
-
26
39
  export * from '../types';
@@ -1 +1,23 @@
1
1
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
2
+ export { SnkApplication, defineCustomElement as defineCustomElementSnkApplication } from './snk-application.js';
3
+ export { SnkCrud, defineCustomElement as defineCustomElementSnkCrud } from './snk-crud.js';
4
+ export { SnkDataUnit, defineCustomElement as defineCustomElementSnkDataUnit } from './snk-data-unit.js';
5
+ export { SnkFilterBar, defineCustomElement as defineCustomElementSnkFilterBar } from './snk-filter-bar.js';
6
+ export { SnkFilterBinarySelect, defineCustomElement as defineCustomElementSnkFilterBinarySelect } from './snk-filter-binary-select.js';
7
+ export { SnkFilterDetail, defineCustomElement as defineCustomElementSnkFilterDetail } from './snk-filter-detail.js';
8
+ export { SnkFilterItem, defineCustomElement as defineCustomElementSnkFilterItem } from './snk-filter-item.js';
9
+ export { SnkFilterList, defineCustomElement as defineCustomElementSnkFilterList } from './snk-filter-list.js';
10
+ export { SnkFilterMultiSelect, defineCustomElement as defineCustomElementSnkFilterMultiSelect } from './snk-filter-multi-select.js';
11
+ export { SnkFilterNumber, defineCustomElement as defineCustomElementSnkFilterNumber } from './snk-filter-number.js';
12
+ export { SnkFilterPeriod, defineCustomElement as defineCustomElementSnkFilterPeriod } from './snk-filter-period.js';
13
+ export { SnkFilterSearch, defineCustomElement as defineCustomElementSnkFilterSearch } from './snk-filter-search.js';
14
+ export { SnkFilterText, defineCustomElement as defineCustomElementSnkFilterText } from './snk-filter-text.js';
15
+ export { SnkForm, defineCustomElement as defineCustomElementSnkForm } from './snk-form.js';
16
+ export { SnkGrid, defineCustomElement as defineCustomElementSnkGrid } from './snk-grid.js';
17
+ export { SnkPesquisa, defineCustomElement as defineCustomElementSnkPesquisa } from './snk-pesquisa.js';
18
+ export { SnkTaskbar, defineCustomElement as defineCustomElementSnkTaskbar } from './snk-taskbar.js';
19
+ export { TestePesquisa, defineCustomElement as defineCustomElementTestePesquisa } from './teste-pesquisa.js';
20
+
21
+ const globalScripts = () => {};
22
+
23
+ globalScripts();