@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-52057.0 → 0.0.0-bugfix-dev-59880.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/cjs/ICustomRender-6fafffce.js +13 -0
  2. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -0
  3. package/dist/cjs/ez-alert-list.cjs.entry.js +6 -4
  4. package/dist/cjs/ez-button.cjs.entry.js +2 -2
  5. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -0
  6. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -0
  7. package/dist/cjs/{ez-text-edit.cjs.entry.js → ez-custom-form-input_2.cjs.entry.js} +86 -0
  8. package/dist/cjs/ez-date-input.cjs.entry.js +1 -0
  9. package/dist/cjs/ez-form-view.cjs.entry.js +36 -4
  10. package/dist/cjs/ez-form.cjs.entry.js +51 -2
  11. package/dist/cjs/ez-grid.cjs.entry.js +322 -19
  12. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-modal-container.cjs.entry.js +2 -2
  14. package/dist/cjs/ez-number-input.cjs.entry.js +9 -2
  15. package/dist/cjs/ez-search.cjs.entry.js +6 -2
  16. package/dist/cjs/ez-split-item.cjs.entry.js +2 -1
  17. package/dist/cjs/ezui.cjs.js +1 -1
  18. package/dist/cjs/index-a7b0c73d.js +4 -4
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/ez-alert-list/ez-alert-list.js +6 -4
  22. package/dist/collection/components/ez-button/ez-button.css +7 -0
  23. package/dist/collection/components/ez-button/ez-button.js +1 -1
  24. package/dist/collection/components/ez-date-input/ez-date-input.js +1 -0
  25. package/dist/collection/components/ez-form/ez-form.js +130 -4
  26. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +245 -0
  27. package/dist/collection/components/ez-form-view/ez-form-view.js +92 -2
  28. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +3 -2
  29. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +62 -4
  30. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +35 -1
  31. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +58 -0
  32. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.js +40 -0
  33. package/dist/collection/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellEditorConstants.js +11 -0
  34. package/dist/collection/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellRenderConstants.js +11 -0
  35. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +6 -3
  36. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellRender.js +40 -0
  37. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IUICellRender.js +1 -0
  38. package/dist/collection/components/ez-grid/ez-grid.js +206 -2
  39. package/dist/collection/components/ez-grid/interfaces/ICustomFormatter.js +1 -0
  40. package/dist/collection/components/ez-grid/interfaces/index.js +1 -0
  41. package/dist/collection/components/ez-grid/subcomponents/selection-counter.js +3 -11
  42. package/dist/collection/components/ez-grid/subcomponents/utils/selectionCounterUtils.js +22 -0
  43. package/dist/collection/components/ez-grid/test/resources/gridDataUnit.js +19 -0
  44. package/dist/collection/components/ez-list/ez-list.css +6 -2
  45. package/dist/collection/components/ez-modal-container/ez-modal-container.css +4 -0
  46. package/dist/collection/components/ez-modal-container/ez-modal-container.js +1 -1
  47. package/dist/collection/components/ez-number-input/ez-number-input.js +12 -1
  48. package/dist/collection/components/ez-search/ez-search.js +5 -2
  49. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +1 -1
  50. package/dist/collection/utils/customEditor/interfaces/ICustomEditor.js +5 -0
  51. package/dist/collection/utils/customEditor/interfaces/ICustomEditorInfo.js +1 -0
  52. package/dist/collection/utils/customRender/interfaces/ICustomRender.js +5 -0
  53. package/dist/collection/utils/customRender/interfaces/ICustomRenderInfo.js +1 -0
  54. package/dist/collection/utils/index.js +2 -0
  55. package/dist/custom-elements/index.d.ts +6 -0
  56. package/dist/custom-elements/index.js +539 -44
  57. package/dist/esm/ICustomRender-875b5a40.js +13 -0
  58. package/dist/esm/ez-actions-button.entry.js +1 -0
  59. package/dist/esm/ez-alert-list.entry.js +6 -4
  60. package/dist/esm/ez-button.entry.js +2 -2
  61. package/dist/esm/ez-collapsible-box.entry.js +1 -0
  62. package/dist/esm/ez-combo-box.entry.js +1 -0
  63. package/dist/esm/{ez-text-edit.entry.js → ez-custom-form-input_2.entry.js} +88 -3
  64. package/dist/esm/ez-date-input.entry.js +1 -0
  65. package/dist/esm/ez-form-view.entry.js +36 -4
  66. package/dist/esm/ez-form.entry.js +51 -2
  67. package/dist/esm/ez-grid.entry.js +322 -19
  68. package/dist/esm/ez-list.entry.js +1 -1
  69. package/dist/esm/ez-modal-container.entry.js +2 -2
  70. package/dist/esm/ez-number-input.entry.js +9 -2
  71. package/dist/esm/ez-search.entry.js +6 -2
  72. package/dist/esm/ez-split-item.entry.js +2 -1
  73. package/dist/esm/ezui.js +1 -1
  74. package/dist/esm/index-baa5e267.js +4 -4
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/ezui/ezui.esm.js +1 -1
  77. package/dist/ezui/p-09de35a2.entry.js +1 -0
  78. package/dist/ezui/p-13d2fe2d.entry.js +1 -0
  79. package/dist/ezui/{p-384247cd.entry.js → p-1f96ba9a.entry.js} +2 -2
  80. package/dist/ezui/p-204b1439.entry.js +1 -0
  81. package/dist/ezui/p-2b8da3a4.entry.js +1 -0
  82. package/dist/ezui/p-30775e7f.entry.js +1 -0
  83. package/dist/ezui/p-4607fb89.js +1 -0
  84. package/dist/ezui/{p-2a1a0e04.entry.js → p-77362d3a.entry.js} +1 -1
  85. package/dist/ezui/{p-8defa6d3.entry.js → p-786559c5.entry.js} +1 -1
  86. package/dist/ezui/p-7922142b.entry.js +1 -0
  87. package/dist/ezui/p-84e439b9.entry.js +1 -0
  88. package/dist/ezui/p-922ac38b.entry.js +1 -0
  89. package/dist/ezui/p-bae4e180.entry.js +1 -0
  90. package/dist/ezui/p-bcb53f27.entry.js +1 -0
  91. package/dist/ezui/p-c942e4a7.entry.js +1 -0
  92. package/dist/ezui/p-e90dd4eb.entry.js +1 -0
  93. package/dist/types/components/ez-alert-list/ez-alert-list.d.ts +2 -2
  94. package/dist/types/components/ez-form/ez-form.d.ts +20 -1
  95. package/dist/types/components/ez-form-view/custom-input/ez-custom-form-input.d.ts +41 -0
  96. package/dist/types/components/ez-form-view/ez-form-view.d.ts +11 -0
  97. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +29 -0
  98. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +11 -0
  99. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +7 -1
  100. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +19 -0
  101. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +14 -0
  102. package/dist/types/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellEditorConstants.d.ts +11 -0
  103. package/dist/types/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellRenderConstants.d.ts +11 -0
  104. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +3 -0
  105. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +15 -0
  106. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellRender.d.ts +10 -0
  107. package/dist/types/components/ez-grid/ez-grid.d.ts +30 -1
  108. package/dist/types/components/ez-grid/interfaces/ICustomFormatter.d.ts +5 -0
  109. package/dist/types/components/ez-grid/interfaces/index.d.ts +1 -0
  110. package/dist/types/components/ez-grid/subcomponents/utils/selectionCounterUtils.d.ts +4 -0
  111. package/dist/types/components/ez-grid/test/resources/gridDataUnit.d.ts +2 -0
  112. package/dist/types/components/ez-number-input/ez-number-input.d.ts +1 -0
  113. package/dist/types/components.d.ts +120 -4
  114. package/dist/types/utils/customEditor/interfaces/ICustomEditor.d.ts +29 -0
  115. package/dist/types/utils/customEditor/interfaces/ICustomEditorInfo.d.ts +5 -0
  116. package/dist/types/utils/customRender/interfaces/ICustomRender.d.ts +29 -0
  117. package/dist/types/utils/customRender/interfaces/ICustomRenderInfo.d.ts +5 -0
  118. package/dist/types/utils/index.d.ts +2 -0
  119. package/package.json +1 -1
  120. package/react/components.d.ts +1 -0
  121. package/react/components.js +1 -0
  122. package/react/components.js.map +1 -1
  123. package/dist/ezui/p-0447d17c.entry.js +0 -1
  124. package/dist/ezui/p-20ec22c0.entry.js +0 -1
  125. package/dist/ezui/p-44c5b6a5.entry.js +0 -1
  126. package/dist/ezui/p-5ef056ce.entry.js +0 -1
  127. package/dist/ezui/p-86ff298d.entry.js +0 -1
  128. package/dist/ezui/p-99ead599.entry.js +0 -1
  129. package/dist/ezui/p-9aefaa52.entry.js +0 -1
  130. package/dist/ezui/p-9f1e89c9.entry.js +0 -1
  131. package/dist/ezui/p-b041333c.entry.js +0 -1
  132. package/dist/ezui/p-b567fa8c.entry.js +0 -1
  133. package/dist/ezui/p-bae3d0aa.entry.js +0 -1
  134. package/dist/ezui/p-db77a984.entry.js +0 -1
