@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-74246.1 → 0.0.0-bugfix-dev-KB-76362.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/cjs/{SnkFormConfigManager-bff848f1.js → SnkFormConfigManager-63369164.js} +3 -3
  2. package/dist/cjs/{SnkMessageBuilder-bae64d0d.js → SnkMessageBuilder-7691a2c1.js} +10 -0
  3. package/dist/cjs/index-f9e81701.js +8 -0
  4. package/dist/cjs/input-distinct-search_2.cjs.entry.js +471 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  7. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  8. package/dist/cjs/snk-config-options_3.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  10. package/dist/cjs/{snk-data-unit-3d4d0e2a.js → snk-data-unit-7dbdad0e.js} +1 -1
  11. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-detail-view.cjs.entry.js +3 -3
  13. package/dist/cjs/snk-distinct-search.cjs.entry.js +123 -0
  14. package/dist/cjs/{snk-guides-viewer-2b44c804.js → snk-guides-viewer-eee43c8b.js} +1 -1
  15. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-simple-crud.cjs.entry.js +1 -1
  17. package/dist/collection/collection-manifest.json +3 -0
  18. package/dist/collection/components/snk-distinct-search/snk-distinct-search.css +4 -0
  19. package/dist/collection/components/snk-distinct-search/snk-distinct-search.js +372 -0
  20. package/dist/collection/components/snk-distinct-search/subcomponents/input-distinct-search/input-distinct-search.css +110 -0
  21. package/dist/collection/components/snk-distinct-search/subcomponents/input-distinct-search/input-distinct-search.js +544 -0
  22. package/dist/collection/components/snk-distinct-search/subcomponents/search-modal/search-modal.css +28 -0
  23. package/dist/collection/components/snk-distinct-search/subcomponents/search-modal/search-modal.js +593 -0
  24. package/dist/collection/components/snk-distinct-search/types/index.js +1 -0
  25. package/dist/collection/components/snk-distinct-search/utils/filter-distinct-search.js +15 -0
  26. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +3 -3
  27. package/dist/collection/lib/http/data-fetcher/fetchers/distinct-search-fetcher.js +25 -0
  28. package/dist/collection/lib/message/SnkMessageBuilder.js +2 -0
  29. package/dist/collection/lib/message/resources/snk-distinct-search.msg.js +9 -0
  30. package/dist/components/SnkFormConfigManager.js +3 -3
  31. package/dist/components/SnkMessageBuilder.js +10 -0
  32. package/dist/components/filter-distinct-search.js +17 -0
  33. package/dist/components/index.d.ts +3 -0
  34. package/dist/components/index.js +3 -0
  35. package/dist/components/input-distinct-search.d.ts +11 -0
  36. package/dist/components/input-distinct-search.js +6 -0
  37. package/dist/components/input-distinct-search2.js +264 -0
  38. package/dist/components/search-modal.d.ts +11 -0
  39. package/dist/components/search-modal.js +6 -0
  40. package/dist/components/search-modal2.js +264 -0
  41. package/dist/components/snk-distinct-search.d.ts +11 -0
  42. package/dist/components/snk-distinct-search.js +163 -0
  43. package/dist/esm/{SnkFormConfigManager-f0532f7d.js → SnkFormConfigManager-b409c745.js} +3 -3
  44. package/dist/esm/{SnkMessageBuilder-6fff4a4c.js → SnkMessageBuilder-7ace6803.js} +10 -0
  45. package/dist/esm/index-a7d3d3f1.js +8 -0
  46. package/dist/esm/input-distinct-search_2.entry.js +466 -0
  47. package/dist/esm/loader.js +1 -1
  48. package/dist/esm/sankhyablocks.js +1 -1
  49. package/dist/esm/snk-application.entry.js +1 -1
  50. package/dist/esm/snk-config-options_3.entry.js +1 -1
  51. package/dist/esm/snk-data-exporter.entry.js +2 -2
  52. package/dist/esm/{snk-data-unit-618e0b80.js → snk-data-unit-7a579dbd.js} +1 -1
  53. package/dist/esm/snk-data-unit.entry.js +2 -2
  54. package/dist/esm/snk-detail-view.entry.js +3 -3
  55. package/dist/esm/snk-distinct-search.entry.js +119 -0
  56. package/dist/esm/{snk-guides-viewer-15c916a3.js → snk-guides-viewer-e8ca764a.js} +1 -1
  57. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  58. package/dist/esm/snk-simple-crud.entry.js +1 -1
  59. package/dist/sankhyablocks/{p-9c3138f5.entry.js → p-00f9fe5c.entry.js} +1 -1
  60. package/dist/sankhyablocks/p-0e206e62.js +1 -0
  61. package/dist/sankhyablocks/{p-c88ad28e.entry.js → p-0e250436.entry.js} +1 -1
  62. package/dist/sankhyablocks/{p-da87e42c.entry.js → p-154aa2a6.entry.js} +1 -1
  63. package/dist/sankhyablocks/p-18cb1acb.entry.js +1 -0
  64. package/dist/sankhyablocks/{p-bab79110.entry.js → p-30ebcbe0.entry.js} +1 -1
  65. package/dist/sankhyablocks/p-3755b46f.entry.js +1 -0
  66. package/dist/sankhyablocks/{p-d1da52e1.entry.js → p-42130213.entry.js} +1 -1
  67. package/dist/sankhyablocks/{p-e41bd8ee.entry.js → p-b389ed49.entry.js} +1 -1
  68. package/dist/sankhyablocks/{p-a75e9dcc.js → p-c75fae8e.js} +1 -1
  69. package/dist/sankhyablocks/p-d8665750.js +1 -0
  70. package/dist/sankhyablocks/{p-ae50d69f.js → p-e3a285a2.js} +1 -1
  71. package/dist/sankhyablocks/{p-c1adf0dd.entry.js → p-f4e221b2.entry.js} +1 -1
  72. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  73. package/dist/types/components/snk-distinct-search/snk-distinct-search.d.ts +83 -0
  74. package/dist/types/components/snk-distinct-search/subcomponents/input-distinct-search/input-distinct-search.d.ts +105 -0
  75. package/dist/types/components/snk-distinct-search/subcomponents/search-modal/search-modal.d.ts +127 -0
  76. package/dist/types/components/snk-distinct-search/types/index.d.ts +12 -0
  77. package/dist/types/components/snk-distinct-search/utils/filter-distinct-search.d.ts +4 -0
  78. package/dist/types/components.d.ts +393 -1
  79. package/dist/types/lib/http/data-fetcher/fetchers/distinct-search-fetcher.d.ts +6 -0
  80. package/dist/types/lib/message/resources/snk-distinct-search.msg.d.ts +2 -0
  81. package/package.json +1 -1
  82. package/react/components.d.ts +3 -0
  83. package/react/components.js +3 -0
  84. package/react/components.js.map +1 -1
  85. package/dist/sankhyablocks/p-17425c72.js +0 -1
  86. package/dist/sankhyablocks/p-a0ebd886.js +0 -1
@@ -5,6 +5,8 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { SnkApplication } from "./components/snk-application/snk-application";
9
+ import { IConfigSearch, IDistinctValue } from "./components/snk-distinct-search/types";
8
10
  import { IAction } from "./components/snk-actions-button/actions/interfaces/IAction";
