@zeedhi/common 1.120.2 → 1.122.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 (215) hide show
  1. package/dist/types/components/index.d.ts +151 -0
  2. package/dist/types/components/zd-alert/alert.d.ts +94 -0
  3. package/dist/types/components/zd-alert/interfaces.d.ts +18 -0
  4. package/dist/types/components/zd-badge/badge.d.ts +28 -0
  5. package/dist/types/components/zd-badge/interfaces.d.ts +10 -0
  6. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +32 -0
  7. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +24 -0
  8. package/dist/types/components/zd-button/button.d.ts +89 -0
  9. package/dist/types/components/zd-button/interfaces.d.ts +48 -0
  10. package/dist/types/components/zd-button-group/button-group.d.ts +67 -0
  11. package/dist/types/components/zd-button-group/interfaces.d.ts +25 -0
  12. package/dist/types/components/zd-card/card.d.ts +152 -0
  13. package/dist/types/components/zd-card/interfaces.d.ts +40 -0
  14. package/dist/types/components/zd-carousel/carousel.d.ts +163 -0
  15. package/dist/types/components/zd-carousel/interfaces.d.ts +49 -0
  16. package/dist/types/components/zd-checkbox/checkbox.d.ts +12 -0
  17. package/dist/types/components/zd-checkbox/interfaces.d.ts +5 -0
  18. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +39 -0
  19. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +13 -0
  20. package/dist/types/components/zd-chip/chip.d.ts +60 -0
  21. package/dist/types/components/zd-chip/interfaces.d.ts +18 -0
  22. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +86 -0
  23. package/dist/types/components/zd-code-viewer/interfaces.d.ts +13 -0
  24. package/dist/types/components/zd-col/col.d.ts +33 -0
  25. package/dist/types/components/zd-col/interfaces.d.ts +15 -0
  26. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +56 -0
  27. package/dist/types/components/zd-collapse-card/interfaces.d.ts +14 -0
  28. package/dist/types/components/zd-component/child-not-found.d.ts +6 -0
  29. package/dist/types/components/zd-component/component-render.d.ts +16 -0
  30. package/dist/types/components/zd-component/component.d.ts +120 -0
  31. package/dist/types/components/zd-component/interfaces.d.ts +74 -0
  32. package/dist/types/components/zd-container/container.d.ts +45 -0
  33. package/dist/types/components/zd-container/interfaces.d.ts +12 -0
  34. package/dist/types/components/zd-currency/currency.d.ts +12 -0
  35. package/dist/types/components/zd-currency/interfaces.d.ts +6 -0
  36. package/dist/types/components/zd-date-input/date-input.d.ts +152 -0
  37. package/dist/types/components/zd-date-input/interfaces.d.ts +27 -0
  38. package/dist/types/components/zd-date-range/date-range.d.ts +158 -0
  39. package/dist/types/components/zd-date-range/interfaces.d.ts +18 -0
  40. package/dist/types/components/zd-dialog/dialog.d.ts +76 -0
  41. package/dist/types/components/zd-dialog/interfaces.d.ts +13 -0
  42. package/dist/types/components/zd-divider/divider.d.ts +20 -0
  43. package/dist/types/components/zd-divider/interfaces.d.ts +8 -0
  44. package/dist/types/components/zd-dropdown/dropdown.d.ts +81 -0
  45. package/dist/types/components/zd-dropdown/interfaces.d.ts +23 -0
  46. package/dist/types/components/zd-footer/footer.d.ts +80 -0
  47. package/dist/types/components/zd-footer/interfaces.d.ts +26 -0
  48. package/dist/types/components/zd-form/form.d.ts +174 -0
  49. package/dist/types/components/zd-form/interfaces.d.ts +36 -0
  50. package/dist/types/components/zd-frame/frame.d.ts +81 -0
  51. package/dist/types/components/zd-frame/interfaces.d.ts +23 -0
  52. package/dist/types/components/zd-frame-page/frame-page.d.ts +14 -0
  53. package/dist/types/components/zd-frame-page/interfaces.d.ts +4 -0
  54. package/dist/types/components/zd-grid/data-navigator.d.ts +12 -0
  55. package/dist/types/components/zd-grid/data-selector.d.ts +25 -0
  56. package/dist/types/components/zd-grid/grid-column.d.ts +47 -0
  57. package/dist/types/components/zd-grid/grid-events.d.ts +26 -0
  58. package/dist/types/components/zd-grid/grid.d.ts +85 -0
  59. package/dist/types/components/zd-grid/index.d.ts +11 -0
  60. package/dist/types/components/zd-grid/interfaces.d.ts +148 -0
  61. package/dist/types/components/zd-grid/iterable-table.d.ts +28 -0
  62. package/dist/types/components/zd-grid/keymap-merger.d.ts +26 -0
  63. package/dist/types/components/zd-grid/keymap-navigation.d.ts +6 -0
  64. package/dist/types/components/zd-grid/table-action-builder.d.ts +19 -0
  65. package/dist/types/components/zd-grid/view-navigator.d.ts +10 -0
  66. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +35 -0
  67. package/dist/types/components/zd-grid-editable/data-editor.d.ts +64 -0
  68. package/dist/types/components/zd-grid-editable/errors/index.d.ts +2 -0
  69. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +6 -0
  70. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +6 -0
  71. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +9 -0
  72. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +8 -0
  73. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +32 -0
  74. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +124 -0
  75. package/dist/types/components/zd-grid-editable/index.d.ts +8 -0
  76. package/dist/types/components/zd-grid-editable/interfaces.d.ts +66 -0
  77. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +7 -0
  78. package/dist/types/components/zd-header/header.d.ts +94 -0
  79. package/dist/types/components/zd-header/interfaces.d.ts +29 -0
  80. package/dist/types/components/zd-icon/icon.d.ts +55 -0
  81. package/dist/types/components/zd-icon/interfaces.d.ts +13 -0
  82. package/dist/types/components/zd-image/image.d.ts +73 -0
  83. package/dist/types/components/zd-image/interfaces.d.ts +17 -0
  84. package/dist/types/components/zd-increment/increment.d.ts +56 -0
  85. package/dist/types/components/zd-increment/interfaces.d.ts +9 -0
  86. package/dist/types/components/zd-input/input-factory.d.ts +6 -0
  87. package/dist/types/components/zd-input/input.d.ts +223 -0
  88. package/dist/types/components/zd-input/interfaces.d.ts +38 -0
  89. package/dist/types/components/zd-iterable/column-not-found.d.ts +6 -0
  90. package/dist/types/components/zd-iterable/column.d.ts +78 -0
  91. package/dist/types/components/zd-iterable/conditions-manager.d.ts +49 -0
  92. package/dist/types/components/zd-iterable/interfaces.d.ts +103 -0
  93. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +9 -0
  94. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +35 -0
  95. package/dist/types/components/zd-iterable/iterable-controller.d.ts +8 -0
  96. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +27 -0
  97. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +7 -0
  98. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +62 -0
  99. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +28 -0
  100. package/dist/types/components/zd-iterable/iterable.d.ts +77 -0
  101. package/dist/types/components/zd-iterable/search.d.ts +31 -0
  102. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +34 -0
  103. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +84 -0
  104. package/dist/types/components/zd-layout/interfaces.d.ts +7 -0
  105. package/dist/types/components/zd-layout/layout.d.ts +9 -0
  106. package/dist/types/components/zd-list/interfaces.d.ts +44 -0
  107. package/dist/types/components/zd-list/item-not-found.d.ts +6 -0
  108. package/dist/types/components/zd-list/list-group.d.ts +30 -0
  109. package/dist/types/components/zd-list/list-item.d.ts +46 -0
  110. package/dist/types/components/zd-list/list.d.ts +81 -0
  111. package/dist/types/components/zd-loading/interfaces.d.ts +7 -0
  112. package/dist/types/components/zd-loading/loading.d.ts +21 -0
  113. package/dist/types/components/zd-login/interfaces.d.ts +25 -0
  114. package/dist/types/components/zd-login/login-button.d.ts +50 -0
  115. package/dist/types/components/zd-login/login.d.ts +54 -0
  116. package/dist/types/components/zd-main/interfaces.d.ts +5 -0
  117. package/dist/types/components/zd-main/main.d.ts +7 -0
  118. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +7 -0
  119. package/dist/types/components/zd-master-detail/interfaces.d.ts +10 -0
  120. package/dist/types/components/zd-master-detail/master-detail.d.ts +18 -0
  121. package/dist/types/components/zd-master-detail/master-not-found.d.ts +7 -0
  122. package/dist/types/components/zd-menu/interfaces.d.ts +68 -0
  123. package/dist/types/components/zd-menu/menu-button.d.ts +29 -0
  124. package/dist/types/components/zd-menu/menu-group.d.ts +61 -0
  125. package/dist/types/components/zd-menu/menu-link.d.ts +50 -0
  126. package/dist/types/components/zd-menu/menu-separator.d.ts +7 -0
  127. package/dist/types/components/zd-menu/menu.d.ts +199 -0
  128. package/dist/types/components/zd-modal/interfaces.d.ts +35 -0
  129. package/dist/types/components/zd-modal/modal-close-button.d.ts +28 -0
  130. package/dist/types/components/zd-modal/modal.d.ts +53 -0
  131. package/dist/types/components/zd-month/interfaces.d.ts +6 -0
  132. package/dist/types/components/zd-month/month.d.ts +33 -0
  133. package/dist/types/components/zd-number-input/interfaces.d.ts +8 -0
  134. package/dist/types/components/zd-number-input/number-input.d.ts +43 -0
  135. package/dist/types/components/zd-password/interfaces.d.ts +6 -0
  136. package/dist/types/components/zd-password/password.d.ts +17 -0
  137. package/dist/types/components/zd-progress/interfaces.d.ts +10 -0
  138. package/dist/types/components/zd-progress/progress.d.ts +41 -0
  139. package/dist/types/components/zd-radio/interfaces.d.ts +11 -0
  140. package/dist/types/components/zd-radio/radio.d.ts +35 -0
  141. package/dist/types/components/zd-row/interfaces.d.ts +13 -0
  142. package/dist/types/components/zd-row/row.d.ts +39 -0
  143. package/dist/types/components/zd-select/interfaces.d.ts +24 -0
  144. package/dist/types/components/zd-select/select.d.ts +238 -0
  145. package/dist/types/components/zd-select-multiple/interfaces.d.ts +18 -0
  146. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +113 -0
  147. package/dist/types/components/zd-svg-map/interfaces.d.ts +26 -0
  148. package/dist/types/components/zd-svg-map/svg-map.d.ts +35 -0
  149. package/dist/types/components/zd-switch/interfaces.d.ts +7 -0
  150. package/dist/types/components/zd-switch/switch.d.ts +16 -0
  151. package/dist/types/components/zd-table/interfaces.d.ts +25 -0
  152. package/dist/types/components/zd-table/table.d.ts +42 -0
  153. package/dist/types/components/zd-tabs/interfaces.d.ts +40 -0
  154. package/dist/types/components/zd-tabs/tab-not-found.d.ts +11 -0
  155. package/dist/types/components/zd-tabs/tab.d.ts +57 -0
  156. package/dist/types/components/zd-tabs/tabs.d.ts +86 -0
  157. package/dist/types/components/zd-tag/interfaces.d.ts +7 -0
  158. package/dist/types/components/zd-tag/tag.d.ts +13 -0
  159. package/dist/types/components/zd-text/interfaces.d.ts +9 -0
  160. package/dist/types/components/zd-text/text.d.ts +8 -0
  161. package/dist/types/components/zd-text-input/interfaces.d.ts +23 -0
  162. package/dist/types/components/zd-text-input/text-input.d.ts +91 -0
  163. package/dist/types/components/zd-textarea/interfaces.d.ts +21 -0
  164. package/dist/types/components/zd-textarea/textarea.d.ts +71 -0
  165. package/dist/types/components/zd-time/interfaces.d.ts +22 -0
  166. package/dist/types/components/zd-time/time-format-selector.d.ts +8 -0
  167. package/dist/types/components/zd-time/time.d.ts +149 -0
  168. package/dist/types/components/zd-toggleable/interfaces.d.ts +6 -0
  169. package/dist/types/components/zd-toggleable/toggleable.d.ts +21 -0
  170. package/dist/types/components/zd-tooltip/interfaces.d.ts +18 -0
  171. package/dist/types/components/zd-tooltip/tooltip.d.ts +57 -0
  172. package/dist/types/components/zd-tree/interfaces.d.ts +107 -0
  173. package/dist/types/components/zd-tree/tree.d.ts +161 -0
  174. package/dist/types/components/zd-tree-grid/index.d.ts +6 -0
  175. package/dist/types/components/zd-tree-grid/interfaces.d.ts +35 -0
  176. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +10 -0
  177. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +7 -0
  178. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +10 -0
  179. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +18 -0
  180. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +119 -0
  181. package/dist/types/error/delete-rows.d.ts +7 -0
  182. package/dist/types/error/index.d.ts +3 -0
  183. package/dist/types/error/non-initialized.d.ts +7 -0
  184. package/dist/types/error/zeedhi-error.d.ts +6 -0
  185. package/dist/types/index.d.ts +6 -0
  186. package/dist/types/services/index.d.ts +4 -0
  187. package/dist/types/services/zd-alert/alert-queue.d.ts +13 -0
  188. package/dist/types/services/zd-alert/alert-replace.d.ts +18 -0
  189. package/dist/types/services/zd-alert/alert-service.d.ts +45 -0
  190. package/dist/types/services/zd-alert/alert-stack.d.ts +9 -0
  191. package/dist/types/services/zd-alert/index.d.ts +5 -0
  192. package/dist/types/services/zd-alert/interfaces.d.ts +6 -0
  193. package/dist/types/services/zd-dialog/dialog-service.d.ts +24 -0
  194. package/dist/types/services/zd-loading/loading-service.d.ts +17 -0
  195. package/dist/types/services/zd-modal/modal-service.d.ts +39 -0
  196. package/dist/types/utils/data-value-out/data-value-out.d.ts +5 -0
  197. package/dist/types/utils/data-value-out/index.d.ts +2 -0
  198. package/dist/types/utils/data-value-out/interfaces.d.ts +8 -0
  199. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +6 -0
  200. package/dist/types/utils/datasource-searcher/index.d.ts +2 -0
  201. package/dist/types/utils/datasource-searcher/interfaces.d.ts +5 -0
  202. package/dist/types/utils/icons/icons.d.ts +24 -0
  203. package/dist/types/utils/index.d.ts +7 -0
  204. package/dist/types/utils/omit/omit.d.ts +11 -0
  205. package/dist/types/utils/theme/theme.d.ts +34 -0
  206. package/dist/types/utils/tree-data-structure/index.d.ts +2 -0
  207. package/dist/types/utils/tree-data-structure/interfaces.d.ts +30 -0
  208. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +155 -0
  209. package/dist/types/utils/unique-by/unique-by.d.ts +3 -0
  210. package/dist/zd-common.esm.js +4 -4
  211. package/dist/zd-common.js +13133 -0
  212. package/dist/zd-common.min.js +13133 -0
  213. package/dist/zd-common.umd.js +4 -4
  214. package/package.json +2 -2
  215. package/types/components/zd-grid/grid.d.ts +4 -4