@@ -2,6 +2,9 @@ import { DataUnit, Filter } from '@sankhyalabs/core';
2
2
  import { Components } from '../../../components';
3
3
  import FilterCollumn = Components.FilterColumn;
4
4
  import { IRecordValidator } from '../../../utils/form/interfaces';
5
+ import { ICustomEditorInfo } from '../../../utils/customEditor/interfaces/ICustomEditorInfo';
6
+ import { ICustomRenderInfo } from '../../../utils/customRender/interfaces/ICustomRenderInfo';
7
+ import { ICustomFormatter } from '../interfaces';
5
8
  /**
6
9
  * O intuito desta abstração, é isolar o componente EzGrid de uma implementação
7
10
  * específica, permitindo que usemos componentes de terceiros sem um acoplamento
@@ -87,6 +90,10 @@ export default interface EzGridController {
87
90
  * Método responsável por atualizar as linhas da grade
88
91
  */
89
92
  refresh(): void;
93
+ /**
94
+ * Método responsável por atualizar as linhas selecionadas da grade
95
+ */
96
+ refreshSelectedRows(): void;
90
97
  /**
91
98
  * Adiciona um filtro rápido na grid e faz o refresh.
92
99
  */
@@ -110,6 +117,16 @@ export default interface EzGridController {
110
117
  configFilterColumn(filterColumn: FilterCollumn): any;
111
118
  getFilter(): Array<Filter> | undefined;
112
119
  clearFilter(): void;
120
+ /**
121
+ * Registra editores customizados no controller da grid.
122
+ */
123
+ setCellEditors(customEditors: Map<string, ICustomEditorInfo>): void;
124
+ /**
125
+ * Registra renders customizados no controller da grid.
126
+ */
127
+ setCellRenders(customRenders: Map<string, ICustomRenderInfo>): void;
128
+ clearFilter(): void;
129
+ setCustomFormatters(customFormatters: Map<string, ICustomFormatter>): void;
113
130
  }