9
11
  import { SnkMessageBuilder } from "./lib/message/SnkMessageBuilder";
10
12
  import { DataUnit, Filter, KeyboardManager, Record, UnitMetadata } from "@sankhyalabs/core";
@@ -42,7 +44,6 @@ import { IExportResult } from "./components/snk-data-exporter/data/export-result
42
44
  import { IExportConfig } from "./components/snk-data-exporter/data/export-config";
43
45
  import { IExpressionGroup, IExpressionItem } from "./components/snk-personalized-filter/interfaces/IExpressionItem";
44
46
  import { IPersonalizedFilter } from "./components/snk-personalized-filter/interfaces/IPersonalizedFilter";
45
- import { SnkApplication } from "./components/snk-application/snk-application";
46
47
  import { SnkFilterModalFactoryParams } from "./components/snk-filter-bar/utils/SnkFilterModalFactory";
47
48
  import { EPresentationMode } from "./components/snk-filter-bar/filter-item/editors/enum/presentationMode";
48
49
  import { FilterFieldsDataSource, IFilterField, IFilterLink } from "./components/snk-filter-field-search/interfaces";
@@ -61,6 +62,146 @@ import { IBreadcrumbItem } from "@sankhyalabs/ezui/dist/types/components/ez-brea
61
62
  import { ITab } from "./components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config";
62
63
  import { Action as Action1, CustomButton } from "./components/snk-taskbar/snk-taskbar";
