@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-48570.0 → 0.0.0-bugfix-dev-KB-49699.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 (94) hide show
  1. package/dist/cjs/{ConfigStorage-d4c99a5e.js → ConfigStorage-34be11ce.js} +68 -5
  2. package/dist/cjs/{SnkFormConfigManager-0ffd098d.js → SnkFormConfigManager-6211fb28.js} +6 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  5. package/dist/cjs/snk-actions-button_4.cjs.entry.js +1 -1
  6. package/dist/cjs/snk-application.cjs.entry.js +8 -2
  7. package/dist/cjs/snk-crud.cjs.entry.js +4 -1
  8. package/dist/cjs/snk-detail-view.cjs.entry.js +3 -3
  9. package/dist/cjs/snk-filter-bar.cjs.entry.js +8 -1
  10. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-form.cjs.entry.js +9 -2
  12. package/dist/cjs/snk-grid.cjs.entry.js +11 -2
  13. package/dist/cjs/{snk-guides-viewer-75047f22.js → snk-guides-viewer-508bb6fe.js} +8 -1
  14. package/dist/cjs/snk-guides-viewer.cjs.entry.js +3 -3
  15. package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-simple-crud.cjs.entry.js +69 -11
  17. package/dist/cjs/snk-taskbar.cjs.entry.js +6 -1
  18. package/dist/collection/components/snk-application/snk-application.js +42 -2
  19. package/dist/collection/components/snk-crud/snk-crud.js +55 -1
  20. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +24 -0
  21. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +24 -0
  22. package/dist/collection/components/snk-form/snk-form.js +24 -0
  23. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +6 -1
  24. package/dist/collection/components/snk-grid/snk-grid.js +44 -1
  25. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +122 -8
  26. package/dist/collection/components/snk-taskbar/snk-taskbar.js +7 -0
  27. package/dist/collection/lib/configs/ConfigStorage.js +63 -3
  28. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  29. package/dist/components/ConfigStorage.js +68 -5
  30. package/dist/components/SnkFormConfigManager.js +5 -0
  31. package/dist/components/snk-application2.js +9 -1
  32. package/dist/components/snk-crud.js +7 -1
  33. package/dist/components/snk-detail-view2.js +8 -0
  34. package/dist/components/snk-filter-bar2.js +8 -0
  35. package/dist/components/snk-form.js +8 -0
  36. package/dist/components/snk-grid2.js +12 -1
  37. package/dist/components/snk-simple-crud2.js +70 -9
  38. package/dist/components/snk-taskbar2.js +6 -1
  39. package/dist/esm/{ConfigStorage-39ed8aeb.js → ConfigStorage-101a2b4c.js} +68 -5
  40. package/dist/esm/{SnkFormConfigManager-dd450734.js → SnkFormConfigManager-d86ba46f.js} +6 -1
  41. package/dist/esm/loader.js +1 -1
  42. package/dist/esm/sankhyablocks.js +1 -1
  43. package/dist/esm/snk-actions-button_4.entry.js +1 -1
  44. package/dist/esm/snk-application.entry.js +8 -2
  45. package/dist/esm/snk-crud.entry.js +4 -1
  46. package/dist/esm/snk-detail-view.entry.js +3 -3
  47. package/dist/esm/snk-filter-bar.entry.js +8 -1
  48. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  49. package/dist/esm/snk-form.entry.js +9 -2
  50. package/dist/esm/snk-grid.entry.js +11 -2
  51. package/dist/esm/{snk-guides-viewer-8b679ee6.js → snk-guides-viewer-18859840.js} +8 -1
  52. package/dist/esm/snk-guides-viewer.entry.js +3 -3
  53. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  54. package/dist/esm/snk-simple-crud.entry.js +69 -11
  55. package/dist/esm/snk-taskbar.entry.js +6 -1
  56. package/dist/sankhyablocks/p-1f3174cb.entry.js +1 -0
  57. package/dist/sankhyablocks/p-1fa5a18c.entry.js +11 -0
  58. package/dist/sankhyablocks/p-5c0b53ce.js +56 -0
  59. package/dist/sankhyablocks/p-5dbc1a3f.js +1 -0
  60. package/dist/sankhyablocks/p-60fa6c7a.js +1 -0
  61. package/dist/sankhyablocks/p-64c1b368.entry.js +1 -0
  62. package/dist/sankhyablocks/p-650f7216.entry.js +1 -0
  63. package/dist/sankhyablocks/{p-9d608b62.entry.js → p-6b28cc74.entry.js} +1 -1
  64. package/dist/sankhyablocks/{p-827e4b01.entry.js → p-7ddd95b6.entry.js} +1 -1
  65. package/dist/sankhyablocks/{p-9fb97691.entry.js → p-b41a622a.entry.js} +1 -1
  66. package/dist/sankhyablocks/{p-d0bc5ef3.entry.js → p-b4de81ac.entry.js} +1 -1
  67. package/dist/sankhyablocks/p-d01ceda6.entry.js +1 -0
  68. package/dist/sankhyablocks/p-d304659d.entry.js +1 -0
  69. package/dist/sankhyablocks/{p-a1c630fb.entry.js → p-e4fb3308.entry.js} +1 -1
  70. package/dist/sankhyablocks/p-fbfab20b.entry.js +1 -0
  71. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  72. package/dist/types/components/snk-application/snk-application.d.ts +8 -0
  73. package/dist/types/components/snk-crud/snk-crud.d.ts +12 -0
  74. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +5 -0
  75. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
  76. package/dist/types/components/snk-form/snk-form.d.ts +5 -0
  77. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +1 -0
  78. package/dist/types/components/snk-grid/snk-grid.d.ts +9 -0
  79. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +19 -0
  80. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +1 -0
  81. package/dist/types/components.d.ts +104 -0
  82. package/dist/types/lib/configs/ConfigStorage.d.ts +21 -1
  83. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  84. package/package.json +1 -1
  85. package/dist/sankhyablocks/p-230f5148.entry.js +0 -1
  86. package/dist/sankhyablocks/p-3e2e2424.entry.js +0 -1
  87. package/dist/sankhyablocks/p-4b0c5921.entry.js +0 -1
  88. package/dist/sankhyablocks/p-5eaecd30.entry.js +0 -1
  89. package/dist/sankhyablocks/p-61da4a55.entry.js +0 -1
  90. package/dist/sankhyablocks/p-67aedbe0.js +0 -56
  91. package/dist/sankhyablocks/p-746fc99e.entry.js +0 -1
  92. package/dist/sankhyablocks/p-8a00836e.js +0 -1
  93. package/dist/sankhyablocks/p-9ea14b61.js +0 -1
  94. package/dist/sankhyablocks/p-c4bcdd4b.entry.js +0 -11
