@sankhyalabs/sankhyablocks 8.2.0 → 8.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/cjs/{ConfigStorage-e9d7fa82.js → ConfigStorage-c9ca6658.js} +4 -4
  2. package/dist/cjs/{DataFetcher-39b63a1e.js → DataFetcher-7694daf2.js} +58 -10
  3. package/dist/cjs/{SnkFormConfigManager-2f8eccd9.js → SnkFormConfigManager-fb684c0e.js} +2 -2
  4. package/dist/cjs/auth-fetcher-80818a0f.js +34 -0
  5. package/dist/cjs/{dataunit-fetcher-15a7cc88.js → dataunit-fetcher-1acab20d.js} +1 -1
  6. package/dist/cjs/{filter-bar-config-fetcher-24548cec.js → filter-bar-config-fetcher-f13a1aff.js} +1 -1
  7. package/dist/cjs/{form-config-fetcher-ab3ce222.js → form-config-fetcher-f10017bf.js} +2 -2
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/{pesquisa-fetcher-96c042aa.js → pesquisa-fetcher-c9d99342.js} +1 -1
  10. package/dist/cjs/{resource-fetcher-64102551.js → resource-fetcher-a6e6c5fd.js} +1 -1
  11. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  12. package/dist/cjs/snk-actions-button.cjs.entry.js +2 -2
  13. package/dist/cjs/snk-application.cjs.entry.js +10 -37
  14. package/dist/cjs/snk-attach.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-crud.cjs.entry.js +9 -5
  16. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  17. package/dist/cjs/{snk-data-unit-d5109a08.js → snk-data-unit-e89e07bd.js} +4 -3
  18. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-detail-view.cjs.entry.js +13 -22
  20. package/dist/cjs/snk-filter-bar.cjs.entry.js +5 -5
  21. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  22. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -5
  23. package/dist/cjs/snk-form-config.cjs.entry.js +3 -3
  24. package/dist/cjs/snk-form.cjs.entry.js +6 -6
  25. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -5
  26. package/dist/cjs/snk-grid.cjs.entry.js +9 -6
  27. package/dist/cjs/{snk-guides-viewer-8c9693aa.js → snk-guides-viewer-5da253af.js} +5 -6
  28. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
  29. package/dist/cjs/snk-personalized-filter.cjs.entry.js +5 -5
  30. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-simple-crud.cjs.entry.js +5 -11
  32. package/dist/collection/components/snk-crud/snk-crud.js +26 -5
  33. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +24 -14
  34. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +20 -3
  35. package/dist/collection/components/snk-data-unit/snk-data-unit.js +21 -3
  36. package/dist/collection/components/snk-grid/snk-grid.js +60 -2
  37. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +21 -9
  38. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +71 -10
  39. package/dist/components/DataFetcher.js +58 -10
  40. package/dist/components/auth-fetcher.js +32 -0
  41. package/dist/components/snk-application2.js +1 -29
  42. package/dist/components/snk-crud.js +8 -3
  43. package/dist/components/snk-data-unit2.js +5 -3
  44. package/dist/components/snk-detail-view2.js +10 -17
  45. package/dist/components/snk-grid2.js +7 -1
  46. package/dist/components/snk-simple-crud2.js +4 -9
  47. package/dist/esm/{ConfigStorage-1090289a.js → ConfigStorage-6887ede4.js} +4 -4
  48. package/dist/esm/{DataFetcher-a4ed43e7.js → DataFetcher-731430d9.js} +58 -10
  49. package/dist/esm/{SnkFormConfigManager-de537eca.js → SnkFormConfigManager-6acecf9f.js} +2 -2
  50. package/dist/esm/auth-fetcher-82d89fe6.js +32 -0
  51. package/dist/esm/{dataunit-fetcher-8d0bfa4a.js → dataunit-fetcher-ad7a1a3e.js} +1 -1
  52. package/dist/esm/{filter-bar-config-fetcher-2417b8cf.js → filter-bar-config-fetcher-553c5463.js} +1 -1
  53. package/dist/esm/{form-config-fetcher-4065db9a.js → form-config-fetcher-9560730a.js} +2 -2
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/{pesquisa-fetcher-7460b876.js → pesquisa-fetcher-27dc20ed.js} +1 -1
  56. package/dist/esm/{resource-fetcher-45a70066.js → resource-fetcher-0586b1fc.js} +1 -1
  57. package/dist/esm/sankhyablocks.js +1 -1
  58. package/dist/esm/snk-actions-button.entry.js +2 -2
  59. package/dist/esm/snk-application.entry.js +8 -35
  60. package/dist/esm/snk-attach.entry.js +2 -2
  61. package/dist/esm/snk-crud.entry.js +9 -5
  62. package/dist/esm/snk-data-exporter.entry.js +2 -2
  63. package/dist/esm/{snk-data-unit-3a0bbfcb.js → snk-data-unit-8c4d944d.js} +4 -3
  64. package/dist/esm/snk-data-unit.entry.js +1 -1
  65. package/dist/esm/snk-detail-view.entry.js +13 -22
  66. package/dist/esm/snk-filter-bar.entry.js +5 -5
  67. package/dist/esm/snk-filter-detail.entry.js +3 -3
  68. package/dist/esm/snk-filter-modal-item.entry.js +5 -5
  69. package/dist/esm/snk-form-config.entry.js +3 -3
  70. package/dist/esm/snk-form.entry.js +6 -6
  71. package/dist/esm/snk-grid-config.entry.js +5 -5
  72. package/dist/esm/snk-grid.entry.js +9 -6
  73. package/dist/esm/{snk-guides-viewer-a6d39c18.js → snk-guides-viewer-d3623a1f.js} +5 -6
  74. package/dist/esm/snk-guides-viewer.entry.js +8 -8
  75. package/dist/esm/snk-personalized-filter.entry.js +5 -5
  76. package/dist/esm/snk-print-selector.entry.js +1 -1
  77. package/dist/esm/snk-simple-crud.entry.js +5 -11
  78. package/dist/sankhyablocks/{p-c6feb995.entry.js → p-000d073b.entry.js} +1 -1
  79. package/dist/sankhyablocks/{p-4514fc6a.entry.js → p-162f5d21.entry.js} +1 -1
  80. package/dist/sankhyablocks/{p-b978da60.js → p-1bed2c42.js} +1 -1
  81. package/dist/sankhyablocks/p-1dc76c50.js +1 -0
  82. package/dist/sankhyablocks/p-24b18442.entry.js +1 -0
  83. package/dist/sankhyablocks/{p-0fb83448.js → p-301d4e34.js} +1 -1
  84. package/dist/sankhyablocks/{p-9471cbc9.entry.js → p-4374bc89.entry.js} +1 -1
  85. package/dist/sankhyablocks/p-564efc43.js +1 -0
  86. package/dist/sankhyablocks/{p-d7c7a289.entry.js → p-5fe223c9.entry.js} +1 -1
  87. package/dist/sankhyablocks/p-61651a40.entry.js +1 -0
  88. package/dist/sankhyablocks/p-70d4a90a.entry.js +1 -0
  89. package/dist/sankhyablocks/{p-f7eded3a.entry.js → p-7bd353de.entry.js} +1 -1
  90. package/dist/sankhyablocks/{p-5994af77.js → p-837831c2.js} +2 -2
  91. package/dist/sankhyablocks/p-85ec10c9.entry.js +1 -0
  92. package/dist/sankhyablocks/{p-50c13cc8.entry.js → p-89d46727.entry.js} +1 -1
  93. package/dist/sankhyablocks/{p-52c6b2e7.js → p-8e8b5fc7.js} +1 -1
  94. package/dist/sankhyablocks/{p-847e6c20.js → p-8e96581f.js} +2 -2
  95. package/dist/sankhyablocks/p-9b2af526.entry.js +1 -0
  96. package/dist/sankhyablocks/{p-f3b7b69e.js → p-9db7e50a.js} +1 -1
  97. package/dist/sankhyablocks/{p-a42dd503.entry.js → p-a2f32d4e.entry.js} +1 -1
  98. package/dist/sankhyablocks/{p-7588f006.entry.js → p-a7eaea51.entry.js} +1 -1
  99. package/dist/sankhyablocks/{p-3d6f91c2.entry.js → p-a84b1ca2.entry.js} +1 -1
  100. package/dist/sankhyablocks/p-c32b9d7c.entry.js +1 -0
  101. package/dist/sankhyablocks/p-c3943e7e.entry.js +11 -0
  102. package/dist/sankhyablocks/p-c7d1e26a.js +1 -0
  103. package/dist/sankhyablocks/{p-6bb904bb.entry.js → p-cd40ab53.entry.js} +1 -1
  104. package/dist/sankhyablocks/{p-44e66c8d.js → p-d41198ff.js} +1 -1
  105. package/dist/sankhyablocks/{p-9d18017a.js → p-f6b98398.js} +1 -1
  106. package/dist/sankhyablocks/{p-6f0795c8.entry.js → p-f9f385eb.entry.js} +1 -1
  107. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  108. package/dist/types/components/snk-crud/snk-crud.d.ts +5 -0
  109. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  110. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -0
  111. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
  112. package/dist/types/components/snk-grid/snk-grid.d.ts +13 -0
  113. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  114. package/dist/types/components.d.ts +64 -0
  115. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  116. package/package.json +1 -1
  117. package/dist/sankhyablocks/p-15aba6fb.entry.js +0 -11
  118. package/dist/sankhyablocks/p-21e7c08e.entry.js +0 -1
  119. package/dist/sankhyablocks/p-2861d44f.entry.js +0 -1
  120. package/dist/sankhyablocks/p-2d883fe9.entry.js +0 -1
  121. package/dist/sankhyablocks/p-4f4cd005.entry.js +0 -1
  122. package/dist/sankhyablocks/p-5df17074.js +0 -1
  123. package/dist/sankhyablocks/p-9edad923.js +0 -1
  124. package/dist/sankhyablocks/p-c945318c.entry.js +0 -1
  125. package/dist/sankhyablocks/p-ccbfb1cf.entry.js +0 -1