114
131
  /**
115
132
  * Carrega as informações necessárias para contextualizar corretamente a instância.
@@ -164,6 +181,18 @@ export interface EzGridOptions {
164
181
  * Desabilita edição na grade independente da configuração de coluna.
165
182
  */
166
183
  editionIsDisabled?: () => boolean;
184
+ /**
185
+ * Registra editores customizados no controller da grid
186
+ */
187
+ customEditors?: Map<string, ICustomEditorInfo>;
188
+ /**
189
+ * Registra renders customizados no controller da grid
190
+ */
191
+ customRenders?: Map<string, ICustomRenderInfo>;
192
+ /**
193
+ * Mapa de formatadores customizados por coluna.
194
+ */
195
+ customFormatters: Map<string, ICustomFormatter>;
167
196
  }
168
197
  /**
169
198
  * Representa cada coluna da grade.
@@ -1,6 +1,9 @@
1
1
  import { Sort, SortingProvider } from '@sankhyalabs/core';
2
2
  import { Filter, FilterProvider } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
3
3
  import EzGridController, { EzGridColumn, EzGridColumnConfig, EzGridColumnMenuItemDef, EzGridOptions } from '../EzGridController';
4
+ import { ICustomEditorInfo } from '../../../../utils/customEditor/interfaces/ICustomEditorInfo';
5
+ import { ICustomRenderInfo } from '../../../../utils/customRender/interfaces/ICustomRenderInfo';
6
+ import { ICustomFormatter } from '../../interfaces';
4
7
  export default class AgGridController implements EzGridController, SortingProvider, FilterProvider {
5
8
  private readonly DEFAULT_ROW_HEIGHT;
6
9
  private readonly DEFAULT_HEADER_ROW_HEIGHT;
@@ -30,6 +33,9 @@ export default class AgGridController implements EzGridController, SortingProvid
30
33
  private _filterColumn;
31
34
  private _filterColumnleftPosition;
32
35
  private _editionManager;
36
+ private _customEditors;
37
+ private _customRenders;
38
+ private _customFormatters;
33
39
  configFilterColumn(filterColumn: HTMLFilterColumnElement): void;
34
40
  private handleFilteredColumnsChanged;
35
41
  clearFilter(): void;
@@ -41,6 +47,7 @@ export default class AgGridController implements EzGridController, SortingProvid
41
47
  getFilter(): Array<Filter> | undefined;
42
48
  private getExpression;
43
49
  initDatagrid(container: HTMLElement, options: EzGridOptions): void;
50
+ private processFormatterCellCallback;
44
51
  private setFilterColumnLeftPosition;
45
52
  private buildMenuItemOptions;
46
53
  private buildMenuItemOptionSort;
@@ -76,6 +83,8 @@ export default class AgGridController implements EzGridController, SortingProvid
76
83
  setSelectedIndex(index: number): void;
77
84
  hasFilterColumn(columnName: string): boolean;
78
85
  private buildColDef;
86
+ setCustomFormatters(customFormatters: Map<string, ICustomFormatter>): void;
87
+ refreshSelectedRows(): void;
79
88
  private getInitCellStyle;
80
89
  private getStyleByColumn;
81
90
  private getFormatterByColumn;
@@ -87,4 +96,6 @@ export default class AgGridController implements EzGridController, SortingProvid
87
96
  private onRowDoubleClick;
88
97
  private conditionalSet;
89
98
  private getColumnWidth;
99
+ setCellEditors(customEditors: Map<string, ICustomEditorInfo>): void;
100
+ setCellRenders(customRenders: Map<string, ICustomRenderInfo>): void;
90
101
  }
@@ -1,6 +1,8 @@
1
1
  import { DataUnit } from "@sankhyalabs/core";
2
2
  import { CellPosition, ColDef, GridApi, GridOptions } from "ag-grid-community";
3
3
  import { IRecordValidator } from "../../../../utils/form/interfaces";
4
+ import { ICustomEditorInfo } from "../../../../utils/customEditor/interfaces/ICustomEditorInfo";
5
+ import { ICustomRenderInfo } from "../../../../utils/customRender/interfaces/ICustomRenderInfo";
4
6
  export default class GridEditionManager {
5
7
  private _dataUnit;
6
8
  private _lastCellClicked;
@@ -11,7 +13,9 @@ export default class GridEditionManager {
11
13
  private _useEnterLikeTab;
12
14
  private _editionIsDisabled;
13
15
  private _isGridEdition;
14
- constructor(dataUnit: DataUnit, useEnterLikeTab: boolean, recordsValidator: IRecordValidator, editionIsDisabled: () => boolean);
16
+ private _customEditors;
17
+ private _customRenders;
18
+ constructor(dataUnit: DataUnit, useEnterLikeTab: boolean, recordsValidator: IRecordValidator, editionIsDisabled: () => boolean, customEditors?: Map<string, ICustomEditorInfo>, customRenders?: Map<string, ICustomRenderInfo>);
15
19
  configureGrid(options: GridOptions): GridOptions;
16
20
  proceedAutoSave(): void;
17
21
  navigateByEnterKey(keyboardEvent: KeyboardEvent): void;
@@ -35,4 +39,6 @@ export default class GridEditionManager {
35
39
  private isColEditable;
36
40
  private isSecondClick;
37
41
  private onCellEditRequest;
42
+ setCellEditors(customEditors: Map<string, ICustomEditorInfo>): void;
43
+ setCellRenders(customRenders: Map<string, ICustomRenderInfo>): void;
38
44
  }
@@ -0,0 +1,19 @@
1
+ import { ICellEditorParams } from "ag-grid-community";
2
+ import { ICustomEditorInfo } from "../../../../../utils/customEditor/interfaces/ICustomEditorInfo";
3
+ import EzCellEditor from "../editor/EzCellEditor";
4
+ interface CustomParamsEditor {
5
+ customEditorsInfo: ICustomEditorInfo;
6
+ }
7
+ export default class EzGridCustomCellEditor extends EzCellEditor {
8
+ private _fieldName;
9
+ private _customEditorInstance;
10
+ private _params;
11
+ private _defaultGui;
12
+ private _value;
13
+ init(params: ICellEditorParams & CustomParamsEditor): void;
14
+ private getDefaultGui;
15
+ getGui(): HTMLElement;
16
+ private setValue;
17
+ getValue(): any;
18
+ }
19
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ICellRendererParams } from "ag-grid-community";
2
+ import EzCellRender from "../editor/EzCellRender";
3
+ import { ICustomRenderInfo } from "../../../../../utils/customRender/interfaces/ICustomRenderInfo";
4
+ interface CustomParamsRender {
5
+ customRendersInfo: ICustomRenderInfo;
6
+ }
7
+ export default class EzGridCustomCellRender extends EzCellRender {
8
+ private _fieldName;
9
+ private _customRenderInstance;
10
+ private _params;
11
+ init(params: ICellRendererParams & CustomParamsRender): void;
12
+ getGui(): HTMLElement;
13
+ }
14
+ export {};
@@ -0,0 +1,11 @@
1
+ import { DataType, UserInterface } from "@sankhyalabs/core";
2
+ export declare const metadata: {
3
+ name: string;
4
+ label: string;
5
+ fields: {
6
+ name: string;
7
+ label: string;
8
+ dataType: DataType;
9
+ userInterface: UserInterface;
10
+ }[];
11
+ };
@@ -0,0 +1,11 @@
1
+ import { DataType, UserInterface } from "@sankhyalabs/core";
2
+ export declare const metadata: {
3
+ name: string;
4
+ label: string;
5
+ fields: {
6
+ name: string;
7
+ label: string;
8
+ dataType: DataType;
9
+ userInterface: UserInterface;
10
+ }[];
11
+ };
@@ -1,10 +1,13 @@
1
1
  import { ICellEditorComp, ICellEditorParams } from "ag-grid-community";
2
+ import { IEditorMetadata } from "./IEditorMetadata";
2
3
  export default class EzCellEditor implements ICellEditorComp {
3
4
  private _gui;
5
+ private _fieldMetadata;
4
6
  init(params: ICellEditorParams): void;
5
7
  getGui(): HTMLElement;
6
8
  afterGuiAttached(): void;
7
9
  focusIn(): void;
8
10
  getValue(): any;
9
11
  isPopup(): boolean;
12
+ getFieldMetadata(): IEditorMetadata;
10
13
  }
@@ -0,0 +1,15 @@
1
+ import { ICellRendererComp, ICellRendererParams } from "ag-grid-community";
2
+ import { IEditorMetadata } from "./IEditorMetadata";
3
+ export default class EzCellRender implements ICellRendererComp {
4
+ private _gui;
5
+ private _fieldMetadata;
6
+ private _currentParams;
7
+ init(params: ICellRendererParams): void;
8
+ refresh(): boolean;
9
+ getGui(): HTMLElement;
10
+ afterGuiAttached(): void;
11
+ focusIn(): void;
12
+ getValue(): any;
13
+ isPopup(): boolean;
14
+ getFieldMetadata(): IEditorMetadata;
15
+ }
@@ -0,0 +1,10 @@
1
+ export interface IUICellRender extends HTMLElement {
2
+ setFocus: (options: IFocusOptions) => void;
3
+ value: any;
4
+ valueSetter?: (value: any) => void;
5
+ valueGetter?: () => any;
6
+ isPopUp?: boolean;
7
+ }
8
+ export interface IFocusOptions {
9
+ selectText: boolean;
10
+ }
@@ -3,7 +3,9 @@ import { EventEmitter } from '../../stencil-public-runtime';
3
3
  import { IRecordValidator } from '../../utils/form/interfaces';
4
4
  import { IMultiSelectionListDataSource } from '../ez-multi-selection-list/interfaces/IMultiSelectionListDataSource';
5
5
  import { EzGridColumStateEvent, EzGridColumn, EzGridColumnConfig, IGridConfig, IStatusResolver, StatusResolverFunction } from './controller/EzGridController';
6
- import { ISelection, ISelectionToastConfig } from './interfaces';
6
+ import { ICustomFormatter, ISelection, ISelectionToastConfig } from './interfaces';
7
+ import { ICustomEditor } from '../../utils/customEditor/interfaces/ICustomEditor';
8
+ import { ICustomRender } from '../../utils/customRender/interfaces/ICustomRender';
7
9
  export declare class EzGrid {
8
10
  private _container;
9
11
  private _refPaginationControl;
@@ -16,6 +18,8 @@ export declare class EzGrid {
16
18
  private _refPaginationLabel;
17
19
  private _refPaginationLabelTooltip;
18
20
  private _headerOverflowWatcher;
21
+ private _customEditor;
22
+ private _customRenders;
19
23
  _element: HTMLElement;
20
24
  private _paginationInfo;
21
25
  private _paginationChangedByKeyboard;
@@ -24,6 +28,7 @@ export declare class EzGrid {
24
28
  private _currentPageSelected;
25
29
  private _selectionCount;
26
30
  private _hasLeftButtons;
31
+ private _customFormatters;
27
32
  /**
28
33
  * Emitido quando acontece a alteração de estado das colunas do grid: Ordenação, largura, etc.
29
34
  */
