@sankhyalabs/sankhyablocks 1.3.31-beta.14 → 1.3.31-beta.17

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 (182) hide show
  1. package/dist/cjs/{SnkMessageBuilder-bb55d4c4.js → SnkMessageBuilder-cb132e6d.js} +134 -1
  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 +542 -66
  12. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-data-unit.cjs.entry.js +23 -24
  14. package/dist/cjs/snk-filter-bar.cjs.entry.js +199 -0
  15. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +47 -0
  16. package/dist/cjs/snk-filter-detail.cjs.entry.js +44 -0
  17. package/dist/cjs/snk-filter-item.cjs.entry.js +131 -0
  18. package/dist/cjs/snk-filter-list.cjs.entry.js +91 -0
  19. package/dist/cjs/snk-filter-number.cjs.entry.js +23 -0
  20. package/dist/cjs/snk-filter-period.cjs.entry.js +26 -0
  21. package/dist/cjs/snk-filter-search.cjs.entry.js +44 -0
  22. package/dist/cjs/snk-filter-text.cjs.entry.js +22 -0
  23. package/dist/cjs/{snk-form_2.cjs.entry.js → snk-form.cjs.entry.js} +3 -65
  24. package/dist/cjs/snk-grid.cjs.entry.js +69 -0
  25. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
  26. package/dist/cjs/snk-taskbar.cjs.entry.js +5 -4
  27. package/dist/cjs/{taskbar-elements-2888ceb6.js → taskbar-elements-efa44ff1.js} +1 -1
  28. package/dist/cjs/teste-pesquisa.cjs.entry.js +5 -5
  29. package/dist/collection/collection-manifest.json +11 -2
  30. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +7 -0
  31. package/dist/collection/components/snk-application/snk-application.js +775 -695
  32. package/dist/collection/components/snk-crud/snk-crud.js +75 -73
  33. package/dist/collection/components/snk-data-unit/snk-data-unit.js +262 -250
  34. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +88 -0
  35. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +64 -0
  36. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +69 -0
  37. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +118 -0
  38. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +63 -0
  39. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +10 -0
  40. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +113 -0
  41. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +209 -0
  42. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +182 -0
  43. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +99 -0
  44. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +257 -0
  45. package/dist/collection/components/snk-form/snk-form.js +111 -111
  46. package/dist/collection/components/snk-grid/snk-grid.css +14 -1
  47. package/dist/collection/components/snk-grid/snk-grid.js +93 -92
  48. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +80 -79
  49. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +1 -2
  50. package/dist/collection/components/snk-taskbar/snk-taskbar.js +128 -116
  51. package/dist/collection/components/teste-pesquisa/teste-pesquisa.js +12 -9
  52. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +24 -2
  53. package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +1 -1
  54. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +268 -0
  55. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  56. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -0
  57. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +14 -0
  58. package/dist/components/SnkMessageBuilder.js +134 -2
  59. package/dist/components/filter-item-type.enum.js +12 -0
  60. package/dist/components/index.d.ts +17 -5
  61. package/dist/components/index.js +21 -0
  62. package/dist/components/index2.js +2384 -0
  63. package/dist/components/snk-application2.js +508 -30
  64. package/dist/components/snk-crud.js +25 -1
  65. package/dist/components/snk-data-unit.js +3 -4
  66. package/dist/components/snk-filter-bar.d.ts +11 -0
  67. package/dist/components/snk-filter-bar.js +6 -0
  68. package/dist/components/snk-filter-bar2.js +230 -0
  69. package/dist/components/snk-filter-binary-select.d.ts +11 -0
  70. package/dist/components/snk-filter-binary-select.js +63 -0
  71. package/dist/components/snk-filter-detail.d.ts +11 -0
  72. package/dist/components/snk-filter-detail.js +6 -0
  73. package/dist/components/snk-filter-detail2.js +58 -0
  74. package/dist/components/snk-filter-item.d.ts +11 -0
  75. package/dist/components/snk-filter-item.js +6 -0
  76. package/dist/components/snk-filter-item2.js +151 -0
  77. package/dist/components/snk-filter-list.d.ts +11 -0
  78. package/dist/components/snk-filter-list.js +6 -0
  79. package/dist/components/snk-filter-list2.js +108 -0
  80. package/dist/components/snk-filter-number.d.ts +11 -0
  81. package/dist/components/snk-filter-number.js +39 -0
  82. package/dist/components/snk-filter-period.d.ts +11 -0
  83. package/dist/components/snk-filter-period.js +42 -0
  84. package/dist/components/snk-filter-search.d.ts +11 -0
  85. package/dist/components/snk-filter-search.js +62 -0
  86. package/dist/components/snk-filter-text.d.ts +11 -0
  87. package/dist/components/snk-filter-text.js +38 -0
  88. package/dist/components/snk-form2.js +1 -1
  89. package/dist/components/snk-grid2.js +28 -4
  90. package/dist/components/snk-pesquisa2.js +1 -1
  91. package/dist/components/snk-taskbar2.js +2 -1
  92. package/dist/components/teste-pesquisa.js +1 -1
  93. package/dist/esm/{SnkMessageBuilder-17d91b88.js → SnkMessageBuilder-cff80920.js} +134 -2
  94. package/dist/esm/app-globals-0f993ce5.js +3 -0
  95. package/dist/esm/css-shim-b3f2ee8d.js +4 -0
  96. package/dist/esm/dom-665d6011.js +73 -0
  97. package/dist/esm/filter-item-type.enum-61fbf80a.js +12 -0
  98. package/dist/esm/index-2b4d2d14.js +3262 -0
  99. package/dist/esm/index-e5b61043.js +2384 -0
  100. package/dist/esm/loader.js +19 -3
  101. package/dist/esm/polyfills/css-shim.js +1 -1
  102. package/dist/esm/sankhyablocks.js +117 -5
  103. package/dist/esm/shadow-css-b18e99d7.js +387 -0
  104. package/dist/esm/snk-application.entry.js +507 -31
  105. package/dist/esm/snk-crud.entry.js +1 -1
  106. package/dist/esm/snk-data-unit.entry.js +4 -5
  107. package/dist/esm/snk-filter-bar.entry.js +195 -0
  108. package/dist/esm/snk-filter-binary-select.entry.js +43 -0
  109. package/dist/esm/snk-filter-detail.entry.js +40 -0
  110. package/dist/esm/snk-filter-item.entry.js +127 -0
  111. package/dist/esm/snk-filter-list.entry.js +87 -0
  112. package/dist/esm/snk-filter-number.entry.js +19 -0
  113. package/dist/esm/snk-filter-period.entry.js +22 -0
  114. package/dist/esm/snk-filter-search.entry.js +40 -0
  115. package/dist/esm/snk-filter-text.entry.js +18 -0
  116. package/dist/esm/{snk-form_2.entry.js → snk-form.entry.js} +3 -64
  117. package/dist/esm/snk-grid.entry.js +65 -0
  118. package/dist/esm/snk-pesquisa.entry.js +2 -2
  119. package/dist/esm/snk-taskbar.entry.js +4 -3
  120. package/dist/esm/{taskbar-elements-5ea74223.js → taskbar-elements-c119510a.js} +1 -1
  121. package/dist/esm/teste-pesquisa.entry.js +2 -2
  122. package/dist/sankhyablocks/SnkMessageBuilder-cff80920.js +299 -0
  123. package/dist/sankhyablocks/app-globals-0f993ce5.js +3 -0
  124. package/dist/sankhyablocks/css-shim-b3f2ee8d.js +4 -0
  125. package/dist/sankhyablocks/dom-665d6011.js +73 -0
  126. package/dist/sankhyablocks/filter-item-type.enum-61fbf80a.js +12 -0
  127. package/dist/sankhyablocks/index-2b4d2d14.js +3262 -0
  128. package/dist/sankhyablocks/index-e5b61043.js +2384 -0
  129. package/dist/sankhyablocks/index.esm.js +1 -0
  130. package/dist/sankhyablocks/sankhyablocks.esm.js +129 -1
  131. package/dist/sankhyablocks/shadow-css-b18e99d7.js +387 -0
  132. package/dist/sankhyablocks/snk-application.entry.js +8306 -0
  133. package/dist/sankhyablocks/snk-crud.entry.js +60 -0
  134. package/dist/sankhyablocks/snk-data-unit.entry.js +272 -0
  135. package/dist/sankhyablocks/snk-filter-bar.entry.js +195 -0
  136. package/dist/sankhyablocks/snk-filter-binary-select.entry.js +43 -0
  137. package/dist/sankhyablocks/snk-filter-detail.entry.js +40 -0
  138. package/dist/sankhyablocks/snk-filter-item.entry.js +127 -0
  139. package/dist/sankhyablocks/snk-filter-list.entry.js +87 -0
  140. package/dist/sankhyablocks/snk-filter-number.entry.js +19 -0
  141. package/dist/sankhyablocks/snk-filter-period.entry.js +22 -0
  142. package/dist/sankhyablocks/snk-filter-search.entry.js +40 -0
  143. package/dist/sankhyablocks/snk-filter-text.entry.js +18 -0
  144. package/dist/sankhyablocks/snk-form.entry.js +111 -0
  145. package/dist/sankhyablocks/snk-grid.entry.js +65 -0
  146. package/dist/sankhyablocks/snk-pesquisa.entry.js +311 -0
  147. package/dist/sankhyablocks/snk-taskbar.entry.js +153 -0
  148. package/dist/sankhyablocks/taskbar-elements-c119510a.js +72 -0
  149. package/dist/sankhyablocks/teste-pesquisa.entry.js +33 -0
  150. package/dist/types/components/snk-application/errorhandler/snk-error-handler.d.ts +1 -0
  151. package/dist/types/components/snk-application/snk-application.d.ts +9 -0
  152. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +12 -0
  153. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +7 -0
  154. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +13 -0
  155. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +12 -0
  156. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +7 -0
  157. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +9 -0
  158. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +13 -0
  159. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +37 -0
  160. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +43 -0
  161. package/dist/types/components.d.ts +199 -0
  162. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  163. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +5 -0
  164. package/dist/types/lib/message/resources/snk-filter-bar.msg.d.ts +2 -0
  165. package/dist/types/stencil-public-runtime.d.ts +15 -4
  166. package/loader/package.json +1 -0
  167. package/package.json +5 -5
  168. package/react/components.d.ts +0 -7
  169. package/react/components.js +0 -7
  170. package/react/components.js.map +1 -1
  171. package/dist/cjs/index-c6671817.js +0 -1642
  172. package/dist/esm/index-6a83ac96.js +0 -1614
  173. package/dist/sankhyablocks/p-4c7b32d6.entry.js +0 -1
  174. package/dist/sankhyablocks/p-56a32417.entry.js +0 -1
  175. package/dist/sankhyablocks/p-825d2c38.entry.js +0 -74
  176. package/dist/sankhyablocks/p-ab694dbc.js +0 -1
  177. package/dist/sankhyablocks/p-b559117b.js +0 -1
  178. package/dist/sankhyablocks/p-cd1dc099.js +0 -2
  179. package/dist/sankhyablocks/p-ce2d1214.entry.js +0 -1
  180. package/dist/sankhyablocks/p-d25637c9.entry.js +0 -1
  181. package/dist/sankhyablocks/p-d25803a1.entry.js +0 -1
  182. package/dist/sankhyablocks/p-edf81d2c.entry.js +0 -1
