@sankhyalabs/sankhyablocks 8.16.0-dev.110 → 8.16.0-dev.112

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 (113) hide show
  1. package/dist/cjs/{SnkMessageBuilder-aecd7c18.js → SnkMessageBuilder-9deeae08.js} +4 -3
  2. package/dist/cjs/index-f9e81701.js +2 -2
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  5. package/dist/cjs/{snk-actions-button_7.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +61 -0
  6. package/dist/cjs/snk-application.cjs.entry.js +5 -5
  7. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  8. package/dist/cjs/snk-crud.cjs.entry.js +2 -26
  9. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  10. package/dist/cjs/{snk-data-unit-ebfdb9ba.js → snk-data-unit-57916de4.js} +1 -1
  11. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-detail-view.cjs.entry.js +57 -5
  13. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  14. package/dist/cjs/snk-grid.cjs.entry.js +22 -23
  15. package/dist/cjs/{snk-guides-viewer-fd39f437.js → snk-guides-viewer-d33379cd.js} +36 -24
  16. package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -3
  17. package/dist/cjs/snk-simple-crud.cjs.entry.js +73 -85
  18. package/dist/cjs/snk-taskbar.cjs.entry.js +7 -3
  19. package/dist/cjs/{taskbar-elements-02379452.js → taskbar-elements-6f4e06af.js} +8 -0
  20. package/dist/cjs/{field-search-68e34bf4.js → taskbar-processor-2fba34a8.js} +0 -35
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/snk-application/snk-application.js +4 -4
  23. package/dist/collection/components/snk-crud/snk-crud.js +2 -26
  24. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +58 -4
  25. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  26. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +36 -40
  27. package/dist/collection/components/snk-grid/snk-grid.js +36 -36
  28. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +75 -85
  29. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +8 -0
  30. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  31. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  32. package/dist/collection/components/snk-taskbar/snk-taskbar.js +28 -2
  33. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  34. package/dist/collection/lib/message/resources/snk-grid.msg.js +1 -1
  35. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  36. package/dist/components/ContinuousInsertUtils.js +2 -33
  37. package/dist/components/SnkMessageBuilder.js +4 -3
  38. package/dist/components/index.d.ts +1 -0
  39. package/dist/components/index.js +1 -0
  40. package/dist/components/snk-application2.js +4 -4
  41. package/dist/components/snk-attach2.js +34 -28
  42. package/dist/components/snk-crud.js +75 -93
  43. package/dist/components/snk-detail-view2.js +193 -117
  44. package/dist/components/snk-form-view2.js +22 -8
  45. package/dist/components/snk-grid2.js +62 -57
  46. package/dist/components/snk-simple-crud2.js +104 -109
  47. package/dist/components/snk-taskbar2.js +29 -10
  48. package/dist/components/taskbar-split-button.d.ts +11 -0
  49. package/dist/components/taskbar-split-button.js +6 -0
  50. package/dist/components/taskbar-split-button2.js +87 -0
  51. package/dist/esm/{SnkMessageBuilder-12f5fe1a.js → SnkMessageBuilder-2dbd8fa2.js} +4 -3
  52. package/dist/esm/index-a7d3d3f1.js +2 -2
  53. package/dist/esm/loader.js +1 -1
  54. package/dist/esm/sankhyablocks.js +1 -1
  55. package/dist/esm/{snk-actions-button_7.entry.js → snk-actions-button_8.entry.js} +61 -1
  56. package/dist/esm/snk-application.entry.js +5 -5
  57. package/dist/esm/snk-attach.entry.js +1 -1
  58. package/dist/esm/snk-crud.entry.js +3 -27
  59. package/dist/esm/snk-data-exporter.entry.js +2 -2
  60. package/dist/esm/{snk-data-unit-03654813.js → snk-data-unit-65c9dd1a.js} +1 -1
  61. package/dist/esm/snk-data-unit.entry.js +2 -2
  62. package/dist/esm/snk-detail-view.entry.js +59 -7
  63. package/dist/esm/snk-form-view.entry.js +19 -7
  64. package/dist/esm/snk-grid.entry.js +20 -21
  65. package/dist/esm/{snk-guides-viewer-75e06feb.js → snk-guides-viewer-72953334.js} +37 -25
  66. package/dist/esm/snk-guides-viewer.entry.js +4 -3
  67. package/dist/esm/snk-simple-crud.entry.js +74 -86
  68. package/dist/esm/snk-taskbar.entry.js +7 -3
  69. package/dist/esm/{taskbar-elements-c62b6c66.js → taskbar-elements-f2cb4922.js} +8 -0
  70. package/dist/esm/{field-search-f8b1d91e.js → taskbar-processor-3436124c.js} +1 -34
  71. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  72. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  73. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  74. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  75. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  76. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  77. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  78. package/dist/sankhyablocks/{p-271c86d3.entry.js → p-52d10014.entry.js} +1 -1
  79. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  80. package/dist/sankhyablocks/{p-ad07f0c5.entry.js → p-7beeabc1.entry.js} +1 -1
  81. package/dist/sankhyablocks/{p-4a93daef.entry.js → p-a4ebeec4.entry.js} +1 -1
  82. package/dist/sankhyablocks/{p-2c08fa3e.entry.js → p-b8d649dd.entry.js} +3 -3
  83. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  84. package/dist/sankhyablocks/{p-f4d5bb7f.js → p-c9675d64.js} +1 -1
  85. package/dist/sankhyablocks/{p-4e861843.entry.js → p-ce94e6c4.entry.js} +1 -1
  86. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  87. package/dist/sankhyablocks/{p-6a0c8ce0.entry.js → p-ddf93f36.entry.js} +1 -1
  88. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  89. package/dist/types/components/snk-crud/snk-crud.d.ts +0 -3
  90. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +12 -0
  91. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  92. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -6
  93. package/dist/types/components/snk-grid/snk-grid.d.ts +7 -5
  94. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +10 -10
  95. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  96. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +5 -0
  97. package/dist/types/components.d.ts +107 -8
  98. package/package.json +1 -1
  99. package/react/components.d.ts +1 -0
  100. package/react/components.js +1 -0
  101. package/react/components.js.map +1 -1
  102. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  103. package/dist/sankhyablocks/p-1a51dfde.entry.js +0 -1
  104. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  105. package/dist/sankhyablocks/p-23736d75.js +0 -1
  106. package/dist/sankhyablocks/p-2d6df7e7.entry.js +0 -1
  107. package/dist/sankhyablocks/p-41da5310.js +0 -1
  108. package/dist/sankhyablocks/p-65be98c5.entry.js +0 -1
  109. package/dist/sankhyablocks/p-80f8c22c.js +0 -1
  110. package/dist/sankhyablocks/p-cc8c3bca.entry.js +0 -1
  111. package/dist/sankhyablocks/p-cf1f25ed.entry.js +0 -1
  112. package/dist/sankhyablocks/p-fb0f0087.js +0 -1
  113. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -12,18 +12,18 @@ import { SnkMessageBuilder } from '../../../lib/message/SnkMessageBuilder';
12
12
  import { PropsCustomEditor } from '../interfaces/PropsCustomEditor';
13
13
  import { ICustomEditor, ICustomRender } from '@sankhyalabs/ezui/dist/types/utils';
14
14
  export declare class SnkGuidesViewer {
15
+ private _element;
15
16
  private _configManager;
16
17
  private _masterFormMetadata;
17
18
  private _guideNavigator;
18
19
  private _taskbarProcessor;
19
20
  private _snkConfigurator;
20
21
  private _currentDetail;
21
- private _mainForm;
22
22
  private _fieldSearch;
23
- private _moreOptions;
24
23
  private _guideHasChanged;
25
24
  private _guideBuilders;
26
25
  private _container;
26
+ private _keyboardManager;
27
27
  /**
28
28
  * Instância do DataUnit master.
29
29
  */
@@ -106,6 +106,7 @@ export declare class SnkGuidesViewer {
106
106
  private _customEditors;
107
107
  private _customRenders;
108
108
  private _fieldsProps;
109
+ private _mainForm;
109
110
  observeDataUnit(): void;
110
111
  observeDataState(newValue: DataState, oldValue: DataState): void;
111
112
  observeMasterFormConfig(): void;
@@ -115,10 +116,6 @@ export declare class SnkGuidesViewer {
115
116
  * referente a um form detail.
116
117
  */
117
118
  showFormConfig(detail?: boolean): Promise<void>;
118
- /**
119
- * Abre o localizador de campos
120
- */
121
- findField(): Promise<void>;
122
119
  /**
123
120
  * Registra um editor customizado para campos da grade e formulário
124
121
  */
@@ -201,6 +198,7 @@ export declare class SnkGuidesViewer {
201
198
  private fieldsOptionLoader;
202
199
  private onSelectField;
203
200
  private getActionsList;
201
+ private getSettingsListForm;
204
202
  buildTaskBar(): any;
205
203
  private dataUnitActionHandler;
206
204
  private addErrorBadgeToGuide;
@@ -211,6 +209,8 @@ export declare class SnkGuidesViewer {
211
209
  private getTitleTooltip;
212
210
  private buildRecordIdsArray;
213
211
  componentDidLoad(): void;
212
+ disconnectedCallback(): void;
213
+ private initKeyboardManager;
214
214
  render(): any;
215
215
  }
216
216
  interface BuildFixedFormParams {
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { DataUnit } from '@sankhyalabs/core';
2
+ import { DataUnit, KeyboardManager } from '@sankhyalabs/core';
3
3
  import { IGridConfig, IStatusResolver, StatusResolverFunction } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
4
4
  import { DataState, SnkDataUnit } from '../snk-data-unit/snk-data-unit';
5
5
  import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar';
@@ -31,6 +31,7 @@ export declare class SnkGrid {
31
31
  }>;
32
32
  _snkDataUnitInstance: SnkDataUnit;
33
33
  _rmPrecisionCustomValueFormatter: RmPrecisionCustomValueFormatter;
34
+ _keyboardManager: KeyboardManager;
34
35
  _topTaskbarProcessor: TaskbarProcessor;
35
36
  _headerTaskbarProcessor: TaskbarProcessor;
36
37
  private getGridHeaderSelectedBtns;
@@ -157,6 +158,10 @@ export declare class SnkGrid {
157
158
  * Modo de exportação dos dados.
158
159
  */
159
160
  strategyExporter: IExporterStrategyMode;
161
+ /**
162
+ * Define se a grade deve exibir um buscador de coluna com uso do Ctrl+F
163
+ */
164
+ useSearchColumn: boolean;
160
165
  /**
161
166
  * Habilita a edição de múltiplos registros simultâneos.
162
167
  */
@@ -190,10 +195,6 @@ export declare class SnkGrid {
190
195
  * Retorna o elemento da filter-bar da grade.
191
196
  */
192
197
  getFilterBar(): Promise<HTMLSnkFilterBarElement>;
193
- /**
194
- * Abre o localizador de colunas
195
- */
196
- findColumn(): Promise<void>;
197
198
  /**
198
199
  * Registra um editor customizado para campos da grade e formulário
199
200
  */
@@ -246,6 +247,7 @@ export declare class SnkGrid {
246
247
  private getPrimaryButton;
247
248
  private getColumnSearch;
248
249
  private getActionsList;
250
+ private getActionsSettingsList;
249
251
  private handleFilterConfigUpdated;
250
252
  private getGridHeaderButtons;
251
253
  private isGridInsertActive;
@@ -20,10 +20,10 @@ export declare class SnkSimpleCrud {
20
20
  _multiSelectionListDataSource: SnkMultiSelectionListDataSource;
21
21
  _columnSearch: HTMLEzSearchElement;
22
22
  _fieldSearch: HTMLEzSearchElement;
23
- _moreOptions: HTMLEzActionsButtonElement;
23
+ _splitButton: HTMLEzSplitButtonElement;
24
+ _splitButtonForm: HTMLEzSplitButtonElement;
24
25
  _grid: HTMLEzGridElement;
25
26
  _snkGridConfig: HTMLSnkGridConfigElement;
26
- _keyDownHandler: (event: KeyboardEvent) => Promise<void>;
27
27
  _resourceID: string;
28
28
  _formConfigManager: SnkFormConfigManager;
29
29
  _gridConfigAlreadyLoaded: boolean;
@@ -39,6 +39,7 @@ export declare class SnkSimpleCrud {
39
39
  private _snkSimpleFormConfig;
40
40
  private _keyboardManager;
41
41
  private _element;
42
+ _container: HTMLElement;
42
43
  _showPopUpGridConfig: boolean;
43
44
  _currentViewMode: VIEW_MODE;
44
45
  _config: {};
@@ -223,6 +224,7 @@ export declare class SnkSimpleCrud {
223
224
  componentWillLoad(): void;
224
225
  componentDidLoad(): void;
225
226
  private dataUnitActionHandler;
227
+ disconnectedCallback(): void;
226
228
  private setCustomRenders;
227
229
  private setCustomEditors;
228
230
  configDatasource(): void;
@@ -247,22 +249,18 @@ export declare class SnkSimpleCrud {
247
249
  getTaskBarDisabledButtons(): Array<string>;
248
250
  handleCancelEdit(): void;
249
251
  private handleConfiguratorEvent;
250
- getColumnSearch(actionButton: any, item: IAction): HTMLElement;
251
252
  private onSelectField;
252
- getFieldSearch(actionButton: any, item: IAction): HTMLElement;
253
+ getFieldSearch(splitButton: HTMLEzSplitButtonElement, item: IAction): HTMLElement;
253
254
  private getFormFields;
254
255
  private handleFormSetFields;
255
256
  private fieldsOptionLoader;
256
257
  private isGridInsertActive;
258
+ getColumnSearch(splitButton: HTMLEzSplitButtonElement, item: IAction): HTMLElement;
257
259
  private getActionsList;
260
+ private getSettingsListGrid;
261
+ private getSettingsListForm;
258
262
  private getTopTaskBarId;
259
- keyDownListener(event: KeyboardEvent): Promise<void>;
260
- findField(): Promise<void>;
261
- findColumn(): Promise<void>;
262
- private openSeach;
263
263
  private clearFieldToFocusHandler;
264
- connectedCallback(): void;
265
- disconnectedCallback(): void;
266
264
  private gridConfigChangeHandler;
267
265
  private modalConfigChangeHandler;
268
266
  private dataExporterProviderStore;
@@ -277,6 +275,8 @@ export declare class SnkSimpleCrud {
277
275
  private handleDataUnitOnInsertionMode;
278
276
  private initKeyboardManager;
279
277
  private handleFormConfigSaved;
278
+ private focusToGrid;
279
+ private focusToForm;
280
280
  private renderTaskbarContent;
281
281
  render(): any;
282
282
  }
@@ -0,0 +1,44 @@
1
+ import { Action } from '../../snk-taskbar';
2
+ export declare class TaskbarSplitButton {
3
+ _splitButtonRef: HTMLEzSplitButtonElement;
4
+ _snkContainer: HTMLSnkCrudElement | HTMLSnkSimpleCrudElement | HTMLSnkGridElement;
5
+ _showDropdown: boolean;
6
+ /**
7
+ * Nome do ícone a ser exibido no botão.
8
+ */
9
+ iconName: string;
10
+ /**
11
+ * Função de callback acionada ao clicar no botão principal.
12
+ * @param name Nome da ação a ser executada.
13
+ */
14
+ action: (name: string) => void;
15
+ /**
16
+ * Nome identificador da ação do botão.
17
+ */
18
+ name: string;
19
+ /**
20
+ * Classe CSS personalizada para estilizar o botão.
21
+ */
22
+ className: string;
23
+ /**
24
+ * Identificador de elemento para fins de rastreamento e automação de testes.
25
+ */
26
+ dataElementId: string;
27
+ /**
28
+ * Texto que será exibido no botão.
29
+ */
30
+ title: string;
31
+ /**
32
+ * Se false o usuário não pode interagir com o componente.
33
+ */
34
+ enabled: boolean;
35
+ /**
36
+ * Define a lista de ações disponíveis no dropdown do botão.
37
+ */
38
+ actions: Array<Action>;
39
+ private initializeEagerItems;
40
+ componentDidLoad(): void;
41
+ private dropdownItemBuilder;
42
+ private loadItems;
43
+ render(): any;
44
+ }
@@ -64,6 +64,10 @@ export declare class SnkTaskbar {
64
64
  * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
65
65
  */
66
66
  actionsList: Array<Action>;
67
+ /**
68
+ * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
69
+ */
70
+ actionsSettingsList: Array<Action>;
67
71
  /**
68
72
  * Determina qual botão deve ter aparência primária.
69
73
  */
@@ -135,6 +139,7 @@ export declare class SnkTaskbar {
135
139
  private validatePresentationMode;
136
140
  getElement(index: number, def: TaskbarElement | CustomButton): HTMLElement;
137
141
  buildDynamicActionsList(): Array<Action>;
142
+ buildActionsSettingsList(): Array<Action>;
138
143
  getIdElemBtnNative(taskbarElem: TaskbarElement): string;
139
144
  getIdElemBtnCustom(btnCustom: CustomButton): string;
140
145
  isDivider(element: VNode): boolean;
@@ -1373,6 +1373,10 @@ export namespace Components {
1373
1373
  * Define a instância do DataUnit que deve se ligar ao formulário.
1374
1374
  */
1375
1375
  "dataUnit": DataUnit;
1376
+ /**
1377
+ * Campo para o buscador de campos.
1378
+ */
1379
+ "fieldSearch": HTMLEzSearchElement;
1376
1380
  /**
1377
1381
  * Determina o campo que deve ficar em evidência.
1378
1382
  */
@@ -1413,6 +1417,10 @@ export namespace Components {
1413
1417
  * Altera/adiciona uma propriedade nos metadados do campo.
1414
1418
  */
1415
1419
  "setFieldProp": (fieldName: string, propName: string, value: any) => Promise<void>;
1420
+ /**
1421
+ * Exibe a busca de campos ancorada ao container de cabeçalho do snk-form-view.
1422
+ */
1423
+ "showSearchField": () => Promise<void>;
1416
1424
  "showUp": () => Promise<void>;
1417
1425
  "summaryFields": Array<ISummaryField>;
1418
1426
  }
@@ -1474,10 +1482,6 @@ export namespace Components {
1474
1482
  * Título que será apresentado na barra de filtros
1475
1483
  */
1476
1484
  "filterBarTitle": string;
1477
- /**
1478
- * Abre o localizador de colunas
1479
- */
1480
- "findColumn": () => Promise<void>;
1481
1485
  /**
1482
1486
  * Retorna o elemento da filter-bar da grade.
1483
1487
  */
@@ -1575,6 +1579,10 @@ export namespace Components {
1575
1579
  * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
1576
1580
  */
1577
1581
  "useEnterLikeTab": boolean;
1582
+ /**
1583
+ * Define se a grade deve exibir um buscador de coluna com uso do Ctrl+F
1584
+ */
1585
+ "useSearchColumn": boolean;
1578
1586
  }
1579
1587
  interface SnkGridConfig {
1580
1588
  /**
@@ -1639,10 +1647,6 @@ export namespace Components {
1639
1647
  * Determina todo o caminho de entidades.
1640
1648
  */
1641
1649
  "entityPath": string;
1642
- /**
1643
- * Abre o localizador de campos
1644
- */
1645
- "findField": () => Promise<void>;
1646
1650
  /**
1647
1651
  * Chave da configuração legado do formulário.
1648
1652
  */
@@ -1975,6 +1979,10 @@ export namespace Components {
1975
1979
  * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
1976
1980
  */
1977
1981
  "actionsList": Array<Action>;
1982
+ /**
1983
+ * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
1984
+ */
1985
+ "actionsSettingsList": Array<Action>;
1978
1986
  /**
1979
1987
  * Usado para determinar O alinhamento dos items na taskbar.
1980
1988
  */
@@ -2060,6 +2068,41 @@ export namespace Components {
2060
2068
  */
2061
2069
  "title": string;
2062
2070
  }
2071
+ interface TaskbarSplitButton {
2072
+ /**
2073
+ * Função de callback acionada ao clicar no botão principal.
2074
+ * @param name Nome da ação a ser executada.
2075
+ */
2076
+ "action": (name: string) => void;
2077
+ /**
2078
+ * Define a lista de ações disponíveis no dropdown do botão.
2079
+ */
2080
+ "actions": Array<Action>;
2081
+ /**
2082
+ * Classe CSS personalizada para estilizar o botão.
2083
+ */
2084
+ "className": string;
2085
+ /**
2086
+ * Identificador de elemento para fins de rastreamento e automação de testes.
2087
+ */
2088
+ "dataElementId": string;
2089
+ /**
2090
+ * Se false o usuário não pode interagir com o componente.
2091
+ */
2092
+ "enabled": boolean;
2093
+ /**
2094
+ * Nome do ícone a ser exibido no botão.
2095
+ */
2096
+ "iconName": string;
2097
+ /**
2098
+ * Nome identificador da ação do botão.
2099
+ */
2100
+ "name": string;
2101
+ /**
2102
+ * Texto que será exibido no botão.
2103
+ */
2104
+ "title": string;
2105
+ }
2063
2106
  interface TestePesquisa {
2064
2107
  }
2065
2108
  }
@@ -2576,6 +2619,12 @@ declare global {
2576
2619
  prototype: HTMLTaskbarActionsButtonElement;
2577
2620
  new (): HTMLTaskbarActionsButtonElement;
2578
2621
  };
2622
+ interface HTMLTaskbarSplitButtonElement extends Components.TaskbarSplitButton, HTMLStencilElement {
2623
+ }
2624
+ var HTMLTaskbarSplitButtonElement: {
2625
+ prototype: HTMLTaskbarSplitButtonElement;
2626
+ new (): HTMLTaskbarSplitButtonElement;
2627
+ };
2579
2628
  interface HTMLTestePesquisaElement extends Components.TestePesquisa, HTMLStencilElement {
2580
2629
  }
2581
2630
  var HTMLTestePesquisaElement: {
@@ -2639,6 +2688,7 @@ declare global {
2639
2688
  "snk-taskbar": HTMLSnkTaskbarElement;
2640
2689
  "snk-view-representation": HTMLSnkViewRepresentationElement;
2641
2690
  "taskbar-actions-button": HTMLTaskbarActionsButtonElement;
2691
+ "taskbar-split-button": HTMLTaskbarSplitButtonElement;
2642
2692
  "teste-pesquisa": HTMLTestePesquisaElement;
2643
2693
  }
2644
2694
  }
@@ -3708,6 +3758,10 @@ declare namespace LocalJSX {
3708
3758
  * Define a instância do DataUnit que deve se ligar ao formulário.
3709
3759
  */
3710
3760
  "dataUnit"?: DataUnit;
3761
+ /**
3762
+ * Campo para o buscador de campos.
3763
+ */
3764
+ "fieldSearch"?: HTMLEzSearchElement;
3711
3765
  /**
3712
3766
  * Determina o campo que deve ficar em evidência.
3713
3767
  */
@@ -3880,6 +3934,10 @@ declare namespace LocalJSX {
3880
3934
  * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
3881
3935
  */
3882
3936
  "useEnterLikeTab"?: boolean;
3937
+ /**
3938
+ * Define se a grade deve exibir um buscador de coluna com uso do Ctrl+F
3939
+ */
3940
+ "useSearchColumn"?: boolean;
3883
3941
  }
3884
3942
  interface SnkGridConfig {
3885
3943
  /**
@@ -4300,6 +4358,10 @@ declare namespace LocalJSX {
4300
4358
  * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
4301
4359
  */
4302
4360
  "actionsList"?: Array<Action>;
4361
+ /**
4362
+ * Lista de ações que devem ser usadas no botão "Mais opções" do componente snk-taskbar.
4363
+ */
4364
+ "actionsSettingsList"?: Array<Action>;
4303
4365
  /**
4304
4366
  * Usado para determinar O alinhamento dos items na taskbar.
4305
4367
  */
@@ -4397,6 +4459,41 @@ declare namespace LocalJSX {
4397
4459
  */
4398
4460
  "title"?: string;
4399
4461
  }
4462
+ interface TaskbarSplitButton {
4463
+ /**
4464
+ * Função de callback acionada ao clicar no botão principal.
4465
+ * @param name Nome da ação a ser executada.
4466
+ */
4467
+ "action"?: (name: string) => void;
4468
+ /**
4469
+ * Define a lista de ações disponíveis no dropdown do botão.
4470
+ */
4471
+ "actions"?: Array<Action>;
4472
+ /**
4473
+ * Classe CSS personalizada para estilizar o botão.
4474
+ */
4475
+ "className"?: string;
4476
+ /**
4477
+ * Identificador de elemento para fins de rastreamento e automação de testes.
4478
+ */
4479
+ "dataElementId"?: string;
4480
+ /**
4481
+ * Se false o usuário não pode interagir com o componente.
4482
+ */
4483
+ "enabled"?: boolean;
4484
+ /**
4485
+ * Nome do ícone a ser exibido no botão.
4486
+ */
4487
+ "iconName"?: string;
4488
+ /**
4489
+ * Nome identificador da ação do botão.
4490
+ */
4491
+ "name"?: string;
4492
+ /**
4493
+ * Texto que será exibido no botão.
4494
+ */
4495
+ "title"?: string;
4496
+ }
4400
4497
  interface TestePesquisa {
4401
4498
  }
4402
4499
  interface IntrinsicElements {
@@ -4456,6 +4553,7 @@ declare namespace LocalJSX {
4456
4553
  "snk-taskbar": SnkTaskbar;
4457
4554
  "snk-view-representation": SnkViewRepresentation;
4458
4555
  "taskbar-actions-button": TaskbarActionsButton;
4556
+ "taskbar-split-button": TaskbarSplitButton;
4459
4557
  "teste-pesquisa": TestePesquisa;
4460
4558
  }
4461
4559
  }
@@ -4519,6 +4617,7 @@ declare module "@stencil/core" {
4519
4617
  "snk-taskbar": LocalJSX.SnkTaskbar & JSXBase.HTMLAttributes<HTMLSnkTaskbarElement>;
4520
4618
  "snk-view-representation": LocalJSX.SnkViewRepresentation & JSXBase.HTMLAttributes<HTMLSnkViewRepresentationElement>;
4521
4619
  "taskbar-actions-button": LocalJSX.TaskbarActionsButton & JSXBase.HTMLAttributes<HTMLTaskbarActionsButtonElement>;
4620
+ "taskbar-split-button": LocalJSX.TaskbarSplitButton & JSXBase.HTMLAttributes<HTMLTaskbarSplitButtonElement>;
4522
4621
  "teste-pesquisa": LocalJSX.TestePesquisa & JSXBase.HTMLAttributes<HTMLTestePesquisaElement>;
4523
4622
  }
4524
4623
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "8.16.0-dev.110",
3
+ "version": "8.16.0-dev.112",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -56,4 +56,5 @@ export declare const SnkTabConfig: import("react").ForwardRefExoticComponent<JSX
56
56
  export declare const SnkTaskbar: import("react").ForwardRefExoticComponent<JSX.SnkTaskbar & Omit<import("react").HTMLAttributes<HTMLSnkTaskbarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkTaskbarElement>>;
57
57
  export declare const SnkViewRepresentation: import("react").ForwardRefExoticComponent<JSX.SnkViewRepresentation & Omit<import("react").HTMLAttributes<HTMLSnkViewRepresentationElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkViewRepresentationElement>>;
58
58
  export declare const TaskbarActionsButton: import("react").ForwardRefExoticComponent<JSX.TaskbarActionsButton & Omit<import("react").HTMLAttributes<HTMLTaskbarActionsButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLTaskbarActionsButtonElement>>;
59
+ export declare const TaskbarSplitButton: import("react").ForwardRefExoticComponent<JSX.TaskbarSplitButton & Omit<import("react").HTMLAttributes<HTMLTaskbarSplitButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLTaskbarSplitButtonElement>>;
59
60
  export declare const TestePesquisa: import("react").ForwardRefExoticComponent<JSX.TestePesquisa & Omit<import("react").HTMLAttributes<HTMLTestePesquisaElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLTestePesquisaElement>>;
@@ -58,5 +58,6 @@ export const SnkTabConfig = /*@__PURE__*/ createReactComponent('snk-tab-config')
58
58
  export const SnkTaskbar = /*@__PURE__*/ createReactComponent('snk-taskbar');
59
59
  export const SnkViewRepresentation = /*@__PURE__*/ createReactComponent('snk-view-representation');
60
60
  export const TaskbarActionsButton = /*@__PURE__*/ createReactComponent('taskbar-actions-button');
61
+ export const TaskbarSplitButton = /*@__PURE__*/ createReactComponent('taskbar-split-button');
61
62
  export const TestePesquisa = /*@__PURE__*/ createReactComponent('teste-pesquisa');
62
63
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { h } from '@stencil/core';
2
- const EVENT_NAME = 'taskbarActionsOpened';
3
- export const buildFieldSearch = (action, optionLoader, onSelectField) => {
4
- return h("ez-search", { class: 'ez-actions-button--bottom-padding', canShowError: 'false', showSelectedValue: 'false', showOptionValue: 'false', suppressEmptyOption: 'true', label: action.label, value: '', optionLoader: optionLoader, onEzChange: (evt) => onSelectField(evt.detail), ignoreLimitCharsToSearch: true });
5
- };
6
- async function focusOnFieldSerch(field) {
7
- requestAnimationFrame(async () => {
8
- if (field) {
9
- const realElement = field['$elm$'];
10
- if (!realElement)
11
- return;
12
- realElement.value = null;
13
- await realElement.setFocus();
14
- }
15
- });
16
- }
17
- export const openFieldSearch = async (moreOptions, field) => {
18
- if (!moreOptions) {
19
- return;
20
- }
21
- if ((await moreOptions.isOpened())) {
22
- await focusOnFieldSerch(field);
23
- return;
24
- }
25
- const eventHandler = () => {
26
- focusOnFieldSerch(field);
27
- moreOptions.removeEventListener(EVENT_NAME, eventHandler);
28
- };
29
- moreOptions.addEventListener(EVENT_NAME, eventHandler);
30
- await moreOptions.showActions();
31
- };
@@ -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{Action as o}from"@sankhyalabs/core";import{S as h}from"./p-ebdb9d89.js";import{FormMetadata as n,buildFormMetadata as r}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-fbba7e3d.js";import"./p-6dd38d7b.js";import{P as d}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-7993b2e3.js";import"./p-ff1990ad.js";import"./p-601b252b.js";import{V as l}from"./p-9261d8a0.js";import{T as c}from"./p-fb0f0087.js";import{S as u}from"./p-41da5310.js";import{S as m}from"./p-80f8c22c.js";import"./p-03b68a74.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-6dc031de.js";import"./p-23736d75.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";class v{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,o=null!=n.getDetailName(s.split("::").pop()),h=o&&e,r=this._parentGuide.id,d=o?`${r}::${s}`:`${r}__FORM:${s}`;return o&&t.has(d)&&!h?t.get(d).buildGuideItem(t):{id:d,label:a,disabled:h,tooltip:h?"Finalize o cadastro para ter acesso a esta guia.":void 0}})),o=a.shift();return o.label=e?"Novo Registro":s.__record__label__,o.children=a,i.children=[o],i}}const p=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this.formItemsReady=i(this,"formItemsReady",7),this._disabledButtons=void 0,this._currentView=void 0,this.attachmentRegisterKey=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.resourceID=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,this.canEdit=!0,this.taskbarCustomContainerId=void 0,this.customEditors=void 0,this.customRenders=void 0,this.presentationMode=d.SECONDARY}observeDataUnit(t,i){null==t||t.subscribe(this.dataUnitActionHandler.bind(this)),null==i||i.unsubscribe(this.dataUnitActionHandler)}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,o=null==i?void 0:i.selectedRecord;(null==a?void 0:a.__record__id__)!==(null==o?void 0:o.__record__id__)&&this.snkDetailGuidesChange.emit(new v(this.branchGuide,this._formMetadata,this.dataUnit)),s&&setTimeout((()=>{this.changeViewMode(l.FORM)}),0),e&&this.changeViewMode(l.GRID);const h=[];this.dataState.hasPrevious||h.push(c.PREVIOUS),this.dataState.hasNext||h.push(c.NEXT),this.dataState.insertionMode&&h.push(c.INSERT),this._disabledButtons=h}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"})}async addCustomEditor(t,i){var s;const e=this.normalizeBranchGuideId(null===(s=this.branchGuide)||void 0===s?void 0:s.id);this._snkGrid.addCustomEditor(t,i,e),this._snkFormView.addCustomEditor(t,i,e)}async observerPropsCustomEditor(t){for(const i in t)await this.addCustomEditor(i,t[i])}async addGridCustomRender(t,i){var s;const e=this.normalizeBranchGuideId(null===(s=this.branchGuide)||void 0===s?void 0:s.id);await this._snkGrid.addGridCustomRender(t,i,e)}onContentCardChanged(t){u.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}async observeCustomRenders(t){for(const i in t){const s=t[i];await this.addGridCustomRender(i,s)}}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(){if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const t=this.formConfigManager.getConfig(this.dataUnit);this._formMetadata=r(null==t||0===t.fields.length?void 0:t,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){var i,s;this._viewStack=t,this._currentView=this.selectedForm?1:0,null===(s=null===(i=this._viewStack)||void 0===i?void 0:i.show)||void 0===s||s.call(i,this._currentView)}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===c.GRID_MODE&&(this.emitSwitchEvent(l.GRID),t.stopPropagation()),t.detail!==c.FORM_MODE&&t.detail!==c.UPDATE||(this.emitSwitchEvent(l.FORM),t.stopPropagation()),t.detail===c.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.resourceID,(()=>this.loadMetadata()),this.dataUnit),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new m(this.entityName))}async componentDidLoad(){await this.observerPropsCustomEditor(this.customEditors),await this.observeCustomRenders(this.customRenders)}async dataUnitActionHandler(t){t.type===o.FIELD_INVALIDATED&&this.addErrorBadgeToBranchGuide()}addErrorBadgeToBranchGuide(){this.branchGuide=Object.assign(Object.assign({},this.branchGuide),{badge:"error"}),this.snkDetailGuidesChange.emit(new v(this.branchGuide,this._formMetadata,this.dataUnit))}normalizeBranchGuideId(t){return null==t?void 0:t.replace(/child\[(.*?)\]/g,"$1").replace(/::/g,">")}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),ignoreSaveMessage:this._currentView===l.GRID,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-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",ref:t=>this._snkGrid=t,configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.emitSwitchEvent(l.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:this.presentationMode,canEdit:this.canEdit,isDetail:!0,taskbarCustomContainerId:this.taskbarCustomContainerId,gridHeaderCustomSlotId:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS",topTaskbarCustomSlotId:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS",outlineMode:!1}))),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,onFormItemsReady:({detail:t})=>this.formItemsReady.emit(t)},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:this.presentationMode,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit,resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"},e("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))),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{dataUnit:["observeDataUnit"],dataState:["observerDataState"],customEditors:["observerPropsCustomEditor"],customRenders:["observeCustomRenders"]}}};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;height:100%}.detail-header.sc-snk-detail-view{padding-bottom:0}snk-data-unit.sc-snk-detail-view{flex:1}snk-grid.sc-snk-detail-view{height:calc(100% - 43px)}";export{p as snk_detail_view}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,H as e}from"./p-d2d301a6.js";import{ElementIDUtils as o}from"@sankhyalabs/core";import{DataBinder as r}from"@sankhyalabs/ezui/dist/collection/utils/form";const a=class{constructor(s){t(this,s),this.snkContentCardChanged=i(this,"snkContentCardChanged",7),this.snkRequestClearFieldToFocus=i(this,"snkRequestClearFieldToFocus",7),this.formItemsReady=i(this,"formItemsReady",7),this._customEditors=new Map,this._fieldProps=new Map,this.levelPath=void 0,this.label=void 0,this.name=void 0,this.fields=void 0,this.formMetadata=void 0,this.dataUnit=void 0,this.contracted=void 0,this.fixed=!1,this.summaryFields=void 0,this.canExpand=!0,this.canFix=!0,this.recordsValidator=void 0,this.fieldToFocus=void 0,this.customEditors=void 0,this.fieldsProps=void 0}async showUp(){this._formView&&this._formView.showUp()}async addCustomEditor(t,i,s){if(this._formView)return void this._formView.addCustomEditor(t,i,s);const e=new Map(this._customEditors);e.set(t,{customEditor:i,detailContext:s}),this._customEditors=e}observePropsCustomEditor(t){for(const i in t)this.addCustomEditor(i,t[i])}async setFieldProp(t,i,s){const e=this._fieldProps.get(t)||[];this._fieldProps.set(t,[...e,{propName:i,value:s}])}async observeFieldsProps(t){for(const i in t){const s=t[i],e=Object.keys(s);for(const t of e)await this.setFieldProp(i,t,s[t])}}changeFix(){this.fixed=!this.fixed,this.emitEvent("fixed")}changeContracted(){this.contracted=!this.contracted,this.emitEvent("presentation")}emitEvent(t){this.snkContentCardChanged.emit({formName:this.name,cardConfig:{fixed:this.fixed,presentation:this.contracted?"CONTRACTED":"EXPANDED"},propertyChanged:t})}getCardSummary(){const t={};return this.getSummaryFields().forEach((({field:i,label:s})=>{var e;const o=this.dataUnit.getFormattedValue(i);""!==o&&(null==s&&(s=null===(e=this.dataUnit.getField(i))||void 0===e?void 0:e.label),t[s]=o)})),t}getSummaryFields(){return null==this.summaryFields?this.fields.map((t=>{const i=this.dataUnit.getField(t.name);return{field:t.name,label:t.label||(null==i?void 0:i.label)}})):this.summaryFields}bindFields(t){null==this._dataBinder&&null!=this.dataUnit&&(this._dataBinder=new r(this.dataUnit)),this._dataBinder&&this._dataBinder.bind(t,this.dataUnit.dataUnitId,this.formMetadata,this.recordsValidator)}handleFormItemsReady(t){t.stopPropagation(),this.formItemsReady.emit(Object.assign(Object.assign({},t.detail),{formId:this.name}))}disconnectedCallback(){null!=this._dataBinder&&this._dataBinder.onDisconnectedCallback()}componentDidLoad(){this.observePropsCustomEditor(this.customEditors),this.observeFieldsProps(this.fieldsProps)}componentDidRender(){this.setCustomEditors(),this.setFieldProps(),null!=this.fieldToFocus&&this.fields.some((t=>t.name===this.fieldToFocus))&&requestAnimationFrame((()=>{this._dataBinder.setFocus(this.fieldToFocus),this.snkRequestClearFieldToFocus.emit()}))}setCustomEditors(){if(this._formView)for(const[t,i]of this._customEditors)this._formView.addCustomEditor(t,i.customEditor,i.detailContext),this._customEditors.delete(t)}setFieldProps(){if(this._formView)for(const[t,i]of this._fieldProps)i.forEach((i=>{this._formView.setFieldProp(t,i.propName,i.value),this._fieldProps.delete(t)}))}render(){return s(e,{class:"ez-box__container"},s("div",{class:"summary-header ez-flex ez-size-width--full"},s("div",{class:"ez-flex ez-text ez-title--primary ez-text--bold ez-flex--justify-start ez-flex--align-items-center ez-col--sd-9"},this.levelPath?s("span",{class:"level-path"},this.levelPath+" /"):void 0,this.label),s("div",{class:"ez-flex ez-flex--justify-end ez-col--sd-3"},this.canFix&&s("ez-button",{class:"ez-padding-left--medium",mode:"icon",size:"small",iconName:this.fixed?"un-pin":"push-pin","data-element-id":o.getInternalIDInfo("toggleFixed_ezFormCard"),onClick:()=>this.changeFix(),title:this.fixed?"Desafixar":"Fixar"}),this.canExpand&&s("ez-button",{class:"ez-padding-left--medium",mode:"icon",size:"small",iconName:this.contracted?"chevron-down":"chevron-up","data-element-id":o.getInternalIDInfo("toggleExpand_ezFormCard"),onClick:()=>this.changeContracted(),title:this.contracted?"Expandir":"Resumir"}))),s("slot",null),this.contracted?s("snk-form-summary",{summary:this.getCardSummary()}):s("ez-form-view",{ref:t=>this._formView=t,fields:this.fields,onEzContentReady:t=>this.bindFields(t.detail),onFormItemsReady:t=>this.handleFormItemsReady(t)}))}static get watchers(){return{customEditors:["observePropsCustomEditor"],fieldsProps:["observeFieldsProps"]}}};a.style=".sc-snk-form-view-h{display:flex;width:100%;--ez-form-card-summary-field-content-weight:700}.level-path.sc-snk-form-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.summary-wrapper.sc-snk-form-view{display:flex;overflow:hidden}.summary-header.sc-snk-form-view{border-bottom:1px solid var(--color--strokes);margin-bottom:var(--space--medium);padding-bottom:var(--space--medium)}.summary-container.sc-snk-form-view{display:flex;flex-direction:column}.summary-container.sc-snk-form-view{padding-right:calc(var(--space--extra-large) / 1.5)}.summary-field.sc-snk-form-view{min-width:30px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-field__title.sc-snk-form-view{color:var(--text--primary, #626e82);font-size:var(--title--small);white-space:nowrap;font-weight:var(--text-weight--medium)}.summary-field__content.sc-snk-form-view{color:var(--title--primary, #2b3a54);font-size:var(--text--large);font-weight:var(--ez-form-card-summary-field-content-weight)}";export{a as snk_form_view}
@@ -1 +0,0 @@
1
- import{h as t}from"./p-d2d301a6.js";class s{constructor(t){this._defaultButtons=t}process(t,s,n,e=[],o=[]){var a;this.customButtons=new Map,this.buttons="",this.disabledButtons=[].concat(e),null===(a=this.getButtonsArray(t,s,n))||void 0===a||a.forEach((a=>{let i;if("string"==typeof a)i=a;else{const t=a;this.customButtons.set(t.name,t),i=t.name}o.includes(i)||(this.isEnabled(t,s,i,n,e)||this.disabledButtons.push(i),this.buttons.length>0&&(this.buttons+=","),this.buttons+=i)}))}getButtonsArray(t,s,n){const e=this.getButtonsFromKey(t);return s?s.getButtons(t,n,[...e]):e}getButtonsFromKey(t){const s=this._defaultButtons[t];return"function"==typeof s?s():s}isEnabled(t,s,n,e,o){const a=!o.includes(n);return s&&s.isEnabled?s.isEnabled(t,e,n,a):a}}const n="taskbarActionsOpened",e=(s,n,e)=>t("ez-search",{class:"ez-actions-button--bottom-padding",canShowError:"false",showSelectedValue:"false",showOptionValue:"false",suppressEmptyOption:"true",label:s.label,value:"",optionLoader:n,onEzChange:t=>e(t.detail),ignoreLimitCharsToSearch:!0});async function o(t){requestAnimationFrame((async()=>{if(t){const s=t.t;if(!s)return;s.value=null,await s.setFocus()}}))}const a=async(t,s)=>{if(!t)return;if(await t.isOpened())return void await o(s);const e=()=>{o(s),t.removeEventListener(n,e)};t.addEventListener(n,e),await t.showActions()};export{s as T,e as b,a as o}
@@ -1 +0,0 @@
1
- import{r as t,c as s,h as i,H as e,g as a}from"./p-d2d301a6.js";import{Action as h,LockManager as n,LockManagerOperation as r,SilentException as o,StringUtils as l,ApplicationContext as d,OVERFLOWED_CLASS_NAME as v,OverflowWatcher as u,OverflowDirection as c,ElementIDUtils as k}from"@sankhyalabs/core";import{A as m}from"./p-dc36cfbf.js";import{T as b,V as p,A as T,b as f,a as w}from"./p-fb0f0087.js";import{P as g}from"./p-0f3698af.js";import"./p-6dc031de.js";const E=class{constructor(i){t(this,i),this.actionClick=s(this,"actionClick",7),this.taskbarSaveLocker=s(this,"taskbarSaveLocker",7),this.taskbarSaveUnlocker=s(this,"taskbarSaveUnlocker",7),this.TASKBAR_ITEM_ID_PREFIX="TASKBAR_ITEM_",this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME="taskbar-custom-elements-container",this.ACTIONS_BUTTON_TAG="TASKBAR-ACTIONS-BUTTON",this.NOT_OVERFLOW_ELEMENTS=["moreOptions","dataExporter_snkDataExporter","actionsButton_snkActionsButton"],this._titleKeyByElement={[b.UPDATE_MULTIPLE]:"snkTaskbar.titleUpdateMultiple",[b.UPDATE]:"snkTaskbar.titleUpdate",[b.PREVIOUS]:"snkTaskbar.titlePrevious",[b.NEXT]:"snkTaskbar.titleNext",[b.REFRESH]:"snkTaskbar.titleRefresh",[b.CLONE]:"snkTaskbar.titleClone",[b.REMOVE]:"snkTaskbar.titleRemove",[b.MORE_OPTIONS]:"snkTaskbar.titleMoreOptions",[b.INSERT]:"snkTaskbar.titleInsert",[b.CANCEL]:"snkTaskbar.titleCancel",[b.SAVE]:"snkTaskbar.titleSave",[b.GRID_MODE]:"snkTaskbar.titleGridMode",[b.FORM_MODE]:"snkTaskbar.titleFormMode",[b.CONFIGURATOR]:"snkTaskbar.titleConfigurator",[b.ATTACH]:"snkTaskbar.titleAttach"},this.onSaveEvent=t=>{switch(t.type){case h.FIELD_INVALIDATED:case h.INVALIDATE_CLEAN:case h.DATA_SAVED:case h.SAVING_ERROR:case h.SAVING_CANCELED:this._isWaitingForSave=!1;break;case h.SAVING_DATA:this._isWaitingForSave=!0}},this._permissions=void 0,this._overFlowedElements=[],this._customElements=void 0,this._customElementsId=void 0,this._slotContainer=void 0,this._hiddenActionsList=[],this._lastWidth=void 0,this._hasToUpdateOverFlow=!1,this._isWaitingForSave=!1,this.alignRigth=!1,this.customSlotId="TASKBAR_CUSTOM_ELEMENTS",this.customContainerId=void 0,this.overflowStrategy="hiddenItems",this.configName=void 0,this.resourceID=void 0,this.buttons=void 0,this.customButtons=void 0,this.actionsList=void 0,this.primaryButton=void 0,this.disabledButtons=void 0,this.dataUnit=void 0,this.presentationMode=g.PRIMARY,this.messagesBuilder=void 0}handleCustomSlotElementsLoaded(t){this.hasToSearchCustomElements(t)&&this.getCustomElements(!0)}handleTaskbarSaveLocker(){!0!==this._isWaitingForSave&&(this._isWaitingForSave=!0)}handleTaskbarSaveUnlocker(){!0===this._isWaitingForSave&&(this._isWaitingForSave=!1)}hasToSearchCustomElements(t){return this.customSlotId===t.detail&&!this._slotContainer}observeButtons(){this._definitions=void 0,requestAnimationFrame((()=>{requestAnimationFrame((()=>{var t;return null===(t=this._overFlowWatcher)||void 0===t?void 0:t.forceUpdate()}))}))}observeDisabledButtons(){var t;null===(t=this._overFlowWatcher)||void 0===t||t.forceUpdate()}observeLastWidth(t,s){0===s&&0!==t&&(this._hasToUpdateOverFlow=!0)}observeIsWaitingForSave(t,s){1==t&&0==s&&this.taskbarSaveLocker.emit(),0==t&&1==s&&this.taskbarSaveUnlocker.emit()}elementsFromString(t){const s=[];return null==t||t.split(",").forEach((t=>{t=t.trim(),(p[t]||this.isAllowed(t))&&s.push(t.trim())})),s}isAllowed(t){return t===T.CONFIGURATOR?!!this._permissions&&(this._permissions.isSup||this._permissions[m.CONFIG_GRID]||this._permissions[m.CONFIG]):!T[t]||!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getTitle(t){var s;let i;return i=this.isAllowed(t)?this._titleKeyByElement[t]:"snkTaskbar.forbidden",i?null===(s=this.messagesBuilder)||void 0===s?void 0:s.getMessage(i,{}):""}elementClick(t){n.whenResolve(this._element,r.TASKBAR_CLICK).then((()=>{if(this.dataUnit)switch(t){case b.PREVIOUS:this.dataUnit.previousRecord();break;case b.NEXT:this.dataUnit.nextRecord();break;case b.REFRESH:this.dataUnit.loadData();break;case b.CLONE:this.dataUnit.copySelected();break;case b.REMOVE:this.dataUnit.removeSelectedRecords();break;case b.INSERT:this.dataUnit.addRecord();break;case b.CANCEL:this.dataUnit.cancelEdition();break;case b.SAVE:this._isWaitingForSave||(this._isWaitingForSave=!0,this.dataUnit.saveData().catch((t=>{if(!(t instanceof o))throw t})).finally((()=>{this._isWaitingForSave=!1})))}this.isEnabled(t)&&this.actionClick.emit(t)}))}isEnabled(t){return!(!this.isAllowed(t)||this.disabledButtons&&this.disabledButtons.includes(t))}validatePresentationMode(){Object.values(g).includes(this.presentationMode)||(this.presentationMode=g.PRIMARY)}getElement(t,s){let i=s===this.primaryButton?"ez-button--primary ":"";t>1&&(i+="ez-padding-left--medium");const e=b[s.toString()],a=this._element.dataset.exporterStoreKey||this.configName;return e?f(s,i,this.getIdElemBtnNative(s),(t=>this.getTitle(t)),(t=>this.elementClick(t)),(t=>this.isEnabled(t)),this.buildDynamicActionsList(),a,this.presentationMode):w(s,i,this.getIdElemBtnCustom(s),(t=>this.elementClick(t)),(t=>this.isEnabled(t)))}buildDynamicActionsList(){var t;return this._hiddenActionsList.length?[...null!==(t=this.actionsList)&&void 0!==t?t:[],{type:"divider",label:"",value:""},...this._hiddenActionsList]:this.actionsList}getIdElemBtnNative(t){return l.toCamelCase(t)}getIdElemBtnCustom(t){return l.toCamelCase(t.name)}isDivider(t){var s;return void 0!==t&&(null===(s=t.t)||void 0===s?void 0:s["data-taskbar-divider"])}removeEmpty(t){let s;return t.filter((t=>!(null==t||this.isDivider(s)&&this.isDivider(t)||(s=t,0))))}appendCustomElementsInTaskbar(){this._customElementsId.forEach((t=>{const s=t.replace(this.TASKBAR_ITEM_ID_PREFIX,""),i=this._customElements.get(s),e=this._element.querySelector(`#${t}`);e?null==e||e.appendChild(i):this.unlinkCustomElementFromTaskbar(i)}))}addCustomElementContainer(t){var s;const e=`${this.TASKBAR_ITEM_ID_PREFIX}${t}`;return this._customElementsId.includes(e)||(this._customElementsId.push(e),null===(s=this._overFlowWatcher)||void 0===s||s.addNotOverFlowElement(e)),i("span",{class:"ez-padding-left--medium",key:e,id:e})}getCustomElements(t){var s,i;this._customElementsId=[],this._customElements=new Map,this._slotContainer=this.buildSlotContainer(t),Array.from(null!==(i=null===(s=this._slotContainer)||void 0===s?void 0:s.children)&&void 0!==i?i:[]).forEach((t=>this._customElements.set(t.id,t)))}buildSlotContainer(t){let s;if(this.customContainerId){const t=document.querySelector(`#${this.customContainerId}`);s=null==t?void 0:t.querySelector(`#${this.customSlotId}`)}else s=this._element.querySelector(`#${this.customSlotId}`);return t&&!s&&(s=document.querySelector(`#${this.customSlotId}`)),s}componentWillLoad(){this._application=d.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess(this.resourceID).then((t=>this._permissions=t)):this._permissions={},this.getCustomElements()}componentWillRender(){this.handleDefinitions(),this.validatePresentationMode(),this.updateOverFlowIfNeeded()}handleDefinitions(){null==this._definitions&&this._permissions&&(this._definitions=this.elementsFromString(this.buttons))}updateOverFlowIfNeeded(){this._hasToUpdateOverFlow&&(requestAnimationFrame((()=>{var t;return null===(t=this._overFlowWatcher)||void 0===t?void 0:t.forceUpdate()})),this._hasToUpdateOverFlow=!1)}handleOverFlow(t){const s=t.filter((t=>!this.hasToIgnoreOverFlow(t)));this.resetOverFlowedElements(),this.doOverFlowElements(s)}resetOverFlowedElements(){this._overFlowedElements.forEach((t=>{t.classList.remove(v)})),this._hiddenActionsList=[],this._overFlowedElements=[]}doOverFlowElements(t){t.forEach((t=>{t.classList.add(v),this._overFlowedElements.push(t),this.addItemToActionList(t)}))}addItemToActionList(t){const s=this.getTaskbarElementName(t);if(s&&this.isEnabled(s)&&this.isAllowed(s)){const i={value:s,label:this.getTaskbarElementLabel(t),iconName:this.getTaskbarElementIcon(t)};this._hiddenActionsList.push(i)}}getTaskbarElementName(t){var s;return null!==(s=t.getAttribute("data-taskbar-element"))&&void 0!==s?s:""}getTaskbarElementIcon(t){var s;return null!==(s=t.getAttribute("data-taskbar-icon"))&&void 0!==s?s:""}getTaskbarElementLabel(t){var s;return null!==(s=t.getAttribute("data-taskbar-label"))&&void 0!==s?s:""}hasToIgnoreOverFlow(t){return t.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME)}handleOverFlowStrategy(){"hiddenItems"===this.overflowStrategy&&(this._overFlowWatcher=new u(this.buildOverFlowWatcherParams()))}buildOverFlowWatcherParams(){return{element:this._element,callback:this.handleOverFlow.bind(this),overFlowDirection:c.HORIZONTAL,notOverFlow:this.NOT_OVERFLOW_ELEMENTS}}componentDidLoad(){k.addIDInfo(this._element,null,{dataUnit:this.dataUnit}),this.handleOverFlowStrategy(),this.dataUnit.subscribe(this.onSaveEvent)}componentDidRender(){this.appendCustomElementsInTaskbar(),this.updateLastWidth()}updateLastWidth(){this._lastWidth=this._element.getBoundingClientRect().width}disconnectedCallback(){var t,s;null===(t=this.dataUnit)||void 0===t||t.unsubscribe(this.onSaveEvent),this.unlinkAllCustomElements(),null===(s=this._overFlowWatcher)||void 0===s||s.destroy()}unlinkAllCustomElements(){var t;null===(t=this._customElementsId)||void 0===t||t.forEach((t=>{const s=t.replace(this.TASKBAR_ITEM_ID_PREFIX,""),i=this._customElements.get(s);this.unlinkCustomElementFromTaskbar(i)}))}unlinkCustomElementFromTaskbar(t){this._slotContainer.appendChild(t)}render(){if(void 0===this._definitions)return;let t=0;return i(e,{class:this.getHostClasses()},this.removeEmpty(this._definitions.map((s=>{var e,a;return t++,b[s]?this.getElement(t,b[s]):(null===(e=this.customButtons)||void 0===e?void 0:e.has(s))?this.getElement(t,this.customButtons.get(s)):this._customElements.has(s)?this.addCustomElementContainer(s):(null===(a=this._overFlowWatcher)||void 0===a||a.addNotOverFlowElement(s),i("slot",{name:s}))}))),i("div",{class:this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME},i("slot",{name:this.customSlotId})))}getHostClasses(){return"hiddenItems"!==this.overflowStrategy?"no-wrap":"full-width "+(this.alignRigth?"align-right":"")}get _element(){return a(this)}static get watchers(){return{buttons:["observeButtons"],disabledButtons:["observeDisabledButtons"],_lastWidth:["observeLastWidth"],_isWaitingForSave:["observeIsWaitingForSave"]}}};E.style=".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";export{E as snk_taskbar}