@@ -0,0 +1,64 @@
1
+ import { IDictionary } from '@zeedhi/core';
2
+ import { IComponentRender } from '../zd-component/interfaces';
3
+ import { Input } from '../zd-input/input';
4
+ import { GridColumnEditable } from './grid-column-editable';
5
+ import { IDataEditor, IGridColumnEditable, IGridEditable } from './interfaces';
6
+ export declare class DataEditor implements IDataEditor {
7
+ protected grid: IGridEditable;
8
+ protected editedRows: Map<string | number, IDictionary>;
9
+ /**
10
+ * Invalid inline components
11
+ * @private
12
+ */
13
+ protected invalidComponents: Set<string>;
14
+ private viewEnterEdit;
15
+ constructor(grid: IGridEditable);
16
+ /**
17
+ * Gets the editable component name
18
+ * @param key Row unique key
19
+ * @param columnName Column name
20
+ */
21
+ private getCompName;
22
+ getVisibleValue(row: IDictionary, column: IGridColumnEditable): any;
23
+ /**
24
+ * Pushes lookup values into the column's datasource
25
+ * If the row[column.name] has a selected value, pushes it
26
+ */
27
+ private checkLookupData;
28
+ private pushLookupValue;
29
+ private checkCompValidity;
30
+ private updateOriginalRow;
31
+ getEditableComponent(column: GridColumnEditable, row: IDictionary<any>): IComponentRender;
32
+ protected changeEditableComponent(column: IGridColumnEditable, row: IDictionary<any>, value: any, component?: Input): void;
33
+ isEdited(column: IGridColumnEditable, row: IDictionary): boolean;
34
+ isValid(column: IGridColumnEditable, row: IDictionary, revalidate?: boolean): Promise<boolean>;
35
+ checkValid(column: IGridColumnEditable, row: IDictionary): boolean;
36
+ /**
37
+ * Checks whether the grid is valid while not in editing mode
38
+ */
39
+ private isViewGridValid;
40
+ isGridValid(revalidate?: boolean): boolean;
41
+ getComponent<T>(key: string | number, columnName: string): T;
42
+ /**
43
+ * Changes a cell value in editedRows
44
+ * @param rowKey Cell's row key
45
+ * @param rowIdx Cell's row index in datasource.data
46
+ * @param column Cell's column
47
+ * @param value Value to be set in the cell
48
+ */
49
+ private changeCell;
50
+ private getRowIndex;
51
+ updateRow(newRow: IDictionary): void;
52
+ updateCell(rowKey: string, columnName: string, value: any): void;
53
+ changeData(data?: IDictionary<any>[]): void;
54
+ setViewEnterEdit(fn: ((rowKey: string, columnName: string) => void) | null): void;
55
+ enterEdit(rowKey: string, columnName: string): void;
56
+ cancelEditedRows(): Promise<void>;
57
+ saveEditedRows(revalidate?: boolean): Promise<void[]>;
58
+ protected canEditRowConditions: Map<string | number, boolean | undefined>;
59
+ reapplyCanEditRow(row: IDictionary<any>): void;
60
+ getCanEditRow(row: IDictionary<any>): boolean | undefined;
61
+ protected omitInternals(editedRow: IDictionary): any;
62
+ getEditedRows(revalidate?: boolean, silent?: boolean): IDictionary<any>[];
63
+ getEditedRow(row: IDictionary): IDictionary | undefined;
64
+ }
@@ -0,0 +1,2 @@
1
+ export * from './not-editing';
2
+ export * from './row-not-found';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Grid not editing error
3
+ */
4
+ export declare class NotEditingError extends Error {
5
+ constructor(method: string);
6
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Row not found error
3
+ */
4
+ export declare class RowNotFoundError extends Error {
5
+ constructor(key: string | number, gridName: string);
6
+ }
@@ -0,0 +1,9 @@
1
+ import { GridColumn } from '../zd-grid';
2
+ import { IGridColumnEditable } from './interfaces';
3
+ /**
4
+ * Base class for Grid column
5
+ */
6
+ export declare class GridColumnEditable extends GridColumn implements IGridColumnEditable {
7
+ editable: boolean;
8
+ constructor(props: IGridColumnEditable);
9
+ }
@@ -0,0 +1,8 @@
1
+ import { IDictionary } from '@zeedhi/core';
2
+ import { GridEditable } from './grid-editable';
3
+ export declare class GridEditableController {
4
+ private grid;
5
+ constructor(grid: GridEditable);
6
+ get hasAddedRows(): boolean;
7
+ isAddedRow({ row }: IDictionary): boolean;
8
+ }
@@ -0,0 +1,32 @@
1
+ import { IDictionary } from '@zeedhi/core';
2
+ import { GridColumnEditable } from './grid-column-editable';
3
+ import { IGridEditable, IGridEditableEvents } from './interfaces';
4
+ export declare class GridEditableEvents implements IGridEditableEvents {
5
+ protected gridEditable: IGridEditable;
6
+ /**
7
+ * Flag to prevent row click
8
+ */
9
+ protected preventRowClick: boolean;
10
+ protected preventRowDoubleClick: boolean;
11
+ constructor(gridEditable: IGridEditable);
12
+ /**
13
+ * Dispatches row click event
14
+ * @param row Grid row
15
+ * @param event DOM event
16
+ * @param element DOM Element
17
+ */
18
+ rowClick(row: IDictionary<any>, event: Event, element: HTMLElement): void;
19
+ rowDoubleClick(row: IDictionary<any>, event: Event, element: HTMLElement): void;
20
+ /**
21
+ * Dispatches cell click Event
22
+ * @param row Grid row
23
+ * @param column Grid column
24
+ * @param event DOM event
25
+ * @param element DOM Element
26
+ */
27
+ cellClick(row: IDictionary<any>, column: GridColumnEditable, event: Event, element: HTMLElement): void;
28
+ cellDoubleClick(row: IDictionary<any>, column: GridColumnEditable, event: Event, element: HTMLElement): void;
29
+ inlineEdit(row: IDictionary, column: GridColumnEditable, event?: Event, element?: HTMLElement): void;
30
+ cellClickEvent(row: IDictionary<any>, column: GridColumnEditable, event: Event, element: HTMLElement): void;
31
+ cellDoubleClickEvent(row: IDictionary<any>, column: GridColumnEditable, event: Event, element: HTMLElement): void;
32
+ }
@@ -0,0 +1,124 @@
1
+ import { IDictionary, IEventParam } from '@zeedhi/core';
2
+ import { IComponent, IComponentRender } from '../zd-component/interfaces';
3
+ import { Direction, GridColumn, IGrid, VerticalDirection } from '../zd-grid';
4
+ import { Iterable } from '../zd-iterable/iterable';
5
+ import { GridColumnEditable } from './grid-column-editable';
6
+ import { IGridColumnEditable, IGridEditable, IGridEditableProps } from './interfaces';
7
+ export declare class GridEditable extends Iterable<GridColumnEditable> implements IGridEditable {
8
+ private tableActionBuilder;
9
+ private iterableTable;
10
+ private dataSelector;
11
+ private gridEditableEvents;
12
+ private dataNavigator;
13
+ private viewNavigator;
14
+ private keyMapMerger;
15
+ private dataEditor;
16
+ editing: boolean;
17
+ currentColumn: GridColumnEditable | null;
18
+ selectedRows: IDictionary<any>[];
19
+ selectionState: {
20
+ allSelected: boolean;
21
+ except: IDictionary<any>[];
22
+ };
23
+ rowStyleConditions?: (row: IDictionary) => IDictionary;
24
+ selectAllPages: boolean;
25
+ selectable: boolean;
26
+ disableSelection?: (args: {
27
+ row: IDictionary<any>;
28
+ component: IGrid;
29
+ }) => boolean;
30
+ cellSelection: boolean;
31
+ toolbarSlot: IComponentRender[];
32
+ footerSlot: IComponentRender[];
33
+ noResultsText: string;
34
+ noResultSlot: IComponentRender[];
35
+ errorSlot: IComponentRender[];
36
+ dense: boolean;
37
+ dragColumns: boolean;
38
+ headerBackground: string;
39
+ headerCellTextColor: string;
40
+ height: string | number;
41
+ loadingText: string;
42
+ maxHeight: string | number;
43
+ maxWidth: string | number;
44
+ minHeight: string | number;
45
+ minWidth: string | number;
46
+ noDataText: string;
47
+ noDataSlot: IComponentRender[];
48
+ resizeColumns: boolean;
49
+ showFooter: boolean;
50
+ showHeader: boolean;
51
+ showSelectAll: boolean;
52
+ width: string | number;
53
+ backgroundColor: string;
54
+ canEditRow?: ((args: {
55
+ row: IDictionary<any>;
56
+ component: IGridEditable;
57
+ }) => boolean) | undefined;
58
+ showCancelColumn: boolean;
59
+ doubleClickEdit: boolean;
60
+ singleEdit: boolean;
61
+ editingNewRows: boolean;
62
+ constructor(props: IGridEditableProps);
63
+ getConditionalProps({ row, column }: {
64
+ row: IDictionary;
65
+ column: GridColumn;
66
+ }): Partial<IComponentRender>;
67
+ addCancelColumn(): void;
68
+ getCancelColumnProps(): IGridColumnEditable;
69
+ isAdded(row: IDictionary): boolean;
70
+ cancelAddedRow(key: string | number): Promise<any>;
71
+ cancelAddedRows(): Promise<void>;
72
+ getAddedRows(): IDictionary<any>[];
73
+ addNewRow(row: IDictionary, position?: 'end' | 'start'): Promise<void>;
74
+ setViewEnterEdit(fn: ((rowKey: string, columnName: string) => void) | null): void;
75
+ getVisibleValue(row: IDictionary, column: IGridColumnEditable): any;
76
+ getEditableComponent(column: IGridColumnEditable, row: IDictionary<any>): IComponentRender;
77
+ isEdited(column: IGridColumnEditable, row: IDictionary): boolean;
78
+ isValid(column: IGridColumnEditable, row: IDictionary, revalidate?: boolean): Promise<boolean>;
79
+ checkValid(column: IGridColumnEditable, row: IDictionary): boolean;
80
+ isGridValid(revalidate?: boolean): boolean;
81
+ getComponent<T>(key: string, columnName: string): T;
82
+ updateRow(newRow: IDictionary): void;
83
+ updateCell(rowKey: string, columnName: string, value: any): void;
84
+ changeData(data?: IDictionary<any>[]): void;
85
+ enterEdit(rowKey: string, columnName: string): void;
86
+ cancelEditedRows(): Promise<void>;
87
+ saveEditedRows(revalidate?: boolean): Promise<void[]>;
88
+ reapplyCanEditRow(row: IDictionary<any>): void;
89
+ getCanEditRow(row: IDictionary<any>): boolean | undefined;
90
+ getEditedRows(revalidate?: boolean, silent?: boolean): IDictionary<any>[];
91
+ cellDoubleClick(row: IDictionary<any>, column: GridColumnEditable, event: Event, element?: HTMLElement): void;
92
+ inlineEdit(row: IDictionary, column: GridColumnEditable, event?: Event, element?: HTMLElement): void;
93
+ onMounted(element: HTMLElement): void;
94
+ onBeforeDestroy(): void;
95
+ navigatePageUp(): void;
96
+ navigatePageDown(): void;
97
+ setViewNavigate(viewNavigate: (direction: Direction, event?: Event) => void): void;
98
+ navigateLeft(params: IEventParam<any>): void;
99
+ navigateRight(params: IEventParam<any>): void;
100
+ navigateUp(): void;
101
+ navigateDown(): void;
102
+ navigateDatasource(direction: VerticalDirection): void;
103
+ createColumn(column: IGridColumnEditable): GridColumnEditable;
104
+ rowClick(row: IDictionary<any>, event: Event, element?: HTMLElement): void;
105
+ rowDoubleClick(row: IDictionary<any>, event: Event, element?: HTMLElement): void;
106
+ cellClick(row: IDictionary<any>, column: GridColumnEditable, event: Event, element?: HTMLElement): void;
107
+ cellClickEvent(row: IDictionary<any>, column: GridColumnEditable, event: Event, element?: HTMLElement): void;
108
+ selectClick(row: IDictionary<any>, isSelected: boolean, event: Event, element?: HTMLElement): void;
109
+ selectAllClick(isSelected: boolean, event: Event, element?: HTMLElement): void;
110
+ selectAll(isSelected: boolean): void;
111
+ toggleRow(row: IDictionary): void;
112
+ selectRow(row: IDictionary, select: boolean): void;
113
+ callDisableSelection(row: IDictionary): boolean;
114
+ changeOrder(sortBy: {
115
+ key: string;
116
+ order: 'asc' | 'desc';
117
+ }[]): Promise<void>;
118
+ selectCell(row: IDictionary, column: GridColumnEditable): void;
119
+ reapplyRowStyleConditions(row: IDictionary): IDictionary;
120
+ getRowStyleConditions(row: IDictionary): IDictionary;
121
+ deleteRows(): Promise<any[]>;
122
+ getActionComponent(actionComponent: IComponent, column: GridColumnEditable, row: IDictionary, parentPath?: string): IComponent;
123
+ getEditedRow(row: IDictionary): IDictionary | undefined;
124
+ }
@@ -0,0 +1,8 @@
1
+ export * from './data-editor-with-add';
2
+ export * from './data-editor';
3
+ export * from './grid-column-editable';
4
+ export * from './grid-editable-controller';
5
+ export * from './grid-editable-events';
6
+ export * from './grid-editable';
7
+ export * from './interfaces';
8
+ export * from './keymap-editing';
@@ -0,0 +1,66 @@
1
+ import { IDictionary } from '@zeedhi/core';
2
+ import { IComponentRender } from '../zd-component/interfaces';
3
+ import { GridColumn, IGrid, IGridColumn, IGridProps } from '../zd-grid';
4
+ import { GridColumnEditable } from './grid-column-editable';
5
+ import { GridEditable } from './grid-editable';
6
+ export interface IGridEditableProps extends IGridProps {
7
+ columns?: IGridColumnEditable[];
8
+ canEditRow?: (args: {
9
+ row: IDictionary<any>;
10
+ component: GridEditable;
11
+ }) => boolean;
12
+ showCancelColumn?: boolean;
13
+ doubleClickEdit?: boolean;
14
+ singleEdit?: boolean;
15
+ }
16
+ export interface IGridEditable<T = GridColumnEditable> extends IGrid<T>, IDataEditorWithAdd, IGridEditableEvents {
17
+ editing: boolean;
18
+ canEditRow?: (args: {
19
+ row: IDictionary<any>;
20
+ component: IGridEditable;
21
+ }) => boolean;
22
+ showCancelColumn: boolean;
23
+ doubleClickEdit: boolean;
24
+ singleEdit: boolean;
25
+ editingNewRows: boolean;
26
+ }
27
+ export interface IGridEditableEvents {
28
+ rowClick(row: IDictionary<any>, event: Event, element?: HTMLElement): void;
29
+ rowDoubleClick(row: IDictionary<any>, event: Event, element?: HTMLElement): void;
30
+ cellDoubleClick(row: IDictionary<any>, column: GridColumnEditable, event: Event, element?: HTMLElement): void;
31
+ inlineEdit(row: IDictionary, column: GridColumnEditable, event?: Event, element?: HTMLElement): void;
32
+ cellClick(row: IDictionary<any>, column: GridColumn, event: Event, element?: HTMLElement): void;
33
+ cellClickEvent(row: IDictionary<any>, column: GridColumnEditable, event: Event, element?: HTMLElement): void;
34
+ }
35
+ export interface IGridColumnEditable extends IGridColumn {
36
+ editable?: boolean;
37
+ }
38
+ export interface IDataEditor {
39
+ getVisibleValue(row: IDictionary, column: IGridColumnEditable): any;
40
+ getEditableComponent(column: IGridColumnEditable, row: IDictionary<any>): IComponentRender;
41
+ isEdited(column: IGridColumnEditable, row: IDictionary): boolean;
42
+ isValid(column: IGridColumnEditable, row: IDictionary, revalidate?: boolean): Promise<boolean>;
43
+ checkValid(column: IGridColumnEditable, row: IDictionary): boolean;
44
+ isGridValid(revalidate?: boolean): boolean;
45
+ getComponent<T>(key: string, columnName: string): T;
46
+ updateRow(newRow: IDictionary): void;
47
+ updateCell(rowKey: string, columnName: string, value: any): void;
48
+ changeData(data?: IDictionary<any>[]): void;
49
+ setViewEnterEdit(fn: ((rowKey: string, columnName: string) => void) | null): void;
50
+ enterEdit(rowKey: string, columnName: string): void;
51
+ cancelEditedRows(): Promise<void>;
52
+ saveEditedRows(revalidate?: boolean): Promise<void[]>;
53
+ reapplyCanEditRow(row: IDictionary<any>): void;
54
+ getCanEditRow(row: IDictionary<any>): boolean | undefined;
55
+ getEditedRows(revalidate?: boolean, silent?: boolean): IDictionary<any>[];
56
+ getEditedRow(row: IDictionary): IDictionary | undefined;
57
+ }
58
+ export interface IDataEditorWithAdd extends IDataEditor {
59
+ addCancelColumn(): void;
60
+ getCancelColumnProps(): IGridColumnEditable;
61
+ isAdded(row: IDictionary): boolean;
62
+ cancelAddedRow(key: string | number): Promise<any>;
63
+ cancelAddedRows(): Promise<void>;
64
+ getAddedRows(): IDictionary<any>[];
65
+ addNewRow(row: IDictionary, position?: 'end' | 'start'): Promise<void>;
66
+ }
@@ -0,0 +1,7 @@
1
+ import { IKeyMap } from '@zeedhi/core';
2
+ import { Component } from '../zd-component/component';
3
+ import { IKeyMapConfig } from '../zd-grid/interfaces';
4
+ import { IDataEditor } from './interfaces';
5
+ export declare class KeyMapEditing implements IKeyMapConfig<IDataEditor> {
6
+ getMap(instance: Component & IDataEditor): IKeyMap;
7
+ }
@@ -0,0 +1,94 @@
1
+ import { ComponentRender } from '../zd-component/component-render';
2
+ import { IComponentRender } from '../zd-component/interfaces';
3
+ import { IFrameEvents } from '../zd-frame/interfaces';
4
+ import { IHeader } from './interfaces';
5
+ /**
6
+ * Base class for Header component.
7
+ */
8
+ export declare class Header extends ComponentRender implements IHeader {
9
+ /**
10
+ * Applies position absolute to header.
11
+ */
12
+ absolute: boolean;
13
+ /**
14
+ * Designates the header as part of the application layout.
15
+ */
16
+ app: boolean;
17
+ /**
18
+ * Render components on the middle of header.
19
+ */
20
+ centerSlot: IComponentRender[];
21
+ /**
22
+ * Applies specified color to the control. It can be the name of material or css color in hexa.
23
+ */
24
+ color: string;
25
+ /**
26
+ * Reduces the height of the toolbar content to 48px.
27
+ */
28
+ dense: boolean;
29
+ /**
30
+ * Designates an elevation applied to the component between 0 and 24.
31
+ */
32
+ elevation: number | string;
33
+ /**
34
+ * Events registered to the header.
35
+ */
36
+ events: IFrameEvents;
37
+ /**
38
+ * Applies position fixed to header.
39
+ */
40
+ fixed: boolean;
41
+ /**
42
+ * Sets the height for header.
43
+ */
44
+ height: number | string;
45
+ /**
46
+ * Render components on the left of header.
47
+ */
48
+ leftSlot: IComponentRender[];
49
+ /**
50
+ * Sets the maximum height for the header.
51
+ */
52
+ maxHeight?: number | string;
53
+ /**
54
+ * Sets the maximum width for the header.
55
+ */
56
+ maxWidth?: number | string;
57
+ /**
58
+ * Sets the minimum height for the header.
59
+ */
60
+ minHeight?: number | string;
61
+ /**
62
+ * Sets the minimum width for the header.
63
+ */
64
+ minWidth?: number | string;
65
+ /**
66
+ * Removes internal padding from header.
67
+ */
68
+ padless?: boolean;
69
+ /**
70
+ * Render components on the right of header.
71
+ */
72
+ rightSlot: IComponentRender[];
73
+ /**
74
+ * Sets the width for the component.
75
+ */
76
+ width?: number | string;
77
+ /**
78
+ * Specifies a v-img as the component’s background.
79
+ */
80
+ image?: string;
81
+ /**
82
+ * Adjust the order of the component in relation to its registration order.
83
+ */
84
+ order?: string | number;
85
+ /**
86
+ * Creates a new header.
87
+ * @param props Header properties
88
+ */
89
+ constructor(props: IHeader);
90
+ /**
91
+ * Retrieves named slots visibility
92
+ */
93
+ get namedSlotsIsVisible(): number;
94
+ }
@@ -0,0 +1,29 @@
1
+ import { IEventParam } from '@zeedhi/core';
2
+ import { IComponentEvents, IComponentRender } from '../zd-component/interfaces';
3
+ import { Header } from './header';
4
+ export type IHeaderEvent = IEventParam<Header>;
5
+ export interface IHeaderEvents extends IComponentEvents<IHeaderEvent> {
6
+ blur: undefined;
7
+ click: undefined;
8
+ focus: undefined;
9
+ }
10
+ export interface IHeader extends IComponentRender {
11
+ absolute?: boolean;
12
+ app?: boolean;
13
+ centerSlot?: IComponentRender[];
14
+ color?: string;
15
+ dense?: boolean;
16
+ elevation?: number | string;
17
+ fixed?: boolean;
18
+ height?: number | string;
19
+ leftSlot?: IComponentRender[];
20
+ maxHeight?: number | string;
21
+ maxWidth?: number | string;
22
+ minHeight?: number | string;
23
+ minWidth?: number | string;
24
+ padless?: boolean;
25
+ rightSlot?: IComponentRender[];
26
+ width?: number | string;
27
+ image?: string;
28
+ order?: string | number;
29
+ }
@@ -0,0 +1,55 @@
1
+ import { ComponentRender } from '../zd-component/component-render';
2
+ import { IIcon } from './interfaces';
3
+ /**
4
+ * The Icon component <code>zd-icon</code> is used to show an icon.
5
+ */
6
+ export declare class Icon extends ComponentRender implements IIcon {
7
+ /**
8
+ * Applies specified color to the control - it can be the name of material color
9
+ * (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)).
10
+ */
11
+ color: string;
12
+ /**
13
+ * Makes icon smaller (20px)
14
+ */
15
+ dense: boolean;
16
+ /**
17
+ * Disable the icon
18
+ */
19
+ disabled: boolean;
20
+ /**
21
+ * Defines the icon, that will be rendered
22
+ */
23
+ iconName: string;
24
+ /**
25
+ * Makes the component large.
26
+ */
27
+ large: boolean;
28
+ /**
29
+ * Applies appropriate margins to the icon inside
30
+ * of a button when placed to the left of another element or text
31
+ */
32
+ left: boolean;
33
+ /**
34
+ * Applies appropriate margins to the icon inside of
35
+ * a button when placed to the right of another element or text
36
+ */
37
+ right: boolean;
38
+ /**
39
+ * Specifies a custom font size for the icon
40
+ */
41
+ size: number | string;
42
+ /**
43
+ * Makes the component small.
44
+ */
45
+ small: boolean;
46
+ /**
47
+ * Specifies a custom tag to be used
48
+ */
49
+ tag: string;
50
+ /**
51
+ * Create a new Button
52
+ * @param props Icon definition
53
+ */
54
+ constructor(props: IIcon);
55
+ }
@@ -0,0 +1,13 @@
1
+ import { IComponentRender } from '../zd-component/interfaces';
2
+ export interface IIcon extends IComponentRender {
3
+ color?: string;
4
+ dense?: boolean;
5
+ disabled?: boolean;
6
+ large?: boolean;
7
+ left?: boolean;
8
+ right?: boolean;
9
+ size?: number | string;
10
+ small?: boolean;
11
+ tag?: string;
12
+ iconName: string;
13
+ }
@@ -0,0 +1,73 @@
1
+ import { ComponentRender } from '../zd-component/component-render';
2
+ import { IImage } from './interfaces';
3
+ export declare class Image extends ComponentRender implements IImage {
4
+ /**
5
+ * Alternative text for the image, if the image cannot be displayed.
6
+ */
7
+ alt: string;
8
+ /**
9
+ * Path of the image to be shown if an error occurs.
10
+ */
11
+ errorImagePath: string;
12
+ /**
13
+ * Text to be shown if an error occurs.
14
+ */
15
+ errorImageText: string;
16
+ /**
17
+ * Defines how the image should be resized to fit its container.
18
+ * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit\"
19
+ * alt=\"Object fit in MDN\" target=\"_blank\">MDN Web Docs</a>
20
+ * for more details.
21
+ */
22
+ objectFit: string;
23
+ /**
24
+ * Defines the component height. Possible values for this property can be
25
+ * <samp>'auto', '100%', '400px' or 400</samp>
26
+ */
27
+ height: string | number;
28
+ /**
29
+ * Defines the component min height. Possible values for this property can be
30
+ * <samp>'auto', '100%', '400px' or 400</samp>
31
+ */
32
+ minHeight: string | number;
33
+ /**
34
+ * Defines the component max height. Possible values for this property can be
35
+ * <samp>'auto', '100%', '400px' or 400</samp>
36
+ */
37
+ maxHeight: string | number;
38
+ /**
39
+ * Defines the component width. Possible values for this property can be
40
+ * <samp>'auto', '100%', '400px' or 400</samp>
41
+ */
42
+ width: string | number;
43
+ /**
44
+ * Defines the component min width. Possible values for this property can be
45
+ * <samp>'auto', '100%', '400px' or 400</samp>
46
+ */
47
+ minWidth: string | number;
48
+ /**
49
+ * Defines the component max height. Possible values for this property can be
50
+ * <samp>'auto', '100%', '400px' or 400</samp>
51
+ */
52
+ maxWidth: string | number;
53
+ /**
54
+ * Source of the image file.
55
+ */
56
+ private srcValue;
57
+ validImage?: boolean;
58
+ /**
59
+ * Creates a new Image.
60
+ * @param props Image properties
61
+ */
62
+ constructor(props: IImage);
63
+ /**
64
+ * Event to be called after the error image is loaded
65
+ */
66
+ loadImage(): void;
67
+ /**
68
+ * Event to be called after the image is not loaded
69
+ */
70
+ errorImage(): void;
71
+ get src(): string;
72
+ set src(src: string);
73
+ }
@@ -0,0 +1,17 @@
1
+ import { IEventParam } from '@zeedhi/core';
2
+ import { IComponentRender } from '../zd-component/interfaces';
3
+ import { Image } from './image';
4
+ export type IImageEvents = IEventParam<Image>;
5
+ export interface IImage extends IComponentRender {
6
+ alt?: string;
7
+ errorImagePath?: string;
8
+ errorImageText?: string;
9
+ objectFit?: string;
10
+ src?: string;
11
+ height?: number | string;
12
+ maxHeight?: number | string;
13
+ minHeight?: number | string;
14
+ width?: number | string;
15
+ maxWidth?: number | string;
16
+ minWidth?: number | string;
17
+ }