@sankhyalabs/sankhyablocks 1.4.0-beta.2 → 1.4.0-beta.4

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 (152) hide show
  1. package/dist/cjs/{index-b0b676c5.js → index-6fcf07f3.js} +159 -1515
  2. package/dist/cjs/loader.cjs.js +2 -18
  3. package/dist/cjs/sankhyablocks.cjs.js +4 -116
  4. package/dist/cjs/snk-application.cjs.entry.js +53 -217
  5. package/dist/cjs/snk-crud.cjs.entry.js +9 -3
  6. package/dist/cjs/snk-data-unit.cjs.entry.js +23 -23
  7. package/dist/cjs/snk-filter-bar_5.cjs.entry.js +883 -0
  8. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-filter-detail.cjs.entry.js +32 -21
  10. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-filter-personalized.cjs.entry.js +23 -31
  14. package/dist/cjs/snk-filter-search.cjs.entry.js +3 -12
  15. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  16. package/dist/cjs/{snk-form.cjs.entry.js → snk-form_2.cjs.entry.js} +119 -5
  17. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
  18. package/dist/cjs/{taskbar-elements-283c737e.js → taskbar-elements-aedfeae6.js} +1 -1
  19. package/dist/cjs/teste-pesquisa.cjs.entry.js +5 -5
  20. package/dist/collection/components/snk-crud/snk-crud.js +29 -0
  21. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +0 -39
  22. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +0 -39
  23. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +30 -36
  24. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +3 -14
  25. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +4 -12
  26. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +3 -3
  27. package/dist/components/index.js +0 -4
  28. package/dist/components/snk-application2.js +13 -177
  29. package/dist/components/snk-crud.js +9 -2
  30. package/dist/components/snk-data-unit.js +2 -2
  31. package/dist/components/snk-filter-bar2.js +4 -2
  32. package/dist/components/snk-filter-detail2.js +31 -21
  33. package/dist/components/snk-filter-item2.js +4 -15
  34. package/dist/components/snk-filter-list2.js +5 -13
  35. package/dist/components/snk-filter-modal2.js +4 -19
  36. package/dist/components/snk-filter-personalized.js +3 -13
  37. package/dist/components/snk-filter-search.js +2 -13
  38. package/dist/components/snk-form2.js +1 -1
  39. package/dist/components/snk-grid2.js +1 -1
  40. package/dist/components/snk-pesquisa2.js +1 -1
  41. package/dist/components/snk-taskbar2.js +1 -1
  42. package/dist/components/teste-pesquisa.js +1 -1
  43. package/dist/{sankhyablocks/index-2b4d2d14.js → esm/index-81dda3cf.js} +160 -1508
  44. package/dist/esm/loader.js +2 -18
  45. package/dist/esm/sankhyablocks.js +4 -116
  46. package/dist/esm/snk-application.entry.js +14 -178
  47. package/dist/esm/snk-crud.entry.js +8 -2
  48. package/dist/esm/snk-data-unit.entry.js +3 -3
  49. package/dist/esm/{snk-filter-bar.entry.js → snk-filter-bar_5.entry.js} +417 -4
  50. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  51. package/dist/esm/snk-filter-detail.entry.js +32 -21
  52. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  53. package/dist/esm/snk-filter-number.entry.js +1 -1
  54. package/dist/esm/snk-filter-period.entry.js +1 -1
  55. package/dist/esm/snk-filter-personalized.entry.js +3 -11
  56. package/dist/esm/snk-filter-search.entry.js +2 -11
  57. package/dist/esm/snk-filter-text.entry.js +1 -1
  58. package/dist/{sankhyablocks/snk-form.entry.js → esm/snk-form_2.entry.js} +117 -4
  59. package/dist/esm/snk-pesquisa.entry.js +2 -2
  60. package/dist/esm/{taskbar-elements-35d64ff9.js → taskbar-elements-38eb5d51.js} +1 -1
  61. package/dist/esm/teste-pesquisa.entry.js +2 -2
  62. package/dist/sankhyablocks/index.esm.js +0 -1
  63. package/dist/sankhyablocks/p-01823784.entry.js +1 -0
  64. package/dist/sankhyablocks/p-0352c0e2.entry.js +1 -0
  65. package/dist/sankhyablocks/p-07ebda01.entry.js +1 -0
  66. package/dist/sankhyablocks/p-46caa101.entry.js +1 -0
  67. package/dist/sankhyablocks/p-586e2522.js +1 -0
  68. package/dist/sankhyablocks/p-6f8303f3.entry.js +1 -0
  69. package/dist/sankhyablocks/p-746fc78b.entry.js +1 -0
  70. package/dist/sankhyablocks/p-77216252.entry.js +1 -0
  71. package/dist/sankhyablocks/p-86f15ffe.js +1 -0
  72. package/dist/sankhyablocks/p-8bbc0cbb.entry.js +74 -0
  73. package/dist/sankhyablocks/p-8f3c5709.entry.js +1 -0
  74. package/dist/sankhyablocks/p-97009a2c.entry.js +1 -0
  75. package/dist/sankhyablocks/p-9dd2b8cb.js +1 -0
  76. package/dist/sankhyablocks/p-aecf3e0a.entry.js +1 -0
  77. package/dist/sankhyablocks/p-c1c3b5d8.entry.js +1 -0
  78. package/dist/sankhyablocks/p-c9eec639.entry.js +1 -0
  79. package/dist/sankhyablocks/p-eea6444c.entry.js +1 -0
  80. package/dist/sankhyablocks/p-fac2b6a9.js +2 -0
  81. package/dist/sankhyablocks/p-fb705f81.entry.js +1 -0
  82. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -129
  83. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +0 -2
  84. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +0 -2
  85. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +1 -1
  86. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +1 -1
  87. package/dist/types/components.d.ts +4 -10
  88. package/package.json +1 -1
  89. package/react/components.d.ts +19 -0
  90. package/react/components.js +19 -0
  91. package/react/components.js.map +1 -1
  92. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  93. package/dist/cjs/css-shim-b8158822.js +0 -6
  94. package/dist/cjs/dom-36862b77.js +0 -75
  95. package/dist/cjs/index-84fe3b86.js +0 -20
  96. package/dist/cjs/index-93965c41.js +0 -141
  97. package/dist/cjs/index-e90ae303.js +0 -2408
  98. package/dist/cjs/shadow-css-346c0795.js +0 -389
  99. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -466
  100. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -177
  101. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -91
  102. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -37
  103. package/dist/cjs/snk-grid.cjs.entry.js +0 -79
  104. package/dist/cjs/snk-taskbar.cjs.entry.js +0 -160
  105. package/dist/cjs/taskbar-processor-6bd0d35c.js +0 -47
  106. package/dist/components/index2.js +0 -2394
  107. package/dist/components/index3.js +0 -139
  108. package/dist/esm/app-globals-0f993ce5.js +0 -3
  109. package/dist/esm/css-shim-b3f2ee8d.js +0 -4
  110. package/dist/esm/dom-665d6011.js +0 -73
  111. package/dist/esm/index-2b4d2d14.js +0 -3262
  112. package/dist/esm/index-5992b7e6.js +0 -139
  113. package/dist/esm/index-c683b2b0.js +0 -2394
  114. package/dist/esm/index-c71285cb.js +0 -17
  115. package/dist/esm/shadow-css-b18e99d7.js +0 -387
  116. package/dist/esm/snk-filter-item.entry.js +0 -173
  117. package/dist/esm/snk-filter-list.entry.js +0 -87
  118. package/dist/esm/snk-filter-modal.entry.js +0 -33
  119. package/dist/esm/snk-form.entry.js +0 -129
  120. package/dist/esm/snk-grid.entry.js +0 -75
  121. package/dist/esm/snk-taskbar.entry.js +0 -156
  122. package/dist/esm/taskbar-processor-aa6772c9.js +0 -45
  123. package/dist/sankhyablocks/SnkMessageBuilder-35a20271.js +0 -199
  124. package/dist/sankhyablocks/app-globals-0f993ce5.js +0 -3
  125. package/dist/sankhyablocks/css-shim-b3f2ee8d.js +0 -4
  126. package/dist/sankhyablocks/dom-665d6011.js +0 -73
  127. package/dist/sankhyablocks/filter-item-type.enum-a79b2fa8.js +0 -14
  128. package/dist/sankhyablocks/index-5992b7e6.js +0 -139
  129. package/dist/sankhyablocks/index-c683b2b0.js +0 -2394
  130. package/dist/sankhyablocks/index-c71285cb.js +0 -17
  131. package/dist/sankhyablocks/shadow-css-b18e99d7.js +0 -387
  132. package/dist/sankhyablocks/snk-application.entry.js +0 -8166
  133. package/dist/sankhyablocks/snk-crud.entry.js +0 -66
  134. package/dist/sankhyablocks/snk-data-unit.entry.js +0 -268
  135. package/dist/sankhyablocks/snk-filter-bar.entry.js +0 -462
  136. package/dist/sankhyablocks/snk-filter-binary-select.entry.js +0 -43
  137. package/dist/sankhyablocks/snk-filter-detail.entry.js +0 -80
  138. package/dist/sankhyablocks/snk-filter-item.entry.js +0 -173
  139. package/dist/sankhyablocks/snk-filter-list.entry.js +0 -87
  140. package/dist/sankhyablocks/snk-filter-modal.entry.js +0 -33
  141. package/dist/sankhyablocks/snk-filter-multi-select.entry.js +0 -19
  142. package/dist/sankhyablocks/snk-filter-number.entry.js +0 -20
  143. package/dist/sankhyablocks/snk-filter-period.entry.js +0 -33
  144. package/dist/sankhyablocks/snk-filter-personalized.entry.js +0 -85
  145. package/dist/sankhyablocks/snk-filter-search.entry.js +0 -40
  146. package/dist/sankhyablocks/snk-filter-text.entry.js +0 -18
  147. package/dist/sankhyablocks/snk-grid.entry.js +0 -75
  148. package/dist/sankhyablocks/snk-pesquisa.entry.js +0 -311
  149. package/dist/sankhyablocks/snk-taskbar.entry.js +0 -156
  150. package/dist/sankhyablocks/taskbar-elements-35d64ff9.js +0 -90
  151. package/dist/sankhyablocks/taskbar-processor-aa6772c9.js +0 -45
  152. package/dist/sankhyablocks/teste-pesquisa.entry.js +0 -33