@@ -137,6 +137,10 @@ export namespace Components {
137
137
  * Com base em um campo realiza um "select distinct" respeitando os filtros atuais do dataUnit e um critério de filtro para a própria coluna.
138
138
  */
139
139
  "executeSelectDistinct": (dataUnit: DataUnit, fieldName: string, argument: string) => Promise<Array<any>>;
140
+ /**
141
+ * Chave da configuração legado do formulário.
142
+ */
143
+ "formLegacyConfigName": string;
140
144
  /**
141
145
  * Obtém todos os acessos do usuário logado.
142
146
  */
@@ -199,6 +203,10 @@ export namespace Components {
199
203
  * Obtém o UserId da tela em questão.
200
204
  */
201
205
  "getUserID": () => Promise<string>;
206
+ /**
207
+ * Chave da configuração legado da grade.
208
+ */
209
+ "gridLegacyConfigName": string;
202
210
  /**
203
211
  * Obtém `true` caso o usuário logado tem permissão pra determinada ação.
204
212
  */
@@ -424,10 +432,18 @@ export namespace Components {
424
432
  * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) e no modal lateral de filtros (container de filtros personalizados).
425
433
  */
426
434
  "disablePersonalizedFilter": boolean;
435
+ /**
436
+ * Chave da configuração legado da barra de filtros.
437
+ */
438
+ "filterBarLegacyConfigName": string;
427
439
  /**
428
440
  * Título que será apresentado na barra de filtros
429
441
  */
430
442
  "filterBarTitle": string;
443
+ /**
444
+ * Chave da configuração legado do formulário.
445
+ */
446
+ "formLegacyConfigName": string;
431
447
  /**
432
448
  * Retorna o elemento da filter-bar da grade.
433
449
  */
@@ -436,6 +452,10 @@ export namespace Components {
436
452
  * Usado para alternar a visão entre GRID e FORM externamente.
437
453
  */
438
454
  "goToView": (mode: string) => Promise<void>;
455
+ /**
456
+ * Chave da configuração legado da grade.
457
+ */
458
+ "gridLegacyConfigName": string;
439
459
  /**
440
460
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
441
461
  */
@@ -747,6 +767,10 @@ export namespace Components {
747
767
  * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) e no modal lateral de filtros (container de filtros personalizados).
748
768
  */
749
769
  "disablePersonalizedFilter": boolean;
770
+ /**
771
+ * Chave da configuração legado da barra de filtros.
772
+ */
773
+ "filterBarLegacyConfigName": string;
750
774
  /**
751
775
  * Lista todos os filtros disponíveis ao usuário.
752
776
  */
@@ -1057,6 +1081,10 @@ export namespace Components {
1057
1081
  * Nome usado para guardar/recuperar as configurações do formulário.
1058
1082
  */
1059
1083
  "configName": string;
1084
+ /**
1085
+ * Chave da configuração legado do formulário.
1086
+ */
1087
+ "formLegacyConfigName": string;
1060
1088
  /**
1061
1089
  * Fecha a janela de configurações do formulário.
1062
1090
  */
@@ -1176,6 +1204,10 @@ export namespace Components {
1176
1204
  * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) e no modal lateral de filtros (container de filtros personalizados).
1177
1205
  */
1178
1206
  "disablePersonalizedFilter": boolean;
1207
+ /**
1208
+ * Chave da configuração legado da barra de filtros.
1209
+ */
1210
+ "filterBarLegacyConfigName": string;
1179
1211
  /**
1180
1212
  * Título que será apresentado na barra de filtros
1181
1213
  */
@@ -1192,6 +1224,10 @@ export namespace Components {
1192
1224
  * Nome do slot de elementos customizados da Taskbar do cabeçalho da grade.
1193
1225
  */
1194
1226
  "gridHeaderCustomSlotId": string;
1227
+ /**
1228
+ * Chave da configuração legado da grade.
1229
+ */
1230
+ "gridLegacyConfigName": string;
1195
1231
  /**
1196
1232
  * Fecha a janela de configurações da grade.
1197
1233
  */
@@ -1312,6 +1348,10 @@ export namespace Components {
1312
1348
  * Abre o localizador de campos
1313
1349
  */
1314
1350
  "findField": () => Promise<void>;
1351
+ /**
1352
+ * Chave da configuração legado do formulário.
1353
+ */
1354
+ "formLegacyConfigName": string;
1315
1355
  /**
1316
1356
  * Configuração do formulário master.
1317
1357
  */
@@ -1444,12 +1484,24 @@ export namespace Components {
1444
1484
  "dataState": DataState1;
1445
1485
  "dataUnit": DataUnit;
1446
1486
  "formConfig": IFormConfig;
1487
+ /**
1488
+ * Chave da configuração legado do formulário.
1489
+ */
1490
+ "formLegacyConfigName": string;
1447
1491
  "getRecords": () => Promise<Array<Record>>;
1448
1492
  /**
1449
1493
  * Usado para alternar a visão entre GRID e FORM externamente.
1450
1494
  */
1451
1495
  "goToView": (view: VIEW_MODE) => Promise<void>;
1452
1496
  "gridConfig": IGridConfig;
1497
+ /**
1498
+ * Chave da configuração legado da grade.
1499
+ */
1500
+ "gridLegacyConfigName": string;
1501
+ /**
1502
+ * Ignora os campos "somente leitura" no modo de inserção.
1503
+ */
1504
+ "ignoreReadOnlyFormFields": boolean;
1453
1505
  /**
1454
1506
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
1455
1507
  */
@@ -2134,6 +2186,14 @@ declare namespace LocalJSX {
2134
2186
  * Usado para salvar as configurações dos blocos de construção.
2135
2187
  */
2136
2188
  "configName"?: string;
2189
+ /**
2190
+ * Chave da configuração legado do formulário.
2191
+ */
2192
+ "formLegacyConfigName"?: string;
2193
+ /**
2194
+ * Chave da configuração legado da grade.
2195
+ */
2196
+ "gridLegacyConfigName"?: string;
2137
2197
  /**
2138
2198
  * Usado para receber um parâmetro na inicialização da tela, e utilizá-lo conforme necessário caso a tela receba um parâmetro, e, esta propriedade não seja informada é criado um filtro de forma automática através do método defaultLoadByPk
2139
2199
  */
@@ -2277,10 +2337,22 @@ declare namespace LocalJSX {
2277
2337
  * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) e no modal lateral de filtros (container de filtros personalizados).
2278
2338
  */
2279
2339
  "disablePersonalizedFilter"?: boolean;
2340
+ /**
2341
+ * Chave da configuração legado da barra de filtros.
2342
+ */
2343
+ "filterBarLegacyConfigName"?: string;
2280
2344
  /**
2281
2345
  * Título que será apresentado na barra de filtros
2282
2346
  */
2283
2347
  "filterBarTitle"?: string;
2348
+ /**
2349
+ * Chave da configuração legado do formulário.
2350
+ */
2351
+ "formLegacyConfigName"?: string;
2352
+ /**
2353
+ * Chave da configuração legado da grade.
2354
+ */
2355
+ "gridLegacyConfigName"?: string;
2284
2356
  /**
2285
2357
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
2286
2358
  */
@@ -2637,6 +2709,10 @@ declare namespace LocalJSX {
2637
2709
  * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) e no modal lateral de filtros (container de filtros personalizados).
2638
2710
  */
2639
2711
  "disablePersonalizedFilter"?: boolean;
2712
+ /**
2713
+ * Chave da configuração legado da barra de filtros.
2714
+ */
2715
+ "filterBarLegacyConfigName"?: string;
2640
2716
  /**
2641
2717
  * Lista todos os filtros disponíveis ao usuário.
2642
2718
  */
@@ -2921,6 +2997,10 @@ declare namespace LocalJSX {
2921
2997
  * Nome usado para guardar/recuperar as configurações do formulário.
2922
2998
  */
2923
2999
  "configName"?: string;
3000
+ /**
3001
+ * Chave da configuração legado do formulário.
3002
+ */
3003
+ "formLegacyConfigName"?: string;
2924
3004
  /**
2925
3005
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
2926
3006
  */
@@ -3063,6 +3143,10 @@ declare namespace LocalJSX {
3063
3143
  * Desabilita a apresentação da opção de filtros personalizados na filter bar (chip de filtros) e no modal lateral de filtros (container de filtros personalizados).
3064
3144
  */
3065
3145
  "disablePersonalizedFilter"?: boolean;
3146
+ /**
3147
+ * Chave da configuração legado da barra de filtros.
3148
+ */
3149
+ "filterBarLegacyConfigName"?: string;
3066
3150
  /**
3067
3151
  * Título que será apresentado na barra de filtros
3068
3152
  */
@@ -3071,6 +3155,10 @@ declare namespace LocalJSX {
3071
3155
  * Nome do slot de elementos customizados da Taskbar do cabeçalho da grade.
3072
3156
  */
3073
3157
  "gridHeaderCustomSlotId"?: string;
3158
+ /**
3159
+ * Chave da configuração legado da grade.
3160
+ */
3161
+ "gridLegacyConfigName"?: string;
3074
3162
  /**
3075
3163
  * Determina se a grade está vinculada a um detalhe.
3076
3164
  */
@@ -3187,6 +3275,10 @@ declare namespace LocalJSX {
3187
3275
  * Determina todo o caminho de entidades.
3188
3276
  */
3189
3277
  "entityPath"?: string;
3278
+ /**
3279
+ * Chave da configuração legado do formulário.
3280
+ */
3281
+ "formLegacyConfigName"?: string;
3190
3282
  /**
3191
3283
  * Configuração do formulário master.
3192
3284
  */
@@ -3338,7 +3430,19 @@ declare namespace LocalJSX {
3338
3430
  "dataState"?: DataState1;
3339
3431
  "dataUnit"?: DataUnit;
3340
3432
  "formConfig"?: IFormConfig;
3433
+ /**
3434
+ * Chave da configuração legado do formulário.
3435
+ */
3436
+ "formLegacyConfigName"?: string;
3341
3437
  "gridConfig"?: IGridConfig;
3438
+ /**
3439
+ * Chave da configuração legado da grade.
3440
+ */
3441
+ "gridLegacyConfigName"?: string;
3442
+ /**
3443
+ * Ignora os campos "somente leitura" no modo de inserção.
3444
+ */
3445
+ "ignoreReadOnlyFormFields"?: boolean;
3342
3446
  /**
3343
3447
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
3344
3448
  */
@@ -3,13 +3,30 @@ import { SnkFilterItemConfig } from "../../components/snk-filter-bar/filter-item
3
3
  import { IFormCardConfig, IFormConfig } from "@sankhyalabs/ezui/dist/types/utils/form/interfaces";
4
4
  import { ISaveResourceResponse } from "../http/data-fetcher/fetchers/resource-fetcher";
5
5
  import { IPersonalizedFilter, IValidateFilter } from "../../components/snk-personalized-filter/interfaces/IPersonalizedFilter";
6
+ export declare enum CONFIG_SOURCE {
7
+ form = "form",
8
+ grid = "grid",
9
+ filterBar = "filterBar"
10
+ }
11
+ export interface ILegacyConfigNameParams {
12
+ gridLegacyConfig?: string;
13
+ formLegacyConfig?: string;
14
+ }
6
15
  export declare class ConfigStorage {
16
+ private static readonly CONFIG_NAME_ERROR_MESSAGE;
17
+ private static readonly LEGACY_CONFIG_NAME_ERROR_MESSAGE;
18
+ private static filterBarLegacyConfig;
19
+ private static formLegacyConfig;
20
+ private static gridLegacyConfig;
7
21
  private static configById;
8
22
  private static filterBarConfigFetcher;
9
23
  private static formConfigFetcher;
10
24
  private static gridConfigFetcher;
11
25
  private static personalizedFilterFetcher;
12
- static preload(resourceID: string, configName: string): void;
26
+ static addFilterBarLegacyConfig(configName: string, legacyConfigName: string): void;
27
+ static addFormLegacyConfig(configName: string, legacyConfigName: string): void;
28
+ static addGridLegacyConfig(configName: string, legacyConfigName: string): void;
29
+ static preload(resourceID: string, configName: string, legacyConfigs?: ILegacyConfigNameParams): void;
13
30
  static loadFilterBarConfig(name: string, resourceID: string, urlParams?: object): Promise<Array<SnkFilterItemConfig>>;
14
31
  static loadFormConfig(name: string, resourceID: string): Promise<IFormConfig>;
15
32
  static loadGridConfig(name: string, resourceID: string): Promise<IGridConfig>;
@@ -24,6 +41,9 @@ export declare class ConfigStorage {
24
41
  static deleteGridConfigCache(name: string, resourceID: string): Promise<void>;
25
42
  static deleteFormConfigCache(name: string, resourceID: string): Promise<void>;
26
43
  static deleteFilterBarConfigCache(name: string, resourceID: string): Promise<void>;
44
+ private static validateConfigName;
45
+ private static handleLegacyConfig;
46
+ private static handleLegacyConfigAsString;
27
47
  private static deleteConfigCache;
28
48
  private static buildCacheID;
29
49
  }
@@ -5,7 +5,8 @@ export default class PersonalizedFilterFetcher {
5
5
  constructor();
6
6
  private resolveURI;
7
7
  private buildTemplates;
8
- loadPersonalizedFilter(resourceID: string, filterID: string, configName?: string): Promise<IPersonalizedFilter>;
8
+ loadPersonalizedFilter(resourceID: string, filterID: string, configName?: string, legacyConfigName?: string): Promise<IPersonalizedFilter>;
9
+ private resolveLegacyConfigName;
9
10
  savePersonalizedFilter(personalizedFilter: IPersonalizedFilter, resourceID: string, configName?: string): Promise<IPersonalizedFilter>;
10
11
  removePersonalizedFilter(personalizedFilter: IPersonalizedFilter, resourceID: string, configName?: string): Promise<IPersonalizedFilter>;
11
12
  validatePersonalizedFilter(dataUnitName: string, expression: string): Promise<IValidateFilter>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "0.0.0-bugfix-dev-KB-48570.0",
3
+ "version": "0.0.0-bugfix-dev-KB-49699.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- import{r as t,c as s,h as i,H as e,g as a}from"./p-d2d301a6.js";import{StringUtils as n,ApplicationContext as h,OVERFLOWED_CLASS_NAME as r,OverflowWatcher as o,OverflowDirection as l,ElementIDUtils as d}from"@sankhyalabs/core";import{A as u}from"./p-dc36cfbf.js";import{T as v,V as k,A as m,b as c,a as b}from"./p-ae4fc9a9.js";import{P as p}from"./p-38289a55.js";import"./p-6dc031de.js";const T=class{constructor(i){t(this,i),this.actionClick=s(this,"actionClick",7),this.TASKBAR_ITEM_ID_PREFIX="TASKBAR_ITEM_",this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME="taskbar-custom-elements-container",this.ACTIONS_BUTTON_TAG="TASKBAR-ACTIONS-BUTTON",this.NOT_OVERFLOW_ELEMENTS=["moreOptions","dataExporter_snkDataExporter","actionsButton_snkActionsButton"],this._titleKeyByElement={[v.UPDATE]:"snkTaskbar.titleUpdate",[v.PREVIOUS]:"snkTaskbar.titlePrevious",[v.NEXT]:"snkTaskbar.titleNext",[v.REFRESH]:"snkTaskbar.titleRefresh",[v.CLONE]:"snkTaskbar.titleClone",[v.REMOVE]:"snkTaskbar.titleRemove",[v.MORE_OPTIONS]:"snkTaskbar.titleMoreOptions",[v.INSERT]:"snkTaskbar.titleInsert",[v.CANCEL]:"snkTaskbar.titleCancel",[v.SAVE]:"snkTaskbar.titleSave",[v.GRID_MODE]:"snkTaskbar.titleGridMode",[v.FORM_MODE]:"snkTaskbar.titleFormMode",[v.CONFIGURATOR]:"snkTaskbar.titleConfigurator",[v.ATTACH]:"snkTaskbar.titleAttach"},this._permissions=void 0,this._overFlowedElements=[],this._customElements=void 0,this._customElementsId=void 0,this._slotContainer=void 0,this._hiddenActionsList=[],this.alignRigth=!1,this.customSlotId="TASKBAR_CUSTOM_ELEMENTS",this.customContainerId=void 0,this.overflowStrategy="hiddenItems",this.configName=void 0,this.resourceID=void 0,this.buttons=void 0,this.customButtons=void 0,this.actionsList=void 0,this.primaryButton=void 0,this.disabledButtons=void 0,this.dataUnit=void 0,this.presentationMode=p.PRIMARY,this.messagesBuilder=void 0}observeButtons(){this._definitions=void 0,requestAnimationFrame((()=>{requestAnimationFrame((()=>{var t;return null===(t=this._overFlowWatcher)||void 0===t?void 0:t.forceUpdate()}))}))}elementsFromString(t){const s=[];return null==t||t.split(",").forEach((t=>{t=t.trim(),(k[t]||this.isAllowed(t))&&s.push(t.trim())})),s}isAllowed(t){return t===m.CONFIGURATOR?!!this._permissions&&(this._permissions.isSup||this._permissions[u.CONFIG_GRID]||this._permissions[u.CONFIG]):!m[t]||!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getTitle(t){var s;let i;return i=this.isAllowed(t)?this._titleKeyByElement[t]:"snkTaskbar.forbidden",i?null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(i,{}):""}elementClick(t){if(this.dataUnit)switch(t){case v.PREVIOUS:this.dataUnit.previousRecord();break;case v.NEXT:this.dataUnit.nextRecord();break;case v.REFRESH:this.dataUnit.loadData();break;case v.CLONE:this.dataUnit.copySelected();break;case v.REMOVE:this.dataUnit.removeSelectedRecords();break;case v.INSERT:this.dataUnit.addRecord();break;case v.CANCEL:this.dataUnit.cancelEdition();break;case v.SAVE:this.dataUnit.saveData()}this.isEnabled(t)&&this.actionClick.emit(t)}isEnabled(t){return!(!this.isAllowed(t)||this.disabledButtons&&this.disabledButtons.includes(t))}validatePresentationMode(){Object.values(p).includes(this.presentationMode)||(this.presentationMode=p.PRIMARY)}getElement(t,s){let i=s===this.primaryButton?"ez-button--primary ":"";return t>1&&(i+="ez-padding-left--medium"),v[s.toString()]?c(s,i,this.getIdElemBtnNative(s),(t=>this.getTitle(t)),(t=>this.elementClick(t)),(t=>this.isEnabled(t)),this.buildDynamicActionsList(),this.configName,this.presentationMode):b(s,i,this.getIdElemBtnCustom(s),(t=>this.elementClick(t)),(t=>this.isEnabled(t)))}buildDynamicActionsList(){var t;return this._hiddenActionsList.length?[...null!==(t=this.actionsList)&&void 0!==t?t:[],{type:"divider",label:"",value:""},...this._hiddenActionsList]:this.actionsList}getIdElemBtnNative(t){return n.toCamelCase(t)}getIdElemBtnCustom(t){return n.toCamelCase(t.name)}isDivider(t){var s;return void 0!==t&&(null===(s=t.t)||void 0===s?void 0:s["data-taskbar-divider"])}removeEmpty(t){let s;return t.filter((t=>!(null==t||this.isDivider(s)&&this.isDivider(t)||(s=t,0))))}appendCustomElementsInTaskbar(){this._customElementsId.forEach((t=>{const s=t.replace(this.TASKBAR_ITEM_ID_PREFIX,""),i=this._customElements.get(s),e=this._element.querySelector(`#${t}`);e?null==e||e.appendChild(i):this.unlinkCustomElementFromTaskbar(i)}))}addCustomElementContainer(t){var s;const e=`${this.TASKBAR_ITEM_ID_PREFIX}${t}`;return this._customElementsId.includes(e)||(this._customElementsId.push(e),null===(s=this._overFlowWatcher)||void 0===s||s.addNotOverFlowElement(e)),i("span",{class:"ez-padding-left--medium",key:e,id:e})}getCustomElements(){var t,s;this._customElementsId=[],this._customElements=new Map,this._slotContainer=this.buildSlotContainer(),Array.from(null!==(s=null===(t=this._slotContainer)||void 0===t?void 0:t.children)&&void 0!==s?s:[]).forEach((t=>this._customElements.set(t.id,t)))}buildSlotContainer(){if(this.customContainerId){const t=document.querySelector(`#${this.customContainerId}`);return null==t?void 0:t.querySelector(`#${this.customSlotId}`)}return this._element.querySelector(`#${this.customSlotId}`)}componentWillLoad(){this._application=h.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess(this.resourceID).then((t=>this._permissions=t)):this._permissions={},this.getCustomElements()}componentWillRender(){null==this._definitions&&this._permissions&&(this._definitions=this.elementsFromString(this.buttons)),this.validatePresentationMode()}handleOverFlow(t){const s=t.filter((t=>!this.hasToIgnoreOverFlow(t)));this.resetOverFlowedElements(),this.doOverFlowElements(s)}resetOverFlowedElements(){this._overFlowedElements.forEach((t=>{t.classList.remove(r)})),this._hiddenActionsList=[],this._overFlowedElements=[]}doOverFlowElements(t){t.forEach((t=>{t.classList.add(r),this._overFlowedElements.push(t),this.addItemToActionList(t)}))}addItemToActionList(t){const s=this.getTaskbarElementName(t);if(s&&this.isEnabled(s)&&this.isAllowed(s)){const i={value:s,label:this.getTaskbarElementLabel(t),iconName:this.getTaskbarElementIcon(t)};this._hiddenActionsList.push(i)}}getTaskbarElementName(t){var s;return null!==(s=t.getAttribute("data-taskbar-element"))&&void 0!==s?s:""}getTaskbarElementIcon(t){var s;return null!==(s=t.getAttribute("data-taskbar-icon"))&&void 0!==s?s:""}getTaskbarElementLabel(t){var s;return null!==(s=t.getAttribute("data-taskbar-label"))&&void 0!==s?s:""}hasToIgnoreOverFlow(t){return t.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME)}handleOverFlowStrategy(){"hiddenItems"===this.overflowStrategy&&(this._overFlowWatcher=new o(this.buildOverFlowWatcherParams()))}buildOverFlowWatcherParams(){return{element:this._element,callback:this.handleOverFlow.bind(this),overFlowDirection:l.HORIZONTAL,notOverFlow:this.NOT_OVERFLOW_ELEMENTS}}componentDidLoad(){d.addIDInfo(this._element,null,{dataUnit:this.dataUnit}),this.handleOverFlowStrategy()}componentDidRender(){this.appendCustomElementsInTaskbar()}disconnectedCallback(){var t;this.unlinkAllCustomElements(),null===(t=this._overFlowWatcher)||void 0===t||t.destroy()}unlinkAllCustomElements(){var t;null===(t=this._customElementsId)||void 0===t||t.forEach((t=>{const s=t.replace(this.TASKBAR_ITEM_ID_PREFIX,""),i=this._customElements.get(s);this.unlinkCustomElementFromTaskbar(i)}))}unlinkCustomElementFromTaskbar(t){this._slotContainer.appendChild(t)}render(){if(void 0===this._definitions)return;let t=0;return i(e,{class:this.getHostClasses()},this.removeEmpty(this._definitions.map((s=>{var e,a;return t++,v[s]?this.getElement(t,v[s]):(null===(e=this.customButtons)||void 0===e?void 0:e.has(s))?this.getElement(t,this.customButtons.get(s)):this._customElements.has(s)?this.addCustomElementContainer(s):(null===(a=this._overFlowWatcher)||void 0===a||a.addNotOverFlowElement(s),i("slot",{name:s}))}))),i("div",{class:this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME},i("slot",{name:this.customSlotId})))}getHostClasses(){return"hiddenItems"!==this.overflowStrategy?"no-wrap":"full-width "+(this.alignRigth?"align-right":"")}get _element(){return a(this)}static get watchers(){return{buttons:["observeButtons"]}}};T.style=".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";export{T as snk_taskbar}
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i,H as r,g as s}from"./p-d2d301a6.js";import{DataType as a,StringUtils as n,ObjectUtils as l,ElementIDUtils as o,ErrorException as d,ApplicationContext as h}from"@sankhyalabs/core";import{EzScrollDirection as c}from"@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection";import{C as f}from"./p-67aedbe0.js";import{toString as m}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";import{F as u}from"./p-ff1990ad.js";import{F as p}from"./p-933c0c0b.js";import{F as b}from"./p-fa80e546.js";import{ApplicationUtils as v}from"@sankhyalabs/ezui/dist/collection/utils";import{P as k}from"./p-057fad05.js";import"./p-a13ccb86.js";import"./p-be75153c.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";function g(t){let e="";return t.forEach(((t,i)=>{var r;e+=` ${i>0?null!==(r=t.operand)&&void 0!==r?r:"OR":""} ${t.expression}`})),e.trim()}class _{constructor({filterConfig:t,configName:e,onComplete:i,getMessage:r,disablePersonalizedFilter:s,onAddPersonalizedFilter:a,onEditPersonalizedFilter:n,onDeletePersonalizedFilter:l}){this._filterConfig=t,this._configName=e,this._onComplete=i,this._getMessage=r,this._disablePersonalizedFilter=s,this._addPersonalizedFilterFn=a,this._editPersonalizedFilterFn=n,this._onDeletePersonalizedFilter=l}applyFilters(t){this._onComplete(t),this._closeModal()}buildFilterModal(){const t=document.createElement("snk-filter-modal");return t.className="ez-size-height--full",t.filters=this._filterConfig,t.configName=this._configName,t.disablePersonalizedFilter=this._disablePersonalizedFilter,t.getMessage=this._getMessage.bind(this),t.applyFilters=this.applyFilters.bind(this),t.closeModal=()=>this._closeModal(),t.addPersonalizedFilter=()=>this._addPersonalizedFilterFn(),t.editPersonalizedFilter=t=>this._editPersonalizedFilterFn(t),t.deletePersonalizedFilter=(t,e)=>this._onDeletePersonalizedFilter(t,e),t}async showModal(){const t={content:this.buildFilterModal(),position:"left",heightMode:"full",closeOutsideClick:!1,useScrimLight:!0};this._closeModal=await v.showModal(t)}async closeModal(){this._closeModal()}}const x=class{constructor(i){t(this,i),this.configUpdated=e(this,"configUpdated",7),this._updateSequence=[],this._loadingPending=!1,this._configUpdated=!1,this._firstLoad=!0,this._pendingVariables=!1,this._customfiltersToBeUpdated=[],this._calculateSortIndex=t=>{let e=t.hardFixed?1e6:0;return t.hardFixed||(e+=t.fixed?1e5:0,e+=null==t.value?0:1e4,e+=this._updateSequence.lastIndexOf(t.id)+1),e},this._filtersComparator=(t,e)=>this._calculateSortIndex(e)-this._calculateSortIndex(t),this.dataUnit=void 0,this.title=void 0,this.configName=void 0,this.resourceID=void 0,this.mode="regular",this.filterConfig=void 0,this.messagesBuilder=void 0,this.disablePersonalizedFilter=void 0,this.allowDefault=void 0,this.scrollerLocked=!1,this.showPersonalizedFilter=!1,this.personalizedFilterId=void 0}observeFilterConfig(t,e){if(null!=e&&null==t)this._loadingPending=!0,this._configUpdated=!0;else{const i=new Map(e?e.map((t=>[t.id,t])):void 0);0===i.size&&t.length>0?(this._loadingPending=!0,this._configUpdated=!1):t.forEach((t=>{const e=i.get(t.id);if(null!=e){if(this._configUpdated=this._configUpdated||l.objectToString(e)!=l.objectToString(t),this._loadingPending=this._loadingPending||l.objectToString(e.value)!==l.objectToString(t.value),!this._loadingPending){const i=l.objectToString(e.groupedItems)!=l.objectToString(t.groupedItems);this._configUpdated=this._configUpdated||i,this._loadingPending=this._loadingPending||i}}else this._configUpdated=!0,this._loadingPending=this._loadingPending||null!=t.value}))}(this._loadingPending||this._configUpdated)&&this.configUpdated.emit(t),this.processAfterUpdateConfig()}async reload(){this.loadConfigFromStorage(!0)}async getFilterItem(t){const e=this.filterConfig.find((e=>e.id===t));return Promise.resolve(l.copy(e))}async updateFilterItem(t){return-1==this.filterConfig.findIndex((e=>e.id===t.id))?(console.warn("[SnkFilterBar.updateFilterItem] FilterItem não encontrado, o mesmo não será atualizado."),Promise.resolve()):(this._loadingPending=!0,this.updateFilter(t),Promise.resolve())}async addFilterItem(t){return this.filterConfig.findIndex((e=>e.id===t.id))>-1?(console.warn("[SnkFilterBar.addFilterItem] FilterItem já existe , o mesmo não será adicionado novamente."),Promise.resolve()):(this.filterConfig.push(t),this._loadingPending=!0,this.updateFilter(t),Promise.resolve())}async removeFilterItem(t){const e=this.filterConfig.findIndex((e=>e.id===t));if(-1==e)return console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado"),Promise.resolve(void 0);const i=this.filterConfig[e];return this.filterConfig=this.filterConfig.filter((e=>e.id!==t)),Promise.resolve(i)}componentDidLoad(){this._element&&o.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}processPendingFilter(){if(this._pendingVariables){const t=this._element.querySelector("#filter-PERSONALIZED_FILTER_GROUP");t&&t.showUp(!0).then((()=>{this.processAfterUpdateConfig()}))}else this.processAfterUpdateConfig()}getPersonalizedFilterItem(){return this.filterConfig.find((t=>t.type===u.PERSONALIZED))}async processAfterUpdateConfig(){if(this._loadingPending){if(await this._application.isLoadedByPk()&&!this._configUpdated)return;const t=this.getPersonalizedFilterItem();if(this._pendingVariables=!k.validateVariableValues(t),this._pendingVariables)return;this._loadingPending=!1,this.doLoadData(null!=this.dataUnit.getLastLoadRequest())}this._configUpdated&&(this._configUpdated=!1,f.saveFilterBarConfig(this.filterConfig,this.configName,this.resourceID))}async doLoadData(t=!1){try{if(this._firstLoad&&!t&&!await this._application.getBooleanParam("global.carregar.registros.iniciar.tela"))return;this.dataUnit.loadData(void 0,void 0,!0)}finally{this._firstLoad=!1}}getMessage(t,e,i){var r;return null==this.messagesBuilder&&this._application&&(this.messagesBuilder=this._application.messagesBuilder),(null===(r=this.messagesBuilder)||void 0===r?void 0:r.getMessage(t,e))||i}getFilter(t){var e;const i=[];return null===(e=this.filterConfig)||void 0===e||e.filter((t=>this.isActiveFilter(t))).forEach((t=>{const e=(t=>{switch(t.type){case u.DEFAULT_FILTER:return function(t){return{name:t.id,expression:t.props.expression,params:[]}}(t);case u.BINARY_SELECT:return function(t){const{id:e,value:i,props:r}=t;return{name:e,expression:r.options.find((t=>t.name===i)).expression,params:[]}}(t);case u.MULTI_SELECT:return function(t){const{id:e,value:i,props:r}=t;return{name:e,expression:r.expression,params:[{name:e,dataType:a.TEXT,value:i}]}}(t);case u.MULTI_LIST:return function(t){const{id:e,value:i,props:r}=t,s=(null!==(o=null!==(l=null==(n=i)?void 0:n.elements)&&void 0!==l?l:null==n?void 0:n.members)&&void 0!==o?o:n).filter((t=>null==t?void 0:t.check)).map((({id:t})=>Number.isNaN(+t)?String(t):Number(t)));var n,l,o;if(s.length>0)return{name:e,expression:r.expression,params:[{name:e,dataType:a.TEXT,value:JSON.stringify(s)}]}}(t);case u.PERIOD:return function(t){const{id:e,value:i,props:r}=t;let{end:s,start:n}=i;"string"==typeof s&&(s=new Date(s)),"string"==typeof n&&(n=new Date(n));const l=[];let o;return s&&n?(o=r.expression.fullfill,l.push({name:`${e}.START`,dataType:a.DATE,value:m(a.DATE,n)},{name:`${e}.END`,dataType:a.DATE,value:m(a.DATE,s)})):n?(o=r.expression.onlystart,l.push({name:e,dataType:a.DATE,value:m(a.DATE,n)})):(o=r.expression.onlyend,l.push({name:e,dataType:a.DATE,value:m(a.DATE,s)})),{name:e,expression:o,params:l}}(t);case u.SEARCH:return function(t){const{id:e,value:i,props:r}=t;return{name:e,expression:r.expression,params:[{name:e,dataType:a.TEXT,value:m(a.TEXT,i.value)}]}}(t);case u.TEXT:return function(t){let{id:e,value:i,props:r}=t;const s=r.expression;var l,o;return n.isEmpty(r.likeAs)||(l=i,i="CONTANIS"===(o=r.likeAs)?`%${l}%`:"STARTS_WITH"===o?`${l}%`:"ENDS_WITH"===o?`%${l}`:l),{name:e,expression:s,params:[{name:e,dataType:a.TEXT,value:m(a.TEXT,i)}]}}(t);case u.NUMBER:return function(t){const{id:e,value:i,props:r}=t;if(r.variation===b.INTERVAL){const{start:t,end:s}=null!=i?i:{start:0,end:0};if(t&&s)return{name:e,expression:r.intervalExpression.fullfill,params:[{name:`${e}.START`,dataType:a.NUMBER,value:m(a.NUMBER,t)},{name:`${e}.END`,dataType:a.NUMBER,value:m(a.NUMBER,s)}]};if(t)return{name:e,expression:r.intervalExpression.onlystart,params:[{name:e,dataType:a.NUMBER,value:m(a.NUMBER,t)}]};if(s)return{name:e,expression:r.intervalExpression.onlyend,params:[{name:e,dataType:a.NUMBER,value:m(a.NUMBER,s)}]}}return{name:e,expression:r.expression,params:[{name:e,dataType:a.NUMBER,value:m(a.NUMBER,i)}]}}(t);case u.PERSONALIZED:return function(t){const{id:e,groupedItems:i=[]}=t,r=i.filter((t=>!!t.visible)).map((t=>{var e;const i=t.props.expression,r=((null===(e=t.props.personalizedFilter)||void 0===e?void 0:e.parameters)||[]).map(((e,i)=>{const r=Array.from(t.value||0),s=e.dataType;let n=i>=0&&i<r.length?r[i]:null;return null!=n&&"object"==typeof n&&"value"in n&&(n=n.value),null==n&&s===a.BOOLEAN&&(n=!1),{name:e.name,dataType:s,value:"string"==typeof n?n:m(s,n)}}));return{expression:i,name:t.id,params:r}}));return{name:e,expression:r.map((t=>`(${t.expression})`)).join(` ${p.AND} `),params:r.flatMap((t=>t.params))}}(t);case u.CHECK_BOX_LIST:return function(t){var e;const{id:i,value:r,props:s}=t,a=Object.entries(null!=r?r:{}).filter((([t,e])=>!0===e)).map((([t,e])=>t));return{name:i,expression:g(null===(e=s.options)||void 0===e?void 0:e.filter((t=>a.includes(t.name)))),params:[]}}(t);default:return}})(t);e&&i.push(e)})),i}isActiveFilter(t){return t.type===u.DEFAULT_FILTER||this.filterActiveFilter(t)&&(t.groupedItems||null!=t.value)}registryFilterProvider(){this.dataUnit.addFilterProvider(this),this.filterConfig&&this.doLoadData()}itemFocused(t){this._element.querySelectorAll("snk-filter-item,snk-filter-list").forEach((e=>{e.id===t?"snk-filter-item"===e.tagName.toLowerCase()&&e.getClientRects()[0].x<0&&e.scrollIntoView({behavior:"auto",inline:"nearest"}):e.hideDetail()}))}filterActiveFilter(t){return t.visible||t.removalBlocked}getFilterItems(){const t=[],e=[];this.filterConfig.filter(this.filterActiveFilter).forEach(((r,s)=>{const a=`filter-${(r=l.copy(r)).id}`,n=i("snk-filter-item",{onVisibleChanged:t=>this.scrollerLocked=t.detail,onFilterChange:t=>this.updateFilter(t.detail),onFocusin:()=>this.itemFocused(a),id:a,config:r,class:s>0?"ez-padding-left--medium":"",getMessage:(t,e)=>this.getMessage(t,e),key:r.id});return r.fixed||r.hardFixed?t.push(n):e.push(n),n}));const r=[];return r.push(...t),t.length>0&&e.length>0&&r.push(i("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-filter-bar__divider"})),r.push(...e),r}calculateUpdateSequence(t){t&&(this._updateSequence=this._updateSequence.filter((e=>t.id!==e)),this._updateSequence.push(t.id))}normalizeItem(t){const e=Object.assign({},t);return["props","value","hardFixed","fixed"].forEach((t=>{null==e[t]&&delete e[t]})),""===t.value&&delete t.value,e}updateFilter(t){this.filterConfig=this.filterConfig.map((e=>(t=this.normalizeItem(t),e.id===t.id?(l.objectToString(e)!=l.objectToString(t)&&this.calculateUpdateSequence(t),t):e))).sort(((t,e)=>this._filtersComparator(t,e)))}loadPermitions(){this._application.isUserSup().then((t=>this.allowDefault=t))}async loadConfigFromStorage(t){return t&&await f.deleteFilterBarConfigCache(this.configName,this.resourceID),new Promise((t=>{f.loadFilterBarConfig(this.configName,this.resourceID,{contextURI:this.dataUnit.name}).then((e=>{t(),this.filterConfig=e.map((t=>this.normalizeItem(t)))})).catch((t=>{throw new d(this.getMessage("snkFilterBar.failToLoadConfig"),t)}))}))}attachDataUnit(){if(null==this.dataUnit){let t=this._element.parentElement;for(;t;)if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){const e=t;this.dataUnit=e.dataUnit,this.dataUnit?this.registryFilterProvider():e.addEventListener("dataUnitReady",(t=>{this.dataUnit=t.detail,this.registryFilterProvider()}));break}t=t.parentElement}else this.registryFilterProvider()}filterChangeListener(t){this.updateFilter(t.detail)}async showFilterModal(){let t=l.copy(this.filterConfig);t=t.sort(((t,e)=>t.originOrder-e.originOrder)),this._filterModalFactory=new _({filterConfig:t,configName:this.configName,onComplete:t=>{this.filterConfig=t.map(this.normalizeItem).sort(((t,e)=>this._filtersComparator(t,e)))},disablePersonalizedFilter:this.disablePersonalizedFilter,getMessage:(t,e)=>this.getMessage(t,e),onAddPersonalizedFilter:()=>this.addPersonalizedFilter(),onEditPersonalizedFilter:t=>this.editPersonalizedFilter(t),onDeletePersonalizedFilter:(t,e)=>this.deletePersonalizedFilter(t,u.PERSONALIZED,e)}),await this._filterModalFactory.showModal()}addPersonalizedFilter(){this._filterModalFactory.closeModal(),this.personalizedFilterId=void 0,this.showPersonalizedFilter=!0,window.requestAnimationFrame((()=>{this._elPersonalizedFilter.createPersonalizedFilter()}))}editPersonalizedFilter(t){this._filterModalFactory.closeModal(),this.showPersonalizedFilter=!0,this.personalizedFilterId=t}deletePersonalizedFilter(t,e,i){e===u.PERSONALIZED&&f.removePersonalizedFilter(t,this.resourceID,i)}handleHidePersonalizedFilter(t){t?this.loadConfigFromStorage().then((()=>{this.hidePersonalizedFilter()})):this.hidePersonalizedFilter()}hidePersonalizedFilter(){this.personalizedFilterId=void 0,this.showPersonalizedFilter=!1}componentWillLoad(){this._application=h.getContextValue("__SNK__APPLICATION__"),this._application&&(this.loadPermitions(),this.loadConfigFromStorage()),this.attachDataUnit()}componentDidRender(){this.processPendingFilter()}render(){if(this.dataUnit&&this.filterConfig&&0!==this.filterConfig.length)return this.showPersonalizedFilter?i("snk-personalized-filter",{class:"filter-bar__personalized-filter",filterId:this.personalizedFilterId,ref:t=>this._elPersonalizedFilter=t,onEzCancel:()=>this.handleHidePersonalizedFilter(!1),onEzAfterSave:()=>this.handleHidePersonalizedFilter(!0),entityUri:this.dataUnit.name,configName:this.configName,resourceID:this.resourceID}):"button"===this.mode?i(r,{"data-mode":this.mode},i("ez-button",{class:"ez-margin-left--medium",size:"small",label:this.getMessage("snkFilterBar.filters",void 0,"Filtros"),onClick:this.showFilterModal.bind(this)})):i(r,{"data-mode":this.mode},i("div",null,i("span",{class:"snk-filter-bar__title",title:this.title,"data-tooltip":this.title,"data-flow":"bottom"},this.title)),i("ez-scroller",{class:"snk-filter-bar__scroller",direction:c.HORIZONTAL,activeShadow:!0,locked:this.scrollerLocked},i("section",{class:"snk-filter-bar__filter-item-container"},this.getFilterItems())),i("ez-button",{class:"ez-padding-left--medium",size:"small",label:this.getMessage("snkFilterBar.filters",void 0,"Filtros"),onClick:this.showFilterModal.bind(this)},i("ez-icon",{slot:"leftIcon",iconName:"plus",class:"ez-padding-right--small"})))}get _element(){return s(this)}static get watchers(){return{filterConfig:["observeFilterConfig"]}}};x.style='.sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:8px}[data-mode="hidden"].sc-snk-filter-bar-h{display:none}[data-mode="button"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-self:center}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:"";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}';export{x as snk_filter_bar}
@@ -1 +0,0 @@
1
- import{r as i,c as s,h as t,F as e,g as a}from"./p-d2d301a6.js";import{ElementIDUtils as r,ApplicationContext as n,StringUtils as d,DataType as o}from"@sankhyalabs/core";import{UserInterface as l}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{T as h}from"./p-ae4fc9a9.js";import{C as c}from"./p-67aedbe0.js";import{P as u}from"./p-38289a55.js";import{T,o as g,b as k}from"./p-c2495304.js";import{s as m}from"./p-6dc031de.js";import{S as v,C as E}from"./p-2897fb8c.js";import{SelectionMode as O}from"@sankhyalabs/core/dist/dataunit/DataUnit";import"./p-be75153c.js";import"./p-d78d4062.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"./p-ff1990ad.js";import"./p-a13ccb86.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-688dcb4c.js";const b=class{constructor(t){i(this,t),this.actionClick=s(this,"actionClick",7),this.gridDoubleClick=s(this,"gridDoubleClick",7),this._topTaskbarProcessor=new T({"snkGridTopTaskbar.regular":["FORM_MODE","CONFIGURATOR","INSERT"],"snkGridTopTaskbar.regular.secondary":["FORM_MODE","CONFIGURATOR","INSERT"],"snkGridTopTaskbar.regular.singleTaskbar":[],"snkGridTopTaskbar.finish_edition":["CANCEL","SAVE"],"snkGridTopTaskbar.finish_edition.secondary":[],"snkGridTopTaskbar.finish_edition.singleTaskbar":[]}),this._headerTaskbarProcessor=new T({"snkGridHeaderTaskbar.unselected":["REFRESH","DATA_EXPORTER","ACTIONS_BUTTON","MORE_OPTIONS"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","ATTACH","REFRESH","DATA_EXPORTER","ACTIONS_BUTTON"],"snkGridHeaderTaskbar.detail.unselected":["REFRESH","MORE_OPTIONS"],"snkGridHeaderTaskbar.detail.selected":["UPDATE","ATTACH","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"],"snkGridHeaderTaskbar.singleTaskbar.unselected":["INSERT","FORM_MODE","CONFIGURATOR","REFRESH","DATA_EXPORTER","ACTIONS_BUTTON","MORE_OPTIONS"],"snkGridHeaderTaskbar.singleTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","ATTACH","FORM_MODE","CONFIGURATOR","REFRESH","DATA_EXPORTER","ACTIONS_BUTTON"],"snkGridHeaderTaskbar.singleTaskbar.detail.unselected":["INSERT","FORM_MODE","CONFIGURATOR","REFRESH","MORE_OPTIONS"],"snkGridHeaderTaskbar.singleTaskbar.detail.selected":["UPDATE","ATTACH","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","FORM_MODE","CONFIGURATOR","REFRESH"],"snkGridHeaderTaskbar.singleTaskbar.finish_edition":["CANCEL","SAVE"]}),this._dataUnit=void 0,this._dataState=void 0,this._gridConfig=void 0,this._popUpGridConfig=!1,this._showSnkFilterBar=!0,this.columnFilterDataSource=new v,this.configName=void 0,this.filterBarTitle=void 0,this.resourceID=void 0,this.selectionToastConfig=void 0,this.actionsList=void 0,this.isDetail=void 0,this.taskbarManager=void 0,this.statusResolver=void 0,this.multipleSelection=void 0,this.presentationMode=u.PRIMARY,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.recordsValidator=void 0,this.canEdit=!0,this.taskbarCustomContainerId=void 0,this.gridHeaderCustomSlotId="GRID_HEADER_CUSTOM_ELEMENTS",this.topTaskbarCustomSlotId="GRID_TASKBAR_CUSTOM_ELEMENTS",this.disablePersonalizedFilter=void 0}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}async reloadFilterBar(){var i;null===(i=this._snkFilterBar)||void 0===i||i.reload()}async getFilterBar(){return this._snkFilterBar}async findColumn(){await g(this._moreOptions,this._columnSearch)}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._popUpGridConfig=!0}))}closeGridConfig(){this._popUpGridConfig=!1}setGridConfig(i){this._gridConfig=i,E.assertDefaultSorting(this._gridConfig,this._dataUnit)}loadConfig(){c.loadGridConfig(this.configName,this.resourceID).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}gridConfigChangeHandler(i){c.saveGridConfig(i.detail,this.configName,this.resourceID),i.stopPropagation()}modalConfigChangeHandler(i){const s=i.detail;this._grid.setColumnsState(s.columns).then((()=>{this.setGridConfig(s),this.closeGridConfig(),this.dataExporterProviderStore()})),i.stopPropagation()}buildColumnsMetadata(i){const s=[];return null==i||i.forEach((i=>{var t,e;if(i.hidden&&"RECDESP"!==i.name)return;const a=null===(t=this._dataUnit)||void 0===t?void 0:t.getField(i.name);if(s.push({label:i.label,id:i.name,width:i.width,type:null==a?void 0:a.dataType,userInterface:null==a?void 0:a.userInterface}),null!=(null===(e=null==a?void 0:a.properties)||void 0===e?void 0:e.DESCRIPTIONFIELD)){const i=a.properties.mergedFrom;s.push({label:a.properties.DESCRIPTIONENTITY,id:`${i?i+".":""}${a.properties.ENTITYNAME}.${a.properties.DESCRIPTIONFIELD}`,width:200,type:o.TEXT,userInterface:l.LONGTEXT})}})),s||[]}getPaginationInfo(){var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getPaginationInfo()}getExporterOffset(i){if(null==i)return;const s=i.firstRecord;return s>0?s-1:s}async dataExporterProviderStore(){var i;const s=await(null===(i=this._snkDataUnit)||void 0===i?void 0:i.getSelectedRecordsIDsInfo()),t={getFilters:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getAppliedFilters()},getColumnsMetadata:async()=>{var i;const s=await(null===(i=this._grid)||void 0===i?void 0:i.getColumnsState());return this.buildColumnsMetadata(s)},getOrders:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getSort()},getResourceURI:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.name},getSelectedNumber:()=>{var i,s;return null===(s=null===(i=this._dataState)||void 0===i?void 0:i.selectionInfo)||void 0===s?void 0:s.length},getTotalRecords:()=>{var i,s,t;const{total:e}=(null===(i=this._dataUnit)||void 0===i?void 0:i.getPaginationInfo())||{};return null!=e?e:null===(t=null===(s=this._dataUnit)||void 0===s?void 0:s.records)||void 0===t?void 0:t.length},getSelectedIDs:()=>s||[],getOffset:()=>this.getExporterOffset(this.getPaginationInfo()),getLimit:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.pageSize},getRecordID:()=>{var i,s,t;return null===(t=null===(s=null===(i=this._dataUnit)||void 0===i?void 0:i.records)||void 0===s?void 0:s[0])||void 0===t?void 0:t.__record__id__}};m.set("exporterProviders",Object.assign(Object.assign({},m.get("exporterProviders")),{[this.configName]:t}))}addElementID(){r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}finshLoading(){E.assertDefaultSorting(this._gridConfig,this._dataUnit),this.addElementID(),null!=this.columnFilterDataSource&&(this.columnFilterDataSource.setApplication(this._application),this.columnFilterDataSource.setDataUnit(this._dataUnit))}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit?this.finshLoading():this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.finshLoading()})),this.messagesBuilder||(this.messagesBuilder=this._snkDataUnit.messagesBuilder),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail})),this._snkDataUnit.addEventListener("cancelEdition",(()=>{var i;(null===(i=this._dataState)||void 0===i?void 0:i.recordsIsEmpty)&&this._dataUnit.clearSelection()}));break}i=i.parentElement}this.loadConfig()}getHeaderDisabledButtons(){var i;const s=[];return(null===(i=this._dataState)||void 0===i?void 0:i.selectionInfo)&&(this._dataState.selectionInfo.length>1&&s.push(h.CLONE,"ATTACH"),this._dataState.selectionInfo.isAllRecords()&&s.push("REMOVE")),s}getInvisibleButtons(){let i=[];return this._dataUnit&&0!==this._dataUnit.records.length||i.push("DATA_EXPORTER"),this._dataState&&this._dataState.selectionInfo.mode===O.ALL_RECORDS&&i.push("ACTIONS_BUTTON"),i}componentWillRender(){const i=this.getInvisibleButtons();this._headerTaskbarProcessor.process(this.getHeaderTaskbarId(),this.taskbarManager,this._dataState,this.getHeaderDisabledButtons(),i),this._topTaskbarProcessor.process(this.getTopTaskBarId(),this.taskbarManager,this._dataState,void 0,i),this.dataExporterProviderStore()}getHeaderTaskbarId(){var i,s;const t=this._dataState&&!!(null===(i=this._dataState.selectionInfo)||void 0===i?void 0:i.length),e={primary:this.isDetail?"snkGridHeaderTaskbar.detail":"snkGridHeaderTaskbar",secondary:this.isDetail?"snkGridHeaderTaskbar.detail":"snkGridHeaderTaskbar",singleTaskbar:this.isDetail?"snkGridHeaderTaskbar.singleTaskbar.detail":"snkGridHeaderTaskbar.singleTaskbar"}[this.presentationMode];let a=t?`${e}.selected`:`${e}.unselected`;return(null===(s=this._dataState)||void 0===s?void 0:s.isDirty)&&this.presentationMode===u.SINGLE_TASKBAR&&(a="snkGridHeaderTaskbar.singleTaskbar.finish_edition"),a}getTopTaskBarId(){var i;const s={primary:"",secondary:".secondary",singleTaskbar:".singleTaskbar"}[this.presentationMode];return(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?`snkGridTopTaskbar.finish_edition${s}`:`snkGridTopTaskbar.regular${s}`}getPrimaryButton(){return{primary:"INSERT",secondary:"",singleTaskbar:"INSERT"}[this.presentationMode]}getColumnSearch(i,s){return null!=this._columnSearch||(this._moreOptions=i,this._columnSearch=k(s,(({argument:i})=>new Promise((s=>{this._grid.filterColumns(i).then((i=>{s(i.filter((i=>!i.hidden)).map((i=>({label:i.label,value:i.name}))))}))}))),(s=>{null!=s&&(this._grid.locateColumn(s.value),i.hideActions())}))),this._columnSearch}getActionsList(){const i=[{value:d.generateUUID(),label:this.messagesBuilder.getMessage("snkGrid.findColumn",{}),disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,s)=>this.getColumnSearch(i,s)}];if(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions){const s=this.getTopTaskBarId();return i.concat(this.taskbarManager.getMoreOptions(s,this.configName,this._dataState,this.actionsList))}return i.concat(this.actionsList)}handleFilterConfigUpdated(i){this._showSnkFilterBar=!!i.length&&(1!==i.length||"PERSONALIZED_FILTER_GROUP"!==i[0].id||i[0].groupedItems.length>0)}render(){if(this._dataUnit)return t("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},t("div",{class:"snk-grid__header ez-margin-bottom--medium"},this._showSnkFilterBar&&t(e,null,t("snk-filter-bar",{ref:i=>this._snkFilterBar=i,title:this.filterBarTitle,dataUnit:this._dataUnit,"data-element-id":"gridFilter",class:"snk-grid__filter-bar ez-align--top",configName:this.configName,messagesBuilder:this.messagesBuilder,resourceID:this.resourceID,onConfigUpdated:i=>this.handleFilterConfigUpdated(i.detail),disablePersonalizedFilter:this.disablePersonalizedFilter}),t("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"})),t("snk-taskbar",{class:"ez-padding-left--medium","data-element-id":"grid_top",key:"topTaskbar",configName:this.configName,dataUnit:this._dataUnit,messagesBuilder:this.messagesBuilder,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:this.getPrimaryButton(),resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:this.topTaskbarCustomSlotId,overflowStrategy:"none"},t("slot",{name:this.topTaskbarCustomSlotId}))),t("ez-grid",{ref:i=>this._grid=i,class:(this.presentationMode===u.SECONDARY?"snk-grid-container__without-shadow ":"")+"snk-grid__table","data-element-id":"embedded",dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:i=>{this.gridConfigChangeHandler(i)},onEzDoubleClick:i=>this.gridDoubleClick.emit(i.detail),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,columnfilterDataSource:this.columnFilterDataSource,selectionToastConfig:this.selectionToastConfig,useEnterLikeTab:this.useEnterLikeTab,recordsValidator:this.recordsValidator,canEdit:this.canEdit},t("snk-taskbar",{id:"teste",dataUnit:this._dataUnit,configName:this.configName,messagesBuilder:this.messagesBuilder,"data-element-id":"grid_left",buttons:this._headerTaskbarProcessor.buttons,presentationMode:this.presentationMode,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.getActionsList(),primaryButton:this.getPrimaryButton(),resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:this.gridHeaderCustomSlotId},t("slot",{name:this.gridHeaderCustomSlotId}))),t("div",{class:"ez-col ez-col--sd-12"},t("slot",{name:"SnkGridFooter"})),t("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},t("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute(r.DATA_ELEMENT_ID_ATTRIBUTE_NAME),selectedIndex:0,configName:this.configName,onConfigChange:i=>this.modalConfigChangeHandler(i),onConfigCancel:()=>this.closeGridConfig(),resourceID:this.resourceID})))}get _element(){return a(this)}};b.style=".sc-snk-grid-h{--snk-grid-min-height:300px}.snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{width:100%;display:flex;flex-wrap:nowrap;justify-content:flex-end}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:var(--snk-grid-min-height)}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";export{b as snk_grid}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as a}from"./p-d2d301a6.js";import{StringUtils as o,ElementIDUtils as n,ApplicationContext as h,JSUtils as r,FloatingManager as d}from"@sankhyalabs/core";import{T as c}from"./p-ae4fc9a9.js";import"./p-be75153c.js";import"./p-d78d4062.js";import{P as l}from"./p-38289a55.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import"./p-a13ccb86.js";import{d as m}from"./p-b0ef4383.js";import{A as u}from"./p-50783a8b.js";import"./p-6dc031de.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-688dcb4c.js";const p=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this.configuratorSave=i(this,"configuratorSave",7),this.configuratorCancel=i(this,"configuratorCancel",7),this.formItemsReady=i(this,"formItemsReady",7),this._keyDownHandler=async t=>this.keyDownListener(t),this._viewHistory=[],this._dataUnit=void 0,this._dataState=void 0,this.attachmentRegisterKey=void 0,this._currentViewMode=m.GRID,this._canEdit=void 0,this._resourceID=void 0,this.configName=void 0,this.filterBarTitle=void 0,this.selectionToastConfig=void 0,this.showActionButtons=!1,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=l.PRIMARY,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.disablePersonalizedFilter=void 0,this.customContainerId=`SNK-CRUD-CUSTOM-CONTAINER-${o.generateUUID()}`}async goToView(t){this.executeAction(t)}async openConfigurator(){var t;null===(t=this._snkConfigurator)||void 0===t||t.open()}async closeConfigurator(){var t;null===(t=this._snkConfigurator)||void 0===t||t.close()}async reloadFilterBar(){var t;null===(t=this._snkGrid)||void 0===t||t.reloadFilterBar()}async getFilterBar(){return await this._snkGrid.getFilterBar()}currentViewModeWatcher(t){this._viewHistory=[...this._viewHistory.slice(-1),t]}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===m.GRID,this.setViewMode(m.FORM)}async executeAction(t){return t===c.GRID_MODE?this.setViewMode(m.GRID):t===c.FORM_MODE||t===c.UPDATE?this.gridToForm(t!==c.UPDATE):t===c.CONFIGURATOR?this._snkConfigurator.open():"ATTACH"===t?this.setViewMode(m.ATTACHMENT):void 0}backView(){const t=this._viewHistory.at(-2)||m.GRID;this.setViewMode(t)}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t}openConfig(t){this._snkConfigurator.close(),t===m.GRID?this._snkGrid.showConfig():t===m.FORM&&this._guidesViewer.showFormConfig()}addDataElementID(){n.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(m.GRID)}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}componentWillLoad(){this._application=h.getContextValue("__SNK__APPLICATION__");let t=this._element.parentElement;for(this._application.hasAccess(u.UPDATE,this._resourceID).then((t=>this._canEdit=t));t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.initDataUnit():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.initDataUnit()})),this._snkDataUnit.addEventListener("dataStateChange",(async({detail:t})=>{this._dataState=t,void 0!==t.selectedRecord&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey())}));break}t=t.parentElement}this.configName||(this.configName=this._application.configName)}componentDidLoad(){this.initKeyboardManager()}disconnectedCallback(){this.removeShortcuts(),window.removeEventListener("keydown",this._keyDownHandler)}async initKeyboardManager(){var t;const i=await(null===(t=this._application)||void 0===t?void 0:t.getKeyboardManager());if(i){const s=this._dataUnit||await this._snkDataUnit.getDataUnit();async function e(){const t=document.activeElement,i=t==document.body;i||t.blur(),await s.saveData(),i||null==t.setFocus?i||t.focus():t.setFocus()}i.bind("F6",this.toggleView.bind(this),{description:"Alterna entre modo formulário e grade."}).bind("F7",e.bind(this),{description:"Salva os dados."}).bind("ctrl + \\",e.bind(this),{description:"Salva os dados."}).bind("F8",s.addRecord.bind(s),{description:"Adiciona um novo registro."}).bind("F9",s.removeSelectedRecords.bind(s),{description:"Remove o registro selecionado."}).bind("ctrl + F9",s.removeSelectedRecords.bind(s),{description:"Remove o registro selecionado."}).bind("ctrl + .",(()=>0===s.getSelectionInfo().records.length?s.selectFirst():s.nextRecord()),{description:"Avança para o próximo registro."}).bind("ctrl + ,",s.previousRecord.bind(s),{description:"Retorna ao registro anterior."}).bind("F5",(async()=>{const t=await this._viewStack.getSelectedIndex();m.GRID===t&&s.loadData()}),{description:"Atualiza os dados."}).bind("Escape",(()=>{s.isDirty()&&s.cancelEdition()}),{debounceTime:1e3,description:"Cancela uma ação."})}}async removeShortcuts(){var t;const i=await(null===(t=this._application)||void 0===t?void 0:t.getKeyboardManager());i&&i.unbind("F6").unbind("F7").unbind("ctrl + \\").unbind("F8").unbind("F9").unbind("ctrl + F9").unbind("ctrl + .").unbind("ctrl + ,").unbind("F5").unbind("Escape")}async toggleView(){const t=await this._viewStack.getSelectedIndex();this.setViewMode(m.GRID===t?m.FORM:m.GRID)}async initDataUnit(){this.addDataElementID(),this.messagesBuilder||(this.messagesBuilder=this._snkDataUnit.messagesBuilder),null==this._resourceID&&(this._resourceID=this._snkDataUnit.resourceID,null==this._resourceID&&(this._resourceID=await this._application.getResourceID()))}handleConfiguratorEvent(t,i){t.stopImmediatePropagation(),"SAVE"!==i?this.configuratorCancel.emit():this.configuratorSave.emit()}async keyDownListener(t){t.ctrlKey&&null!=t.key&&"F"===t.key.toUpperCase()&&null!=this._element&&(r.isHiddenElement(this._element)||(d.closeAll(),this._currentViewMode===m.GRID?await this._snkGrid.findColumn():await this._guidesViewer.findField(),t.preventDefault()))}connectedCallback(){window.addEventListener("keydown",this._keyDownHandler,{capture:!0})}render(){if(null!=this._resourceID)return this._snkDataUnit.ignoreSaveMessage=this._currentViewMode===m.GRID,s(e,null,s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,filterBarTitle:this.filterBarTitle,"data-element-id":"crud_grid",configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),messagesBuilder:this.messagesBuilder,actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,presentationMode:this.presentationMode,recordsValidator:this.recordsValidator,selectionToastConfig:this.selectionToastConfig,useEnterLikeTab:this.useEnterLikeTab,canEdit:this._canEdit,resourceID:this._resourceID,disablePersonalizedFilter:this.disablePersonalizedFilter},s("slot",{name:"GRID_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"GRID_HEADER_CUSTOM_ELEMENTS"}),s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-guides-viewer",{ref:t=>this._guidesViewer=t,entityPath:this._snkDataUnit.entityName,messagesBuilder:this.messagesBuilder,onExit:()=>this.setViewMode(m.GRID),dataState:this._dataState,dataUnit:this._dataUnit,actionsList:this.actionsList,taskbarManager:this.taskbarManager,configName:this.configName,onActionClick:t=>this.executeAction(t.detail),presentationMode:this.presentationMode,"data-element-id":"crud_form",canEdit:this._canEdit,recordsValidator:this.recordsValidator,resourceID:this._resourceID,detailTaskbarCustomContainerId:this.customContainerId},s("slot",{name:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"SnkFormTaskBar"}))),s("stack-item",null,s("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this._snkDataUnit.entityName,onBack:this.backView.bind(this)})),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:t=>this.setViewMode(t.detail),onOpenConfig:t=>this.openConfig(t.detail),showActionButtons:this.showActionButtons,onSave:t=>this.handleConfiguratorEvent(t,"SAVE"),onCancel:t=>this.handleConfiguratorEvent(t,"CANCEL"),resourceID:this._resourceID,customContainerId:this.customContainerId})),s("div",{id:`${this.customContainerId}`},s("slot",{name:"SnkConfigContainerSlot"}),s("slot",{name:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS"}),s("slot",{name:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS"}),s("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))}get _element(){return a(this)}static get watchers(){return{_currentViewMode:["currentViewModeWatcher"]}}};p.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{p as snk_crud}
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as s,g as e}from"./p-d2d301a6.js";import{StringUtils as n,ApplicationContext as o,ObjectUtils as a,DataType as h,UserInterface as r,JSUtils as l,FloatingManager as d,ElementIDUtils as u}from"@sankhyalabs/core";import{d as c,S as m}from"./p-b0ef4383.js";import{T as p}from"./p-ae4fc9a9.js";import"./p-be75153c.js";import{I as g}from"./p-d78d4062.js";import{S as f,C as v}from"./p-2897fb8c.js";import{P as C}from"./p-38289a55.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import"./p-a13ccb86.js";import{T as k,b as S,o as b}from"./p-c2495304.js";import{C as T}from"./p-67aedbe0.js";import{S as E}from"./p-9ea14b61.js";import"./p-6dc031de.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"./p-688dcb4c.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource";const _=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","MORE_OPTIONS"],w=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER","MORE_OPTIONS"],y=class{constructor(s){i(this,s),this.dataStateChange=t(this,"dataStateChange",3),this.dataUnitReady=t(this,"dataUnitReady",3),this.actionClick=t(this,"actionClick",7),this.formItemsReady=t(this,"formItemsReady",7),this.configuratorSave=t(this,"configuratorSave",7),this.configuratorCancel=t(this,"configuratorCancel",7),this._multiSelectionListDataSource=new f,this._keyDownHandler=i=>this.keyDownListener(i),this._taskbarProcessor=new k({"snkSimpleCrudTaskbar.form_regular":this.getButtons(!1,p.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.getButtons(!1,p.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.getButtons(!0,p.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.getButtons(!0,p.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._showPopUpGridConfig=!1,this._showFormConfig=!1,this._currentViewMode=c.GRID,this._config=void 0,this._fieldToGetFocus=void 0,this._customContainerId=`SNK-SIMPLE-CRUD-CUSTOM-CONTAINER-${n.generateUUID()}`,this.dataState=void 0,this.dataUnit=void 0,this.mode=m.SERVER,this.gridConfig=void 0,this.formConfig=void 0,this._formFields=[],this.multipleSelection=void 0,this.useCancelConfirm=!0,this.taskbarManager=void 0,this.messagesBuilder=void 0,this.useEnterLikeTab=!1,this.actionsList=void 0,this.configName=void 0,this.showConfiguratorButtons=void 0}getButtons(i,t){return this.addConfigButton(this.resolveInMemoryBtns(i?w:_).concat(t))}addConfigButton(i){return void 0===this.configName?i:i.concat(p.CONFIGURATOR)}get application(){return o.getContextValue("__SNK__APPLICATION__")}resolveInMemoryBtns(i){const t=[...i];return this.mode===m.IN_MEMORY&&t.splice(1,1),t}async goToView(i){this._currentViewMode=i,this._viewStack&&this._viewStack.show(i)}actionClickListener(i){const t=i.detail;t===p.CONFIGURATOR?this._snkConfigurator.open():t===p.GRID_MODE?this.goToView(c.GRID):t===p.FORM_MODE&&this.goToView(c.FORM),i.stopPropagation()}onModeChange(){this.mode==m.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(i,t){a.objectToString(t)!=a.objectToString(i)&&this.dataStateChange.emit(i)}openConfig(i){this._snkConfigurator.close(),i===c.GRID?this.openGridConfig():i===c.FORM&&this.openFormConfig()}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._showPopUpGridConfig=!0}))}openFormConfig(){this._showFormConfig=!0}loadGridConfig(){if(null==this.gridConfig&&!this._gridConfigAlreadyLoaded)return this._gridConfigAlreadyLoaded=!0,new Promise(((i,t)=>{T.loadGridConfig(this.configName,this._resourceID).then((t=>{this.setGridConfig(t),i()})).catch((i=>{t(i)}))}))}async loadFormConfig(){null==this._formConfigManager&&(this._formConfigManager=new E(this.configName,this._resourceID),this._formConfigManager.setConfig(this.formConfig)),null!=this.formConfig||this._formConfigAlreadyLoaded||(this._formConfigAlreadyLoaded=!0,this.setFormConfig(await this._formConfigManager.loadConfig()))}async componentWillRender(){this._resourceID=await this.application.getResourceID(),this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,this.getTaskBarDisabledButtons()),void 0!==this.configName&&(null!=this.gridConfig||this._gridConfigAlreadyLoaded||(this.loadGridConfig(),this.loadFormConfig()))}componentWillLoad(){this.processMetadata(),this.onModeChange(),this.configDatasource()}configDatasource(){this._multiSelectionListDataSource.setApplication(this.application),this._multiSelectionListDataSource.setDataUnit(this.dataUnit)}getTaskBarId(){var i,t,s;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(t=this.dataState)||void 0===t?void 0:t.selectionInfo)&&!this.dataState.selectionInfo.isAllRecords()&&(null===(s=this.dataState.selectionInfo.records)||void 0===s?void 0:s.length)>0?this._currentViewMode===c.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===c.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new g(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(i){return this._inMemoryLoader?this._inMemoryLoader.metadata=i:this.dataUnit&&(this.dataUnit.metadata=i),Promise.resolve()}setRecords(i){return this._inMemoryLoader?this._inMemoryLoader.records=i:this.dataUnit&&(this.dataUnit.records=i),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}async openConfigurator(){var i;null===(i=this._snkConfigurator)||void 0===i||i.open()}async closeConfigurator(){var i;null===(i=this._snkConfigurator)||void 0===i||i.close()}processMetadata(){const i=this._element.querySelectorAll("snk-field-metadata"),t=[],s={fields:[],emptyConfig:!1};i.forEach((i=>{const e={name:i.getAttribute("name")||i.getAttribute("label"),label:i.getAttribute("label"),dataType:h[i.getAttribute("dataType")]||h.TEXT,userInterface:r[i.getAttribute("userInterface")]||r.SHORTTEXT,readOnly:"true"==i.getAttribute("readOnly"),required:"true"==i.getAttribute("required"),tab:i.getAttribute("tab")||void 0,visible:"false"!=i.getAttribute("visible")};s.fields.push({name:e.name,tab:e.tab,visible:e.visible}),t.push(e)})),t.length>0&&(this.formConfig||(this.formConfig=s),this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:t})}onDataStateChange(i){this.dataState=Object.assign({},i.detail)}getTaskBarDisabledButtons(){var i,t,s,e;const n=[];return(null===(i=this.dataState)||void 0===i?void 0:i.hasNext)||n.push(p.NEXT),(null===(t=this.dataState)||void 0===t?void 0:t.hasPrevious)||n.push(p.PREVIOUS),(null===(e=null===(s=this.dataState)||void 0===s?void 0:s.selectionInfo)||void 0===e?void 0:e.isEmpty())&&n.push(p.FORM_MODE),n}handleCancelEdit(){var i;(null===(i=this.dataState)||void 0===i?void 0:i.recordsIsEmpty)&&(this.goToView(c.GRID),this.dataUnit.clearSelection())}handleConfiguratorEvent(i,t){i.stopImmediatePropagation(),"SAVE"!==t?this.configuratorCancel.emit():this.configuratorSave.emit()}getColumnSearch(i,t){return null!=this._columnSearch||(this._moreOptions=i,this._columnSearch=S(t,(({argument:i})=>new Promise((t=>{this._grid.filterColumns(i).then((i=>{t(i.filter((i=>!i.hidden)).map((i=>({label:i.label,value:i.name}))))}))}))),(t=>{var s;null!=t&&(this._grid.locateColumn(t.value),null===(s=i.hideActions)||void 0===s||s.call(i))}))),this._columnSearch}onSelectField(i,t){null!=i&&(this._fieldToGetFocus=i.value,t.hideActions())}getFieldSearch(i,t){return null!=this._fieldSearch||(this._moreOptions=i,i.addEventListener("ezPopoverOpen",(()=>this.findField())),this._fieldSearch=S(t,(({argument:i})=>this.fieldsOptionLoader(i)),(t=>this.onSelectField(t,i)))),this._fieldSearch}getFormFields(){var i,t;return null!==(t=null===(i=this.formConfig)||void 0===i?void 0:i.fields)&&void 0!==t?t:this._formFields}handleFormSetFields(i){this._formFields=null!=i?i:[]}fieldsOptionLoader(i){const t=null==i?void 0:i.toLowerCase(),s=this.getFormFields().map((i=>{var t;return null===(t=this.dataUnit)||void 0===t?void 0:t.getField(i.name)})).filter((i=>{var s,e;return(null===(s=i.name)||void 0===s?void 0:s.toLowerCase().includes(t))||(null===(e=i.label)||void 0===e?void 0:e.toLowerCase().includes(t))})).map((i=>({value:i.name,label:i.label})));return Promise.resolve(s)}getActionsList(){var i,t;const s=[{value:n.generateUUID(),label:null!==(t=null===(i=this.messagesBuilder)||void 0===i?void 0:i.getMessage("snkSimpleCrud.findColumn",void 0))&&void 0!==t?t:"Buscar",disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,t)=>this._currentViewMode===c.GRID?this.getColumnSearch(i,t):this.getFieldSearch(i,t)}];if(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions){const i=this.getTopTaskBarId();return s.concat(this.taskbarManager.getMoreOptions(i,this.configName,this.dataState,this.actionsList))}return s.concat(this.actionsList)}getTopTaskBarId(){var i;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?`snkGridTopTaskbar.finish_edition${C.PRIMARY}`:`snkGridTopTaskbar.regular${C.PRIMARY}`}async keyDownListener(i){i.ctrlKey&&null!=i.key&&"F"===i.key.toUpperCase()&&null!=this._element&&(l.isHiddenElement(this._element)||(d.closeAll(),this._currentViewMode===c.GRID?await this.findColumn():await this.findField(),i.preventDefault()))}async findField(){await this.openSeach(this._fieldSearch)}async findColumn(){await this.openSeach(this._columnSearch)}async openSeach(i){await b(this._moreOptions,i)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}connectedCallback(){window.addEventListener("keydown",this._keyDownHandler,{capture:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._keyDownHandler)}gridConfigChangeHandler(i){T.saveGridConfig(i.detail,this.configName,this._resourceID),i.stopPropagation()}modalConfigChangeHandler(i){const t=i.detail;this._grid.setColumnsState(t.columns).then((()=>{this.setGridConfig(t),this.closeGridConfig()})),i.stopPropagation()}setGridConfig(i){this.gridConfig=i,v.assertDefaultSorting(this.gridConfig,this.dataUnit)}setFormConfig(i){this.formConfig=i}closeGridConfig(){this._showPopUpGridConfig=!1}closeFormConfig(){this._showFormConfig=!1}render(){var i;if(null!=this.dataUnit)return s("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,useCancelConfirm:this.useCancelConfirm,onDataStateChange:i=>this.onDataStateChange(i),onCancelEdition:this.handleCancelEdit.bind(this),onInsertionMode:()=>this.goToView(c.FORM),onDataUnitReady:i=>this.dataUnitReady.emit(i.detail),ignoreSaveMessage:this._currentViewMode===c.GRID,onMessagesBuilderUpdated:i=>this.messagesBuilder=i.detail},s("header",null,s("slot",{name:"snkSimpleCrudHeader"})),s("section",{class:"ez-box ez-box--shadow simple-crud__container-section"},s("snk-taskbar",{class:"ez-box ez-box--shadow ez-padding--medium",dataUnit:this.dataUnit,primaryButton:(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,actionsList:this.getActionsList(),disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:C.SECONDARY},s("slot",{name:"TASKBAR_CUSTOM_ELEMENTS"})),s("ez-view-stack",{ref:i=>this._viewStack=i,"data-element-id":"simple-crud"},s("stack-item",null,s("ez-grid",{class:"ez-margin-bottom--large",ref:i=>this._grid=i,dataUnit:this.dataUnit,config:this.gridConfig,"no-header":!0,multipleSelection:this.multipleSelection,onEzDoubleClick:()=>this.goToView(c.FORM),onConfigChange:i=>this.gridConfigChangeHandler(i),columnfilterDataSource:this.dataUnit.name&&this.dataUnit.name.includes(g.IN_MEMORY_DATA_UNIT_NAME)?void 0:this._multiSelectionListDataSource,useEnterLikeTab:this.useEnterLikeTab},s("div",{slot:"footer"},s("slot",{name:"snkSimpleCrudFooter"})))),s("stack-item",null,s("ez-form",{class:"ez-margin-top--large "+(this._showFormConfig?"simple-crud__form--hidden":""),dataUnit:this.dataUnit,config:this.formConfig,fieldToFocus:this._fieldToGetFocus,onEzFormSetFields:i=>this.handleFormSetFields(i.detail),onEzFormRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this)}),this._showFormConfig&&s("snk-form-config",{messagesBuilder:this.messagesBuilder,dataUnit:this.dataUnit,configManager:this._formConfigManager,onConfigClose:()=>this.closeFormConfig()})),this.messagesBuilder&&s("snk-configurator",{ref:i=>this._snkConfigurator=i,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:i=>this.goToView(i.detail),onOpenConfig:i=>this.openConfig(i.detail),showActionButtons:this.showConfiguratorButtons,onSave:i=>this.handleConfiguratorEvent(i,"SAVE"),onCancel:i=>this.handleConfiguratorEvent(i,"CANCEL"),resourceID:this._resourceID,customContainerId:this._customContainerId})),s("div",{id:`${this._customContainerId}`},s("slot",{name:"SnkConfigContainerSlot"}))),s("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._showPopUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},s("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this.gridConfig,"data-element-id":this._element.getAttribute(u.DATA_ELEMENT_ID_ATTRIBUTE_NAME),selectedIndex:0,configName:this.configName,onConfigChange:i=>this.modalConfigChangeHandler(i),onConfigCancel:()=>this.closeGridConfig(),resourceID:this._resourceID})))}get _element(){return e(this)}static get watchers(){return{mode:["onModeChange"],dataState:["observeDataState"]}}};y.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:max-content;row-gap:12px;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}.simple-crud__form--hidden.sc-snk-simple-crud{display:none}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";export{y as snk_simple_crud}
@@ -1,56 +0,0 @@
1
- import{R as e,F as t}from"./p-a13ccb86.js";import{F as i}from"./p-ff1990ad.js";import{ObjectUtils as r}from"@sankhyalabs/core";import{d as s,D as n}from"./p-be75153c.js";var a;function l(e,t){if(null==e)return e;if(e instanceof Date)return e.toISOString();if("object"==typeof e){if(e instanceof Array)return e.map((e=>l(i.MULTI_LIST===t?function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]])}return i}(e,["label"]):e)));{const i=Object.assign({},e);return Object.keys(e).forEach((r=>{void 0!==e[r]?i[r]=l(e[r],t):delete i[r]})),i}}return e}class o{constructor(){this.templateByQuery=new Map,this.buildTemplates()}resolveURI(e,t){let i="filter-assistent-config://"+e;return t&&(i+="."+t),i}buildTemplates(){this.templateByQuery.set("fetchFilterFields",s.gql`
2
- query($name: String!) {
3
- $queryAlias$: fetchFilterFields(name: $name){
4
- currentLink {
5
- description
6
- uri
7
- }
8
- links {
9
- description
10
- uri
11
- fieldCount
12
- }
13
- fields {
14
- name
15
- description
16
- uri
17
- onlyDate
18
- dataType
19
- userInterface
20
- entityName
21
- properties {
22
- name
23
- value
24
- }
25
- }
26
- }
27
- }
28
- `),this.templateByQuery.set("fetchFilterAssistent",s.gql`
29
- query($name: String!) {
30
- $queryAlias$: fetchFilterAssistent(name: $name) {
31
- id
32
- name
33
- active
34
- expression
35
- warningMessage
36
- assistent
37
- }
38
- }`),this.templateByQuery.set("savePersonalizedFilter",s.gql`
39
- mutation($name: String!, $filterAssistent: InputFilterAssistent!) {
40
- $queryAlias$: savePersonalizedFilter(name: $name, filterAssistent: $filterAssistent) {
41
- id
42
- name
43
- }
44
- }`),this.templateByQuery.set("deletePersonalizedFilter",s.gql`
45
- mutation($name: String!, $filterId: String!) {
46
- $queryAlias$: deletePersonalizedFilter(name: $name, filterId: $filterId) {
47
- id
48
- name
49
- }
50
- }`),this.templateByQuery.set("validateExpression",s.gql`
51
- query($dataUnitName: String!, $expression: String!) {
52
- $queryAlias$: validateExpression(dataUnitName: $dataUnitName, expression: $expression) {
53
- valid
54
- message
55
- }
56
- }`)}async loadPersonalizedFilter(e,t,i){return new Promise(((r,s)=>{n.get().callGraphQL({values:{name:this.resolveURI(e,i)+"/"+t},query:this.templateByQuery.get("fetchFilterAssistent")}).then((e=>{e.assistent=JSON.parse(e.assistent),r(e)})).catch((e=>{s(e)}))}))}async savePersonalizedFilter(e,t,i){if(!e||0==Object.keys(e).length)return Promise.reject(new Error("personalizedFilter não pode ser vazio"));let r=JSON.parse(JSON.stringify(e));return r.assistent=JSON.stringify(r.assistent),new Promise(((e,s)=>{n.get().callGraphQL({values:{name:this.resolveURI(t,i),filterAssistent:r},query:this.templateByQuery.get("savePersonalizedFilter")}).then((t=>{e(t)})).catch((e=>{s(e)}))}))}async removePersonalizedFilter(e,t,i){return new Promise(((r,s)=>{n.get().callGraphQL({values:{name:this.resolveURI(t,i),filterId:e.id},query:this.templateByQuery.get("deletePersonalizedFilter")}).then((e=>{r(e)})).catch((e=>{s(e)}))}))}async validatePersonalizedFilter(e,t){return new Promise(((i,r)=>{n.get().callGraphQL({values:{dataUnitName:e,expression:t},query:this.templateByQuery.get("validateExpression")}).then((e=>{i(e)})).catch((e=>{r(e)}))}))}loadFields(e){return new Promise(((t,i)=>{n.get().callGraphQL({values:{name:e},query:this.templateByQuery.get("fetchFilterFields")}).then((e=>{var i;let r=e.fields;for(const e of r){if(Array.isArray(e.properties)&&e.properties.length>0){const t=e.properties.reduce(((e,t)=>(e[t.name]=t.value,e)),{});e.properties=t}(null===(i=null==e?void 0:e.properties)||void 0===i?void 0:i.options)&&(e.properties.options=JSON.parse(e.properties.options))}t(Object.assign(Object.assign({},e),{fields:r}))})).catch((e=>{i(e)}))}))}}!function(e){e.form="form",e.grid="grid",e.filterBar="filterBar"}(a||(a={}));class c{static preload(e,t){c.loadFormConfig(t,e),c.loadGridConfig(t,e)}static async loadFilterBarConfig(e,t,i){const r=c.buildCacheID(e,a.filterBar,t);return c.configById.has(r)||c.configById.set(r,c.filterBarConfigFetcher.getConfig(t,e,i)),c.configById.get(r)}static async loadFormConfig(e,t){const i=c.buildCacheID(e,a.form,t);return c.configById.has(i)||c.configById.set(i,c.formConfigFetcher.loadFormConfig(e,t)),c.configById.get(i)}static async loadGridConfig(e,t){const i=c.buildCacheID(e,a.grid,t);return c.configById.has(i)||c.configById.set(i,c.gridConfigFetcher.getConfig(e,t)),c.configById.get(i)}static async saveFilterBarConfig(e,t,i){return await this.deleteFilterBarConfigCache(t,i),this.filterBarConfigFetcher.saveConfig(e,i,t)}static async saveFormConfig(e,t,i){return await this.deleteFormConfigCache(t,i),this.formConfigFetcher.saveConfig(e,t,i)}static async saveCardState(e,t,i){return this.formConfigFetcher.saveCardState(e,t,i)}static async saveGridConfig(e,t,i){if(null!=e)return await this.deleteGridConfigCache(t,i),this.gridConfigFetcher.saveConfig(e,t,i)}static async loadPersonalizedFilter(e,t,i){return this.personalizedFilterFetcher.loadPersonalizedFilter(t,e,i)}static async savePersonalizedFilter(e,t,i){return await this.deleteFilterBarConfigCache(i,t),this.personalizedFilterFetcher.savePersonalizedFilter(e,t,i)}static async removePersonalizedFilter(e,t,i){return this.personalizedFilterFetcher.removePersonalizedFilter(e,t,i)}static async validatePersonalizedFilter(e,t){return this.personalizedFilterFetcher.validatePersonalizedFilter(e,t)}static async deleteGridConfigCache(e,t){await this.deleteConfigCache(e,t,a.grid)}static async deleteFormConfigCache(e,t){await this.deleteConfigCache(e,t,a.form)}static async deleteFilterBarConfigCache(e,t){await this.deleteConfigCache(e,t,a.filterBar)}static async deleteConfigCache(e,t,i){const r=c.buildCacheID(e,i,t);this.configById.delete(r)}static buildCacheID(e,t,i){return null==e?`req_${t}_${i}`:`req_${t}_${e}_${i}`}}c.configById=new Map,c.filterBarConfigFetcher=new class extends e{normalize(e){return e.map((e=>{const{id:t,value:i,fixed:r,visible:s,type:n,groupedItems:a}=e,o={id:t};if(i&&(o.value=l(i,n)),r&&(o.fixed=r),a){if(0===a.length)return;a.filter((e=>e.visible)).length>0&&(o.visible=!0),o.groupedItems=this.normalize(a)}else s&&(o.visible=!0);return o})).filter((e=>null!=e))}saveConfig(e,t,i){return this.saveResource(this.normalize(e),this.getPath(t,i))}getConfig(e,t,i){return new Promise(((r,s)=>{this.loadResource(this.getPath(e,t,i)).then((e=>{let t;if(e){const i=JSON.parse(e);t=this.buildFieldList(i.items)}r(t||[])})).catch((e=>{s(e)}))}))}buildFieldList(e){return e.map((e=>{var t,s;if(e.type===i.MULTI_LIST){const i=e.value;let n=null!==(s=null!==(t=null==i?void 0:i.elements)&&void 0!==t?t:null==i?void 0:i.members)&&void 0!==s?s:i;n=null!=n?n:[],n=Array.isArray(n)?n:[n],n=n.map((e=>Object.assign(Object.assign({},e),{id:void 0!==e.id?e.id:e.value}))),e.value=r.copy(n)}return e}))}getPath(e,t,i){let r=`cfg://filter/FilterBarState:${e}`;return t&&(r+=`.${t}`),i&&(r+=this.buildQueryString(i)),r}buildQueryString(e){let t="?";for(let i in e)e.hasOwnProperty(i)&&(t.length>1&&(t+="&"),t+=i+"="+e[i]);return t}},c.formConfigFetcher=new t,c.gridConfigFetcher=new class extends e{constructor(){super(...arguments),this.GRID_CONFIG_VERSION="V3:"}getConfig(e,t){const i=this.getPath(t,e);return new Promise(((e,t)=>{this.loadResource(i).then((t=>{let i;t&&(i=JSON.parse(t)),e(i)})).catch((e=>{t(e)}))}))}saveConfig(e,t,i){const r=this.getPath(i,t);return new Promise(((t,i)=>{this.saveResource(e,r).then((e=>{t(JSON.parse(e.resource))})).catch((e=>{i(e)}))}))}getPath(e,t){return t?`cfg://grid/${this.GRID_CONFIG_VERSION}${e}/${t}`:`cfg://grid/${this.GRID_CONFIG_VERSION}${e}`}},c.personalizedFilterFetcher=new o;export{c as C,o as P}
@@ -1 +0,0 @@
1
- import{r as s,c as i,h as t,g as a}from"./p-d2d301a6.js";import{ElementIDUtils as h}from"@sankhyalabs/core";import{S as o}from"./p-9ea14b61.js";import{R as e}from"./p-688dcb4c.js";import"./p-67aedbe0.js";import"./p-a13ccb86.js";import"./p-be75153c.js";import"./p-8d884fab.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";const n=class{constructor(t){s(this,t),this.exit=i(this,"exit",7),this.actionClick=i(this,"actionClick",7),this.formItemsReady=i(this,"formItemsReady",7),this._dataUnit=void 0,this._dataState=void 0,this._showFormConfig=!1,this._configManager=void 0,this.configName=void 0,this.recordsValidator=void 0,this.messagesBuilder=void 0,this.resourceID=void 0}async showConfig(){this._showFormConfig=!0}async hideConfig(){this._showFormConfig=!1}closeConfig(){this.hideConfig()}dataunitReady(){h.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}async componentWillLoad(){let s=this._element.parentElement;for(;s;){if("SNK-DATA-UNIT"===s.tagName.toUpperCase()){this._snkDataUnit=s,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.dataunitReady():this._snkDataUnit.addEventListener("dataUnitReady",(s=>{this._dataUnit=s.detail})),this._snkDataUnit.addEventListener("dataStateChange",(s=>{this._dataState=s.detail}));break}s=s.parentElement}null==this.resourceID&&(this.resourceID=await e.getResourceID()),this._configManager=new o(this.configName,this.resourceID),this._configManager.loadConfig()}render(){if(this._dataUnit&&this._dataState)return t("section",null,t("div",{class:"ez-row"},t("div",{class:"ez-col ez-col--sd-12"},t("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,"data-element-id":"embedded",dataUnit:this._dataUnit,config:this._configManager.getConfig(this._dataState.insertionMode,this._dataUnit),recordsValidator:this.recordsValidator,class:this._showFormConfig?"snk-form__form--hidden":""}),this._showFormConfig&&t("snk-form-config",{messagesBuilder:this.messagesBuilder,dataUnit:this._dataUnit,configManager:this._configManager,onConfigClose:()=>this.closeConfig()}))))}get _element(){return a(this)}};n.style=".sc-snk-form-h{--snk-form__header--min-height:94px;display:block}.snk-form__form--hidden.sc-snk-form{display:none}";export{n as snk_form}
@@ -1 +0,0 @@
1
- import{r as i,c as e,h as t,F as s}from"./p-d2d301a6.js";import{Action as r,ElementIDUtils as a}from"@sankhyalabs/core";import{S as n}from"./p-9ea14b61.js";import{buildFormMetadata as d,FormMetadata as o}from"@sankhyalabs/ezui/dist/collection/utils/form";import{o as h,T as l,b as u}from"./p-c2495304.js";import{T as v}from"./p-ae4fc9a9.js";import{d as c}from"./p-b0ef4383.js";import"./p-be75153c.js";import"./p-d78d4062.js";import{P as g}from"./p-38289a55.js";import"./p-21749402.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-ff1990ad.js";import"./p-a13ccb86.js";import{SelectionMode as m}from"@sankhyalabs/core/dist/dataunit/DataUnit";const k="__FORM:",w=class{constructor(t){i(this,t),this.exit=e(this,"exit",7),this.actionClick=e(this,"actionClick",7),this.formItemsReady=e(this,"formItemsReady",7),this._guideBuilders=new Map,this.dataUnit=void 0,this.dataState=void 0,this.configName=void 0,this.entityPath=void 0,this.actionsList=void 0,this.recordsValidator=void 0,this.masterFormConfig=void 0,this.selectedGuide=void 0,this.taskbarManager=void 0,this.messagesBuilder=void 0,this.canEdit=!0,this.presentationMode=void 0,this.resourceID=void 0,this.detailTaskbarCustomContainerId=void 0,this._hasToCreateFieldSearch=!0,this._breadcrumbItems=[],this._guides=void 0,this._formEditorConfigManager=void 0,this._formEditorDataUnit=void 0,this._fieldToGetFocus=void 0}observeDataUnit(){this.loadGuides(!0)}observeDataState(i,e){const t=null==i?void 0:i.selectedRecord,s=null==e?void 0:e.selectedRecord;(null==t?void 0:t.__record__id__)!==(null==s?void 0:s.__record__id__)&&this.loadGuides((null==e?void 0:e.insertionMode)!=(null==i?void 0:i.insertionMode))}observeMasterFormConfig(){this.loadGuides(this.noGuideSelected())}async showFormConfig(i=!1){const e=!i||null==this._currentDetail;this._formEditorConfigManager=e?this._configManager:this._currentDetail.formConfigManager,this._formEditorDataUnit=e?this.dataUnit:this._currentDetail.dataUnit}async findField(){await h(this._moreOptions,this._fieldSearch)}exitViewer(){this.dataUnit.isDirty()?this.dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}onActionClick(i){i.detail===v.CONFIGURATOR&&"master"!=i.target.dataset.taskbarOwner&&(this._snkConfigurator.open(),i.stopImmediatePropagation(),i.stopPropagation())}onContentCardChanged(i){w.updateContentCard(i.detail.formName,i.detail.cardConfig,i.detail.propertyChanged,this._configManager).then((()=>this.masterFormConfig=this._configManager.getConfig(this.dataState.insertionMode,this.dataUnit)))}getMessage(i){return this.messagesBuilder.getMessage(i,this.dataUnit.getSelectedRecord())}loadGuides(i){if(!this.dataUnit)return;if(!this._configManager.isLoaded)return;this._masterFormMetadata=d(this.masterFormConfig,this.dataUnit,!0);const e=this._masterFormMetadata.getAllSheets(),t=this.dataUnit.getSelectedRecord(),s=!t||this.dataUnit.isNewRecord(t.__record__id__),r=[];Array.from(e.values()).forEach((i=>{const e={id:i.name,label:i.label};this.isDetail(i.name)&&s&&(e.tooltip="Para alterar detalhes é necessário estar com um registro selecionado.",e.disabled=!0),r.push(e)})),this._guides=r,this._guideNavigator&&this._guideNavigator.updateItem(this._guides),i&&(this.selectedGuide=this._guides.length>0?this._guides[0]:void 0)}isDetail(i){return null!=o.getDetailName(i)}updateGuide(i){this._guideBuilders.set(i.id,i);const e=i.buildGuideItem(this._guideBuilders);this._guideNavigator&&(this._guideNavigator.updateItem(e).then((()=>{this._guideNavigator.getCurrentPath().then((i=>{this._breadcrumbItems=i}))})),this._guides=this._guides.map((i=>i.id===e.id?Object.assign(Object.assign(Object.assign({},i),e),void 0!==e.children?{}:{children:void 0}):i)))}getTaskBarId(){var i;return(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkGuideViewer.finish_edition":"snkGuideViewer.regular"}loadTaskbarProcessor(){var i;const e=this.getTaskBarId(),t=[];this.dataState&&this.dataState.hasPrevious||t.push("PREVIOUS"),this.dataState&&this.dataState.hasNext||t.push("NEXT"),(null===(i=this.dataState)||void 0===i?void 0:i.selectionInfo)&&(this.dataState.selectionInfo.length>1&&t.push("CLONE"),this.dataState.selectionInfo.isAllRecords()&&t.push("REMOVE"));const s=["PREVIOUS","NEXT","DIVIDER","ATTACH","CLONE","REMOVE","MORE_OPTIONS","ACTIONS_BUTTON","DIVIDER","GRID_MODE","CONFIGURATOR"];this.presentationMode==g.SECONDARY?s.unshift("INSERT"):s.push("INSERT");const r=this.getInvisibleButtons();this._taskbarProcessor=new l({"snkGuideViewer.regular":s,"snkGuideViewer.finish_edition":["CANCEL","SAVE"]}),this._taskbarProcessor.process(e,this.taskbarManager,this.dataState,t,r)}getInvisibleButtons(){const i=[];return this.dataState&&this.dataState.selectionInfo.mode===m.ALL_RECORDS&&i.push("ACTIONS_BUTTON"),i}static updateContentCard(i,e,t,s){return s.saveCardState(i,e,t)}static buildFixedForms(i){var e;const r=null===(e=i.formConfig)||void 0===e?void 0:e.cardsState;if(null!=r)return t(s,null,Array.from(r.entries()).filter((([e,t])=>(null==t?void 0:t.fixed)&&e!=i.selectedForm)).sort((([,i],[,e])=>((null==i?void 0:i.fixSequence)||0)-((null==e?void 0:e.fixSequence)||0))).map((([e,s])=>{var r,a;const n=i.formMetadata.getSheet(e);if(null!=n)return t("snk-form-view",{levelPath:i.levelPath,label:n.label,name:e,fields:n.fields,formMetadata:i.formMetadata,dataUnit:i.dataUnit,recordsValidator:i.recordsValidator,contracted:"CONTRACTED"===(null==s?void 0:s.presentation),fixed:null==s?void 0:s.fixed,summaryFields:null===(a=null===(r=i.formConfig)||void 0===r?void 0:r.summary)||void 0===a?void 0:a.get(e),fieldToFocus:i.fieldToFocus,key:e,onSnkRequestClearFieldToFocus:()=>{var e;return null===(e=i.onRequestClearFieldToFocus)||void 0===e?void 0:e.call(i)}})})))}wrapDetail(i,e){if(0===i.length)return e;const s=i.pop(),r=o.getDetailName(s);return r?this.wrapDetail(i,t("snk-data-unit",{dataUnitName:`${this.getDataUnitName(i,r)}`,entityName:r},e)):void 0}getDataUnitName(i,e){if(i.length>0){const t=i.map((i=>o.getDetailName(i)));return`${this.entityPath}/${t.join("/")}/${e}`}return`${this.entityPath}/${e}`}getContent(){var i,e,s,r,a;if(!this.selectedGuide)return;const n=this.selectedGuide.id;let d;const h=n.split("::"),l=h.pop(),u=o.getDetailName(l);let v=n;if(u||h.length>0){let e,s;if(n.includes(k)){[v,e]=n.split(k);const t=(null===(i=this._breadcrumbItems)||void 0===i?void 0:i.length)||0;s=t>1?this._breadcrumbItems[t-2]:this.selectedGuide}else s=this.selectedGuide;d=this.wrapDetail(h,t("snk-detail-view",{ref:i=>this._currentDetail=i,dataUnitName:this.getDataUnitName(h,u),onSnkDetailGuidesChange:i=>this.updateGuide(i.detail),entityName:u,selectedForm:e,branchGuide:s,guideItemPath:this._breadcrumbItems,key:`detail${v}`,canEdit:this.canEdit,onSnkSwitchGuide:i=>this._guideNavigator.selectGuide(i.detail),resourceID:this.resourceID,taskbarCustomContainerId:this.detailTaskbarCustomContainerId}))}else{const i=this.selectedGuide.id,o=this._masterFormMetadata.getSheet(i);if(o){const h=null===(s=null===(e=this.masterFormConfig)||void 0===e?void 0:e.cardsState)||void 0===s?void 0:s.get(i);d=t("snk-form-view",{ref:i=>this._mainForm=i,fixed:null==h?void 0:h.fixed,summaryFields:null===(a=null===(r=this.masterFormConfig)||void 0===r?void 0:r.summary)||void 0===a?void 0:a.get(i),name:i,label:o.label,fields:o.fields,dataUnit:this.dataUnit,formMetadata:this._masterFormMetadata,recordsValidator:this.recordsValidator,fieldToFocus:this._fieldToGetFocus,key:n,onSnkRequestClearFieldToFocus:()=>this.clearFieldToFocusHandler()},this.presentationMode==g.SECONDARY&&this.buildTaskBar())}}return d}onBreadcrumbClickHandler(i){null!=(null==i?void 0:i.id)&&this._guideNavigator.selectGuide(i.id)}updateSelectedGuideHandler(i){this._guideHasChanged=this.selectedGuide!=i,this.selectedGuide=i,this._guideNavigator.getCurrentPath().then((i=>{this._breadcrumbItems=i})),this.resetGuideBadge(i)}changeGuideHandler(i){var e;null===(e=this._guideNavigator)||void 0===e||e.selectGuide(i)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}resetGuideBadge(i){var e;this._guides=[...null===(e=this._guides)||void 0===e?void 0:e.map((e=>this.canClearGuideBadge(e,i.id)?Object.assign(Object.assign({},e),{badge:null}):e))]}canClearGuideBadge(i,e){return i.id===e||this.isIncludedInChildrenList(i,e)}isIncludedInChildrenList(i,e){return this.hasChildren(i)&&this.getChildrenIdList(i).includes(e)}hasChildren(i){return i.children&&Array.isArray(i.children)}getChildrenIdList(i){return i.children.map((i=>i.id))}getConfigViewMode(){return c.GRID}changeConfigViewMode(i){this._currentDetail&&this._currentDetail.changeViewMode(i)}openConfig(i){this._snkConfigurator.close(),this._currentDetail&&(i===c.FORM?this.showFormConfig(!0):this._currentDetail.configGrid())}noGuideSelected(){var i;return void 0===this.selectedGuide||"__main"===(null===(i=this.selectedGuide)||void 0===i?void 0:i.id)}componentWillLoad(){if(null==this.resourceID)throw new Error("Erro interno: resourceID não informado");this._configManager=new n(this.configName,this.resourceID,(i=>this.masterFormConfig=i)),this._configManager.loadConfig()}componentDidRender(){this._guideHasChanged&&(this._currentDetail?this._currentDetail.showUp():this._mainForm&&this._mainForm.showUp(),this._guideHasChanged=!1)}getFieldsSearch(i,e){return(null==this._fieldSearch||this._hasToCreateFieldSearch)&&(this._hasToCreateFieldSearch=!1,this._moreOptions=i,i.addEventListener("taskbarActionsButtonDisconnected",(()=>this._hasToCreateFieldSearch=!0)),this._fieldSearch=u(e,(({argument:i})=>this.fieldsOptionLoader(i)),(e=>this.onSelectField(e,i)))),this._fieldSearch}fieldsOptionLoader(i){return Promise.resolve(this._configManager.getFieldsList(this.dataUnit,i).map((i=>({value:i.name,label:i.label}))))}onSelectField(i,e){if(null==i)return;this._fieldToGetFocus=i.value;const t=this.getGuideName(i.value);t!==this.selectedGuide.id&&this.changeGuideHandler(t),e.hideActions()}getActionsList(){return[{value:"",label:this.getMessage("snkCrud.findColumn"),disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(i,e)=>this.getFieldsSearch(i,e)}].concat(null!=this.taskbarManager&&null!=this.taskbarManager.getMoreOptions?this.taskbarManager.getMoreOptions(this.getTaskBarId(),this.configName,this.dataState,this.actionsList):this.actionsList)}buildTaskBar(){var i;return t("div",{class:"snk-guides-viewer__header-taskbar "+(this.presentationMode!=g.SECONDARY?"ez-align--right":"ez-padding-bottom--medium")},t("snk-taskbar",{key:"guideViewerTaskbar","data-element-id":"guideViewer",configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.getActionsList(),messagesBuilder:this.messagesBuilder,presentationMode:this.presentationMode,primaryButton:(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT","data-taskbar-owner":"master",dataUnit:this.dataUnit,resourceID:this.resourceID,customSlotId:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS",alignRigth:!0},t("slot",{name:"GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS"})))}async dataUnitActionHandler(i){var e;if(i.type===r.FIELD_INVALIDATED){const t=this.getGuideName(null===(e=i.payload)||void 0===e?void 0:e.fieldName);await this.addErrorBadgeToGuide(t),await this.openGuideNavigator(t)}}async addErrorBadgeToGuide(i){var e;this._guides=[...null===(e=this._guides)||void 0===e?void 0:e.map((e=>Object.assign(Object.assign({},e),{badge:this.getBadge(e,i)})))]}async openGuideNavigator(i){this.selectedGuide.id!==i&&await this._guideNavigator.openGuideNavidator()}getBadge(i,e){var t;return this.selectedGuide.id===e?null:e===i.id?"error":null!==(t=i.badge)&&void 0!==t?t:null}getGuideName(i){var e;for(const t of this._masterFormMetadata.getAllSheets()){const s=null===(e=t[1])||void 0===e?void 0:e.fields;for(const e of s)if(e.name===i)return t[0]}return""}componentDidLoad(){this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this))}render(){var i,e;if(null!=this._formEditorConfigManager)return t("snk-form-config",{dataUnit:this._formEditorDataUnit,messagesBuilder:this.messagesBuilder,configManager:this._formEditorConfigManager,onConfigClose:()=>this._formEditorConfigManager=null});if(!this.dataUnit)return;if(!this._configManager.isLoaded)return;this.loadTaskbarProcessor();const s=this._guides&&this._guides.length>1;return t("section",{class:"snk-guides-viewer"},t("div",{class:"ez-row snk-guides-viewer__header"},t("div",{class:"snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large",key:"header"},t("ez-button",{onClick:()=>this.exitViewer(),title:this.getMessage("snkCrud.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small"}),t("div",{class:"ez-flex ez-flex--column ez-flex-item--auto"},t("h1",{class:"ez-title ez-title--primary ez-title--xlarge"},this.getMessage("snkCrud.title")),(null===(i=this._breadcrumbItems)||void 0===i?void 0:i.length)>1&&t("div",{class:"ez-margin-top--extra-small"},t("ez-breadcrumb",Object.assign({items:this._breadcrumbItems,onSelectedItem:i=>this.onBreadcrumbClickHandler(null==i?void 0:i.detail)},{[a.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${a.getInternalIDInfo("breadcrumb")}`}))))),this.presentationMode!=g.SECONDARY&&this.buildTaskBar()),t("div",{class:"snk-guides-viewer__container"},s?t("ez-guide-navigator",{ref:i=>this._guideNavigator=i,class:"snk-guides-viewer__guide-navigator",items:this._guides,selectedId:this.selectedGuide?this.selectedGuide.id:void 0,onEzSelectionChange:i=>this.updateSelectedGuideHandler(i.detail)}):t("div",null),t("div",{class:"snk-guides-viewer__detail-container"},w.buildFixedForms({formConfig:this.masterFormConfig,formMetadata:this._masterFormMetadata,selectedForm:null===(e=this.selectedGuide)||void 0===e?void 0:e.id,dataUnit:this.dataUnit,recordsValidator:this.recordsValidator,fieldToFocus:this._fieldToGetFocus,onRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this)}),this.getContent())),t("snk-configurator",{ref:i=>this._snkConfigurator=i,viewMode:this.getConfigViewMode(),onConfigSelected:i=>this.changeConfigViewMode(i.detail),messagesBuilder:this.messagesBuilder,onOpenConfig:i=>this.openConfig(i.detail),resourceID:this.resourceID}))}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observeDataState"],masterFormConfig:["observeMasterFormConfig"]}}};w.style=".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";export{w as S}
@@ -1 +0,0 @@
1
- import{C as t}from"./p-67aedbe0.js";import{ObjectUtils as e,StringUtils as s}from"@sankhyalabs/core";import{F as i}from"./p-a13ccb86.js";class n{constructor(t,e,s){this._resourceID=e,this._configName=t,this._onConfigChange=s}async loadConfig(){return new Promise((e=>{t.loadFormConfig(this._configName,this._resourceID).then((t=>{this.setConfig(t),e(t)})).catch((t=>{console.warn(t)}))}))}saveConfig(s){const i=e.copy(s);return new Promise((e=>{t.saveFormConfig(s,this._configName,this._resourceID).then((t=>{this.setConfig(Object.assign(Object.assign({},i),t)),e(Object.assign(Object.assign({},i),t))}))}))}saveCardState(e,s,i){return new Promise((n=>{var r;const h=(null===(r=this._config)||void 0===r?void 0:r.cardsState)||new Map,a=h.get(e);h.set(e,"fixed"===i?this.updateFixSequence(Object.assign(Object.assign({},a),{fixed:s.fixed}),h):Object.assign(Object.assign({},a),{[i]:s[i]})),t.saveCardState(h,this._configName,this._resourceID).then((t=>{this._config=Object.assign(Object.assign({},this._config),{cardsState:h}),n(t)}))}))}updateFixSequence(t,e){let s=-1;return Array.from(e.values()).forEach((e=>{e.fixed||delete t.fixSequence,null!=e.fixSequence&&(s=Math.max(s,e.fixSequence))})),t.fixed?t.fixSequence=s+1:delete t.fixSequence,t}getFieldsList(t,e){var s;const i=null===(s=this._config)||void 0===s?void 0:s.fields;return null!=i&&i.length>0?i.map((({label:e,name:s,readOnly:i})=>null==e?t.getField(s):{name:s,label:e,readOnly:i})).filter((t=>this.isFieldVisible(t,e))):null!=t?t.metadata.fields.filter((t=>this.isFieldVisible(t,e))).map((({label:t,name:e,readOnly:s})=>({label:t,name:e,readOnly:s}))):[]}isFieldVisible(t,e){if(!1===t.visible)return!1;if(null==e)return!0;const i=s.replaceAccentuatedCharsLower((t.label||t.name).toLocaleLowerCase()),n=s.replaceAccentuatedCharsLower(e.toLocaleLowerCase());return i.includes(n)}getInsertionConfig(t){const e=this.getFieldsList(t).filter((e=>{if(t){const s=t.getField(e.name);if(s&&s.readOnly)return!1}return!e.readOnly}));return Object.assign(Object.assign({},this._config),{fields:e})}setConfig(t){this.isLoaded=!0;const{cardsState:e,summary:s,defaultVars:i}=this._config||{};this._config=Object.assign({},t),e&&(this._config.cardsState=e),s&&(this._config.summary=s),i&&(this._config.defaultVars=i),this._onConfigChange&&this._onConfigChange(Object.assign({},this._config))}getConfig(t,e){return t?this.getInsertionConfig(e):Object.assign({},this._config)}getFormConfigFetcher(){return null==this._formConfigFetcher&&(this._formConfigFetcher=new i),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)}}export{n as S}