@@ -22,6 +22,7 @@ export declare class SnkCrud {
22
22
  _dataState: DataState;
23
23
  attachmentRegisterKey: string;
24
24
  _currentViewMode: VIEW_MODE;
25
+ _canEdit: boolean;
25
26
  /**
26
27
  * Usado para salvar as configurações dos blocos de construção.
27
28
  */
@@ -64,6 +65,10 @@ export declare class SnkCrud {
64
65
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
65
66
  */
66
67
  messagesBuilder: SnkMessageBuilder;
68
+ /**
69
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
70
+ */
71
+ useEnterLikeTab: boolean;
67
72
  /**
68
73
  * Emitido pela taskbar sempre que houver click de botão ou ação.
69
74
  */
@@ -17,6 +17,7 @@ export declare class SnkDetailView {
17
17
  private _viewStack;
18
18
  private _levelPath;
19
19
  private _disabledButtons;
20
+ private _currentView;
20
21
  attachmentRegisterKey: string;
21
22
  /**
22
23
  * Gerenciador de configuração do formulário.
@@ -52,6 +53,10 @@ export declare class SnkDetailView {
52
53
  dataState: DataState;
53
54
  messagesBuilder: SnkMessageBuilder;
54
55
  branchGuide: IGuideItem;
56
+ /**
57
+ * Define se a edição está habilitada na grid.
58
+ */
59
+ canEdit: boolean;
55
60
  observerDataState(newValue: DataState, oldValue: DataState): void;
56
61
  /**
57
62
  * Muda o modo de visualização do componente entre VIEW_MODE.GRID e VIEW_MODE.FORM
@@ -61,6 +61,10 @@ export declare class SnkGuidesViewer {
61
61
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
62
62
  */
63
63
  messagesBuilder: SnkMessageBuilder;
64
+ /**
65
+ * Define se a edição está habilitada na grid.
66
+ */
67
+ canEdit: boolean;
64
68
  /**
65
69
  * Altera o modo de apresentação dos botões do snk-taskbar.
66
70
  */
@@ -50,6 +50,10 @@ export declare class SnkDataUnit implements DUActionInterceptor {
50
50
  *
51
51
  */
52
52
  useCancelConfirm: boolean;
53
+ /**
54
+ * Responsável por evitar a mensagem de sucesso ao salvar.
55
+ */
56
+ ignoreSaveMessage: boolean;
53
57
  /**
54
58
  * Usado para obter configuração de metadados.
55
59
  */
@@ -9,6 +9,7 @@ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
9
9
  import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
10
10
  import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
11
11
  import { ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
12
+ import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
12
13
  export declare class SnkGrid {
13
14
  _grid: HTMLEzGridElement;
14
15
  _snkDataUnit: HTMLSnkDataUnitElement;
@@ -63,6 +64,18 @@ export declare class SnkGrid {
63
64
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
64
65
  */
65
66
  messagesBuilder: SnkMessageBuilder;
67
+ /**
68
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
69
+ */
70
+ useEnterLikeTab: boolean;
71
+ /**
72
+ * Validador responsável por checar a integridade das informações do registro.
73
+ */
74
+ recordsValidator: IRecordValidator;
75
+ /**
76
+ * Define se a edição está habilitada na grid.
77
+ */
78
+ canEdit: boolean;
66
79
  /**
67
80
  * Emitido sempre que houver click de botão ou ação.
68
81
  */
@@ -51,6 +51,10 @@ export declare class SnkSimpleCrud {
51
51
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
52
52
  */
53
53
  messagesBuilder: SnkMessageBuilder;
54
+ /**
55
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
56
+ */
57
+ useEnterLikeTab: boolean;
54
58
  _taskbarProcessor: TaskbarProcessor;
55
59
  resolveInMemoryBtns(taskbarButtons: Array<string>): Array<string>;
56
60
  /**
@@ -403,6 +403,10 @@ export namespace Components {
403
403
  * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
404
404
  */
405
405
  "taskbarManager": TaskbarManager;
406
+ /**
407
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
408
+ */
409
+ "useEnterLikeTab": boolean;
406
410
  }
407
411
  interface SnkDataExporter {
408
412
  /**
@@ -452,6 +456,10 @@ export namespace Components {
452
456
  * @returns Retorna a lista de IDs dos registros selecionados.
453
457
  */
454
458
  "getSelectedRecordsIDsInfo": () => Promise<Array<IRecordID>>;
459
+ /**
460
+ * Responsável por evitar a mensagem de sucesso ao salvar.
461
+ */
462
+ "ignoreSaveMessage": boolean;
455
463
  /**
456
464
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
457
465
  */
@@ -467,6 +475,10 @@ export namespace Components {
467
475
  }
468
476
  interface SnkDetailView {
469
477
  "branchGuide": IGuideItem;
478
+ /**
479
+ * Define se a edição está habilitada na grid.
480
+ */
481
+ "canEdit": boolean;
470
482
  /**
471
483
  * Muda o modo de visualização do componente entre VIEW_MODE.GRID e VIEW_MODE.FORM
472
484
  * @param mode - Novo modo que o componente deve ser apresentado.
@@ -982,6 +994,10 @@ export namespace Components {
982
994
  * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
983
995
  */
984
996
  "actionsList": Array<Action>;
997
+ /**
998
+ * Define se a edição está habilitada na grid.
999
+ */
1000
+ "canEdit": boolean;
985
1001
  /**
986
1002
  * Nome usado para salvar/recuperar a configuração.
987
1003
  */
@@ -1006,6 +1022,10 @@ export namespace Components {
1006
1022
  * Altera o modo de apresentação dos botões do snk-taskbar.
1007
1023
  */
1008
1024
  "presentationMode": PresentationMode1;
1025
+ /**
1026
+ * Validador responsável por checar a integridade das informações do registro.
1027
+ */
1028
+ "recordsValidator": IRecordValidator;
1009
1029
  /**
1010
1030
  * Faz o recarregamento da filter-bar da grade buscando o state no servidor.
1011
1031
  */
@@ -1030,6 +1050,10 @@ export namespace Components {
1030
1050
  * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
1031
1051
  */
1032
1052
  "taskbarManager": TaskbarManager;
1053
+ /**
1054
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
1055
+ */
1056
+ "useEnterLikeTab": boolean;
1033
1057
  }
1034
1058
  interface SnkGridConfig {
1035
1059
  /**
@@ -1059,6 +1083,10 @@ export namespace Components {
1059
1083
  * Ações a serem colocadas no botão "Mais opções" do componente snk-taskbar.
1060
1084
  */
1061
1085
  "actionsList": Array<Action>;
1086
+ /**
1087
+ * Define se a edição está habilitada na grid.
1088
+ */
1089
+ "canEdit": boolean;
1062
1090
  /**
1063
1091
  * Nome usado para guardar/recuperar as configurações do formulário.
1064
1092
  */
@@ -1209,6 +1237,10 @@ export namespace Components {
1209
1237
  */
1210
1238
  "taskbarManager": TaskbarManager;
1211
1239
  "useCancelConfirm": boolean;
1240
+ /**
1241
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
1242
+ */
1243
+ "useEnterLikeTab": boolean;
1212
1244
  }
1213
1245
  interface SnkTabConfig {
1214
1246
  /**
@@ -1941,6 +1973,10 @@ declare namespace LocalJSX {
1941
1973
  * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
1942
1974
  */
1943
1975
  "taskbarManager"?: TaskbarManager;
1976
+ /**
1977
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
1978
+ */
1979
+ "useEnterLikeTab"?: boolean;
1944
1980
  }
1945
1981
  interface SnkDataExporter {
1946
1982
  /**
@@ -1981,6 +2017,10 @@ declare namespace LocalJSX {
1981
2017
  * Determina qual a entidade que representa os dados em questão.
1982
2018
  */
1983
2019
  "entityName"?: string;
2020
+ /**
2021
+ * Responsável por evitar a mensagem de sucesso ao salvar.
2022
+ */
2023
+ "ignoreSaveMessage"?: boolean;
1984
2024
  /**
1985
2025
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
1986
2026
  */
@@ -2016,6 +2056,10 @@ declare namespace LocalJSX {
2016
2056
  }
2017
2057
  interface SnkDetailView {
2018
2058
  "branchGuide"?: IGuideItem;
2059
+ /**
2060
+ * Define se a edição está habilitada na grid.
2061
+ */
2062
+ "canEdit"?: boolean;
2019
2063
  /**
2020
2064
  * Representa o estado do dataUnit detail.
2021
2065
  */
@@ -2561,6 +2605,10 @@ declare namespace LocalJSX {
2561
2605
  * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
2562
2606
  */
2563
2607
  "actionsList"?: Array<Action>;
2608
+ /**
2609
+ * Define se a edição está habilitada na grid.
2610
+ */
2611
+ "canEdit"?: boolean;
2564
2612
  /**
2565
2613
  * Nome usado para salvar/recuperar a configuração.
2566
2614
  */
@@ -2589,6 +2637,10 @@ declare namespace LocalJSX {
2589
2637
  * Altera o modo de apresentação dos botões do snk-taskbar.
2590
2638
  */
2591
2639
  "presentationMode"?: PresentationMode1;
2640
+ /**
2641
+ * Validador responsável por checar a integridade das informações do registro.
2642
+ */
2643
+ "recordsValidator"?: IRecordValidator;
2592
2644
  /**
2593
2645
  * Configuração da seleção de grade no toast.
2594
2646
  */
@@ -2601,6 +2653,10 @@ declare namespace LocalJSX {
2601
2653
  * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
2602
2654
  */
2603
2655
  "taskbarManager"?: TaskbarManager;
2656
+ /**
2657
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
2658
+ */
2659
+ "useEnterLikeTab"?: boolean;
2604
2660
  }
2605
2661
  interface SnkGridConfig {
2606
2662
  /**
@@ -2638,6 +2694,10 @@ declare namespace LocalJSX {
2638
2694
  * Ações a serem colocadas no botão "Mais opções" do componente snk-taskbar.
2639
2695
  */
2640
2696
  "actionsList"?: Array<Action>;
2697
+ /**
2698
+ * Define se a edição está habilitada na grid.
2699
+ */
2700
+ "canEdit"?: boolean;
2641
2701
  /**
2642
2702
  * Nome usado para guardar/recuperar as configurações do formulário.
2643
2703
  */
@@ -2811,6 +2871,10 @@ declare namespace LocalJSX {
2811
2871
  */
2812
2872
  "taskbarManager"?: TaskbarManager;
2813
2873
  "useCancelConfirm"?: boolean;
2874
+ /**
2875
+ * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
2876
+ */
2877
+ "useEnterLikeTab"?: boolean;
2814
2878
  }
2815
2879
  interface SnkTabConfig {
2816
2880
  /**
@@ -18,7 +18,7 @@ export declare class DataFetcher {
18
18
  callGraphQL(req: any): Promise<any>;
19
19
  private resolveURL;
20
20
  private proccesGraphQLClientEvents;
21
- private proccessServiceBorkerClientEvents;
21
+ private processServiceBrokerClientEvents;
22
22
  private processPrinting;
23
23
  private getContext;
24
24
  callServiceBroker(serviceName: string, payload: string | Object, options?: Options): Promise<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "8.2.0",
3
+ "version": "8.3.1",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1,11 +0,0 @@
1
- import{r as t,c as e,h as s,g as i}from"./p-d2d301a6.js";import{WaitingChangeException as r,WarningException as n,ErrorException as a,ObjectUtils as o,DateUtils as c,StringUtils as h,OnboardingUtils as u,DependencyType as l,ElementIDUtils as p,ApplicationContext as d,ErrorTracking as m,DataType as w}from"@sankhyalabs/core";import{d as f,D as y,U as g}from"./p-44e66c8d.js";import{ApplicationUtils as P}from"@sankhyalabs/ezui/dist/collection/utils";import{P as v}from"./p-9d18017a.js";import{G as I,C as A}from"./p-5994af77.js";import{D as S}from"./p-b978da60.js";import{R as _}from"./p-f3b7b69e.js";import{S as E}from"./p-ae6aff81.js";import"./p-112455b1.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-847e6c20.js";import"./p-0fb83448.js";import"./p-584d7212.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";class C{constructor(t){this._app=t,window.addEventListener("error",(t=>this.errorHandler(t))),window.addEventListener("unhandledrejection",(t=>this.rejectionHandler(t)))}rejectionHandler(t){const e=t.reason;e instanceof r||(e?this.processException(e):this._app.isDebugMode().then((t=>{t&&this._app.error("Promise rejeitada","Erro interno: Uma promise foi rejeitada sem razão determinada.")})))}errorHandler(t){this.processException(t.error)}buildErrorCodeHTML(t){return'<br><a href="#" onclick="try{window.workspace.openHelp(\'_tbcode:'+t+"')} catch(e){alert('Não é possível abrir a ajuda fora do workspace Sankhya');}\">Código: "+t+"</a>"}processException(t){t.errorCode&&(t.message+=this.buildErrorCodeHTML(t.errorCode)),t instanceof r||t instanceof n?this._app.alert(t.title,t.message):t instanceof a?this._app.error(t.title,t.message):this._app.isDebugMode().then((e=>{if(e)if(t instanceof Error)this._app.error(t.name,t.message);else{const e=(null==t?void 0:t.title)||"Erro detectado",s="string"==typeof t?t:t.message||`Erro interno "${o.objectToString(t)}"`;this._app.error(e,s)}}))}}function D(){const t=["2909523kXwted","CompanyName=Sankhya Jiva Tecnologia e Inovao Ltda,LicensedApplication=Sankhya Gestao,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=2,LicensedProductionInstancesCount=0,AssetReference=AG-019460,ExpiryDate=9_November_2022_[v2]_MTY2Nzk1MjAwMDAwMA==10487151e296ee4360f80961ca960869","1131048CARoeW","502909mLEPmu","447255iQEXuN","428UHbJwW","270AFTxAV","194369jhGqTI","1540nWuTrj","2044062GicUQI","30CkXPWg"];return(D=function(){return t})()}const T=b;function b(t,e){const s=D();return(b=function(t){return s[t-=392]})(t,e)}!function(){const t=b,e=D();for(;;)try{if(951926==-parseInt(t(398))/1+-parseInt(t(393))/2+parseInt(t(395))/3+-parseInt(t(400))/4*(parseInt(t(392))/5)+-parseInt(t(401))/6*(-parseInt(t(402))/7)+parseInt(t(397))/8+-parseInt(t(399))/9*(-parseInt(t(394))/10))break;e.push(e.shift())}catch(t){e.push(e.shift())}}();const N=T(396);class j{constructor(){this.templateByQuery=new Map,this.cancel=[],this.buildTemplates()}buildTemplates(){this.templateByQuery.set("fetchTotals",f.gql`query($filters: [InputFilter!] $name: String!) {
2
- $queryAlias$: fetchTotals(name: $name, filters: $filters ){
3
- name
4
- value
5
- }
6
- }`)}fetchTotals(t,e,s=[]){const i=`${t}_${e}`,r=this.cancel.findIndex((t=>t[i]));return r>=0&&(this.cancel[r][i](),this.cancel.splice(r,1)),Promise.race([new Promise((t=>this.cancel.push({[i]:t}))),this.getTotals(t,e,s)]).then((t=>{let e=new Map;if(t){e=t;const s=this.cancel.findIndex((t=>t[i]));s>=0&&this.cancel.splice(s,1)}return e}))}getTotals(t,e,s=[]){return new Promise(((i,r)=>{y.get().callGraphQL({query:this.templateByQuery.get("fetchTotals"),values:{name:`totals://${t}/${e}`,filters:s}}).then((t=>{if(t.length>0){const e=new Map;return t.forEach((t=>e.set(t.name,parseFloat(t.value)))),i(e)}return r("Não foi possível recuperar os totalizadores")})).catch(r)}))}}var k;class O{static openAppActivity(t,e){var s;null===(s=window.workspace)||void 0===s||s.openAppActivity(t,e)}static getAppLabel(t){if(null!=(null===window||void 0===window?void 0:window.workspace))return null==window.workspace.getAppLabel&&(window.workspace.getAppLabel=t=>(t||"").split(".").pop()),window.workspace.getAppLabel(t)}}O.resourceID=null===(k=window.workspace)||void 0===k?void 0:k.resourceID;class L{static webConnectionCaller(t,e,s){var i;null===(i=window.AppletCaller)||void 0===i||i.webConnectionCaller(t,e,s)}}class U{constructor(){this.templateByQuery=new Map,this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchParam",f.gql`query($name: String!) {
7
- $queryAlias$: fetchResource(name: $name){
8
- name
9
- resource
10
- }
11
- }`)}async getParam(t){const e=`param://application?params=${t}`;return y.get().callGraphQL({values:{name:e},query:this.templateByQuery.get("fetchParam")})}async asString(t){const e=await this.getParam(t);return this.getValue(e)}async asInteger(t){const e=await this.getParam(t);return parseInt(this.getValue(e))}async asFloat(t){const e=await this.getParam(t);return parseFloat(this.getValue(e))}async asBoolean(t){const e=await this.getParam(t);return"S"===this.getValue(e)}async asDate(t){const e=await this.getParam(t);return c.strToDate(this.getValue(e))}async getBatchParams(t){const e=await this.getParam(t.join(",")),s={};return e.forEach((t=>s[t.name]=t.resource)),s}getValue(t={}){if(Array.isArray(t)&&t.length>0&&(t=t[0]),h.isEmpty(t.resource))return"";try{const e=o.stringToObject(t.resource),[s]=Object.keys(e);return e[s]}catch(t){console.warn("Erro ao converter string JSON.")}}}const $=R;function R(t,e){const s=M();return(R=function(t){return s[t-=378]})(t,e)}function M(){const t=["true","863GKWjmo","parse","56355fjjjAm","isSup","putAccess","4324480sjuCdS","hasOwnProperty","239748okvJLB","name","6055770tXeRaU","actions","forEach","7RPRvzn","1042CHxkUw","2988126NIwRMm","20MTNzmH","authorizationSf","item","string","hasAccess","isArray","Objeto não pode ser indefinido.","3071943fWslZp","parseFromJSON"];return(M=function(){return t})()}!function(){const t=R,e=M();for(;;)try{if(281287==parseInt(t(399))/1*(-parseInt(t(387))/2)+-parseInt(t(401))/3+parseInt(t(381))/4*(-parseInt(t(389))/5)+parseInt(t(388))/6*(-parseInt(t(386))/7)+parseInt(t(379))/8+parseInt(t(396))/9+parseInt(t(383))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}}();class F{[$(397)](t){const e=$;if(typeof(t=utxt(t[e(390)]))==e(392)&&(t=JSON[e(400)](t)),null==t)throw Error(e(395));const s=new q("S"===t[e(402)]||!0===t[e(402)]);return Array[e(394)](t[e(391)])&&t[e(391)][e(385)]((t=>s.putAccess(t[e(382)],String(t.status)==e(398)))),s}}class q{constructor(t){const e=$;this.isSup=t,this[e(384)]={}}[$(378)](t,e){this[$(384)][t]=e}[$(393)](t){const e=$;if(this[e(402)])return!0;let s=!0;return this[e(384)][e(380)](t)&&(s=this.actions[t]),s}isUserSup(){return this.isSup}}class x extends _{getData(t){const e=`cfg://auth/${t}`;return new Promise(((t,s)=>{this.loadResource(e).then((e=>{let s=o.stringToObject(e);s&&"object"==typeof s&&t(s)})).catch((t=>{s(t)}))}))}}var z;!function(t){t.INSERT="I",t.UPDATE="A",t.REMOVE="E",t.SHOW="C",t.CONFIG="F",t.CONFIG_NUMBER="N",t.CLONE="D",t.CONFIG_GRID="G"}(z||(z={}));const G=class{constructor(s){t(this,s),this.applicationLoaded=e(this,"applicationLoaded",7),this.applicationLoading=e(this,"applicationLoading",7),this._authPromises=[],this._duCache=new Map,this._duPromises=new Map,this._requestListener=new H,this.messagesBuilder=void 0,this.configName=void 0}get parameters(){return this._parameters||(this._parameters=new U),this._parameters}get resourceID(){return this._resourceID||(this._resourceID=this.urlParams.get("workspaceResourceID")||this.urlParams.get("resourceID")||O.resourceID||"unknown.resource.id"),this._resourceID}get auth(){return this._auth?Promise.resolve(this._auth):new Promise(((t,e)=>{const s=this._authPromises.length>0;this._authPromises.push(new J(t,e)),s||this.authFetcher.getData(this.resourceID).then((t=>{for(this._auth=t;this._authPromises.length>0;)this._authPromises.pop().resolve(this._auth)})).catch((t=>{for(;this._authPromises.length>0;)this._authPromises.pop().reject(t)}))}))}async isUserSup(){return new Promise(((t,e)=>{this.auth.then((s=>{this.getAuthList(s).then((e=>{t(e.isSup)})).catch((t=>e(t)))}))}))}initOnboarding(t){return u.getInstance().init(t,window.envContext),Promise.resolve()}async hasAccess(t){return new Promise(((e,s)=>{this.auth.then((i=>{this.getAuthList(i).then((s=>{e(s.isSup||s.actions[t])})).catch((t=>s(t)))}))}))}async getAllAccess(){return new Promise(((t,e)=>{this.auth.then((s=>{this.getAuthList(s).then((e=>{const s={};s.isSup=e.isSup,Object.entries(z).forEach((t=>{s[t[0]]=e.actions[t[1]]||!1})),t(s)})).catch((t=>e(t)))}))}))}async getStringParam(t){return this.parameters.asString(t)}async getIntParam(t){return this.parameters.asInteger(t)}async getFloatParam(t){return this.parameters.asFloat(t)}async getBooleanParam(t){return this.parameters.asBoolean(t)}async getDateParam(t){return this.parameters.asDate(t)}async showPopUp(t,e="full",s=!0){this.clearContent(this._popUp),this._popUp.appendChild(t),this._popUp.opened=!0,this._popUp.heightMode=e,this._popUp.useHeader=s,"EZ-MODAL-CONTAINER"===t.tagName&&(this._popUp.useHeader=!1)}async showModal(t){this.clearContent(this._rightModal),this._rightModal.appendChild(t),this._rightModal.opened=!0}async closeModal(){this.clearContent(this._rightModal),this._rightModal.opened=!1}async closePopUp(){this.clearContent(this._popUp),this._popUp.opened=!1,this._popUp.useHeader=!0,this._popUp.heightMode="full"}async temOpcional(t){const e=t.split(",");return new Promise(((t,s)=>{this.getAttributeFromHTMLWrapper("opc0009").then((i=>{"1"===i?t(!0):Promise.all(e.map((t=>this.getAttributeFromHTMLWrapper("opc"+t)))).then((e=>{t(e.includes("1"))})).catch((t=>{s(t)}))})).catch((t=>{s(t)}))}))}async getConfig(t){let e={serviceName:"SystemUtilsSP.getConf",requestBody:{config:{chave:t,tipo:"T"}}};return new Promise(((t,s)=>{y.get().callServiceBroker("SystemUtilsSP.getConf",JSON.stringify(e)).then((e=>{var s;return t(null===(s=e.config)||void 0===s?void 0:s.data)})).catch((t=>s(t)))}))}async saveConfig(t,e){let s={serviceName:"SystemUtilsSP.saveConf",requestBody:{config:{chave:t,tipo:"T",data:e}}};return new Promise(((t,e)=>{y.get().callServiceBroker("SystemUtilsSP.saveConf",JSON.stringify(s)).then((e=>t(e))).catch((t=>e(t)))}))}async getAttributeFromHTMLWrapper(t){return Promise.resolve(window[t])}async openApp(t,e){O.openAppActivity(t,e)}async webConnection(t,e,s){this.getStringParam(t).then((t=>{L.webConnectionCaller(t,e,s)}))}getDuPromissesStack(t){let e;return t&&(e=this._duPromises.get(t),e||(e=[],this._duPromises.set(t,e))),e||[]}async createDataunit(t,e,s,i){return new Promise(((r,n)=>{const a=this.getDuPromissesStack(e),o=a.length>0;if(a.push(new J(r,n)),!o){const r=this.dataUnitFetcher.getDataUnit(t,this.resourceID,s,i);r.loadMetadata().then((()=>{for(e&&this.updateDataunitCache(void 0,e,r);a.length>0;)a.pop().resolve(r)})).catch((t=>{for(;a.length>0;)a.pop().reject(t)}))}}))}async updateDataunitCache(t,e,s){t&&this._duCache.delete(t),this._duCache.set(e,s)}async getDataUnit(t,e,s,i){return new Promise(((r,n)=>{const a=this._duCache.get(e);a?r(a):this.createDataunit(t,e,s,i).then((t=>{r(t)})).catch((t=>n(t)))}))}async addClientEvent(t,e){return new Promise((s=>{y.addClientEvent(t,e),s()}))}async removeClientEvent(t){return new Promise((e=>{y.removeClientEvent(t),e()}))}async hasClientEvent(t){return new Promise((e=>{e(y.hasClientEvent(t))}))}async callServiceBroker(t,e,s){return y.get().callServiceBroker(t,e,s)}async getResourceID(){return Promise.resolve(this.resourceID)}async getUserID(){return Promise.resolve(window.UID)}async alert(t,e,s,i){return P.alert(t,e,s,i)}async error(t,e,s,i){return P.error(t,e,s,i)}async success(t,e,s,i){return P.success(t,e,s,i)}async message(t,e,s,i){return P.message(t,e,s,i)}async confirm(t,e,s,i,r){return P.confirm(t,e,s,i,r)}async info(t,e){return P.info(t,e)}async loadGridConfig(t){return this.gridConfigFetcher.getConfig(t,this.resourceID)}async loadTotals(t,e,s){return this.totalsFetcher.fetchTotals(t,e,s)}async getAuthList(t){return await(new F).parseFromJSON(t)}get urlParams(){return this._urlParams||(this._urlParams=g.getQueryParams(location.search)),this._urlParams}get dataUnitFetcher(){return this._dataUnitFetcher||(this._dataUnitFetcher=new S),this._dataUnitFetcher}get gridConfigFetcher(){return this._gridConfigFetcher||(this._gridConfigFetcher=new I),this._gridConfigFetcher}get totalsFetcher(){return this._totalsFetcher||(this._totalsFetcher=new j),this._totalsFetcher}get pesquisaFetcher(){return this._pesquisaFetcher||(this._pesquisaFetcher=new v),this._pesquisaFetcher}get authFetcher(){return this._authFetcher||(this._authFetcher=new x),this._authFetcher}async executeSearch(t,e,s){const i=null==s?void 0:s.getField(e);if(i){const{mode:e,argument:r}=t,{ENTITYNAME:n,CODEFIELD:a,DESCRIPTIONFIELD:o,ROOTENTITY:c,DESCRIPTIONENTITY:h}=i.properties,u=i.dependencies;let p;const d={rootEntity:c,descriptionFieldName:o,codeFieldName:a,showInactives:!1,dataUnitId:s.dataUnitId};return null==u||u.filter((t=>t.masterFields)).forEach((t=>{var e;t.type===l.SEARCHING&&(null===(e=t.masterFields)||void 0===e?void 0:e.length)>0&&(p={expression:t.expression,params:t.masterFields.map((t=>{const e=s.getField(t),i=(null==e?void 0:e.dataType)||w.TEXT,r=s.getFieldValue(t);if(null==r)throw this.alert("Erro ao pesquisar",`É necessario informar o campo ${e.label} para executar a pesquisa.`),new Error(`É necessario informar o campo ${e.label} para executar a pesquisa.`);return{name:t,value:r,dataType:i}}))})})),this.executePreparedSearch(e,r,{entity:n,entityDescription:h,criteria:p,searchOptions:d})}}async executePreparedSearch(t,e,s){const{entity:i,entityDescription:r,criteria:n,searchOptions:a}=s;return"ADVANCED"===t?new Promise((t=>{const s=document.createElement("snk-pesquisa");s[p.DATA_ELEMENT_ID_ATTRIBUTE_NAME]=`entity_${i}`,s.argument=e,s.searchLoader=t=>this.pesquisaFetcher.loadAdvancedSearch(i,t,n,a),s.selectItem=e=>{t(e),this.clearPopUpTitle(),this.closePopUp()},this.setPopUpTitle(r),this.showPopUp(s)})):this.pesquisaFetcher.loadSearchOptions(i,e,n,a)}async isDebugMode(){return new Promise((t=>{t(window.isDebugMode)}))}async getAppLabel(){return O.getAppLabel(this._resourceID)}addSearchListener(t,e,s){return new Promise((i=>{i(this.pesquisaFetcher.addSearchListener(t,e.dataUnitId,s))}))}importScript(t){return new Promise((e=>{this.getApplicationPath().then((s=>{let i=[];Array.isArray(t)||(i=[t]),i.forEach((t=>{const e=document.createElement("script");e.src=`${s}/${t}`,e.async=!0,document.body.appendChild(e)})),e()}))}))}getApplicationPath(){return new Promise((t=>{"dev"!==window.applicationenv&&t(`/${window.MGE_MODULE_NAME}/labsApps/${window.APPLICATION_NAME}/build`),t("")}))}executeSelectDistinct(t,e,s){return this.dataUnitFetcher.loadSelectDistinct(t,e,s)}getDataFetcher(){return Promise.resolve(y.get())}clearContent(t){t&&Array.from(t.children).forEach((e=>{t.removeChild(e)}))}clearPopUpTitle(){this._popUp.ezTitle=""}setPopUpTitle(t){this._popUp.ezTitle=t}componentWillLoad(){this._errorHandler=new C(this),this.messagesBuilder=new E,d.setContextValue("__EZUI__UPLOAD__ADD__URL__",`${g.getUrlBase()}/mge/upload/file`),d.setContextValue("__EZUI__SEARCH__OPTION__LOADER__",((t,e,s)=>this.executeSearch(t,e,s))),d.setContextValue("__EZUI__GRID_LICENSE__",N),m.init(),A.get()}connectedCallback(){d.setContextValue("__SNK__APPLICATION__",this),y.addRequestListener(this._requestListener)}disconnectedCallback(){y.removeRequestListener(this._requestListener)}componentDidLoad(){this.applicationLoading.emit(!0),window.requestAnimationFrame((()=>{this.applicationLoaded.emit(!0)})),p.addIDInfo(this._element,`resource_${this._resourceID}`)}render(){return s("div",null,s("ez-loading-bar",{ref:t=>this._requestListener.loadingBar=t}),s("ez-popup",{opened:!1,ref:t=>this._popUp=t,onEzClosePopup:()=>this.closePopUp()}),s("ez-modal",{opened:!1,ref:t=>this._rightModal=t,"modal-size":"small",closeOutsideClick:!0,closeEsc:!0}))}get _element(){return i(this)}};class H{constructor(){this._debounceTime=1e3,this._ignoredNameTypes=["totals"],this._countRequest=0}onRequestStart(t){this.isIgnoreLoadingOnRequest(t)||(this._countRequest++,this.loadingBar.show(),this._timerLoading&&clearTimeout(this._timerLoading))}onRequestEnd(t){this.isIgnoreLoadingOnRequest(t)||(this._countRequest--,this._timerLoading=setTimeout((()=>{this._countRequest<=0&&this.loadingBar.hide()}),this._debounceTime))}isIgnoreLoadingOnRequest(t){var e;if(1==(null===(e=null==t?void 0:t.requestBody)||void 0===e?void 0:e.length)){const{name:e}=t.requestBody[0].variables;if(e){const t=e.split(":");return this._ignoredNameTypes.indexOf(t[0])>=0}}return!1}}class J{constructor(t,e){this.resolve=t,this.reject=e}}G.style=".sc-snk-application-h{display:flex;flex-direction:column;height:100%}";export{G as snk_application}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-d2d301a6.js";import{ElementIDUtils as a,ApplicationContext as h}from"@sankhyalabs/core";import{T as n}from"./p-a2493d11.js";import"./p-44e66c8d.js";import"./p-9d18017a.js";import{P as o}from"./p-5534e08c.js";import{c as r}from"./p-4a78e118.js";import"./p-6dc031de.js";import"./p-112455b1.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";const d=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._viewHistory=[],this._dataUnit=void 0,this._dataState=void 0,this.attachmentRegisterKey=void 0,this._currentViewMode=r.GRID,this.configName=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=o.PRIMARY,this.messagesBuilder=void 0}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()}currentViewModeWatcher(t){this._viewHistory=[...this._viewHistory.slice(-1),t]}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===r.GRID,this.setViewMode(r.FORM)}async executeAction(t){return t===n.GRID_MODE?this.setViewMode(r.GRID):t===n.FORM_MODE||t===n.UPDATE?this.gridToForm(t!==n.UPDATE):t===n.CONFIGURATOR?this._snkConfigurator.open():"ATTACH"===t?this.setViewMode(r.ATTACHMENT):void 0}backView(){const t=this._viewHistory.at(-2)||r.GRID;this.setViewMode(t)}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t}openConfig(t){this._snkConfigurator.close(),t===r.GRID?this._snkGrid.showConfig():t===r.FORM&&this._guidesViewer.showFormConfig()}addDataElementID(){a.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(r.GRID)}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}componentWillLoad(){const t=h.getContextValue("__SNK__APPLICATION__");let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,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}i=i.parentElement}this.configName||(this.configName=t.configName)}initDataUnit(){this.addDataElementID(),this.messagesBuilder||(this.messagesBuilder=this._snkDataUnit.messagesBuilder)}handleConfiguratorEvent(t,i){t.stopImmediatePropagation(),"SAVE"!==i?this.configuratorCancel.emit():this.configuratorSave.emit()}render(){return 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,"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,selectionToastConfig:this.selectionToastConfig},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(r.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"},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")},s("div",{slot:"SnkConfigContainerSlot"},s("slot",{name:"SnkConfigContainerSlot"}))))}get _element(){return e(this)}static get watchers(){return{_currentViewMode:["currentViewModeWatcher"]}}};d.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{d 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{ElementIDUtils as d,ApplicationContext as r,DataType as a}from"@sankhyalabs/core";import{UserInterface as n}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{T as o}from"./p-a2493d11.js";import{C as l}from"./p-5994af77.js";import{P as h}from"./p-5534e08c.js";import{T as c}from"./p-c2beb95c.js";import{s as u}from"./p-6dc031de.js";import{S as v}from"./p-fa9d3f73.js";import{SelectionMode as g}from"@sankhyalabs/core/dist/dataunit/DataUnit";import"./p-847e6c20.js";import"./p-44e66c8d.js";import"./p-112455b1.js";import"./p-f3b7b69e.js";import"./p-0fb83448.js";import"./p-584d7212.js";const m=class{constructor(s){i(this,s),this.actionClick=t(this,"actionClick",7),this.gridDoubleClick=t(this,"gridDoubleClick",7),this._multiSelectionListDataSource=new v,this._topTaskbarProcessor=new c({"snkGridTopTaskbar.regular":["FORM_MODE","CONFIGURATOR","INSERT"],"snkGridTopTaskbar.regular.secondary":["FORM_MODE","CONFIGURATOR","INSERT"],"snkGridTopTaskbar.finish_edition":["CANCEL","SAVE"],"snkGridTopTaskbar.finish_edition.secondary":[]}),this._headerTaskbarProcessor=new c({"snkGridHeaderTaskbar.unselected":["REFRESH","DATA_EXPORTER","ACTIONS_BUTTON"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","ATTACH","REFRESH","DATA_EXPORTER","ACTIONS_BUTTON"],"snkGridHeaderTaskbar.detail.unselected":["REFRESH"],"snkGridHeaderTaskbar.detail.selected":["UPDATE","ATTACH","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]}),this._dataUnit=void 0,this._dataState=void 0,this._gridConfig=void 0,this._popUpGridConfig=!1,this.configName=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=h.PRIMARY,this.messagesBuilder=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()}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}loadConfig(){l.get().then((i=>{i.loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}))}gridConfigChangeHandler(i){l.saveGridConfig(i.detail,this.configName),i.stopPropagation()}modalConfigChangeHandler(i){const t=i.detail;this._grid.setColumnsState(t.columns).then((()=>{this.setGridConfig(t),this.closeGridConfig(),this.dataExporterProviderStore()})),i.stopPropagation()}buildColumnsMetadata(i){const t=[];return null==i||i.forEach((i=>{var s,e;if(i.hidden&&"RECDESP"!==i.name)return;const d=null===(s=this._dataUnit)||void 0===s?void 0:s.getField(i.name);if(t.push({label:i.label,id:i.name,width:i.width,type:null==d?void 0:d.dataType,userInterface:null==d?void 0:d.userInterface}),null!=(null===(e=null==d?void 0:d.properties)||void 0===e?void 0:e.DESCRIPTIONFIELD)){const i=d.properties.mergedFrom;t.push({label:d.properties.DESCRIPTIONENTITY,id:`${i?i+".":""}${d.properties.ENTITYNAME}.${d.properties.DESCRIPTIONFIELD}`,width:200,type:a.TEXT,userInterface:n.LONGTEXT})}})),t||[]}getPaginationInfo(){var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getPaginationInfo()}getExporterOffset(i){if(null==i)return;const t=i.firstRecord;return t>0?t-1:t}async dataExporterProviderStore(){var i;const t=await(null===(i=this._snkDataUnit)||void 0===i?void 0:i.getSelectedRecordsIDsInfo()),s={getFilters:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getAppliedFilters()},getColumnsMetadata:async()=>{var i;const t=await(null===(i=this._grid)||void 0===i?void 0:i.getColumnsState());return this.buildColumnsMetadata(t)},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,t;return null===(t=null===(i=this._dataState)||void 0===i?void 0:i.selectionInfo)||void 0===t?void 0:t.length},getTotalRecords:()=>{var i,t,s;const{total:e}=(null===(i=this._dataUnit)||void 0===i?void 0:i.getPaginationInfo())||{};return null!=e?e:null===(s=null===(t=this._dataUnit)||void 0===t?void 0:t.records)||void 0===s?void 0:s.length},getSelectedIDs:()=>t||[],getOffset:()=>this.getExporterOffset(this.getPaginationInfo()),getLimit:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.pageSize},getRecordID:()=>{var i,t,s;return null===(s=null===(t=null===(i=this._dataUnit)||void 0===i?void 0:i.records)||void 0===t?void 0:t[0])||void 0===s?void 0:s.__record__id__}};u.set("exporterProviders",Object.assign(Object.assign({},u.get("exporterProviders")),{[this.configName]:s}))}addElementID(){d.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}finshLoading(){this._dataUnitLoadLockerResolver=this._dataUnit.addLoadingLocker(),this.addElementID(),this._multiSelectionListDataSource.setApplication(this._application),this._multiSelectionListDataSource.setDataUnit(this._dataUnit)}componentWillLoad(){this._application=r.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 t=[];return(null===(i=this._dataState)||void 0===i?void 0:i.selectionInfo)&&(this._dataState.selectionInfo.length>1&&t.push(o.CLONE,"ATTACH"),this._dataState.selectionInfo.isAllRecords()&&t.push("REMOVE")),t}getInvisibleButtons(){let i=[];return this._dataUnit&&0!==this._dataUnit.records.length||i.push("DATA_EXPORTER"),this._dataState&&this._dataState.selectionInfo.mode===g.ALL_RECORDS&&i.push("ACTIONS_BUTTON"),i}componentWillRender(){var i;const t=this.getInvisibleButtons();let s;s=this._dataState&&(null===(i=this._dataState.selectionInfo)||void 0===i?void 0:i.length)?this.isDetail?"snkGridHeaderTaskbar.detail.selected":"snkGridHeaderTaskbar.selected":this.isDetail?"snkGridHeaderTaskbar.detail.unselected":"snkGridHeaderTaskbar.unselected",this._headerTaskbarProcessor.process(s,this.taskbarManager,this._dataState,this.getHeaderDisabledButtons(),t),this._topTaskbarProcessor.process(this.getTopTaskBarId(this.presentationMode===h.SECONDARY?".secondary":""),this.taskbarManager,this._dataState,void 0,t),this.dataExporterProviderStore()}getTopTaskBarId(i){var t;return(null===(t=this._dataState)||void 0===t?void 0:t.isDirty)?`snkGridTopTaskbar.finish_edition${i}`:`snkGridTopTaskbar.regular${i}`}getPrimaryButton(){return this.presentationMode===h.PRIMARY?"INSERT":""}onEzGridReady(){var i;null===(i=this._dataUnitLoadLockerResolver)||void 0===i||i.call(this),this._dataUnitLoadLockerResolver=void 0}render(){var i,t;if(this._dataUnit)return s("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},s("div",{class:"snk-grid__header ez-margin-bottom--medium"},s("snk-filter-bar",{ref:i=>this._snkFilterBar=i,dataUnit:this._dataUnit,"data-element-id":"gridFilter",class:"snk-grid__filter-bar ez-align--top",configName:this.configName,messagesBuilder:this.messagesBuilder}),(null===(t=null===(i=this._snkFilterBar)||void 0===i?void 0:i.filterConfig)||void 0===t?void 0:t.length)>0&&s("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),s("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()})),s("ez-grid",{ref:i=>this._grid=i,class:(this.presentationMode===h.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:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,onComponentReady:()=>this.onEzGridReady(),columnfilterDataSource:this._multiSelectionListDataSource,selectionToastConfig:this.selectionToastConfig},s("snk-taskbar",{dataUnit:this._dataUnit,configName:this.configName,messagesBuilder:this.messagesBuilder,"data-element-id":"grid_left",buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),s("div",{class:"ez-col ez-col--sd-12"},s("slot",{name:"SnkGridFooter"})),s("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},s("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute(d.DATA_ELEMENT_ID_ATTRIBUTE_NAME),application:this._application,selectedIndex:0,configName:this.configName,onConfigChange:i=>this.modalConfigChangeHandler(i),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return e(this)}};m.style=".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.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:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";export{m as snk_grid}
@@ -1 +0,0 @@
1
- export{S as snk_guides_viewer}from"./p-5df17074.js";import"./p-d2d301a6.js";import"@sankhyalabs/core";import"./p-52c6b2e7.js";import"./p-5994af77.js";import"./p-847e6c20.js";import"./p-44e66c8d.js";import"./p-112455b1.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-f3b7b69e.js";import"./p-0fb83448.js";import"./p-584d7212.js";import"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-c2beb95c.js";import"./p-a2493d11.js";import"./p-5534e08c.js";import"./p-6dc031de.js";import"./p-4a78e118.js";import"./p-9d18017a.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";
@@ -1 +0,0 @@
1
- import{r as t,c as i,f as s,h as e,H as a}from"./p-d2d301a6.js";import{S as h}from"./p-52c6b2e7.js";import{FormMetadata as o,buildFormMetadata as n}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-44e66c8d.js";import"./p-9d18017a.js";import"@sankhyalabs/core";import{P as r}from"./p-5534e08c.js";import{T as d}from"./p-a2493d11.js";import{c as l}from"./p-4a78e118.js";import{S as c}from"./p-5df17074.js";import{S as m}from"./p-ae6aff81.js";import"./p-5994af77.js";import"./p-847e6c20.js";import"./p-f3b7b69e.js";import"./p-0fb83448.js";import"./p-584d7212.js";import"./p-112455b1.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-6dc031de.js";import"./p-c2beb95c.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";class u{constructor(t,i,s){this._parentGuide=t,this._formMetadata=i,this._dataUnit=s}get id(){return this._parentGuide.id}buildGuideItem(t){const i=Object.assign({},this._parentGuide);delete i.expanded,delete i.children;const s=this._dataUnit.getSelectedRecord();if(!s)return i;const e=this._dataUnit.isNewRecord(s.__record__id__),a=Array.from(this._formMetadata.getAllSheets().values()).map((i=>{const{name:s,label:a}=i,h=null!=o.getDetailName(s.split("::").pop()),n=h&&e,r=this._parentGuide.id,d=h?`${r}::${s}`:`${r}__FORM:${s}`;return h&&t.has(d)&&!n?t.get(d).buildGuideItem(t):{id:d,label:a,disabled:n,tooltip:n?"Finalize o cadastro para ter acesso a esta guia.":void 0}})),h=a.shift();return h.label=e?"Novo Registro":s.__record__label__,h.children=a,i.children=[h],i}}const p=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this._disabledButtons=void 0,this.attachmentRegisterKey=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.guideItemPath=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.messagesBuilder=void 0,this.branchGuide=void 0}observerDataState(t,i){const s=!(null==i?void 0:i.insertionMode)&&(null==t?void 0:t.insertionMode),e=(null==i?void 0:i.insertionMode)&&!(null==t?void 0:t.insertionMode);if((s||e)&&this.loadMetadata(),null==this._formMetadata)return;const a=null==t?void 0:t.selectedRecord,h=null==i?void 0:i.selectedRecord;(null==a?void 0:a.__record__id__)!==(null==h?void 0:h.__record__id__)&&this.snkDetailGuidesChange.emit(new u(this.branchGuide,this._formMetadata,this.dataUnit)),s&&setTimeout((()=>{this.changeViewMode(l.FORM)}),0),e&&this.changeViewMode(l.GRID);const o=[];this.dataState.hasPrevious||o.push(d.PREVIOUS),this.dataState.hasNext||o.push(d.NEXT),this._disabledButtons=o}async changeViewMode(t){this.emitSwitchEvent(t)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}onContentCardChanged(t){c.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}updateLabel(){const t=this.guideItemPath?this.guideItemPath.length:0;if(t>0){const i=t>0?this.guideItemPath.map((t=>t.label)):void 0;this.label=i.pop(),this._levelPath=i.length>0?i.join(" / "):void 0}else this.label="",this._levelPath=void 0}getFormGuideId(t){var i;if(!t){if(null==(null===(i=this.dataState)||void 0===i?void 0:i.selectedRecord))return;const s=Array.from(this._formMetadata.getAllSheets().keys());if(!s||0==s.length)return;t=s[0]}return`${this.stripFormPattern(this.branchGuide.id)}__FORM:${t}`}stripFormPattern(t){return t.replace(p.REGEX_FORM_ID,"")}loadMetadata(){var t;if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const i=this.formConfigManager.getConfig(null===(t=this.dataState)||void 0===t?void 0:t.insertionMode,this.dataUnit);this._formMetadata=n(null==i||0===i.fields.length?void 0:i,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){var i,s;this._viewStack=t,null===(s=null===(i=this._viewStack)||void 0===i?void 0:i.show)||void 0===s||s.call(i,this.selectedForm?1:0)}getFormFields(){return this.selectedForm&&this._formMetadata?this._formMetadata.getSheet(this.selectedForm).fields:[]}emitSwitchEvent(t){const i=t===l.GRID?this.stripFormPattern(this.branchGuide.id):this.getFormGuideId();i&&this.snkSwitchGuide.emit(i)}handleAttachBack(){this._viewStack.show(l.GRID)}executeActionHandler(t){t.detail===d.GRID_MODE&&(this.emitSwitchEvent(l.GRID),t.stopPropagation()),t.detail===d.FORM_MODE&&(this.emitSwitchEvent(l.FORM),t.stopPropagation()),t.detail===d.ATTACH&&(this._viewStack.show(l.ATTACHMENT),t.stopPropagation())}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}async handleDataStateChange({detail:t}){this.dataState=t,void 0!==t.selectedRecord&&this._snkDataUnit&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey())}componentWillLoad(){this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new h(this._configName,(()=>this.loadMetadata())),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new m(this.entityName))}render(){return this.updateLabel(),e(a,null,e("snk-data-unit",{ref:t=>this._snkDataUnit=t,dataUnitName:`${this.dataUnitName}`,onDataUnitReady:t=>this.dataUnitReadyHandler(t),entityName:this.entityName,onDataStateChange:this.handleDataStateChange.bind(this),messagesBuilder:this.messagesBuilder,configName:this._configName},e("ez-view-stack",{ref:t=>this.updateViewStack(t)},e("stack-item",null,e("div",{class:"ez-box ez-box--shadow grid-container"},e("div",{class:"ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header"},e("div",{class:"ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center"},this._levelPath?e("span",{class:"level-path"},this._levelPath+" /"):void 0,this.label)),e("snk-grid",{class:"ez-size-width--full ez-size-height--full",ref:t=>this._snkGrid=t,configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.emitSwitchEvent(l.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:r.SECONDARY,isDetail:!0}))),e("stack-item",null,e("snk-form-view",{ref:t=>this._snkFormView=t,canExpand:!1,canFix:!1,name:this.selectedForm,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),label:this.label,levelPath:this._levelPath},e("snk-taskbar",{key:"guideViewerTaskbar",class:"form-taskbar","data-element-id":"guideViewer",configName:this._configName,messagesBuilder:this.messagesBuilder,disabledButtons:this._disabledButtons,buttons:"INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR",primaryButton:"INSERT",presentationMode:r.SECONDARY,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit}))),e("stack-item",null,e("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this.entityName,onBack:this.handleAttachBack.bind(this)})))))}static get watchers(){return{dataState:["observerDataState"]}}};p.REGEX_FORM_ID=/__FORM:[^:]+/g,p.style=".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";export{p as snk_detail_view}
@@ -1 +0,0 @@
1
- import{r as i,c as e,h as s,F as t}from"./p-d2d301a6.js";import{ElementIDUtils as a}from"@sankhyalabs/core";import{S as r}from"./p-52c6b2e7.js";import{buildFormMetadata as n,FormMetadata as d}from"@sankhyalabs/ezui/dist/collection/utils/form";import{T as o}from"./p-c2beb95c.js";import{T as h}from"./p-a2493d11.js";import{c as l}from"./p-4a78e118.js";import"./p-44e66c8d.js";import"./p-9d18017a.js";import{P as u}from"./p-5534e08c.js";import{SelectionMode as v}from"@sankhyalabs/core/dist/dataunit/DataUnit";const c="__FORM:",g=class{constructor(s){i(this,s),this.exit=e(this,"exit",7),this.actionClick=e(this,"actionClick",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.presentationMode=void 0,this._breadcrumbItems=[],this._guides=void 0,this._formEditorConfigManager=void 0,this._formEditorDataUnit=void 0}observeDataUnit(){this.loadGuides(!0)}observeDataState(i,e){const s=null==i?void 0:i.selectedRecord,t=null==e?void 0:e.selectedRecord;(null==s?void 0:s.__record__id__)!==(null==t?void 0:t.__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}exitViewer(){this.dataUnit.isDirty()?this.dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}onActionClick(i){i.detail===h.CONFIGURATOR&&"master"!=i.target.dataset.taskbarOwner&&(this._snkConfigurator.open(),i.stopImmediatePropagation(),i.stopPropagation())}onContentCardChanged(i){g.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=n(this.masterFormConfig,this.dataUnit,!0);const e=this._masterFormMetadata.getAllSheets(),s=this.dataUnit.getSelectedRecord(),t=!s||this.dataUnit.isNewRecord(s.__record__id__),a=[];Array.from(e.values()).forEach((i=>{const e={id:i.name,label:i.label};this.isDetail(i.name)&&t&&(e.tooltip="Para alterar detalhes é necessário estar com um registro selecionado.",e.disabled=!0),a.push(e)})),this._guides=a,this._guideNavigator&&this._guideNavigator.updateItem(this._guides),i&&(this.selectedGuide=this._guides.length>0?this._guides[0]:void 0)}isDetail(i){return null!=d.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}))}))}loadTaskbarProcessor(){var i,e;const s=(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkGuideViewer.finish_edition":"snkGuideViewer.regular",t=[];this.dataState&&this.dataState.hasPrevious||t.push("PREVIOUS"),this.dataState&&this.dataState.hasNext||t.push("NEXT"),(null===(e=this.dataState)||void 0===e?void 0:e.selectionInfo)&&(this.dataState.selectionInfo.length>1&&t.push("CLONE"),this.dataState.selectionInfo.isAllRecords()&&t.push("REMOVE"));const a=["PREVIOUS","NEXT","DIVIDER","ATTACH","CLONE","REMOVE","MORE_OPTIONS","ACTIONS_BUTTON","DIVIDER","GRID_MODE","CONFIGURATOR"];this.presentationMode==u.SECONDARY?a.unshift("INSERT"):a.push("INSERT");const r=this.getInvisibleButtons();this._taskbarProcessor=new o({"snkGuideViewer.regular":a,"snkGuideViewer.finish_edition":["CANCEL","SAVE"]}),this._taskbarProcessor.process(s,this.taskbarManager,this.dataState,t,r)}getInvisibleButtons(){const i=[];return this.dataState&&this.dataState.selectionInfo.mode===v.ALL_RECORDS&&i.push("ACTIONS_BUTTON"),i}static updateContentCard(i,e,s,t){return t.saveCardState(i,e,s)}static buildFixedForms(i,e,a,r,n,d){const o=null==i?void 0:i.cardsState;if(null!=o)return s(t,null,Array.from(o.entries()).filter((([i,e])=>(null==e?void 0:e.fixed)&&i!=a)).sort((([,i],[,e])=>((null==i?void 0:i.fixSequence)||0)-((null==e?void 0:e.fixSequence)||0))).map((([t,a])=>{var o;const h=e.getSheet(t);if(null!=h)return s("snk-form-view",{levelPath:d,label:h.label,name:t,fields:h.fields,formMetadata:e,dataUnit:r,recordsValidator:n,contracted:"CONTRACTED"===(null==a?void 0:a.presentation),fixed:null==a?void 0:a.fixed,summaryFields:null===(o=null==i?void 0:i.summary)||void 0===o?void 0:o.get(t),key:t})})))}wrapDetail(i,e){if(0===i.length)return e;const t=i.pop(),a=d.getDetailName(t);return a?this.wrapDetail(i,s("snk-data-unit",{dataUnitName:`${this.getDataUnitName(i,a)}`,entityName:a},e)):void 0}getDataUnitName(i,e){if(i.length>0){const s=i.map((i=>d.getDetailName(i)));return`${this.entityPath}/${s.join("/")}/${e}`}return`${this.entityPath}/${e}`}getContent(){var i,e,t,a,r;if(!this.selectedGuide)return;const n=this.selectedGuide.id;let o;const h=n.split("::"),l=h.pop(),v=d.getDetailName(l);let g=n;if(v||h.length>0){let e,t;if(n.includes(c)){[g,e]=n.split(c);const s=(null===(i=this._breadcrumbItems)||void 0===i?void 0:i.length)||0;t=s>1?this._breadcrumbItems[s-2]:this.selectedGuide}else t=this.selectedGuide;o=this.wrapDetail(h,s("snk-detail-view",{ref:i=>this._currentDetail=i,dataUnitName:this.getDataUnitName(h,v),onSnkDetailGuidesChange:i=>this.updateGuide(i.detail),entityName:v,selectedForm:e,branchGuide:t,guideItemPath:this._breadcrumbItems,key:`detail${g}`,onSnkSwitchGuide:i=>this._guideNavigator.selectGuide(i.detail)}))}else{const i=this.selectedGuide.id,d=this._masterFormMetadata.getSheet(i);if(d){const h=null===(t=null===(e=this.masterFormConfig)||void 0===e?void 0:e.cardsState)||void 0===t?void 0:t.get(i);o=s("snk-form-view",{ref:i=>this._mainForm=i,fixed:null==h?void 0:h.fixed,summaryFields:null===(r=null===(a=this.masterFormConfig)||void 0===a?void 0:a.summary)||void 0===r?void 0:r.get(i),name:i,label:d.label,fields:d.fields,dataUnit:this.dataUnit,formMetadata:this._masterFormMetadata,recordsValidator:this.recordsValidator,key:n},this.presentationMode==u.SECONDARY&&this.buildTaskBar())}}return o}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}))}getConfigViewMode(){return l.GRID}changeConfigViewMode(i){this._currentDetail&&this._currentDetail.changeViewMode(i)}openConfig(i){this._snkConfigurator.close(),this._currentDetail&&(i===l.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(){this._configManager=new r(this.configName,(i=>this.masterFormConfig=i)),this._configManager.loadConfig()}componentDidRender(){this._guideHasChanged&&(this._currentDetail?this._currentDetail.showUp():this._mainForm&&this._mainForm.showUp(),this._guideHasChanged=!1)}buildTaskBar(){var i;return s("div",{class:"ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 "+(this.presentationMode!=u.SECONDARY?"ez-align--right":"ez-padding-bottom--medium")},s("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.actionsList,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}))}render(){var i,e;if(null!=this._formEditorConfigManager)return s("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 t=this._guides&&this._guides.length>1;return s("section",{class:"snk-guides-viewer"},s("div",{class:"ez-row snk-guides-viewer__header"},s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large",key:"header"},s("ez-button",{onClick:()=>this.exitViewer(),title:this.getMessage("snkCrud.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small"}),s("div",{class:"ez-flex ez-flex--column ez-flex-item--auto"},s("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&&s("div",{class:"ez-margin-top--extra-small"},s("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!=u.SECONDARY&&this.buildTaskBar()),s("div",{class:"snk-guides-viewer__container"},t?s("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)}):s("div",null),s("div",{class:"snk-guides-viewer__detail-container"},g.buildFixedForms(this.masterFormConfig,this._masterFormMetadata,null===(e=this.selectedGuide)||void 0===e?void 0:e.id,this.dataUnit,this.recordsValidator),this.getContent())),s("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)}))}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observeDataState"],masterFormConfig:["observeMasterFormConfig"]}}};g.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__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{g as S}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,g as e,H as n}from"./p-d2d301a6.js";import{Action as o,ObjectUtils as a,JSUtils as h,ApplicationContext as r,DataType as l}from"@sankhyalabs/core";import{ApplicationUtils as d,DialogType as c}from"@sankhyalabs/ezui/dist/collection/utils";import{O as v,S as u}from"./p-ae6aff81.js";const f=class{constructor(s){t(this,s),this.dataStateChange=i(this,"dataStateChange",3),this.dataUnitReady=i(this,"dataUnitReady",3),this.messagesBuilderUpdated=i(this,"messagesBuilderUpdated",3),this.insertionMode=i(this,"insertionMode",3),this.cancelEdition=i(this,"cancelEdition",3),this._onDataUnitResolve=[],this._openedAlert=!1,this._dataUnitObserver=t=>{var i,s;const e=this.buildDataState();if(this.dataState=e,t.type===o.DATA_SAVED){const i=this.getMessage("snkDataUnit.saveInfo",t.payload.records[0]);null!=i&&this.showSuccessMessage(i)}if(t.type!==o.RECORDS_ADDED&&t.type!==o.RECORDS_COPIED||this.insertionMode.emit(),t.type===o.EDITION_CANCELED&&this.cancelEdition.emit(),t.type===o.RECORDS_REMOVED){const e=t.payload.cachedRecords;let n;n=(null==e?void 0:e.length)>1?this.getMessage("snkDataUnit.removeAllInfo",{size:e.length}):this.getMessage("snkDataUnit.removeInfo",t.payload.cachedRecords[0]),null!=n&&this.showSuccessMessage(n);const o=null!==(s=null===(i=this.dataUnit.records)||void 0===i?void 0:i.length)&&void 0!==s?s:0,a=this.dataUnit.getPaginationInfo();a&&this.dataUnit.gotoPage(o>0||a.hasMore?a.currentPage:0)}this.messagesBuilder.currentOperation=this.getMessageOperation()},this.dataState=void 0,this.messagesBuilder=void 0,this.dataUnitName=void 0,this.entityName=void 0,this.pageSize=150,this.dataUnit=void 0,this.beforeSave=void 0,this.afterSave=void 0,this.useCancelConfirm=!0,this.configName=void 0}observePageSize(){this.dataUnit&&(this.dataUnit.pageSize=this.pageSize)}observeDataUnitName(t,i){i!=t&&(this.dataUnit?this._application.updateDataunitCache(i,this.dataUnitName,this.dataUnit):this.loadDataUnit())}observeEntityName(t,i){i!=t&&(this.dataUnit=void 0,this.entityName=t,this.loadDataUnit())}observeDataState(t,i){a.objectToString(i)!=a.objectToString(t)&&this.dataStateChange.emit(t)}observeDataUnit(){this.handlerLinkFields(),this.dataUnitReady.emit(this.dataUnit)}observeMessagesBuilder(t){t&&this.messagesBuilderUpdated.emit(t)}async getDataUnit(){return new Promise((t=>{this.dataUnit?t(this.dataUnit):this._onDataUnitResolve.push(t)}))}async getSelectedRecordsIDsInfo(){var t;const i=null===(t=this.dataUnit)||void 0===t?void 0:t.getSelectionInfo();if(null==i?void 0:i.isAllRecords())return[];const s=[],e=null==i?void 0:i.records;return(null==e?void 0:e.length)>0&&e.forEach((({__record__id__:t})=>{if(!this.dataUnit.isNewRecord(t)){if(!h.isBase64(t))return void s.push({name:"__record__id__",type:l.TEXT,value:t});const i=JSON.parse(window.atob(t));Object.entries(i).forEach((([t,i])=>{var e;const n=null===(e=this.dataUnit)||void 0===e?void 0:e.getField(t);null!=n&&s.push(Object.assign({name:t,type:n.dataType},i))}))}})),s}async interceptAction(t){return new Promise((i=>{var s,e,n,a,h;switch(t.type){case o.RECORDS_ADDED:this.isAllowed("INSERT")?i(t):d.info(this.getMessage("snkDataUnit.forbiddenInsert"));break;case o.RECORDS_COPIED:this.isAllowed("CLONE")?i(t):d.info(this.getMessage("snkDataUnit.forbiddenClone"));break;case o.DATA_CHANGED:case o.CHANGING_DATA:if(this.isAllowed("UPDATE"))return i(t);if(this._openedAlert)return this.dataUnit.cancelEdition();this._openedAlert=!0,this.dataUnit.cancelEdition(),d.alert(this.getMessage("snkDataUnit.forbidden"),this.getMessage("snkDataUnit.forbiddenUpdate")).then((()=>{this._openedAlert=!1}));break;case o.SAVING_DATA:if(this.beforeSave){const s=this.beforeSave(this.dataUnit);s instanceof Promise?s.then((s=>i(s?t:void 0))):i(s?t:void 0)}else i(t);break;case o.DATA_SAVED:this.afterSave?this.afterSave(this.dataUnit):i(t);break;case o.EDITION_CANCELED:if(!this.useCancelConfirm)return i(t);if(this.dataState.hasDirtyRecords){const n=this.getMessage("snkDataUnit.cancelConfirmation");if((null===(s=t.payload)||void 0===s?void 0:s.fromParent)||(null===(e=t.payload)||void 0===e?void 0:e.silent))return void i(t);if(null==n)this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo")),i(t);else{const s=this.getMessage("snkDataUnit.cancelConfirmationTitle");d.confirm(s,n).then((s=>{s&&this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo")),i(s?t:void 0)}))}}else i(t);break;case o.REMOVING_RECORDS:if(this.isAllowed("REMOVE")){let s=!1,e=!(null===(n=t.payload)||void 0===n?void 0:n.silent)&&this.getMessage("snkDataUnit.removeConfirmation");const o=null===(a=this.dataUnit)||void 0===a?void 0:a.getSelectionInfo();if(!(null===(h=t.payload)||void 0===h?void 0:h.silent)&&(null==o?void 0:o.length)>1&&(e=this.getMessage("snkDataUnit.removeAllConfirmation",{size:o.length}),s=!0),null==e)i(t);else{const n={canClose:!1,labelCancel:this.getMessage("snkDataUnit.confirm."+(s?"no":"cancel")),labelConfirm:this.getMessage("snkDataUnit.confirm."+(s?"yes":"delete")),btnConfirmDanger:!1},o=this.getMessage("snkDataUnit.removeConfirmationTitle");d.confirm(o,e,null,c.WARN,n).then((s=>i(s?t:void 0)))}}else d.info(this.getMessage("snkDataUnit.forbiddenRemove"));break;default:i(t)}}))}showSuccessMessage(t){d.info(t,{iconName:"check"})}isAllowed(t){return!!this._permissions&&(this._permissions.isSup||this._permissions[t])}buildDataState(){const t=this.dataUnit.getSelectionInfo(),i=(this.dataUnit.hasDirtyRecords()||this.dataUnit.hasWaitingChanges())&&(null==t?void 0:t.isEmpty());return new m({insertionMode:this.dataUnit.hasNewRecord(),isStartingInsertionMode:i,hasNext:this.dataUnit.hasNext(),hasPrevious:this.dataUnit.hasPrevious(),copyMode:this.dataUnit.hasCopiedRecord(),isDirty:this.dataUnit.isDirty(),hasDirtyRecords:this.dataUnit.hasDirtyRecords(),selectedRecords:void 0,selectionInfo:t,selectedRecord:this.dataUnit.getSelectedRecord(),recordsIsEmpty:0===this.dataUnit.records.length})}getMessage(t,i){return i||(i=this.getMessageParams()),this.messagesBuilder.getMessage(t,i)}getMessageParams(){return this.dataState.selectedRecord}getMessageOperation(){return this.dataState.copyMode?v.CLONE:this.dataState.insertionMode||this.dataState.isStartingInsertionMode?v.INSERT:this.dataState.isDirty?v.UPDATE:v.CLEAN}async getDataUnitParentOrChild(){var t;const i=this.dataUnitName?this.dataUnitName:this.entityName;return this._parentSnkDataUnit?(this._parentDataUnit=await(null===(t=this._parentSnkDataUnit)||void 0===t?void 0:t.getDataUnit()),await this._application.getDataUnit(this.entityName,i,this._parentDataUnit,this.configName)):await this._application.getDataUnit(this.entityName,i,null,this.configName)}async loadDataUnit(){if(null==this.dataUnit&&this._application&&this.entityName&&(this.dataUnit=await this.getDataUnitParentOrChild()),this.dataUnit){let t;for(this.dataUnit.pageSize=this.pageSize,this.dataUnit.unsubscribe(this._dataUnitObserver),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this._dataUnitObserver),this.dataState=this.buildDataState();t=this._onDataUnitResolve.pop();)t(this.dataUnit)}}getParentSnkDataUnit(){let t=this.element;for(;t.parentNode;){if("SNK-DATA-UNIT"===t.parentNode.nodeName)return t.parentNode;t=t.parentNode}}handlerLinkFields(){var t,i;const s=Object.assign({},this.dataUnit.metadata);if(!this._parentDataUnit)return;const e=this._parentDataUnit.getChildInfo(this.entityName);if(!e)return;const n=null===(t=null==e?void 0:e.links)||void 0===t?void 0:t.map((t=>t.target));null===(i=null==s?void 0:s.fields)||void 0===i||i.forEach((t=>{(null==n?void 0:n.includes(t.name))&&(t.visible=!1)})),this.dataUnit.metadata=s}static getNearestInstance(t){let i=t.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase())return i;i=i.parentElement}}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application.getAllAccess().then((t=>this._permissions=t)),this._parentSnkDataUnit=this.getParentSnkDataUnit(),null==this.messagesBuilder&&(this.messagesBuilder=new u(this.entityName))}disconnectedCallback(){this.dataUnit&&(this.dataUnit.unsubscribe(this._dataUnitObserver),this.dataUnit.removeInterceptor(this))}componentDidLoad(){this.loadDataUnit()}render(){return s(n,null)}get element(){return e(this)}static get watchers(){return{pageSize:["observePageSize"],dataUnitName:["observeDataUnitName"],entityName:["observeEntityName"],dataState:["observeDataState"],dataUnit:["observeDataUnit"],messagesBuilder:["observeMessagesBuilder"]}}};class m{constructor(t){this.copyMode=t.copyMode,this.insertionMode=t.insertionMode,this.isStartingInsertionMode=t.isStartingInsertionMode,this.isDirty=t.isDirty,this.hasDirtyRecords=t.hasDirtyRecords,this.hasNext=t.hasNext,this.hasPrevious=t.hasPrevious,this.selectionInfo=t.selectionInfo,this.selectedRecord=t.selectedRecord,this.recordsIsEmpty=t.recordsIsEmpty}get selectedRecords(){var t;if(console.warn("SnkDataUnit: O método `selectedRecords` foi descontinuado. Use o método `selectionInfo`."),null===(t=this.selectionInfo)||void 0===t?void 0:t.isAllRecords())throw new Error("Erro interno: Impossível obter os registros selecionados. A seleção atual é virtual. Use o atributo `selectionInfo`.");return this.selectionInfo.records}}f.style=".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%;width:100%}";export{f as S}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-d2d301a6.js";import{DataUnit as r,StringUtils as a,SortMode as n,DataType as o,ChangeOperation as h,ObjectUtils as d,ApplicationContext as l,UserInterface as u}from"@sankhyalabs/core";import{c,S as m}from"./p-4a78e118.js";import{T as p}from"./p-a2493d11.js";import"./p-44e66c8d.js";import"./p-9d18017a.js";import{P as v}from"./p-5534e08c.js";import{T as g}from"./p-c2beb95c.js";import{DISTINCT_FILTER_NAME_PREFIX as b}from"@sankhyalabs/ezui/dist/collection/utils/constants";import{S as k}from"./p-fa9d3f73.js";import"./p-6dc031de.js";import"./p-112455b1.js";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";class f{constructor(t,i){this.records=i||[],this.metadata=t,this._dataUnit=new r(f.IN_MEMORY_DATA_UNIT_NAME),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(t,i)=>this.dataLoader(t,i),this._dataUnit.saveLoader=(t,i)=>this.saveLoader(t,i),this._dataUnit.removeLoader=(t,i)=>this.removeLoader(t,i),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}get dataUnit(){return this._dataUnit}get records(){return this._records}set records(t){this._records=null==t?void 0:t.map((t=>(t.__record__id__||(t.__record__id__=this.generateUniqueId()),t))),this._dataUnit&&(this._dataUnit.records=[...this._records])}get metadata(){return this._metadata}set metadata(t){this._metadata=t,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return a.generateUUID()}metadaLoader(){return Promise.resolve(this._metadata)}dataLoader(t,i){const s=this.getColumnFilters(t);let e=this.applyFilters(s);return i.sort&&i.sort.forEach((t=>{e=e.sort(((i,s)=>{const e=i[t.field],r=s[t.field];return this.getSortFn(t.dataType)(e,r)*(t.mode==n.ASC?1:-1)}))})),Promise.resolve({records:e})}applyFilters(t){let i=[...this._records];return t.forEach((t=>{i=i.filter((i=>{var s;return t.values.includes(null===(s=i[t.column])||void 0===s?void 0:s.toString())}))})),i}getColumnFilters(t){var i,s;const e=null!==(s=(null!==(i=t.getFilters())&&void 0!==i?i:[]).filter((t=>{var i;return null===(i=t.name)||void 0===i?void 0:i.includes(b)})))&&void 0!==s?s:[];return e.map((t=>{var i,s;return{column:null!==(s=null===(i=t.name)||void 0===i?void 0:i.replace(b,""))&&void 0!==s?s:"",values:t.params.map((t=>t.value))}}))}getSortFn(t){switch(t){case o.NUMBER:return this.sortNumber;case o.DATE:return this.sortDate;case o.OBJECT:return this.sortObject;default:return a.compare}}sortObject(t,i){return a.compare(null==t?void 0:t.label,null==i?void 0:i.label)}sortNumber(t,i){return t-i}sortDate(t,i){let s=t.getTime(),e=i.getTime();return s===e?0:s<e?-1:1}saveLoader(t,i){return new Promise((t=>{let s=[];i.forEach((t=>{let{record:i,updatingFields:e,operation:r}=t,a=!1;r!==h.INSERT&&r!==h.COPY||(i.__old__id__=i.__record__id__,i.__record__id__=this.generateUniqueId(),a=!0);const n=Object.assign(Object.assign({},i),e);if(a)this.records.push(n);else{const t=this.records.findIndex((t=>t.__record__id__==n.__record__id__));this.records[t]=n}s.push(n)})),t(s)}))}removeLoader(t,i){return new Promise((t=>{this._records=this._records.filter((t=>!i.includes(t.__record__id__))),t(i)}))}}f.IN_MEMORY_DATA_UNIT_NAME="InMemoryDataUnit";const S=class{constructor(s){t(this,s),this.dataStateChange=i(this,"dataStateChange",3),this.dataUnitReady=i(this,"dataUnitReady",3),this.actionClick=i(this,"actionClick",7),this.REGULAR_DEFAULT_BTNS=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER"],this.REGULAR_SELECTED_BTNS=["INSERT","REFRESH","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER"],this._multiSelectionListDataSource=new k,this._taskbarProcessor=new g({"snkSimpleCrudTaskbar.form_regular":this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(p.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(p.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(p.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.resolveInMemoryBtns(this.REGULAR_SELECTED_BTNS).concat(p.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._currentViewMode=c.GRID,this._config=void 0,this.dataState=void 0,this.dataUnit=void 0,this.mode=m.SERVER,this.gridConfig=void 0,this.formConfig=void 0,this.multipleSelection=void 0,this.useCancelConfirm=!0,this.taskbarManager=void 0,this.messagesBuilder=void 0}resolveInMemoryBtns(t){const i=[...t];return this.mode===m.IN_MEMORY&&i.splice(1,1),i}async goToView(t){this._currentViewMode=t,this._viewStack&&this._viewStack.show(t)}actionClickListener(t){const i=t.detail;i===p.GRID_MODE?this.goToView(c.GRID):i===p.FORM_MODE&&this.goToView(c.FORM),t.stopPropagation()}onModeChange(){this.mode==m.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(t,i){d.objectToString(i)!=d.objectToString(t)&&this.dataStateChange.emit(t)}componentWillRender(){this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,this.getTaskBarDisabledButtons())}componentWillLoad(){this.processMetadata(),this.onModeChange(),this.configDatasource()}configDatasource(){const t=l.getContextValue("__SNK__APPLICATION__");this._multiSelectionListDataSource.setApplication(t),this._multiSelectionListDataSource.setDataUnit(this.dataUnit)}getTaskBarId(){var t,i,s;return(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(i=this.dataState)||void 0===i?void 0:i.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 f(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(t){return this._inMemoryLoader?this._inMemoryLoader.metadata=t:this.dataUnit&&(this.dataUnit.metadata=t),Promise.resolve()}setRecords(t){return this._inMemoryLoader?this._inMemoryLoader.records=t:this.dataUnit&&(this.dataUnit.records=t),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}processMetadata(){const t=this._element.querySelectorAll("snk-field-metadata"),i=[],s={fields:[],emptyConfig:!1};t.forEach((t=>{const e={name:t.getAttribute("name")||t.getAttribute("label"),label:t.getAttribute("label"),dataType:o[t.getAttribute("dataType")]||o.TEXT,userInterface:u[t.getAttribute("userInterface")]||u.SHORTTEXT,readOnly:"true"==t.getAttribute("readOnly"),required:"true"==t.getAttribute("required"),tab:t.getAttribute("tab")||void 0,visible:"false"!=t.getAttribute("visible")};s.fields.push({name:e.name,tab:e.tab,visible:e.visible}),i.push(e)})),i.length>0&&(this.formConfig||(this.formConfig=s),this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:i})}onDataStateChange(t){this.dataState=Object.assign({},t.detail)}getTaskBarDisabledButtons(){var t,i,s,e;const r=[];return(null===(t=this.dataState)||void 0===t?void 0:t.hasNext)||r.push(p.NEXT),(null===(i=this.dataState)||void 0===i?void 0:i.hasPrevious)||r.push(p.PREVIOUS),(null===(e=null===(s=this.dataState)||void 0===s?void 0:s.selectionInfo)||void 0===e?void 0:e.isEmpty())&&r.push(p.FORM_MODE),r}handleCancelEdit(){var t;(null===(t=this.dataState)||void 0===t?void 0:t.recordsIsEmpty)&&(this.goToView(c.GRID),this.dataUnit.clearSelection())}render(){var t;return s("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,useCancelConfirm:this.useCancelConfirm,onDataStateChange:t=>this.onDataStateChange(t),onCancelEdition:this.handleCancelEdit.bind(this),onInsertionMode:()=>this.goToView(c.FORM),onDataUnitReady:t=>this.dataUnitReady.emit(t.detail),onMessagesBuilderUpdated:t=>this.messagesBuilder=t.detail},s("header",null,s("slot",{name:"snkSimpleCrudHeader"})),s("section",{class:"ez-flex ez-box ez-box--shadow"},s("snk-taskbar",{class:"ez-box ez-box--shadow ez-padding--medium ez-margin-bottom--large",dataUnit:this.dataUnit,primaryButton:(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",messagesBuilder:this.messagesBuilder,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:v.SECONDARY}),s("ez-view-stack",{class:"ez-flex ez-flex--column",ref:t=>this._viewStack=t,"data-element-id":"simple-crud"},s("stack-item",null,s("ez-grid",{dataUnit:this.dataUnit,config:this.gridConfig,"no-header":!0,multipleSelection:this.multipleSelection,onEzDoubleClick:()=>this.goToView(c.FORM),columnfilterDataSource:this.dataUnit.name.includes(f.IN_MEMORY_DATA_UNIT_NAME)?void 0:this._multiSelectionListDataSource},s("div",{slot:"footer"},s("slot",{name:"snkSimpleCrudFooter"})))),s("stack-item",null,s("ez-form",{dataUnit:this.dataUnit,config:this.formConfig})))))}get _element(){return e(this)}static get watchers(){return{mode:["onModeChange"],dataState:["observeDataState"]}}};S.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto;row-gap:12px;height:100%;width:100%}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";export{S as snk_simple_crud}
@@ -1 +0,0 @@
1
- export{S as snk_data_unit}from"./p-9edad923.js";import"./p-d2d301a6.js";import"@sankhyalabs/core";import"@sankhyalabs/ezui/dist/collection/utils";import"./p-ae6aff81.js";