63
64
  export namespace Components {
65
+ interface InputDistinctSearch {
66
+ /**
67
+ * SnkApplication
68
+ */
69
+ "application": SnkApplication;
70
+ /**
71
+ * Se false deixa de exibir a mensagem de erro dentro do campo.
72
+ */
73
+ "canShowError": boolean;
74
+ /**
75
+ * Método para limpa o campo de entrada de pesquisa
76
+ */
77
+ "clearInput": () => Promise<void>;
78
+ /**
79
+ * Tempo em milissegundos para debouncing das chamadas de busca de sugestões.
80
+ */
81
+ "debounceTime": number;
82
+ /**
83
+ * Lista completa de items distintos.
84
+ */
85
+ "distinctItems": string[];
86
+ /**
87
+ * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
88
+ */
89
+ "errorMessage": string;
90
+ /**
91
+ * Retorna se o conteúdo é inválido.
92
+ */
93
+ "isInvalid": () => Promise<boolean>;
94
+ /**
95
+ * Label apresentada no input.
96
+ */
97
+ "label": string;
98
+ /**
99
+ * Número máximo de itens na lista.
100
+ */
101
+ "maxItems": number;
102
+ /**
103
+ * Define o tamanho do campo.
104
+ */
105
+ "mode": 'slim' | 'regular';
106
+ /**
107
+ * Expressão que define os caracteres permitidos na entrada.
108
+ */
109
+ "restrict": string;
110
+ /**
111
+ * Seleciona um item
112
+ */
113
+ "selectValue": (value: string, isNewItem?: boolean) => Promise<void>;
114
+ /**
115
+ * Remove o foco do campo
116
+ */
117
+ "setBlur": () => Promise<void>;
118
+ /**
119
+ * Aplica o foco do campo
120
+ */
121
+ "setFocus": () => Promise<void>;
122
+ /**
123
+ * Valor inicial do campo.
124
+ */
125
+ "value": string;
126
+ }
127
+ interface SearchModal {
128
+ /**
129
+ * Método para adicionar a nova palavra e chamar o método closeModal() para fechar o modal
130
+ */
131
+ "addNewItem": () => Promise<void>;
132
+ /**
133
+ * SnkApplication
134
+ */
135
+ "application": SnkApplication;
136
+ /**
137
+ * Se false deixa de exibir a mensagem de erro dentro do campo.
138
+ */
139
+ "canShowError": boolean;
140
+ /**
141
+ * Método para limpa o campo de entrada de pesquisa
142
+ */
143
+ "clearInput": () => Promise<void>;
144
+ /**
145
+ * Método para fechar o modal
146
+ */
147
+ "closeModal": () => Promise<void>;
148
+ /**
149
+ * Tempo em milissegundos para debouncing das chamadas de busca de sugestões.
150
+ */
151
+ "debounceTime": number;
152
+ /**
153
+ * Recebe a mensagem de vazio ou personalizada
154
+ */
155
+ "emptyMessage": HTMLElement | string;
156
+ /**
157
+ * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
158
+ */
159
+ "errorMessage": string;
160
+ /**
161
+ * Retorna se o conteúdo é inválido.
162
+ */
163
+ "isInvalid": () => Promise<void>;
164
+ /**
165
+ * Texto exibido como placeholder no campo de pesquisa.
166
+ */
167
+ "label": string;
168
+ /**
169
+ * Lista de itens exibidas conforme o usuário digita.
170
+ */
171
+ "listItens": string[];
172
+ /**
173
+ * Limita a quantidade de registros apresentados na tela
174
+ */
175
+ "maxItens": number;
176
+ /**
177
+ * Define o tamanho do campo.
178
+ */
179
+ "mode": 'slim' | 'regular';
180
+ /**
181
+ * Método para abrir o modal
182
+ */
183
+ "openModal": () => Promise<void>;
184
+ /**
185
+ * Define se o ez-popover está aberto.
186
+ */
187
+ "opened": boolean;
188
+ /**
189
+ * Expressão que define os caracteres permitidos na entrada.
190
+ */
191
+ "restrict": string;
192
+ /**
193
+ * Remove o foco do campo
194
+ */
195
+ "setBlur": () => Promise<void>;
196
+ /**
197
+ * Aplica o foco do campo
198
+ */
199
+ "setFocus": () => Promise<void>;
200
+ /**
201
+ * Define o valor do campo.
202
+ */
203
+ "value": string;
204
+ }
64
205
  interface SnkActionsButton {
65
206
  }
66
207
  interface SnkActionsForm {
@@ -714,6 +855,68 @@ export namespace Components {
714
855
  */
715
856
  "taskbarCustomContainerId": string;
716
857
  }
858
+ interface SnkDistinctSearch {
859
+ /**
860
+ * Se false deixa de exibir a mensagem de erro dentro do campo.
861
+ */
862
+ "canShowError": boolean;
863
+ /**
864
+ * Método para limpa o campo de entrada de pesquisa
865
+ */
866
+ "clearInput": () => Promise<void>;
867
+ /**
868
+ * Método para fechar o modal
869
+ */
870
+ "closeModal": () => Promise<void>;
871
+ /**
872
+ * Dados para busca ao serviço.
873
+ */
874
+ "configSearch": IConfigSearch;
875
+ /**
876
+ * Tempo em milissegundos para debouncing das chamadas de busca de sugestões.
877
+ */
878
+ "debounceTime": number;
879
+ /**
880
+ * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
881
+ */
882
+ "errorMessage": string;
883
+ /**
884
+ * Retorna se o conteúdo é inválido.
885
+ */
886
+ "isInvalid": () => Promise<boolean>;
887
+ /**
888
+ * Label apresentada no input.
889
+ */
890
+ "label": string;
891
+ /**
892
+ * Número máximo de itens na lista.
893
+ */
894
+ "maxItems": number;
895
+ /**
896
+ * Define o tamanho do campo.
897
+ */
898
+ "mode": 'slim' | 'regular';
899
+ /**
900
+ * Método para abrir o modal
901
+ */
902
+ "openModal": () => Promise<void>;
903
+ /**
904
+ * Expressão que define os caracteres permitidos na entrada.
905
+ */
906
+ "restrict": string;
907
+ /**
908
+ * Remove o foco do campo
909
+ */
910
+ "setBlur": () => Promise<void>;
911
+ /**
912
+ * Aplica o foco do campo
913
+ */
914
+ "setFocus": () => Promise<void>;
915
+ /**
916
+ * Valor inicial do campo.
917
+ */
918
+ "value": string;
919
+ }
717
920
  interface SnkEntityList {
718
921
  /**
719
922
  * Configurações para carregar os dados do componente
@@ -1873,6 +2076,14 @@ export namespace Components {
1873
2076
  interface TestePesquisa {
1874
2077
  }
1875
2078
  }
2079
+ export interface InputDistinctSearchCustomEvent<T> extends CustomEvent<T> {
2080
+ detail: T;
2081
+ target: HTMLInputDistinctSearchElement;
2082
+ }
2083
+ export interface SearchModalCustomEvent<T> extends CustomEvent<T> {
2084
+ detail: T;
2085
+ target: HTMLSearchModalElement;
2086
+ }
1876
2087
  export interface SnkApplicationCustomEvent<T> extends CustomEvent<T> {
1877
2088
  detail: T;
1878
2089
  target: HTMLSnkApplicationElement;
@@ -1905,6 +2116,10 @@ export interface SnkDetailViewCustomEvent<T> extends CustomEvent<T> {
1905
2116
  detail: T;
1906
2117
  target: HTMLSnkDetailViewElement;
1907
2118
  }
2119
+ export interface SnkDistinctSearchCustomEvent<T> extends CustomEvent<T> {
2120
+ detail: T;
2121
+ target: HTMLSnkDistinctSearchElement;
2122
+ }
1908
2123
  export interface SnkEntityListCustomEvent<T> extends CustomEvent<T> {
1909
2124
  detail: T;
1910
2125
  target: HTMLSnkEntityListElement;
@@ -2038,6 +2253,18 @@ export interface TaskbarActionsButtonCustomEvent<T> extends CustomEvent<T> {
2038
2253
  target: HTMLTaskbarActionsButtonElement;
2039
2254
  }
2040
2255
  declare global {
2256
+ interface HTMLInputDistinctSearchElement extends Components.InputDistinctSearch, HTMLStencilElement {
2257
+ }
2258
+ var HTMLInputDistinctSearchElement: {
2259
+ prototype: HTMLInputDistinctSearchElement;
2260
+ new (): HTMLInputDistinctSearchElement;
2261
+ };
2262
+ interface HTMLSearchModalElement extends Components.SearchModal, HTMLStencilElement {
2263
+ }
2264
+ var HTMLSearchModalElement: {
2265
+ prototype: HTMLSearchModalElement;
2266
+ new (): HTMLSearchModalElement;
2267
+ };
2041
2268
  interface HTMLSnkActionsButtonElement extends Components.SnkActionsButton, HTMLStencilElement {
2042
2269
  }
2043
2270
  var HTMLSnkActionsButtonElement: {
@@ -2110,6 +2337,12 @@ declare global {
2110
2337
  prototype: HTMLSnkDetailViewElement;
2111
2338
  new (): HTMLSnkDetailViewElement;
2112
2339
  };
2340
+ interface HTMLSnkDistinctSearchElement extends Components.SnkDistinctSearch, HTMLStencilElement {
2341
+ }
2342
+ var HTMLSnkDistinctSearchElement: {
2343
+ prototype: HTMLSnkDistinctSearchElement;
2344
+ new (): HTMLSnkDistinctSearchElement;
2345
+ };
2113
2346
  interface HTMLSnkEntityListElement extends Components.SnkEntityList, HTMLStencilElement {
2114
2347
  }
2115
2348
  var HTMLSnkEntityListElement: {
@@ -2351,6 +2584,8 @@ declare global {
2351
2584
  new (): HTMLTestePesquisaElement;
2352
2585
  };
2353
2586
  interface HTMLElementTagNameMap {
2587
+ "input-distinct-search": HTMLInputDistinctSearchElement;
2588
+ "search-modal": HTMLSearchModalElement;
2354
2589
  "snk-actions-button": HTMLSnkActionsButtonElement;
2355
2590
  "snk-actions-form": HTMLSnkActionsFormElement;
2356
2591
  "snk-application": HTMLSnkApplicationElement;
@@ -2363,6 +2598,7 @@ declare global {
2363
2598
  "snk-data-exporter": HTMLSnkDataExporterElement;
2364
2599
  "snk-data-unit": HTMLSnkDataUnitElement;
2365
2600
  "snk-detail-view": HTMLSnkDetailViewElement;
2601
+ "snk-distinct-search": HTMLSnkDistinctSearchElement;
2366
2602
  "snk-entity-list": HTMLSnkEntityListElement;
2367
2603
  "snk-exporter-email-sender": HTMLSnkExporterEmailSenderElement;
2368
2604
  "snk-expression-group": HTMLSnkExpressionGroupElement;
@@ -2406,6 +2642,114 @@ declare global {
2406
2642
  }
2407
2643
  }
2408
2644
  declare namespace LocalJSX {
2645
+ interface InputDistinctSearch {
2646
+ /**
2647
+ * SnkApplication
2648
+ */
2649
+ "application"?: SnkApplication;
2650
+ /**
2651
+ * Se false deixa de exibir a mensagem de erro dentro do campo.
2652
+ */
2653
+ "canShowError"?: boolean;
2654
+ /**
2655
+ * Tempo em milissegundos para debouncing das chamadas de busca de sugestões.
2656
+ */
2657
+ "debounceTime"?: number;
2658
+ /**
2659
+ * Lista completa de items distintos.
2660
+ */
2661
+ "distinctItems"?: string[];
2662
+ /**
2663
+ * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
2664
+ */
2665
+ "errorMessage"?: string;
2666
+ /**
2667
+ * Label apresentada no input.
2668
+ */
2669
+ "label"?: string;
2670
+ /**
2671
+ * Número máximo de itens na lista.
2672
+ */
2673
+ "maxItems"?: number;
2674
+ /**
2675
+ * Define o tamanho do campo.
2676
+ */
2677
+ "mode"?: 'slim' | 'regular';
2678
+ /**
2679
+ * Emitido quando há uma alteração no valor do campo.
2680
+ */
2681
+ "onChangeValue"?: (event: InputDistinctSearchCustomEvent<IDistinctValue>) => void;
2682
+ /**
2683
+ * Emitido quando o icone de pesquisa é clicado.
2684
+ */
2685
+ "onIconClick"?: (event: InputDistinctSearchCustomEvent<void>) => void;
2686
+ /**
2687
+ * Expressão que define os caracteres permitidos na entrada.
2688
+ */
2689
+ "restrict"?: string;
2690
+ /**
2691
+ * Valor inicial do campo.
2692
+ */
2693
+ "value"?: string;
2694
+ }
2695
+ interface SearchModal {
2696
+ /**
2697
+ * SnkApplication
2698
+ */
2699
+ "application"?: SnkApplication;
2700
+ /**
2701
+ * Se false deixa de exibir a mensagem de erro dentro do campo.
2702
+ */
2703
+ "canShowError"?: boolean;
2704
+ /**
2705
+ * Tempo em milissegundos para debouncing das chamadas de busca de sugestões.
2706
+ */
2707
+ "debounceTime"?: number;
2708
+ /**
2709
+ * Recebe a mensagem de vazio ou personalizada
2710
+ */
2711
+ "emptyMessage"?: HTMLElement | string;
2712
+ /**
2713
+ * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
2714
+ */
2715
+ "errorMessage"?: string;
2716
+ /**
2717
+ * Texto exibido como placeholder no campo de pesquisa.
2718
+ */
2719
+ "label"?: string;
2720
+ /**
2721
+ * Lista de itens exibidas conforme o usuário digita.
2722
+ */
2723
+ "listItens"?: string[];
2724
+ /**
2725
+ * Limita a quantidade de registros apresentados na tela
2726
+ */
2727
+ "maxItens"?: number;
2728
+ /**
2729
+ * Define o tamanho do campo.
2730
+ */
2731
+ "mode"?: 'slim' | 'regular';
2732
+ /**
2733
+ * Emitido quando há uma alteração no valor do campo.
2734
+ */
2735
+ "onChangeValue"?: (event: SearchModalCustomEvent<IDistinctValue>) => void;
2736
+ /**
2737
+ * Emitido ao fechar o popup
2738
+ */
2739
+ "onPopupClose"?: (event: SearchModalCustomEvent<boolean>) => void;
2740
+ /**
2741
+ * Define se o ez-popover está aberto.
2742
+ */
2743
+ "opened"?: boolean;
2744
+ /**
2745
+ * Expressão que define os caracteres permitidos na entrada.
2746
+ */
2747
+ "restrict"?: string;
2748
+ /**
2749
+ * Define o valor do campo.
2750
+ */
2751
+ "value"?: string;
2752
+ }
2409
2753
  interface SnkActionsButton {
2410
2754
  }
2411
2755
  interface SnkActionsForm {
@@ -2834,6 +3178,48 @@ declare namespace LocalJSX {
2834
3178
  */
2835
3179
  "taskbarCustomContainerId"?: string;
2836
3180
  }
3181
+ interface SnkDistinctSearch {
3182
+ /**
3183
+ * Se false deixa de exibir a mensagem de erro dentro do campo.
3184
+ */
3185
+ "canShowError"?: boolean;
3186
+ /**
3187
+ * Dados para busca ao serviço.
3188
+ */
3189
+ "configSearch"?: IConfigSearch;
3190
+ /**
3191
+ * Tempo em milissegundos para debouncing das chamadas de busca de sugestões.
3192
+ */
3193
+ "debounceTime"?: number;
3194
+ /**
3195
+ * Define uma mensagem de orientação ao usuário, colocando o campo em modo inválido.
3196
+ */
3197
+ "errorMessage"?: string;
3198
+ /**
3199
+ * Label apresentada no input.
3200
+ */
3201
+ "label"?: string;
3202
+ /**
3203
+ * Número máximo de itens na lista.
3204
+ */
3205
+ "maxItems"?: number;
3206
+ /**
3207
+ * Define o tamanho do campo.
3208
+ */
3209
+ "mode"?: 'slim' | 'regular';
3210
+ /**
3211
+ * Emitido quando há uma alteração no valor do campo.
3212
+ */
3213
+ "onChangeValue"?: (event: SnkDistinctSearchCustomEvent<IDistinctValue>) => void;
3214
+ /**
3215
+ * Expressão que define os caracteres permitidos na entrada.
3216
+ */
3217
+ "restrict"?: string;
3218
+ /**
3219
+ * Valor inicial do campo.
3220
+ */
3221
+ "value"?: string;
3222
+ }
2837
3223
  interface SnkEntityList {
2838
3224
  /**
2839
3225
  * Configurações para carregar os dados do componente
@@ -3997,6 +4383,8 @@ declare namespace LocalJSX {
3997
4383
  interface TestePesquisa {
3998
4384
  }
3999
4385
  interface IntrinsicElements {
4386
+ "input-distinct-search": InputDistinctSearch;
4387
+ "search-modal": SearchModal;
4000
4388
  "snk-actions-button": SnkActionsButton;
4001
4389
  "snk-actions-form": SnkActionsForm;
4002
4390
  "snk-application": SnkApplication;
@@ -4009,6 +4397,7 @@ declare namespace LocalJSX {
4009
4397
  "snk-data-exporter": SnkDataExporter;
4010
4398
  "snk-data-unit": SnkDataUnit;
4011
4399
  "snk-detail-view": SnkDetailView;
4400
+ "snk-distinct-search": SnkDistinctSearch;
4012
4401
  "snk-entity-list": SnkEntityList;
4013
4402
  "snk-exporter-email-sender": SnkExporterEmailSender;
4014
4403
  "snk-expression-group": SnkExpressionGroup;
@@ -4055,6 +4444,8 @@ export { LocalJSX as JSX };
4055
4444
  declare module "@stencil/core" {
4056
4445
  export namespace JSX {
4057
4446
  interface IntrinsicElements {
4447
+ "input-distinct-search": LocalJSX.InputDistinctSearch & JSXBase.HTMLAttributes<HTMLInputDistinctSearchElement>;
4448
+ "search-modal": LocalJSX.SearchModal & JSXBase.HTMLAttributes<HTMLSearchModalElement>;
4058
4449
  "snk-actions-button": LocalJSX.SnkActionsButton & JSXBase.HTMLAttributes<HTMLSnkActionsButtonElement>;
4059
4450
  "snk-actions-form": LocalJSX.SnkActionsForm & JSXBase.HTMLAttributes<HTMLSnkActionsFormElement>;
4060
4451
  "snk-application": LocalJSX.SnkApplication & JSXBase.HTMLAttributes<HTMLSnkApplicationElement>;
@@ -4067,6 +4458,7 @@ declare module "@stencil/core" {
4067
4458
  "snk-data-exporter": LocalJSX.SnkDataExporter & JSXBase.HTMLAttributes<HTMLSnkDataExporterElement>;
4068
4459
  "snk-data-unit": LocalJSX.SnkDataUnit & JSXBase.HTMLAttributes<HTMLSnkDataUnitElement>;
4069
4460
  "snk-detail-view": LocalJSX.SnkDetailView & JSXBase.HTMLAttributes<HTMLSnkDetailViewElement>;
4461
+ "snk-distinct-search": LocalJSX.SnkDistinctSearch & JSXBase.HTMLAttributes<HTMLSnkDistinctSearchElement>;
4070
4462
  "snk-entity-list": LocalJSX.SnkEntityList & JSXBase.HTMLAttributes<HTMLSnkEntityListElement>;
4071
4463
  "snk-exporter-email-sender": LocalJSX.SnkExporterEmailSender & JSXBase.HTMLAttributes<HTMLSnkExporterEmailSenderElement>;
4072
4464
  "snk-expression-group": LocalJSX.SnkExpressionGroup & JSXBase.HTMLAttributes<HTMLSnkExpressionGroupElement>;
@@ -0,0 +1,6 @@
1
+ export default class DistinctSearchFetcher {
2
+ private readonly SERVICE;
3
+ private buildRequestBody;
4
+ private parseResponseBody;
5
+ fetchItens(coluna: string, instancia: string): Promise<string[]>;
6
+ }
@@ -0,0 +1,2 @@
1
+ declare const snkDistinctSearchMessages: any;
2
+ export default snkDistinctSearchMessages;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "0.0.0-bugfix-dev-KB-74246.1",
3
+ "version": "0.0.0-bugfix-dev-KB-76362.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { JSX } from '@sankhyalabs/sankhyablocks';
3
+ export declare const InputDistinctSearch: import("react").ForwardRefExoticComponent<JSX.InputDistinctSearch & Omit<import("react").HTMLAttributes<HTMLInputDistinctSearchElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLInputDistinctSearchElement>>;
4
+ export declare const SearchModal: import("react").ForwardRefExoticComponent<JSX.SearchModal & Omit<import("react").HTMLAttributes<HTMLSearchModalElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSearchModalElement>>;
3
5
  export declare const SnkActionsButton: import("react").ForwardRefExoticComponent<JSX.SnkActionsButton & Omit<import("react").HTMLAttributes<HTMLSnkActionsButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkActionsButtonElement>>;
4
6
  export declare const SnkActionsForm: import("react").ForwardRefExoticComponent<JSX.SnkActionsForm & Omit<import("react").HTMLAttributes<HTMLSnkActionsFormElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkActionsFormElement>>;
5
7
  export declare const SnkApplication: import("react").ForwardRefExoticComponent<JSX.SnkApplication & Omit<import("react").HTMLAttributes<HTMLSnkApplicationElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkApplicationElement>>;
@@ -12,6 +14,7 @@ export declare const SnkCustomSlotElements: import("react").ForwardRefExoticComp
12
14
  export declare const SnkDataExporter: import("react").ForwardRefExoticComponent<JSX.SnkDataExporter & Omit<import("react").HTMLAttributes<HTMLSnkDataExporterElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkDataExporterElement>>;
13
15
  export declare const SnkDataUnit: import("react").ForwardRefExoticComponent<JSX.SnkDataUnit & Omit<import("react").HTMLAttributes<HTMLSnkDataUnitElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkDataUnitElement>>;
14
16
  export declare const SnkDetailView: import("react").ForwardRefExoticComponent<JSX.SnkDetailView & Omit<import("react").HTMLAttributes<HTMLSnkDetailViewElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkDetailViewElement>>;
17
+ export declare const SnkDistinctSearch: import("react").ForwardRefExoticComponent<JSX.SnkDistinctSearch & Omit<import("react").HTMLAttributes<HTMLSnkDistinctSearchElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkDistinctSearchElement>>;
15
18
  export declare const SnkEntityList: import("react").ForwardRefExoticComponent<JSX.SnkEntityList & Omit<import("react").HTMLAttributes<HTMLSnkEntityListElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkEntityListElement>>;
16
19
  export declare const SnkExporterEmailSender: import("react").ForwardRefExoticComponent<JSX.SnkExporterEmailSender & Omit<import("react").HTMLAttributes<HTMLSnkExporterEmailSenderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkExporterEmailSenderElement>>;
17
20
  export declare const SnkExpressionGroup: import("react").ForwardRefExoticComponent<JSX.SnkExpressionGroup & Omit<import("react").HTMLAttributes<HTMLSnkExpressionGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkExpressionGroupElement>>;
@@ -2,6 +2,8 @@
2
2
  /* tslint:disable */
3
3
  /* auto-generated react proxies */
4
4
  import { createReactComponent } from './react-component-lib';
5
+ export const InputDistinctSearch = /*@__PURE__*/ createReactComponent('input-distinct-search');
6
+ export const SearchModal = /*@__PURE__*/ createReactComponent('search-modal');
5
7
  export const SnkActionsButton = /*@__PURE__*/ createReactComponent('snk-actions-button');
6
8
  export const SnkActionsForm = /*@__PURE__*/ createReactComponent('snk-actions-form');
7
9
  export const SnkApplication = /*@__PURE__*/ createReactComponent('snk-application');
@@ -14,6 +16,7 @@ export const SnkCustomSlotElements = /*@__PURE__*/ createReactComponent('snk-cus
14
16
  export const SnkDataExporter = /*@__PURE__*/ createReactComponent('snk-data-exporter');
15
17
  export const SnkDataUnit = /*@__PURE__*/ createReactComponent('snk-data-unit');
16
18
  export const SnkDetailView = /*@__PURE__*/ createReactComponent('snk-detail-view');
19
+ export const SnkDistinctSearch = /*@__PURE__*/ createReactComponent('snk-distinct-search');
17
20
  export const SnkEntityList = /*@__PURE__*/ createReactComponent('snk-entity-list');
18
21
  export const SnkExporterEmailSender = /*@__PURE__*/ createReactComponent('snk-exporter-email-sender');
19
22
  export const SnkExpressionGroup = /*@__PURE__*/ createReactComponent('snk-expression-group');
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- import{ApplicationContext as e}from"@sankhyalabs/core";const a={saveInfo:{clone:"Duplicação realizada!",insert:"Inclusão realizada!",update:"Alteração realizada!"},cancelInfo:{clone:"Duplicação descartada!",insert:"A inclusão foi descartada!",update:"A edição foi descartada!"},confirm:{cancel:"Cancelar",delete:"Excluir",yes:"Sim",no:"Não"},removeInfo:"Registro removido com sucesso!",cancelConfirmationTitle:"Aviso",cancelConfirmation:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",removeConfirmationTitle:"Aviso",removeConfirmation:"Deseja realmente excluir o registro atual?",forbidden:"Sem permissão",forbiddenUpdate:"Não é possível fazer alterações. Verifique as permissões de acesso.",forbiddenInsert:"Não é possível incluir. Verifique as permissões de acesso.",forbiddenClone:"Não é possível duplicar. Verifique as permissões de acesso.",forbiddenRemove:"Não é possível remover. Verifique as permissões de acesso.",removeAllConfirmation:"Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",removeAllInfo:"Os {{size}} registros foram removidos com sucesso!",fieldNameRequired:"É necessário informar o nome da coluna."},o={addFilter:"Adicionar filtro",pinFilter:"Fixar filtro",unpinFilter:"Desfixar filtro",removeFilter:"Remover filtro",cleanFilter:"Limpar",applyFilter:"Aplicar",findFilter:"Buscar filtros...",findField:"Buscar filtros...",modalFindFilter:"Buscar filtro",emptyFiltersList:"Não há filtros disponíveis",emptyAppliedFiltersList:"Não há filtros aplicados",customFilter:"Filtro personalizado",defaultFilter:"Filtro padrão",failToLoadConfig:"Falha ao buscar configuração de filtros",clearAllFilters:"Limpar todos os filtros",successfullyCleaned:"Filtro limpo com sucesso!",activeFilter:"{{ACTIVE_FILTERS}} filtro aplicado",activeFilters:"{{ACTIVE_FILTERS}} filtros aplicados",noActiveFilters:"Nenhum filtro aplicado",modalDefaultFilterTitle:"Filtro padrão",modalInfoTextEditDefault:"Use o layout antigo para editar o seu filtro padrão, em breve traremos uma nova experiência.",modalInfoTextCreateDefault:"Use o layout antigo para criar o seu filtro padrão, em breve traremos uma nova experiência.",modalPersonalizedFilterTitle:"Filtro personalizado",modalPersonalizedFilterSubTitle:"Gerencie seus filtros",modalInfoTextCreateEditPersonalized:"Use o layout antigo para criar ou editar filtros, em breve traremos uma nova experiência",modalInfoTextCreateFilter:"Criar filtro personalizado",modalInfoTextNoFilterRegister:"Você não possui filtros cadastrados.",modalOkButtonLabel:"Aplicar",modalCancelButtonLabel:"Limpar",binarySelectTooltip:"Exibindo registros",multiListToltip:"selecionado(a)s",onlyStartToltip:"A partir de",onlyEndToltip:"Até",fullPeriodTooltip:"Data de {{LABEL}}: {{START_LABEL}} até {{END_LABEL}}",labelStart:"Inicial",labelEnd:"Final",fullIntervalTooltip:"{{LABEL}}: {{START_LABEL}} até {{END_LABEL}}",filters:"Filtros",personalizedCount:"{{activeCount}} selecionado(s)",filterModal:{title:"Filtros",okButtonLabel:"Aplicar",cancelButtonLabel:"Limpar tudo",customFilters:"Filtros personalizados",quickFilters:"Filtros rápidos",validations:{notFullFilled:{title:"Filtro parcialmente preenchido",message:"Favor completar todas as informações do filtro."},notSaved:{title:"Atenção",message:"As alterações realizadas não serão aplicadas.<br/><br/><b>Deseja mesmo continuar?</b>"}}}},r={titleUpdate:"Editar",titlePrevious:"Anterior",titleNext:"Próximo",titleRefresh:"Atualizar",titleClone:"Duplicar",titleRemove:"Excluir",titleMoreOptions:"Mais Opções",titleInsert:"Cadastrar",titleCancel:"Cancelar",titleSave:"Salvar",titleGridMode:"Modo Grade",titleFormMode:"Modo Formulário",titleConfigurator:"Configurações",titleAttach:"Anexar",forbidden:"Permissão não liberada"},i={errorArray:"CrudUtils.find deve receber um array de fields, ou uma lista separada por virgula."},s={emailSenderTitle:"Enviar por email",emailSenderBackButton:"Voltar",emailSenderNextButton:"Avançar",emailSenderCancelButton:"Cancelar",emailSenderSendButton:"Enviar",emailSenderOptStep_subtitle:"Primeiro, escolha o formato do arquivo",emailSenderOptStep_lblFormat:"Formato:",emailSenderOptStep_formatPDF:"PDF (.pdf)",emailSenderOptStep_formatXLS:"Planilha (.xls)",emailSenderOptStep_export:"Exportar:",emailSenderOptStep_allData:"Toda a grade",emailSenderOptStep_currentPage:"Somente a página atual",emailSenderOptStep_someRecords:"{{SELECTION_COUNT}} linhas selecionadas",emailSenderOptStep_oneRecord:"Somente a linha selecionada",emailSenderInfoStep_subtitle:"Informações de email",emailSenderInfoStep_sendTo:"Enviar para",emailSenderInfoStep_subject:"Assunto",emailSenderInfoStep_message:"Mensagem"},t={title:{clone:"Duplicar registro",insert:"Cadastrar registro",update:"Alterar registro",clean:"{{ENTITY_NAME}}"},findColumn:"Buscar campos",goBackTitle:"Voltar"},l={findColumn:"Busca de colunas",formConfigUnavaliable:{title:"Aviso",message:'A opção "Configurar formulário" será disponibilizada em breve. Enquanto isso, acesse a configuração do fomulário através dos layouts anteriores, HTML5 ou Flex.'}},n={error:{title:"Erro na Exportação",message:"O usuário não possui permissão para exportar o arquivo."},message:{exportSuccess:"Exportado com sucesso!"}},d={newVersionPopup:{title:"Boas vindas à nova interface da tela {{screenName}}",info:"Com uma jornada mais moderna, simples e intuitiva, a performance aprimorada da nova interface impulsionará a sua produtividade.",okButton:"Quero experimentar!",cancelButton:"Voltar à interface anterior"}},c={label:{nameField:"Nome do Campo *",typeValueDefault:"Tipo de valor padrão *",valueDefault:"Valor Padrão",clearDuplicate:"Limpar ao Duplicar",requiredField:"Campo Obrigatório",protectedField:"Campo Protegido"},options:{valueFixed:"Valor Fixo",variable:"Variável"}},m={title:"Configuração do formulário",goBackTitle:"Voltar",applyConfig:"Aplicar configuração",availableFields:{title:"Campos disponíveis",labelNoFields:"Nenhum campo disponível",labelOneField:"1 campo disponível",labelAvailableFields:"Campos disponíveis",labelSearchField:"Procurar campo"},form:{subTitleInfo:"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário!",labelDropField:"Arraste e solte um campo aqui",labelNewGroup:"Adicionar novo grupo",mainArea:"Área principal",tabGeneral:"Geral"},confirm:{title:"Aviso",deleteTab:"Você realmente deseja excluir a aba",cancel:"As alterações realizadas serão descartadas.<br/><br/><b>Gostaria de continuar?</b>",exit:"Ao sair as alterações serão descartadas.<br/><br/><b>Você realmente gostaria de sair?</b>",apply:"A <b>{0}</b> irá substituir a sua configuração {1}!<br/><br/><b>Deseja continuar?</b>",group:"Não é possível salvar as configurações com um grupo vazio!",labelCancel:"Cancelar",labelDelete:"Excluir"},alert:{titleGroupExists:"Já existe um grupo com título",infoValidTitle:"Por favor, digite um título válido.",inTab:"na aba"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"}},u={titleRemove:"Remover",titleConfigurations:"Configurações",titleAdd:"Adicionar"},p={labelRename:"Renomear",labelHide:"Ocultar",labelShow:"Exibir",labelDelete:"Excluir"},f={titleConfigurations:"Configurações",subTitleModeConfig:"Modo de visualização",labelConfigGrid:"Configurar grade",labelConfigForm:"Configurar formulário",labelGrid:"Grade",labelForm:"Formulário"},b={findColumn:"Busca de colunas",cancelConfirmation:{title:"Aviso",message:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>"}},v={gridConfiguration:"Configuração da Grade",columnVisibilityOrder:"Defina visibilidade e ordem das colunas.",sortingSequence:"Sequência da ordenação",findColumn:"Localizar coluna",cancel:"Cancelar",complete:"Concluir",tab:{columns:"Colunas",lineOrdering:"Ordenação das linhas"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"},confirm:{cancel:"Descartar",save:"Salvar",alert:"Aviso",msgCancel:"As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?"},group:{visible:"Visíveis",hidden:"Ocultas"}},g={group:{export:{default:"Exportar para",multiSelected:"Exportar {0} linhas selecionadas",selectedLine:"Exportar somente 1 linha selecionada",title:"Exportar"},custom:"Personalizado"},label:{currentPage:"Somente a página atual",allRecords:"Todos os registros",spreadsheet:"Planilha",cube:"Cubo",sendByEmail:"Enviar por email"},message:{emailSuccess:"E-mail enviado com sucesso",exportError:"Falha ao exportar dados",unknownFailure:"O motivo da falha não pode ser identificado.",exportPermission:"O usuário não possui permissão para exportar o arquivo."},title:{error:"Erro",permission:"Falha detectada"},limitExceeded:{title:"Atenção",description:"Apenas os {{limit}} primeiros registros serão exportados. Deseja continuar?",subdescription:"Caso seja necessária uma quantidade maior de registros exportados, utilize o Extrator de Dados através de um Relatório Personalizado.",cancel:"Cancelar",continue:"Continuar"}},A={modalTitle:"Configuração de valor variável",labelSystemConfig:"Usar definições do sistema",labelUserConfig:"Usar definições personalizadas",labelInstance:"Categoria",labelField:"Campo",labelDescription:"Descrição (obrigatório) *",labelType:"Tipo (obrigatório) *",labelTypeValues:{date:"Data",text:"Texto",integer:"Número Inteiro",decimal:"Número com Decimal"},labelExpression:"Expressão",labelCancel:"Cancelar",labelSave:"Salvar"},C={searchLabel:"Buscar campo",fieldLabel:"Campos de {{link}}",linkLabel:"Categorias de {{link}}",groupEmpty:"Não há categorias para seleção",searchEmpty:"Nenhum resultado encontrado"},F={backTitle:"Voltar"},S={title:"Anexar arquivos",description:"Faça o upload dos arquivos ou informe links que deseja anexar ao título",attachHint:"Fazer download do arquivo",breadcrumbTitle:"Anexar",finishedMessage:"O anexo foi finalizado com sucesso",finish:"Finalizar",cancelConfirmation:{title:"Atenção",message:"As alterações realizadas não serão aplicadas.<br/><br/><b>Deseja mesmo continuar?</b>"},alertValidation:{fileAndLinkAtTheSameTime:{title:"Atenção",message:"Não é permitido inserir o arquivo e o link ao mesmo tempo."},anyLinkOrFileFilled:{title:"Atenção",message:'É necessário preencher o campo "Link" ou anexar um arquivo.'},descriptionCannotBeChanged:{title:"Atenção",message:"O campo 'Descrição' não pode ser alterado."}},taskbar:{titleDownload:"Fazer download",titleLink:"Abrir link"},attachMetadata:{lblCode:"Código",lblDescription:"Descrição",lblFileOrLink:"Arquivo / Link",lblUser:"Usuário",lblDate:"Data de alteração",lblFile:"Arquivo",lblSubTitle:"Clique para selecionar um arquivo"}},x={info:{titleEdit:"Editar filtro personalizado",titleAdd:"Criar filtro personalizado",titleCollapsible:"Expressão a ser aplicada (gerada pelo assistente)",labelSearchField:"Buscar campo",labelOperator:"Operador",labelValueVarible:"Valor variável",titleTooltip:"Ao ativar um valor variável, é possível inserir um valor diferente sempre que o filtro for aplicado",labelAddNewExpression:"Adicionar nova linha de expressão",labelDeleteExpression:"Remover expressão",labelDeleteItem:"Remover item",labelDisabledAddGroupButton:"Filtros Personalizados possuem um limite de {{LIMIT_GROUP_LEVEL}} Grupos de Condições e Valores",labelDisabledAddExpressionButton:"Preencha campos obrigatórios ou indique valores variáveis nas expressões do grupo antes de adicionar mais itens",labelCancel:"Cancelar",labelSave:"Salvar",labelNameFilter:"Nome do filtro",labelExpression:"Expressão",badgeVariable:"variável",noDataFound:"Nenhum filtro encontrado",condition:"Condição",addGroup:"Adicionar grupo",addField:"Adicionar campo",applyExpression:"Expressão a ser aplicada:",tooltipDisabledAssistentMode:"Expressão não suportada pelo assistente.",activeModeAdvanced:"Ativar modo avançado",activeModeAssistent:"Ativar modo assistente"},confirmExpression:{title:"Aviso",description:"As informações da condição serão descartadas.</br></br><b>Gostaria de continuar?</b>"},confirmGroup:{title:"Aviso",description:"As informações do Grupo e suas Condições serão descartadas.</br></br><b>Gostaria de continuar?</b>"},confirmCancel:{title:"Aviso",description:"As alterações realizadas serão descartadas.</br></br><b>Gostaria de continuar?</b>"},confirmChangeModeAssistent:{title:"Aviso",description:"Ao modificar a expressão, o modo assistente será desabilitado.</br></br><b>Gostaria de continuar?</b>"},confirmChangeModeAdvanced:{title:"Aviso",description:"Ao retornar ao modo assistente suas alterações serão perdidas.</br></br><b>Gostaria de continuar?</b>"},confirmSaveModeAdvanced:{title:"Aviso",description:"Ao modificar a expressão, o modo assistente será desabilitado.</br></br><b>Gostaria de continuar?</b>"},operador:{firstLevel:"A seleção será habilitada a partir da adição da segunda linha de regras.",and:"Será verdadeiro se todas as condições forem obedecidas.",or:"Será verdadeiro se qualquer uma das condições for obedecida."},error:{title:"Atenção",description:"Há pelo menos um campo obrigatório não preenchido."},errorValidation:{title:"Erro na expressão"},confirmSave:{title:"Filtro criado com sucesso!"},confirmEdit:{title:"Filtro atualizado com sucesso!"},deleteConfirm:{title:"Aviso",message:"Deseja realmente excluir o filtro '{{filterName}}'?"},listActions:{edit:"Editar",delete:"Excluir"},footerActions:{clear:"Limpar",create:"Criar filtro"}},h={selected:"Selecionados:"},E={title:{actions:"Ações",error:"Erro",warning:"Aviso"},action:{incorrectAction:'A ação "{{description}}" não pode ser executada porque ela não foi salva corretamente.',emptyParamName:"<b>Regra Personalizada:</b><br/><br/>É necessário informar o atributo 'paramName'",nonExistentType:"Tipo de ação não implementada: {{this.actionType}}"},launchScreen:{emptyField:'A ação "{{description}}" não pôde ser executada porque o campo "{{localFieldLabel}}" está vazio.'},form:{fillParams:"Informe os parâmetros"},clientEvent:{cancelMessage:"Caso queira cancelar, feche esta mensagem."},buttons:{apply:"Aplicar",cancel:"Cancelar",yes:"Sim",no:"Não"}},T={title:{warning:"Aviso",printerSelection:"Seleção de impressora",remotePrintersTab:"Impressoras remotas",localPrintersTab:"Impressoras locais"},subtitle:{document:"Documento:",jobs:"Trabalhos:"},message:{canceledPrint:"A impressão será cancelada. Deseja mesmo continuar?",noPrinters:"Não há impressoras para seleção",savePrinter:"Usar sempre esta seleção"},button:{print:"Imprimir",cancel:"Cancelar",yes:"Sim",no:"Não"}};class D{constructor(D){this._defaults={snkApplication:d,snkDataUnit:a,snkFormConfig:m,snkConfigOptions:c,snkTaskbar:r,snkFieldConfig:u,snkFilterBar:o,snkConfigurator:f,snkTabConfig:p,crudUtils:i,snkGrid:b,snkGridConfig:v,snkExporter:s,snkDataExporter:g,snkCrud:t,snkSimpleCrud:l,fileViewer:n,snkFilterParamConfig:A,snkFilterFieldSearch:C,snkSimpleBar:F,snkAttach:S,snkPersonalizedFilter:x,snkEntityList:h,snkActionsButton:E,snkPrintSelector:T},this._currentOperation=L.CLEAN,this._domainName=D,this._application=e.getContextValue("__SNK__APPLICATION__"),this.loadAppMessages().then((e=>{this._appMessages=e}),(e=>{console.info("O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages",e)}))}set currentOperation(e){this._currentOperation=e}getMessage(e,a){if(null==e)return;var o=e.split(".");let r=this.resolveMessage(o,this.getDomainMessages());if(null==r&&(r=this.resolveMessage(o,this._defaults)),this.customMessageBuilder){const o=this.customMessageBuilder(e,r,a);r=o.message,a=o.params}return this.postProcess(r,a)}getDomainMessages(){if(this._appMessages)return this._domainName?this._appMessages[this._domainName]:this._appMessages.Global||this._appMessages}resolveMessage(e,a){if(null==a)return;const o=a[e[0]];return o?this.isOperationSensitive(o)?o[this._currentOperation]:1===e.length||null==o||"string"==typeof o?o:this.resolveMessage(e.slice(1),o):void 0}isOperationSensitive(e){return null!=e[L.CLONE]||null!=e[L.INSERT]||null!=e[L.UPDATE]||null!=e[L.CLEAN]}postProcess(e,a){if(e){const o=/(.*?)\{\{(.+?)\}\}/g;let r,i="",s=e;for(;null!==(r=o.exec(e));){const[o,t,l]=r,n=r.index+o.length;s=n<e.length?e.substring(n):"";let d=a?a[l]:void 0;null==d&&(d=""),i+=t+d}return i+s}return e}async loadAppMessages(){const e=await this._application.getApplicationPath();return(await import(`${e}/messages/appmessages.js`)).default}}var L;!function(e){e.CLONE="clone",e.INSERT="insert",e.UPDATE="update",e.CLEAN="clean"}(L||(L={}));export{L as O,D as S}
@@ -1 +0,0 @@
1
- import{C as t}from"./p-9ffd9fc7.js";import{ObjectUtils as e,StringUtils as i}from"@sankhyalabs/core";import{F as s}from"./p-126c58ea.js";import{b as r}from"./p-95ce311a.js";class n{constructor(t,e,i,s){this._resourceID=e,this._configName=t,this._onConfigChange=i,this._dataUnit=s}addFormLegacyConfig(e){this._configName&&t.addFormLegacyConfig(this._configName,e)}async loadConfig(){return new Promise((e=>{t.loadFormConfig(this._configName,this._resourceID).then((t=>{t=this.buildFormMetadataUITabs(t),this.setConfig(t),e(t)})).catch((t=>{console.warn(t)}))}))}getEmptyConfig(){return this.buildFormMetadataUITabs({fields:[],emptyConfig:!0},!0)}saveConfig(i){const s=e.copy(i);return new Promise((e=>{t.saveFormConfig(i,this._configName,this._resourceID).then((t=>{this.setConfig(Object.assign(Object.assign({},s),t)),e(Object.assign(Object.assign({},s),t))}))}))}saveCardState(e,i,s){return new Promise((r=>{var n;const l=(null===(n=this._config)||void 0===n?void 0:n.cardsState)||new Map,a=l.get(e);l.set(e,"fixed"===s?this.updateFixSequence(Object.assign(Object.assign({},a),{fixed:i.fixed}),l):Object.assign(Object.assign({},a),{[s]:i[s]})),t.saveCardState(l,this._configName,this._resourceID).then((t=>{this._config=Object.assign(Object.assign({},this._config),{cardsState:l}),r(t)}))}))}updateFixSequence(t,e){let i=-1;return Array.from(e.values()).forEach((e=>{e.fixed||delete t.fixSequence,null!=e.fixSequence&&(i=Math.max(i,e.fixSequence))})),t.fixed?t.fixSequence=i+1:delete t.fixSequence,t}hasConfig(t){var e;const i=null!=t?t:this._config;return!(!i||!(null===(e=i.fields)||void 0===e?void 0:e.length))}getFieldsList(t,e=!1){var i;const s=null===(i=this._config)||void 0===i?void 0:i.fields;return this.hasConfig()&&!e?s.map((({label:t,name:e,readOnly:i,visible:s,required:r,tab:n,group:l})=>{var a;if(null==t){const t=null===(a=this._dataUnit)||void 0===a?void 0:a.getField(e);return Object.assign(Object.assign({},t),{name:null!=e?e:t.name,readOnly:null!=i?i:t.readOnly,visible:null!=s?s:t.visible,required:null!=r?r:t.required,tab:n,group:l})}return{name:e,label:t,readOnly:i,visible:s,required:r,tab:n,group:l}})).filter((e=>this.isFieldVisible(e,t))):this._dataUnit?this._dataUnit.metadata.fields.filter((e=>this.isFieldVisible(e,t))).map((({label:t,name:e,readOnly:i,visible:s,required:r,properties:n})=>({label:t,name:e,readOnly:i,visible:s,required:r,tab:null==n?void 0:n.UITabName}))):[]}isFieldVisible(t,e){if(!1===t.visible)return!1;if(null==e)return!0;const s=i.replaceAccentuatedCharsLower((t.label||t.name).toLocaleLowerCase()),r=i.replaceAccentuatedCharsLower(e.toLocaleLowerCase());return s.includes(r)}getFormConfig(t,e,i=!1){let s=this.getFieldsList(void 0,i);return e&&(s=s.filter((e=>{if(t){const i=t.getField(e.name);if(i&&i.readOnly)return!1}return!e.readOnly}))),Object.assign(Object.assign({},this._config),{fields:s})}setConfig(t){this.isLoaded=!0;const{cardsState:e,summary:i,defaultVars:s}=this._config||{};this._config=Object.assign({},t),e&&(this._config.cardsState=e),i&&(this._config.summary=i),s&&(this._config.defaultVars=s),this._onConfigChange&&this._onConfigChange(Object.assign({},this._config))}getConfig(t,e){return this.getFormConfig(t,null==e||e)}getFormConfigFetcher(){return null==this._formConfigFetcher&&(this._formConfigFetcher=new s),this._formConfigFetcher}async fetchUserAvailableConfigs(){return null!=this._configName?Promise.resolve(void 0):this.getFormConfigFetcher().fetchUserAvailableConfigs(this._configName,this._resourceID)}async fetchLegacyConfig(){return this.getFormConfigFetcher().fetchLegacyConfig(this._configName,this._resourceID)}async fetchDefaultConfig(){return this.getFormConfigFetcher().fetchDefaultConfig(this._configName,this._resourceID)}parseObjectList(t){return t?Array.isArray(t)?t:[t]:[]}buildFormMetadataUITabs(t,e=!1){var i;const s=this.hasConfig(t);if(!e&&(!this._dataUnit||s))return t;(t=this.getFormConfig(this._dataUnit,!1,!0)).tabs=this.parseObjectList(t.tabs),t.emptyConfig=!1,t.defaultConfiguration=!0;const n=this._dataUnit.metadata.fields;for(const e of n){const s=t.fields.find((t=>t.name===e.name)),n=null===(i=e.properties)||void 0===i?void 0:i.UITabName;n&&n!==r.main&&(t.tabs.some((t=>t.label===n))||t.tabs.push({label:n,name:n,order:0,visible:!0}),s&&(s.tab=n))}return t}}export{n as S}