@@ -125,6 +130,30 @@ export declare class EzGrid {
125
130
  * Usa um argumento para filtrar as colunas po label
126
131
  */
127
132
  filterColumns(search: string): Promise<Array<EzGridColumn>>;
133
+ /**
134
+ * Registra um editor customizado para campos da grade e formulário.
135
+ */
136
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor, detailContext?: string): Promise<void>;
137
+ /**
138
+ * Registra um render customizado para colunas da grid.
139
+ */
140
+ addGridCustomRender(fieldName: string, customRender: ICustomRender, detailContext?: string): Promise<void>;
141
+ /**
142
+ * Registra um formatador de valores para uma coluna da grid.
143
+ */
144
+ addCustomValueFormatter(columnName: string, customFormatter: ICustomFormatter): Promise<void>;
145
+ /**
146
+ * Remove o formatador de valores de uma coluna da grid.
147
+ */
148
+ removeCustomValueFormatter(columnName: string): Promise<void>;
149
+ /**
150
+ * Atualiza linhas da grade.
151
+ */
152
+ refreshSelectedRows(): Promise<void>;
153
+ /**
154
+ * Retorna o formatador customizado da coluna caso exista.
155
+ */
156
+ getCustomValueFormatter(columnName: string): Promise<ICustomFormatter | undefined>;
128
157
  observeConfig(config: IGridConfig): void;