@@ -1,311 +0,0 @@
1
- import { r as registerInstance, h, f as Host } from './index-2b4d2d14.js';
2
- import { O as ObjectUtils, S as StringUtils } from './index-c683b2b0.js';
3
-
4
- const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__content-scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--snk-pesquisa__content-scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0);--snk-pesquisa__content-scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__content-scrollbar--width:var(--space--medium, 12px);--snk-pesquisa__btn--color:var(--title--primary, #2B3A54);--snk-pesquisa__btn-disabled--color:var(--text--disable, #AFB6C0);--snk-pesquisa__btn-hover--color:var(--color--primary, #4e4e4e);max-height:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto}.snk-pesquisa.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%}.snk-pesquisa__input.sc-snk-pesquisa{display:flex;width:100%;box-sizing:border-box;padding-top:4px;padding-right:4px}.snk-pesquisa__input.sc-snk-pesquisa ez-icon.sc-snk-pesquisa{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-pesquisa__content-scrollbar--background-color-primary) var(--snk-pesquisa__content-scrollbar--background-color-secondary);padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:var(--snk-pesquisa__content-scrollbar--background-color-secondary);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__content-scrollbar--background-color-primary);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:var(--snk-pesquisa__content-scrollbar--background-color-secondary);width:var(--snk-pesquisa__content-scrollbar--width);max-width:var(--snk-pesquisa__content-scrollbar--width);min-width:var(--snk-pesquisa__content-scrollbar--width)}.snk-pesquisa__records.sc-snk-pesquisa{font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);color:var(--snk-pesquisa__records--color);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.snk-pesquisa__btn.sc-snk-pesquisa{outline:none;border:none;background:none;cursor:pointer;color:var(--snk-pesquisa__btn--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled:hover{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:hover{color:var(--snk-pesquisa__btn-hover--color)}";
5
-
6
- const SnkPesquisa = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this._mdByName = {};
10
- this._startHighlightTag = "<span class='card-item__highlight'>";
11
- this._endHighlightTag = "</span>";
12
- this._specialCharsRegex = /[[.\-\$\+\*,_\&\(\)%\/\\#@!:\|\=\'\"]/gmi;
13
- this._charsWithAccentuation = "ÁÉÍÓÚ_ÃÕ_ÂÊÎÔÛ_ÀÈÌÒÙ_Ü_Ç_áéíóú_ãõ_âêîôû_àèìòù_ü_ç";
14
- this._charsWithoutAccentuation = "AEIOU_AO_AEIOU_AEIOU_U_C_aeiou_ao_aeiou_aeiou_u_c";
15
- this._changeDeboucingTimeout = null;
16
- this._limitCharsToSearch = 3;
17
- this._deboucingTime = 450;
18
- this._startLoading = false;
19
- }
20
- observeArgument() {
21
- if (this._textInput) {
22
- this._textInput.value = this.argument;
23
- }
24
- }
25
- clearSearch() {
26
- this.argument = "";
27
- this._itemList = undefined;
28
- }
29
- buildDetails(fields, item) {
30
- let details = {};
31
- for (let index = 0; (index < fields.length); index++) {
32
- const field = fields[index];
33
- const itemValue = item[field.fieldName];
34
- const optionValue = field.options ? field.options[itemValue] || itemValue : itemValue;
35
- details[field.description] = this.highlightValue(item['__matchFields'], optionValue, fields, true);
36
- }
37
- return details;
38
- }
39
- buildFirstFields(matchFields, fields, qtyFields = 6) {
40
- if (matchFields && Array.isArray(matchFields)) {
41
- matchFields.forEach((matchField) => {
42
- let fieldMD = this.removeReference(fields, this._mdByName[matchField]);
43
- if (fieldMD) {
44
- fields.unshift(fieldMD);
45
- }
46
- });
47
- }
48
- fields = fields.slice(0, qtyFields);
49
- return fields;
50
- }
51
- doSearch(argument) {
52
- if (this.searchLoader && typeof this.searchLoader === "function") {
53
- this._startLoading = true;
54
- this.searchLoader(argument)
55
- .then((resp) => {
56
- this._startLoading = false;
57
- if (resp) {
58
- resp = ObjectUtils.stringToObject(resp.json.$);
59
- let descriptionField = resp.descriptionField;
60
- let pkField = resp.pkField;
61
- if (descriptionField && pkField) {
62
- let newItemList = [];
63
- resp.data.forEach((item) => {
64
- var _a;
65
- let fieldsMetadata = this.filterFieldsMetadata(resp, item);
66
- let fields = this.buildFirstFields(item['__matchFields'], fieldsMetadata);
67
- let exibitionItem = {
68
- key: this.highlightValue(item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
69
- title: this.highlightValue(item['__matchFields'], item[descriptionField], fields, true),
70
- details: this.buildDetails(fields, item)
71
- };
72
- newItemList.push(exibitionItem);
73
- });
74
- this._itemList = newItemList;
75
- }
76
- }
77
- }).catch((error) => {
78
- this._startLoading = false;
79
- this._itemList = [];
80
- console.warn(error);
81
- });
82
- }
83
- }
84
- filterFieldsMetadata(resp, item) {
85
- let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
86
- let accept = !StringUtils.isEmpty(item[field.fieldName]) &&
87
- field.visible !== false &&
88
- field.type !== 'B' &&
89
- resp.pkField !== field.fieldName &&
90
- resp.descriptionField !== field.fieldName &&
91
- (field.isPrimaryKey || !field.isLinkField) &&
92
- !(field.type === 'S' && field.presentationType === 'H');
93
- if (accept) {
94
- this._mdByName[field.fieldName] = field;
95
- }
96
- //Condição que trata o problema de trazer imagem no entityCard na pesquisa de registros
97
- if (typeof item[field.fieldName] === 'string' && (item[field.fieldName].indexOf('<img') > -1 || item[field.fieldName].indexOf('<svg') > -1)) {
98
- return false;
99
- }
100
- return accept;
101
- });
102
- return fieldsMetadata;
103
- }
104
- removeAtIndex(array, index) {
105
- if (index >= 0 && index < array.length) {
106
- return array.splice(index, 1)[0];
107
- }
108
- }
109
- removeReference(array, obj) {
110
- let index = this.indexOf(array, obj);
111
- return this.removeAtIndex(array, index);
112
- }
113
- indexOf(arr, obj) {
114
- let index = -1;
115
- if (Array.isArray(arr)) {
116
- this.find(arr, (item, i) => {
117
- index = i;
118
- return this.equals(obj, item);
119
- });
120
- }
121
- return index;
122
- }
123
- equals(obj1, obj2) {
124
- return ObjectUtils.objectToString(obj1) === ObjectUtils.objectToString(obj2);
125
- }
126
- find(arr, checkerFn) {
127
- if (arr) {
128
- for (let i = 0, length = arr.length; i < length; i++) {
129
- if (checkerFn(arr[i], i, arr)) {
130
- return arr[i];
131
- }
132
- }
133
- }
134
- else {
135
- return undefined;
136
- }
137
- }
138
- /**
139
- matchFields-> array __matchFields do data
140
- value -> termo que está sendo pesquisao
141
- fieldMD -> metadados retornados pelo serviço de pesquisa
142
- forceMatch -> força a pesquisa mesmo que não tenha __matchFields no metadado
143
- */
144
- highlightValue(matchFields, value, fieldMD, forceMatch) {
145
- let valueAux = this.replaceHtmlEntities(value);
146
- if (this.argument && (forceMatch || this.isIn(matchFields, fieldMD.fieldName))) {
147
- const argumentNumber = this.getArgumentNumber();
148
- let replacements = (isNaN(argumentNumber) ? this.argument : argumentNumber.toString()).split(/%|,|\s+/);
149
- let lastMatchIndex = 0;
150
- let cleanText = this.replaceAccentuatedChars(valueAux);
151
- replacements.forEach((r) => {
152
- if (r) {
153
- r = this.replaceAccentuatedChars(r);
154
- let specialChars = this.getSpecialCharacters(r);
155
- if (specialChars != undefined && specialChars.length > 0) {
156
- r = this.removeSpecialCharacters(r);
157
- }
158
- if (fieldMD.mask || fieldMD.uiType === 'CGC_CPF' || fieldMD.uiType === 'Phone') {
159
- //Fazemos isso para descondirerar os caracteres especiais de formatação da string
160
- r = r.split('').join('\\.?\\-?\\/?\\(?\\)?');
161
- }
162
- let regex = new RegExp(r, "ig");
163
- regex.lastIndex = lastMatchIndex;
164
- let match = regex.exec(cleanText);
165
- if (match && match.length > 0) {
166
- lastMatchIndex = match.index;
167
- let sizeMatch = match[0].length;
168
- let txtToColor = valueAux.substring(lastMatchIndex, lastMatchIndex + sizeMatch);
169
- let txtColored = (txtToColor === null || txtToColor === void 0 ? void 0 : txtToColor.trim()) ? this._startHighlightTag + txtToColor + this._endHighlightTag : '';
170
- let start = valueAux.substring(0, lastMatchIndex);
171
- let end = valueAux.substring(lastMatchIndex + sizeMatch);
172
- valueAux = start + txtColored + end;
173
- lastMatchIndex = lastMatchIndex + txtColored.length;
174
- cleanText = this.replaceAccentuatedChars(valueAux);
175
- }
176
- }
177
- });
178
- }
179
- return valueAux;
180
- }
181
- replaceHtmlEntities(source) {
182
- if (source == undefined) {
183
- return source;
184
- }
185
- return String(source)
186
- .replace(/&/g, '&amp;')
187
- .replace(/</g, '&lt;')
188
- .replace(/>/g, '&gt;')
189
- .replace(/"/g, '&quot;');
190
- }
191
- replaceAccentuatedChars(source) {
192
- if (source == undefined) {
193
- return source;
194
- }
195
- const replaceList = ['&amp;', '&lt;', '&gt;', '&quot;'];
196
- const sourceAux = this.replaceToSpace(source, replaceList);
197
- return sourceAux.replace(/[^\w ]/g, (char) => {
198
- let index = this._charsWithAccentuation.indexOf(char);
199
- if (index > -1) {
200
- char = this._charsWithoutAccentuation.charAt(index);
201
- }
202
- return char || '';
203
- });
204
- }
205
- replaceToSpace(source, replaceList = []) {
206
- if (source == undefined) {
207
- return source;
208
- }
209
- replaceList.forEach((word) => {
210
- const wordAux = new RegExp(word, 'g');
211
- let whiteSpace = '';
212
- for (let i = 0; i < word.length; i++) {
213
- whiteSpace += ' ';
214
- }
215
- source = String(source).replace(wordAux, whiteSpace);
216
- });
217
- return source;
218
- }
219
- isIn(arr, obj) {
220
- return this.indexOf(arr, obj) > -1;
221
- }
222
- getSpecialCharacters(str) {
223
- let match;
224
- let charList = [];
225
- while ((match = this._specialCharsRegex.exec(str))) {
226
- charList.push(str[match.index]);
227
- }
228
- return charList;
229
- }
230
- removeSpecialCharacters(str) {
231
- let specialChars = this.getSpecialCharacters(str);
232
- specialChars.forEach((ch) => {
233
- str = this.replaceAll(str, ch, '');
234
- });
235
- return str;
236
- }
237
- replaceAll(str, strFrom, strTo) {
238
- let pos = (str != undefined ? str : '').indexOf(strFrom);
239
- while (pos > -1) {
240
- str = str.replace(strFrom, strTo);
241
- pos = str.indexOf(strFrom);
242
- }
243
- return (str);
244
- }
245
- getArgumentNumber() {
246
- return Number(this.argument || undefined);
247
- }
248
- createOption(detail) {
249
- const { key, title } = detail;
250
- const startHighlight = new RegExp(this._startHighlightTag, 'g');
251
- const endHighlight = new RegExp(this._endHighlightTag, 'g');
252
- const option = {
253
- value: key === null || key === void 0 ? void 0 : key.replace(startHighlight, '').replace(endHighlight, ''),
254
- label: title === null || title === void 0 ? void 0 : title.replace(startHighlight, '').replace(endHighlight, '')
255
- };
256
- this.selectItem(option);
257
- }
258
- onChangeValue(event) {
259
- this.clearDeboucingTimeout();
260
- if (this._startLoading) {
261
- this._changeDeboucingTimeout = setTimeout(() => {
262
- this.onChangeValue(event);
263
- }, this._deboucingTime);
264
- return;
265
- }
266
- this.argument = (event.detail || "").trim();
267
- const argumentNumber = this.getArgumentNumber();
268
- if (this.argument && (!isNaN(argumentNumber) || this.argument.length >= this._limitCharsToSearch)) {
269
- this._changeDeboucingTimeout = setTimeout(() => {
270
- this.doSearch(isNaN(argumentNumber) ? this.argument : argumentNumber.toString());
271
- }, this._deboucingTime);
272
- }
273
- else {
274
- this._itemList = undefined;
275
- }
276
- }
277
- clearDeboucingTimeout() {
278
- if (this._changeDeboucingTimeout) {
279
- clearTimeout(this._changeDeboucingTimeout);
280
- this._changeDeboucingTimeout = undefined;
281
- }
282
- }
283
- onClickSearch() {
284
- this.doSearch((this.argument || "").trim());
285
- }
286
- getMessageView() {
287
- return this._startLoading
288
- ? 'Aguarde, buscando registros...'
289
- : this._itemList
290
- ? this._itemList.length >= 1
291
- ? `${this._itemList.length} ${this._itemList.length > 1
292
- ? 'registros encontrados'
293
- : 'registro encontrado'}`
294
- : 'Nenhum registro encontrado'
295
- : 'Os resultados de sua pesquisa aparecerão aqui...';
296
- }
297
- render() {
298
- var _a;
299
- return (h(Host, null, h("div", { class: "snk-pesquisa" }, h("div", { class: "snk-pesquisa__input" }, h("ez-text-input", { label: "Buscar", class: "ez-margin-right--medium", canShowError: false, ref: (ref) => this._textInput = ref, onEzChange: (event) => this.onChangeValue(event), value: this.argument }, h("ez-icon", { slot: "leftIcon", iconName: "search" }), this.argument && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)
300
- ? h("button", { slot: "rightIcon", class: "snk-pesquisa__btn", onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
301
- : undefined), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() })), h("label", { class: "snk-pesquisa__records" }, this.getMessageView()), h("div", { class: "snk-pesquisa__content" }, this._itemList && this._itemList.map((item) => {
302
- return (h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
303
- })))));
304
- }
305
- static get watchers() { return {
306
- "argument": ["observeArgument"]
307
- }; }
308
- };
309
- SnkPesquisa.style = snkPesquisaCss;
310
-
311
- export { SnkPesquisa as snk_pesquisa };
@@ -1,156 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h, f as Host } from './index-2b4d2d14.js';
2
- import { A as ApplicationContext } from './index-c683b2b0.js';
3
- import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-35d64ff9.js';
4
-
5
- const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
6
-
7
- const SnkTaskbar = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- this.actionClick = createEvent(this, "actionClick", 7);
11
- this._titleKeyByElement = {
12
- [TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
13
- [TaskbarElement.PREVIOUS]: "snkTaskbar.titlePrevious",
14
- [TaskbarElement.NEXT]: "snkTaskbar.titleNext",
15
- [TaskbarElement.REFRESH]: "snkTaskbar.titleRefresh",
16
- [TaskbarElement.CLONE]: "snkTaskbar.titleClone",
17
- [TaskbarElement.REMOVE]: "snkTaskbar.titleRemove",
18
- [TaskbarElement.MORE_OPTIONS]: "snkTaskbar.titleMoreOptions",
19
- [TaskbarElement.INSERT]: "snkTaskbar.titleInsert",
20
- [TaskbarElement.CANCEL]: "snkTaskbar.titleCancel",
21
- [TaskbarElement.SAVE]: "snkTaskbar.titleSave",
22
- [TaskbarElement.GRID_MODE]: "snkTaskbar.titleGridMode",
23
- [TaskbarElement.CONFIG_GRID]: "snkTaskbar.titleConfigGrid",
24
- [TaskbarElement.FORM_MODE]: "snkTaskbar.titleFormMode"
25
- };
26
- }
27
- observeButtons() {
28
- this._definitions = undefined;
29
- }
30
- // Internal methods
31
- elementsFromString(strButtons) {
32
- const elements = [];
33
- if (strButtons) {
34
- strButtons.split(",").forEach(buttonName => {
35
- buttonName = buttonName.trim();
36
- if (VisibleWhenForbidden[buttonName] || this.isAllowed(buttonName)) {
37
- elements.push(buttonName.trim());
38
- }
39
- });
40
- }
41
- return elements;
42
- }
43
- isAllowed(buttonName) {
44
- if (AuthorizationElements[buttonName]) {
45
- return this._permissions ? this._permissions.isSup || this._permissions[buttonName] : false;
46
- }
47
- return true;
48
- }
49
- /**
50
- * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
51
- * através de um pequeno modulo na estrutura da aplicação:
52
- * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
53
- * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-taskbar.msg.ts"
54
- */
55
- getTitle(element) {
56
- let key;
57
- if (this.isAllowed(element)) {
58
- key = this._titleKeyByElement[element];
59
- }
60
- else {
61
- key = "snkTaskbar.forbidden";
62
- }
63
- return key ? this._application.messagesBuilder.getMessage(key, {}) : "";
64
- }
65
- elementClick(elem) {
66
- if (this.dataUnit) {
67
- switch (elem) {
68
- case TaskbarElement.PREVIOUS:
69
- this.dataUnit.previousRecord();
70
- break;
71
- case TaskbarElement.NEXT:
72
- this.dataUnit.nextRecord();
73
- break;
74
- case TaskbarElement.REFRESH:
75
- this.dataUnit.loadData();
76
- break;
77
- case TaskbarElement.CLONE:
78
- this.dataUnit.copySelected();
79
- break;
80
- case TaskbarElement.REMOVE:
81
- this.dataUnit.removeSelectedRecords();
82
- break;
83
- case TaskbarElement.INSERT:
84
- this.dataUnit.addRecord();
85
- break;
86
- case TaskbarElement.CANCEL:
87
- this.dataUnit.cancelEdition();
88
- break;
89
- case TaskbarElement.SAVE:
90
- this.dataUnit.saveData();
91
- break;
92
- }
93
- }
94
- this.actionClick.emit(elem);
95
- }
96
- isEnabled(elem) {
97
- if (!this.isAllowed(elem)) {
98
- return false;
99
- }
100
- return !(this.disabledButtons && this.disabledButtons.includes(elem));
101
- }
102
- getElement(index, def) {
103
- let className = def === this.primaryButton ? "ez-button--primary " : "";
104
- if (index > 1) {
105
- className += "ez-padding-left--medium";
106
- }
107
- if (TaskbarElement[def.toString()]) {
108
- return buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
109
- }
110
- else {
111
- return buildCustomButton(def, className, elem => this.elementClick(elem), elem => this.isEnabled(elem));
112
- }
113
- }
114
- // Lifecycle
115
- componentWillLoad() {
116
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
117
- if (this._application) {
118
- this._application.getAllAccess().then(access => this._permissions = access);
119
- }
120
- else {
121
- this._permissions = {};
122
- }
123
- }
124
- componentWillRender() {
125
- if (this._definitions == undefined && this._permissions) {
126
- this._definitions = this.elementsFromString(this.buttons);
127
- }
128
- }
129
- render() {
130
- if (this._definitions === undefined) {
131
- return undefined;
132
- }
133
- let index = 0;
134
- return (h(Host, null, this._definitions.map((elem) => {
135
- if (elem === TaskbarElement.DIVIDER) {
136
- index = 0;
137
- }
138
- else {
139
- index++;
140
- }
141
- if (TaskbarElement[elem]) {
142
- return this.getElement(index, TaskbarElement[elem]);
143
- }
144
- if (this.customButtons.has(elem)) {
145
- return this.getElement(index, this.customButtons.get(elem));
146
- }
147
- return h("slot", { name: elem });
148
- })));
149
- }
150
- static get watchers() { return {
151
- "buttons": ["observeButtons"]
152
- }; }
153
- };
154
- SnkTaskbar.style = snkTaskbarCss;
155
-
156
- export { SnkTaskbar as snk_taskbar };
@@ -1,90 +0,0 @@
1
- import { h } from './index-2b4d2d14.js';
2
-
3
- var TaskbarElement;
4
- (function (TaskbarElement) {
5
- TaskbarElement["PREVIOUS"] = "PREVIOUS";
6
- TaskbarElement["NEXT"] = "NEXT";
7
- TaskbarElement["REFRESH"] = "REFRESH";
8
- TaskbarElement["UPDATE"] = "UPDATE";
9
- TaskbarElement["CLONE"] = "CLONE";
10
- TaskbarElement["REMOVE"] = "REMOVE";
11
- TaskbarElement["INSERT"] = "INSERT";
12
- TaskbarElement["CANCEL"] = "CANCEL";
13
- TaskbarElement["SAVE"] = "SAVE";
14
- TaskbarElement["GRID_MODE"] = "GRID_MODE";
15
- TaskbarElement["FORM_MODE"] = "FORM_MODE";
16
- TaskbarElement["CONFIG_GRID"] = "CONFIG_GRID";
17
- TaskbarElement["MORE_OPTIONS"] = "MORE_OPTIONS";
18
- TaskbarElement["DIVIDER"] = "DIVIDER";
19
- })(TaskbarElement || (TaskbarElement = {}));
20
- var AuthorizationElements;
21
- (function (AuthorizationElements) {
22
- AuthorizationElements["UPDATE"] = "UPDATE";
23
- AuthorizationElements["CLONE"] = "CLONE";
24
- AuthorizationElements["REMOVE"] = "REMOVE";
25
- AuthorizationElements["INSERT"] = "INSERT";
26
- AuthorizationElements["CONFIG_GRID"] = "CONFIG_GRID";
27
- })(AuthorizationElements || (AuthorizationElements = {}));
28
- var VisibleWhenForbidden;
29
- (function (VisibleWhenForbidden) {
30
- VisibleWhenForbidden["CONFIG_GRID"] = "CONFIG_GRID";
31
- })(VisibleWhenForbidden || (VisibleWhenForbidden = {}));
32
- const buildCustomButton = (def, className, action, isEnabled) => {
33
- const { hint, text, iconName } = def;
34
- if (iconName) {
35
- if (text) {
36
- return iconTextButton(iconName, def.name, className, hint, text, action, isEnabled);
37
- }
38
- else {
39
- return iconButton(iconName, def.name, className, hint, action, isEnabled);
40
- }
41
- }
42
- else {
43
- return textButton(def.name, className, text, hint, action, isEnabled);
44
- }
45
- };
46
- const buildElem = (element, className, getTitle, action, isEnabled, actions) => {
47
- const title = getTitle(element);
48
- switch (element) {
49
- case TaskbarElement.PREVIOUS:
50
- return iconButton("chevron-left", element, className, title, action, isEnabled);
51
- case TaskbarElement.NEXT:
52
- return iconButton("chevron-right", element, className, title, action, isEnabled);
53
- case TaskbarElement.REFRESH:
54
- return iconButton("sync", element, className, title, action, isEnabled);
55
- case TaskbarElement.UPDATE:
56
- return iconButton("edit", element, className, title, action, isEnabled);
57
- case TaskbarElement.CLONE:
58
- return iconButton("copy", element, className, title, action, isEnabled);
59
- case TaskbarElement.REMOVE:
60
- return iconButton("delete", element, className, title, action, isEnabled);
61
- case TaskbarElement.INSERT:
62
- return iconTextButton("plus", element, className, title, title, action, isEnabled);
63
- case TaskbarElement.CANCEL:
64
- return textButton(element, className, title, title, action, isEnabled);
65
- case TaskbarElement.SAVE:
66
- return iconTextButton("save", element, className, title, title, action, isEnabled);
67
- case TaskbarElement.GRID_MODE:
68
- return iconButton("table", element, className, title, action, isEnabled);
69
- case TaskbarElement.FORM_MODE:
70
- return iconButton("list", element, className, title, action, isEnabled);
71
- case TaskbarElement.CONFIG_GRID:
72
- return iconButton("settings-inverted", element, className, title, action, isEnabled);
73
- case TaskbarElement.MORE_OPTIONS:
74
- return actions && actions.length > 0 ? h("ez-actions-button", { title: title, size: "small", class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions }) : undefined;
75
- case TaskbarElement.DIVIDER:
76
- return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium" });
77
- }
78
- };
79
- function textButton(name, className, text, title, action, isEnabled) {
80
- return h("ez-button", { title: title, label: text, size: "small", class: className, enabled: isEnabled(name), onClick: () => action(name) });
81
- }
82
- function iconButton(iconName, name, className, title, action, isEnabled) {
83
- return h("ez-button", { name: iconName, title: title, mode: "icon", size: "small", class: className, iconName: iconName, enabled: isEnabled(name), onClick: () => action(name) });
84
- }
85
- function iconTextButton(iconName, name, className, text, title, action, isEnabled) {
86
- return h("ez-button", { name: iconName, title: title, label: text, size: "small", class: className, enabled: isEnabled(name), onClick: () => action(name) },
87
- h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
88
- }
89
-
90
- export { AuthorizationElements as A, TaskbarElement as T, VisibleWhenForbidden as V, buildCustomButton as a, buildElem as b };
@@ -1,45 +0,0 @@
1
- class TaskbarProcessor {
2
- constructor(defaultButtons) {
3
- this._defaultButtons = defaultButtons;
4
- }
5
- process(taskbarId, taskbarManager, dataState, disabledButtons = []) {
6
- var _a;
7
- this.customButtons = new Map();
8
- this.buttons = "";
9
- this.disabledButtons = [];
10
- (_a = this.getButtonsArray(taskbarId, taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach(btnDef => {
11
- let buttonName;
12
- if (typeof btnDef === "string") {
13
- buttonName = btnDef;
14
- }
15
- else {
16
- const customBtn = btnDef;
17
- this.customButtons.set(customBtn.name, customBtn);
18
- buttonName = customBtn.name;
19
- }
20
- if (!this.isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabledButtons)) {
21
- this.disabledButtons.push(buttonName);
22
- }
23
- if (this.buttons.length > 0) {
24
- this.buttons += ",";
25
- }
26
- this.buttons += buttonName;
27
- });
28
- }
29
- getButtonsArray(taskbarId, taskbarManager, dataState) {
30
- const defaults = this._defaultButtons[taskbarId];
31
- if (taskbarManager) {
32
- return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
33
- }
34
- return defaults;
35
- }
36
- isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
37
- const originalValue = disabled.includes(buttonName) ? false : true;
38
- if (taskbarManager && taskbarManager.isEnabled) {
39
- return taskbarManager.isEnabled(taskbarId, dataState, buttonName, originalValue);
40
- }
41
- return originalValue;
42
- }
43
- }
44
-
45
- export { TaskbarProcessor as T };
@@ -1,33 +0,0 @@
1
- import { r as registerInstance, h } from './index-2b4d2d14.js';
2
- import { D as DataUnit, b as DataType, U as UserInterface } from './index-c683b2b0.js';
3
-
4
- const testePesquisaCss = ":host{display:block}";
5
-
6
- const TestePesquisa = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- }
10
- componentWillLoad() {
11
- this.dataUnit = new DataUnit("testes_com_formulario");
12
- this.dataUnit.metadata = {
13
- name: "dd://br.com.sankhya.fin.cad.movimentacaoFinanceira/Financeiro",
14
- label: "Parceiro",
15
- fields: [
16
- {
17
- name: "CODPARC",
18
- label: "Parceiro",
19
- dataType: DataType.NUMBER,
20
- userInterface: UserInterface.SEARCH,
21
- required: true,
22
- properties: { ENTITYNAME: "Parceiro" }
23
- }
24
- ]
25
- };
26
- }
27
- render() {
28
- return (h("snk-application", null, h("ez-form", { dataUnit: this.dataUnit })));
29
- }
30
- };
31
- TestePesquisa.style = testePesquisaCss;
32
-
33
- export { TestePesquisa as teste_pesquisa };