@@ -0,0 +1,311 @@
1
+ import { r as registerInstance, h, f as Host } from './index-2b4d2d14.js';
2
+ import { O as ObjectUtils, S as StringUtils } from './index-e5b61043.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 };
@@ -0,0 +1,153 @@
1
+ import { r as registerInstance, e as createEvent, h, f as Host } from './index-2b4d2d14.js';
2
+ import { a as ApplicationContext } from './index-e5b61043.js';
3
+ import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem } from './taskbar-elements-c119510a.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 element;
104
+ let className = def === this.primaryButton ? "ez-button--primary " : "";
105
+ if (index > 1) {
106
+ className += "ez-padding-left--medium";
107
+ }
108
+ element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
109
+ return element;
110
+ }
111
+ // Lifecycle
112
+ componentWillLoad() {
113
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
114
+ if (this._application) {
115
+ this._application.getAllAccess().then(access => this._permissions = access);
116
+ }
117
+ else {
118
+ this._permissions = {};
119
+ }
120
+ }
121
+ componentWillRender() {
122
+ if (this._definitions == undefined && this._permissions) {
123
+ this._definitions = this.elementsFromString(this.buttons);
124
+ }
125
+ }
126
+ render() {
127
+ if (this._definitions === undefined) {
128
+ return undefined;
129
+ }
130
+ let index = 0;
131
+ return (h(Host, null, this._definitions.map((btn) => {
132
+ if (btn === TaskbarElement.DIVIDER) {
133
+ index = 0;
134
+ }
135
+ else {
136
+ index++;
137
+ }
138
+ if (TaskbarElement[btn]) {
139
+ return this.getElement(index, TaskbarElement[btn]);
140
+ }
141
+ else {
142
+ index;
143
+ return h("slot", { name: btn });
144
+ }
145
+ })));
146
+ }
147
+ static get watchers() { return {
148
+ "buttons": ["observeButtons"]
149
+ }; }
150
+ };
151
+ SnkTaskbar.style = snkTaskbarCss;
152
+
153
+ export { SnkTaskbar as snk_taskbar };
@@ -0,0 +1,72 @@
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 buildElem = (element, className, getTitle, action, isEnabled, actions) => {
33
+ switch (element) {
34
+ case TaskbarElement.PREVIOUS:
35
+ return iconButton("chevron-left", element, className, getTitle, action, isEnabled);
36
+ case TaskbarElement.NEXT:
37
+ return iconButton("chevron-right", element, className, getTitle, action, isEnabled);
38
+ case TaskbarElement.REFRESH:
39
+ return iconButton("sync", element, className, getTitle, action, isEnabled);
40
+ case TaskbarElement.UPDATE:
41
+ return iconButton("edit", element, className, getTitle, action, isEnabled);
42
+ case TaskbarElement.CLONE:
43
+ return iconButton("copy", element, className, getTitle, action, isEnabled);
44
+ case TaskbarElement.REMOVE:
45
+ return iconButton("delete", element, className, getTitle, action, isEnabled);
46
+ case TaskbarElement.INSERT:
47
+ return iconTextButton("plus", element, className, getTitle, action, isEnabled);
48
+ case TaskbarElement.CANCEL:
49
+ return h("ez-button", { title: getTitle(element), label: getTitle(element), size: "small", enabled: isEnabled(element), onClick: () => action(element) });
50
+ case TaskbarElement.SAVE:
51
+ return iconTextButton("save", element, className, getTitle, action, isEnabled);
52
+ case TaskbarElement.GRID_MODE:
53
+ return iconButton("table", element, className, getTitle, action, isEnabled);
54
+ case TaskbarElement.FORM_MODE:
55
+ return iconButton("list", element, className, getTitle, action, isEnabled);
56
+ case TaskbarElement.CONFIG_GRID:
57
+ return iconButton("settings-inverted", element, className, getTitle, action, isEnabled);
58
+ case TaskbarElement.MORE_OPTIONS:
59
+ return actions && actions.length > 0 ? h("ez-actions-button", { title: getTitle(element), size: "small", class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions }) : undefined;
60
+ case TaskbarElement.DIVIDER:
61
+ return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium" });
62
+ }
63
+ };
64
+ function iconButton(iconName, element, className, getTitle, action, isEnabled) {
65
+ return h("ez-button", { key: iconName, title: getTitle(element), mode: "icon", size: "small", class: className, iconName: iconName, enabled: isEnabled(element), onClick: () => action(element) });
66
+ }
67
+ function iconTextButton(iconName, element, className, getTitle, action, isEnabled) {
68
+ return h("ez-button", { key: iconName, title: getTitle(element), label: getTitle(element), size: "small", class: className, enabled: isEnabled(element), onClick: () => action(element) },
69
+ h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
70
+ }
71
+
72
+ export { AuthorizationElements as A, TaskbarElement as T, VisibleWhenForbidden as V, buildElem as b };
@@ -0,0 +1,33 @@
1
+ import { r as registerInstance, h } from './index-2b4d2d14.js';
2
+ import { D as DataUnit, b as DataType, U as UserInterface } from './index-e5b61043.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 };
@@ -4,5 +4,6 @@ export declare class SnkErrorHandler {
4
4
  constructor(app: SnkApplication);
5
5
  rejectionHandler(evt: PromiseRejectionEvent): void;
6
6
  errorHandler(evt: ErrorEvent): void;
7
+ buildErrorCodeHTML(exception: any): string;
7
8
  processException(exception: any): void;
8
9
  }
@@ -14,6 +14,8 @@ import AuthFetcher, { AutorizationType } from "../../lib/http/data-fetcher/fetch
14
14
  import { SnkErrorHandler } from "./errorhandler/snk-error-handler";
15
15
  import { TotalsFetcher } from "../../lib/http/data-fetcher/fetchers/totals-fetcher";
16
16
  import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
17
+ import FilterBarConfigFetcher from "../../lib/http/data-fetcher/fetchers/filter-bar-config-fetcher";
18
+ import { SnkFilterItemConfig } from "../snk-filter-bar/filter-item/snk-filter-item";
17
19
  import { Filter } from "@sankhyalabs/core";
18
20
  export declare class SnkApplication {
19
21
  _parameters: ParametersFetcher;
@@ -24,6 +26,7 @@ export declare class SnkApplication {
24
26
  _totalsFetcher: TotalsFetcher;
25
27
  _pesquisaFetcher: PesquisaFetcher;
26
28
  _authFetcher: AuthFetcher;
29
+ _filterBarConfigFetcher: FilterBarConfigFetcher;
27
30
  _resourceID: string;
28
31
  _popUp: HTMLEzPopupElement;
29
32
  _errorHandler: SnkErrorHandler;
@@ -151,6 +154,10 @@ export declare class SnkApplication {
151
154
  * Salva a configuração de grade.
152
155
  */
153
156
  saveGridConfig(config: IGridConfig): Promise<boolean>;
157
+ /**
158
+ * Obtém as configurações da barra de filtros
159
+ */
160
+ getFilterBarConfig(): Promise<Array<SnkFilterItemConfig>>;
154
161
  /**
155
162
  * Evento disparado quando a aplicação for carregada.
156
163
  */
@@ -167,7 +174,9 @@ export declare class SnkApplication {
167
174
  private get totalsFetcher();
168
175
  private get pesquisaFetcher();
169
176
  private get authFetcher();
177
+ private get filterBarConfigFetcher();
170
178
  executeSearch(searchArgument: any, fieldName: string, dataUnit: DataUnit): Promise<Array<Option> | Option>;
179
+ executePreparedSearch(mode: string, argument: string, options: any): Promise<Array<Option> | Option>;
171
180
  isDebugMode(): Promise<boolean>;
172
181
  private clearPopUpContent;
173
182
  private clearPopUpTitle;
@@ -0,0 +1,12 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterBinarySelect {
3
+ _checkOne: HTMLEzCheckElement;
4
+ _checkTwo: HTMLEzCheckElement;
5
+ value: any;
6
+ config: SnkFilterItemConfig;
7
+ isSelected(option: string): boolean;
8
+ ezChangeListener(evt: CustomEvent): void;
9
+ assertCheckedOption(updatingCheck: HTMLElement): void;
10
+ updateValue(): void;
11
+ render(): any;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterPeriod {
3
+ config: SnkFilterItemConfig;
4
+ value: number;
5
+ ezChangeListener(evt: CustomEvent): void;
6
+ render(): any;
7
+ }
@@ -0,0 +1,13 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterPeriod {
3
+ _startDate: HTMLEzDateInputElement;
4
+ _endDate: HTMLEzDateInputElement;
5
+ config: SnkFilterItemConfig;
6
+ value: Period;
7
+ ezChangeListener(): void;
8
+ render(): any;
9
+ }
10
+ export interface Period {
11
+ start?: Date;
12
+ end?: Date;
13
+ }
@@ -0,0 +1,12 @@
1
+ import { Option } from '@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box';
2
+ import { SnkFilterItemConfig } from '../snk-filter-item';
3
+ export declare class SnkFilterSearch {
4
+ config: SnkFilterItemConfig;
5
+ value: Option;
6
+ fix: () => void;
7
+ unfix: () => void;
8
+ _searchInput: HTMLEzSearchElement;
9
+ ezChangeListener(_evt: CustomEvent): void;
10
+ doSearch(mode: string, argument: string): Promise<Array<Option> | Option>;
11
+ render(): any;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { SnkFilterItemConfig } from '../snk-filter-item';
2
+ export declare class SnkFilterText {
3
+ config: SnkFilterItemConfig;
4
+ value: string;
5
+ ezChangeListener(evt: CustomEvent): void;
6
+ render(): any;
7
+ }