129
158
  updatePaginationTooltip(): void;
130
159
  onSelectionChange(evt: CustomEvent): void;
@@ -0,0 +1,5 @@
1
+ import { EzGridColumn } from "../controller/EzGridController";
2
+ export interface ICustomFormatter {
3
+ format: (currentValue: any, column: EzGridColumn, recordId: string) => any;
4
+ refreshSelectedRows: () => void;
5
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './ISelection';
2
2
  export * from './ISelectionToastConfig';
3
3
  export * from './IColumnFilter';
4
+ export * from './ICustomFormatter';
@@ -0,0 +1,4 @@
1
+ export declare function enableSelectAll(total: any): boolean;
2
+ export declare function buildSelectAllLabel(allRecordSelected: any, count: any, total: any): string;
3
+ export declare function buildSelectAllTitle(total: any): string;
4
+ export declare function getText(selectionCount: number, allSelectedRecords: boolean): string;
@@ -0,0 +1,2 @@
1
+ import { DataUnit } from "@sankhyalabs/core";
2
+ export declare function getDataUnit(): DataUnit;
@@ -68,6 +68,7 @@ export declare class EzNumberInput {
68
68
  observeLabel(): void;
69
69
  observeErrorMessage(): void;
70
70
  observeValue(newValue: number, oldValue: number): void;
71
+ observePrecision(): void;
71
72
  private validateValue;
72
73
  private getTextValue;
73
74
  private changeValue;
@@ -13,15 +13,18 @@ import { IBreadcrumbItem } from "./components/ez-breadcrumb/ez-breadcrumb";
13
13
  import { CardItem } from "./components/ez-card-item/ez-card-item";
14
14
  import { CheckMode } from "./components/ez-check/CheckMode";
15
15
  import { IEzCheckBoxListPosition, IOption, ISearchArgument } from "./components/ez-combo-box/ez-combo-box";
16
+ import { ICustomEditor } from "./utils/customEditor/interfaces/ICustomEditor";
17
+ import { IFormViewField } from "./components/ez-form-view/interfaces";
16
18
  import { DataUnit, WaitingChange } from "@sankhyalabs/core";
17
19
  import { DialogType } from "./components/ez-dialog/DialogType";
18
20
  import { IDropdownItem, IDropdownSubAction } from "./components/ez-dropdown/structure/DropdownItem";
19
21
  import { IFieldConfig, IFormConfig, IRecordValidator } from "./utils/form/interfaces";
20
22
  import { FormItems } from "./components/ez-form-view/structure";
21
- import { IFormViewField } from "./components/ez-form-view/interfaces/IFormViewField";
23
+ import { IFormViewField as IFormViewField1 } from "./components/ez-form-view/interfaces/IFormViewField";
22
24
  import { EzGridColumn, EzGridColumnConfig, EzGridColumStateEvent, IGridConfig, IStatusResolver, StatusResolverFunction } from "./components/ez-grid/controller/EzGridController";
23
- import { ISelection, ISelectionToastConfig } from "./components/ez-grid/interfaces";
25
+ import { ICustomFormatter, ISelection, ISelectionToastConfig } from "./components/ez-grid/interfaces";
24
26
  import { IMultiSelectionListDataSource } from "./components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource";
27
+ import { ICustomRender } from "./utils/customRender/interfaces/ICustomRender";
25
28
  import { IGuideItem } from "./components/ez-guide-navigator/interfaces";
26
29
  import { ListGroup, ListItem, SlotBuilder as SlotBuilder1, TListMode } from "./components/ez-list/ez-list";
27
30
  import { THeightMode } from "./components/ez-modal/ez-modal";
@@ -447,6 +450,40 @@ export namespace Components {
447
450
  */
448
451
  "value": IOption | string;
449
452
  }
453
+ interface EzCustomFormInput {
454
+ /**
455
+ * Builder original do FormView que será chamado caso o custom não retorne nenhum valor.
456
+ */
457
+ "builderFallback": (field: IFormViewField) => HTMLElement;
458
+ /**
459
+ * Instância do editor customizado.
460
+ */
461
+ "customEditor": ICustomEditor;
462
+ /**
463
+ * Define de qual contexto o editor está sendo acionado.
464
+ */
465
+ "detailContext": string;
466
+ /**
467
+ * Campo que o elemento customizado representa.
468
+ */
469
+ "formViewField": IFormViewField;
470
+ /**
471
+ * Retorna se o conteúdo é inválido.
472
+ */
473
+ "isInvalid": () => Promise<boolean>;
474
+ /**
475
+ * Remove o foco do campo.
476
+ */
477
+ "setBlur": () => Promise<void>;
478
+ /**
479
+ * Aplica foco no campo.
480
+ */
481
+ "setFocus": () => Promise<void>;
482
+ /**
483
+ * Valores dos campos do formulário.
484
+ */
485
+ "value": any;
486
+ }
450
487
  interface EzDateInput {
451
488
  /**
452
489
  * Se false deixa de exibir a mensagem de erro dentro do campo.
@@ -654,6 +691,10 @@ export namespace Components {
654
691
  "value": string;
655
692
  }
656
693
  interface EzForm {
694
+ /**
695
+ * Registra um editor customizado para campos da grade e formulário.
696
+ */
697
+ "addCustomEditor": (fieldName: string, customEditor: ICustomEditor, detailContext?: string) => Promise<void>;
657
698
  /**
658
699
  * Configuração do formulário.
659
700
  */
@@ -666,20 +707,36 @@ export namespace Components {
666
707
  * Determina o campo que deve ficar em evidência.
667
708
  */
668
709
  "fieldToFocus": string;
710
+ /**
711
+ * Define se os campos que serão apresentados são todos estáticos. Quando verdadeira, ocorrerá no DataBinder o bind dos campos com o DataUnit.
712
+ */
713
+ "onlyStaticFields": boolean;
669
714
  /**
670
715
  * Define um validador responsável pela integridade dos registros.
671
716
  */
672
717
  "recordsValidator": IRecordValidator;
718
+ /**
719
+ * Altera/adiciona uma propriedade nos metadados do campo.
720
+ */
721
+ "setFieldProp": (fieldName: string, propName: string, value: any) => Promise<void>;
673
722
  /**
674
723
  * Realiza validação no conteúdo de todos os campos.
675
724
  */
676
725
  "validate": () => Promise<void>;
677
726
  }
678
727
  interface EzFormView {
728
+ /**
729
+ * Registra um editor customizado para campos da grade e formulário.
730
+ */
731
+ "addCustomEditor": (fieldName: string, customEditor: ICustomEditor, detailContext?: string) => Promise<void>;
679
732
  /**
680
733
  * Define a lista de metadados usada para criar os campos de user interface.
681
734
  */
682
- "fields": Array<IFormViewField>;
735
+ "fields": Array<IFormViewField1>;
736
+ /**
737
+ * Altera/adiciona uma propriedade nos metados do campo.
738
+ */
739
+ "setFieldProp": (fieldName: string, propName: string, value: any) => Promise<void>;
683
740
  "showUp": () => Promise<void>;
684
741
  }
685
742
  interface EzGrid {
@@ -687,6 +744,18 @@ export namespace Components {
687
744
  * Adiciona item de menu nas colunas.
688
745
  */
689
746
  "addColumnMenuItem": (label: string, name: string, action: Function, icon: HTMLElement | string) => Promise<void>;
747
+ /**
748
+ * Registra um editor customizado para campos da grade e formulário.
749
+ */
750
+ "addCustomEditor": (fieldName: string, customEditor: ICustomEditor, detailContext?: string) => Promise<void>;
751
+ /**
752
+ * Registra um formatador de valores para uma coluna da grid.
753
+ */
754
+ "addCustomValueFormatter": (columnName: string, customFormatter: ICustomFormatter) => Promise<void>;
755
+ /**
756
+ * Registra um render customizado para colunas da grid.
757
+ */
758
+ "addGridCustomRender": (fieldName: string, customRender: ICustomRender, detailContext?: string) => Promise<void>;
690
759
  /**
691
760
  * Define se a edição está habilitada na grid.
692
761
  */
@@ -715,6 +784,10 @@ export namespace Components {
715
784
  * Obtém o estado atual das colunas.
716
785
  */
717
786
  "getColumnsState": () => Promise<Array<EzGridColumn>>;
787
+ /**
788
+ * Retorna o formatador customizado da coluna caso exista.
789
+ */
790
+ "getCustomValueFormatter": (columnName: string) => Promise<ICustomFormatter | undefined>;
718
791
  /**
719
792
  * Obtém as linhas selecionadas.
720
793
  */
@@ -735,6 +808,14 @@ export namespace Components {
735
808
  * Define um validador responsável pela integridade dos registros.
736
809
  */
737
810
  "recordsValidator": IRecordValidator;
811
+ /**
812
+ * Atualiza linhas da grade.
813
+ */
814
+ "refreshSelectedRows": () => Promise<void>;
815
+ /**
816
+ * Remove o formatador de valores de uma coluna da grid.
817
+ */
818
+ "removeCustomValueFormatter": (columnName: string) => Promise<void>;
738
819
  /**
739
820
  * Configuração da seleção de grade no toast.
740
821
  */
@@ -1890,6 +1971,12 @@ declare global {
1890
1971
  prototype: HTMLEzComboBoxElement;
1891
1972
  new (): HTMLEzComboBoxElement;
1892
1973
  };
1974
+ interface HTMLEzCustomFormInputElement extends Components.EzCustomFormInput, HTMLStencilElement {
1975
+ }
1976
+ var HTMLEzCustomFormInputElement: {
1977
+ prototype: HTMLEzCustomFormInputElement;
1978
+ new (): HTMLEzCustomFormInputElement;
1979
+ };
1893
1980
  interface HTMLEzDateInputElement extends Components.EzDateInput, HTMLStencilElement {
1894
1981
  }
1895
1982
  var HTMLEzDateInputElement: {
@@ -2132,6 +2219,7 @@ declare global {
2132
2219
  "ez-chip": HTMLEzChipElement;
2133
2220
  "ez-collapsible-box": HTMLEzCollapsibleBoxElement;
2134
2221
  "ez-combo-box": HTMLEzComboBoxElement;
2222
+ "ez-custom-form-input": HTMLEzCustomFormInputElement;
2135
2223
  "ez-date-input": HTMLEzDateInputElement;
2136
2224
  "ez-date-time-input": HTMLEzDateTimeInputElement;
2137
2225
  "ez-dialog": HTMLEzDialogElement;
@@ -2563,6 +2651,28 @@ declare namespace LocalJSX {
2563
2651
  */
2564
2652
  "value"?: IOption | string;
2565
2653
  }
2654
+ interface EzCustomFormInput {
2655
+ /**
2656
+ * Builder original do FormView que será chamado caso o custom não retorne nenhum valor.
2657
+ */
2658
+ "builderFallback"?: (field: IFormViewField) => HTMLElement;
2659
+ /**
2660
+ * Instância do editor customizado.
2661
+ */
2662
+ "customEditor"?: ICustomEditor;
2663
+ /**
2664
+ * Define de qual contexto o editor está sendo acionado.
2665
+ */
2666
+ "detailContext"?: string;
2667
+ /**
2668
+ * Campo que o elemento customizado representa.
2669
+ */
2670
+ "formViewField"?: IFormViewField;
2671
+ /**
2672
+ * Valores dos campos do formulário.
2673
+ */
2674
+ "value"?: any;
2675
+ }
2566
2676
  interface EzDateInput {
2567
2677
  /**
2568
2678
  * Se false deixa de exibir a mensagem de erro dentro do campo.
@@ -2812,6 +2922,10 @@ declare namespace LocalJSX {
2812
2922
  * Responsável por notificar quando ocorrer a renderização de itens do formulário.
2813
2923
  */
2814
2924
  "onFormItemsReady"?: (event: EzFormCustomEvent<FormItems>) => void;
2925
+ /**
2926
+ * Define se os campos que serão apresentados são todos estáticos. Quando verdadeira, ocorrerá no DataBinder o bind dos campos com o DataUnit.
2927
+ */
2928
+ "onlyStaticFields"?: boolean;
2815
2929
  /**
2816
2930
  * Define um validador responsável pela integridade dos registros.
2817
2931
  */
@@ -2821,7 +2935,7 @@ declare namespace LocalJSX {
2821
2935
  /**
2822
2936
  * Define a lista de metadados usada para criar os campos de user interface.
2823
2937
  */
2824
- "fields"?: Array<IFormViewField>;
2938
+ "fields"?: Array<IFormViewField1>;
2825
2939
  /**
2826
2940
  * Evento emitido quando o componente foi totalmente carregado na DOM.
2827
2941
  */
@@ -3696,6 +3810,7 @@ declare namespace LocalJSX {
3696
3810
  "ez-chip": EzChip;
3697
3811
  "ez-collapsible-box": EzCollapsibleBox;
3698
3812
  "ez-combo-box": EzComboBox;
3813
+ "ez-custom-form-input": EzCustomFormInput;
3699
3814
  "ez-date-input": EzDateInput;
3700
3815
  "ez-date-time-input": EzDateTimeInput;
3701
3816
  "ez-dialog": EzDialog;
@@ -3753,6 +3868,7 @@ declare module "@stencil/core" {
3753
3868
  "ez-chip": LocalJSX.EzChip & JSXBase.HTMLAttributes<HTMLEzChipElement>;
3754
3869
  "ez-collapsible-box": LocalJSX.EzCollapsibleBox & JSXBase.HTMLAttributes<HTMLEzCollapsibleBoxElement>;
3755
3870
  "ez-combo-box": LocalJSX.EzComboBox & JSXBase.HTMLAttributes<HTMLEzComboBoxElement>;
3871
+ "ez-custom-form-input": LocalJSX.EzCustomFormInput & JSXBase.HTMLAttributes<HTMLEzCustomFormInputElement>;
3756
3872
  "ez-date-input": LocalJSX.EzDateInput & JSXBase.HTMLAttributes<HTMLEzDateInputElement>;
3757
3873
  "ez-date-time-input": LocalJSX.EzDateTimeInput & JSXBase.HTMLAttributes<HTMLEzDateTimeInputElement>;
3758
3874
  "ez-dialog": LocalJSX.EzDialog & JSXBase.HTMLAttributes<HTMLEzDialogElement>;
@@ -0,0 +1,29 @@
1
+ import { IOption, ISearchArgument } from "../../../components/ez-combo-box/ez-combo-box";
2
+ export interface EditorMetadata {
3
+ label: string;
4
+ hidden: boolean;
5
+ userInterface: string;
6
+ options: {
7
+ [key: string]: any;
8
+ }[];
9
+ props?: Map<string, any>;
10
+ optionLoader?: (argument: ISearchArgument) => Promise<Array<IOption>> | Array<IOption> | IOption;
11
+ }
12
+ export declare enum CustomEditorSource {
13
+ GRID = "GRID",
14
+ FORM = "FORM"
15
+ }
16
+ export interface ICustomEditorParams {
17
+ value: any;
18
+ name: string;
19
+ currentEditor: HTMLElement;
20
+ editorMetadata: EditorMetadata;
21
+ source: CustomEditorSource;
22
+ setValue?: (value: any) => void;
23
+ getValue?: () => any;
24
+ charPress?: string | null;
25
+ detailContext?: string;
26
+ }
27
+ export interface ICustomEditor {
28
+ getEditorElement(params: ICustomEditorParams): HTMLElement | string | undefined;
29
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEditor } from "./ICustomEditor";
2
+ export interface ICustomEditorInfo {
3
+ detailContext?: string;
4
+ customEditor: ICustomEditor;
5
+ }
@@ -0,0 +1,29 @@
1
+ import { IOption, ISearchArgument } from "../../../components/ez-combo-box/ez-combo-box";
2
+ export interface RenderMetadata {
3
+ label: string;
4
+ hidden: boolean;
5
+ userInterface: string;
6
+ options: {
7
+ [key: string]: any;
8
+ }[];
9
+ props?: Map<string, any>;
10
+ optionLoader?: (argument: ISearchArgument) => Promise<Array<IOption>> | Array<IOption> | IOption;
11
+ }
12
+ export declare enum CustomRenderSource {
13
+ GRID = "GRID",
14
+ FORM = "FORM"
15
+ }
16
+ export interface ICustomRenderParams {
17
+ value: any;
18
+ name: string;
19
+ charPress: string | null;
20
+ currentRender: HTMLElement;
21
+ renderMetadata: RenderMetadata;
22
+ source: CustomRenderSource;
23
+ detailContext?: string;
24
+ setValue?: (value: any) => void;
25
+ getValue?: () => any;
26
+ }
27
+ export interface ICustomRender {
28
+ getRenderElement(params: ICustomRenderParams): HTMLElement | string | undefined;
29
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomRender } from "./ICustomRender";
2
+ export interface ICustomRenderInfo {
3
+ customRender: ICustomRender;
4
+ detailContext?: string;
5
+ }
@@ -5,3 +5,5 @@ export { CheckMode } from '../components/ez-check/CheckMode';
5
5
  export { FormMetadata } from './form/FormMetadata';
6
6
  export { default as DataBinder } from './form/DataBinder';
7
7
  export { default as IAction } from './interfaces/IAction';
8
+ export { ICustomEditor, ICustomEditorParams, CustomEditorSource } from './customEditor/interfaces/ICustomEditor';
9
+ export { ICustomRender, ICustomRenderParams, CustomRenderSource } from './customRender/interfaces/ICustomRender';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/ezui",
3
- "version": "0.0.0-bugfix-dev-KB-52057.0",
3
+ "version": "0.0.0-bugfix-dev-59880.0",
4
4
  "description": "Biblioteca de componentes Sankhya.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",