@one-grid-core/angular 0.1.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +168 -0
  2. package/esm2022/lib/components/one-grid/one-grid.component.mjs +388 -0
  3. package/esm2022/lib/components/one-grid-body/one-grid-body.component.mjs +570 -0
  4. package/esm2022/lib/components/one-grid-cell-currency/one-grid-cell-currency.component.mjs +90 -0
  5. package/esm2022/lib/components/one-grid-cell-group-renderer/one-grid-cell-group-renderer.component.mjs +31 -0
  6. package/esm2022/lib/components/one-grid-cell-option-menu/one-grid-cell-option-menu.component.mjs +67 -0
  7. package/esm2022/lib/components/one-grid-checkbox/one-grid-checkbox.component.mjs +47 -0
  8. package/esm2022/lib/components/one-grid-checkbox-header/one-grid-checkbox-header.component.mjs +62 -0
  9. package/esm2022/lib/components/one-grid-header/one-grid-header.component.mjs +140 -0
  10. package/esm2022/lib/components/one-grid-pagination/one-grid-pagination.component.mjs +76 -0
  11. package/esm2022/lib/components/one-grid-row-action/one-grid-row-action.component.mjs +193 -0
  12. package/esm2022/lib/components/one-grid-status/one-grid-status.component.mjs +35 -0
  13. package/esm2022/lib/core/directives/one-cell-input-validator.directive.mjs +71 -0
  14. package/esm2022/lib/core/directives/one-cell-renderer-component.directive.mjs +77 -0
  15. package/esm2022/lib/core/directives/one-cell-text-expand.directive.mjs +82 -0
  16. package/esm2022/lib/core/instants/one-grid-api.class.mjs +591 -0
  17. package/esm2022/lib/core/instants/one-row-node.class.mjs +90 -0
  18. package/esm2022/lib/core/models/constants/one-pagination.constant.mjs +2 -0
  19. package/esm2022/lib/core/models/one-column-def-types.model.mjs +2 -0
  20. package/esm2022/lib/core/models/one-event-types.model.mjs +2 -0
  21. package/esm2022/lib/core/models/one-filter.model.mjs +2 -0
  22. package/esm2022/lib/core/models/one-grid-types.model.mjs +2 -0
  23. package/esm2022/lib/core/models/one-master-detail.model.mjs +2 -0
  24. package/esm2022/lib/core/models/one-pagination-types.model.mjs +2 -0
  25. package/esm2022/lib/core/models/one-row.model.mjs +13 -0
  26. package/esm2022/lib/core/models/one-tree-data.model.mjs +2 -0
  27. package/esm2022/lib/core/models/one-validation.model.mjs +2 -0
  28. package/esm2022/lib/core/pipes/cell-action-button-enable.pipe.mjs +21 -0
  29. package/esm2022/lib/core/pipes/cell-action-button-visible.pipe.mjs +17 -0
  30. package/esm2022/lib/core/pipes/cell-disable-resolver.pipe.mjs +26 -0
  31. package/esm2022/lib/core/pipes/cell-editable.pipe.mjs +30 -0
  32. package/esm2022/lib/core/pipes/cell-field-value-empty.pipe.mjs +21 -0
  33. package/esm2022/lib/core/pipes/cell-field-value.pipe.mjs +25 -0
  34. package/esm2022/lib/core/pipes/cell-field.pipe.mjs +20 -0
  35. package/esm2022/lib/core/pipes/cell-invalid.pipe.mjs +21 -0
  36. package/esm2022/lib/core/pipes/cell-key.pipe.mjs +21 -0
  37. package/esm2022/lib/core/pipes/cell-level-padding.pipe.mjs +18 -0
  38. package/esm2022/lib/core/pipes/cell-number-value.pipe.mjs +19 -0
  39. package/esm2022/lib/core/pipes/cell-selected.pipe.mjs +20 -0
  40. package/esm2022/lib/core/pipes/cell-state-group-renderer.pipe.mjs +21 -0
  41. package/esm2022/lib/core/pipes/cell-state-renderer.pipe.mjs +24 -0
  42. package/esm2022/lib/core/pipes/cell-value-getter.pipe.mjs +23 -0
  43. package/esm2022/lib/core/pipes/column-sort-state.pipe.mjs +19 -0
  44. package/esm2022/lib/core/pipes/header-checkbox-checked.pipe.mjs +17 -0
  45. package/esm2022/lib/core/pipes/header-checkbox-disabled.pipe.mjs +17 -0
  46. package/esm2022/lib/core/pipes/header-checkbox-indeterminate.pipe.mjs +17 -0
  47. package/esm2022/lib/core/services/og-column.service.mjs +81 -0
  48. package/esm2022/lib/core/services/one-grid-cell.service.mjs +88 -0
  49. package/esm2022/lib/core/services/one-grid-event.service.mjs +42 -0
  50. package/esm2022/lib/core/services/one-grid-expansion.service.mjs +40 -0
  51. package/esm2022/lib/core/services/one-grid-row.service.mjs +29 -0
  52. package/esm2022/lib/core/services/one-grid-selection.service.mjs +54 -0
  53. package/esm2022/lib/core/services/one-grid-tree-data.service.mjs +59 -0
  54. package/esm2022/lib/helpers/one-cell.helper.mjs +42 -0
  55. package/esm2022/lib/helpers/one-column-def.helper.mjs +28 -0
  56. package/esm2022/lib/helpers/one-filter.helper.mjs +52 -0
  57. package/esm2022/lib/helpers/one-validation.helper.mjs +95 -0
  58. package/esm2022/lib/index.mjs +19 -0
  59. package/esm2022/lib/one-grid.module.mjs +142 -0
  60. package/esm2022/one-grid-core-angular.mjs +5 -0
  61. package/esm2022/public-api.mjs +5 -0
  62. package/fesm2022/one-grid-core-angular.mjs +3573 -0
  63. package/fesm2022/one-grid-core-angular.mjs.map +1 -0
  64. package/index.d.ts +5 -0
  65. package/lib/components/one-grid/one-grid.component.d.ts +139 -0
  66. package/lib/components/one-grid-body/one-grid-body.component.d.ts +176 -0
  67. package/lib/components/one-grid-cell-currency/one-grid-cell-currency.component.d.ts +27 -0
  68. package/lib/components/one-grid-cell-group-renderer/one-grid-cell-group-renderer.component.d.ts +16 -0
  69. package/lib/components/one-grid-cell-option-menu/one-grid-cell-option-menu.component.d.ts +21 -0
  70. package/lib/components/one-grid-checkbox/one-grid-checkbox.component.d.ts +19 -0
  71. package/lib/components/one-grid-checkbox-header/one-grid-checkbox-header.component.d.ts +24 -0
  72. package/lib/components/one-grid-header/one-grid-header.component.d.ts +41 -0
  73. package/lib/components/one-grid-pagination/one-grid-pagination.component.d.ts +21 -0
  74. package/lib/components/one-grid-row-action/one-grid-row-action.component.d.ts +59 -0
  75. package/lib/components/one-grid-status/one-grid-status.component.d.ts +15 -0
  76. package/lib/core/directives/one-cell-input-validator.directive.d.ts +15 -0
  77. package/lib/core/directives/one-cell-renderer-component.directive.d.ts +20 -0
  78. package/lib/core/directives/one-cell-text-expand.directive.d.ts +21 -0
  79. package/lib/core/instants/one-grid-api.class.d.ts +161 -0
  80. package/lib/core/instants/one-row-node.class.d.ts +49 -0
  81. package/lib/core/models/constants/one-pagination.constant.d.ts +1 -0
  82. package/lib/core/models/one-column-def-types.model.d.ts +139 -0
  83. package/lib/core/models/one-event-types.model.d.ts +78 -0
  84. package/lib/core/models/one-filter.model.d.ts +15 -0
  85. package/lib/core/models/one-grid-types.model.d.ts +48 -0
  86. package/lib/core/models/one-master-detail.model.d.ts +18 -0
  87. package/lib/core/models/one-pagination-types.model.d.ts +9 -0
  88. package/lib/core/models/one-row.model.d.ts +38 -0
  89. package/lib/core/models/one-tree-data.model.d.ts +9 -0
  90. package/lib/core/models/one-validation.model.d.ts +9 -0
  91. package/lib/core/pipes/cell-action-button-enable.pipe.d.ts +8 -0
  92. package/lib/core/pipes/cell-action-button-visible.pipe.d.ts +9 -0
  93. package/lib/core/pipes/cell-disable-resolver.pipe.d.ts +9 -0
  94. package/lib/core/pipes/cell-editable.pipe.d.ts +9 -0
  95. package/lib/core/pipes/cell-field-value-empty.pipe.d.ts +7 -0
  96. package/lib/core/pipes/cell-field-value.pipe.d.ts +7 -0
  97. package/lib/core/pipes/cell-field.pipe.d.ts +7 -0
  98. package/lib/core/pipes/cell-invalid.pipe.d.ts +9 -0
  99. package/lib/core/pipes/cell-key.pipe.d.ts +7 -0
  100. package/lib/core/pipes/cell-level-padding.pipe.d.ts +7 -0
  101. package/lib/core/pipes/cell-number-value.pipe.d.ts +7 -0
  102. package/lib/core/pipes/cell-selected.pipe.d.ts +7 -0
  103. package/lib/core/pipes/cell-state-group-renderer.pipe.d.ts +9 -0
  104. package/lib/core/pipes/cell-state-renderer.pipe.d.ts +8 -0
  105. package/lib/core/pipes/cell-value-getter.pipe.d.ts +9 -0
  106. package/lib/core/pipes/column-sort-state.pipe.d.ts +8 -0
  107. package/lib/core/pipes/header-checkbox-checked.pipe.d.ts +9 -0
  108. package/lib/core/pipes/header-checkbox-disabled.pipe.d.ts +9 -0
  109. package/lib/core/pipes/header-checkbox-indeterminate.pipe.d.ts +9 -0
  110. package/lib/core/services/og-column.service.d.ts +22 -0
  111. package/lib/core/services/one-grid-cell.service.d.ts +29 -0
  112. package/lib/core/services/one-grid-event.service.d.ts +17 -0
  113. package/lib/core/services/one-grid-expansion.service.d.ts +13 -0
  114. package/lib/core/services/one-grid-row.service.d.ts +15 -0
  115. package/lib/core/services/one-grid-selection.service.d.ts +17 -0
  116. package/lib/core/services/one-grid-tree-data.service.d.ts +10 -0
  117. package/lib/helpers/one-cell.helper.d.ts +26 -0
  118. package/lib/helpers/one-column-def.helper.d.ts +17 -0
  119. package/lib/helpers/one-filter.helper.d.ts +20 -0
  120. package/lib/helpers/one-validation.helper.d.ts +21 -0
  121. package/lib/index.d.ts +18 -0
  122. package/lib/one-grid.module.d.ts +45 -0
  123. package/package.json +48 -0
  124. package/public-api.d.ts +1 -0
  125. package/scss/_one-grid.scss +999 -0
@@ -0,0 +1,21 @@
1
+ import { AfterViewChecked, AfterViewInit, ElementRef, OnDestroy, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class OneCellTextExpandDirective implements AfterViewInit, AfterViewChecked, OnDestroy {
4
+ private cell;
5
+ private renderer;
6
+ private overflowing;
7
+ private timer;
8
+ private lastText;
9
+ constructor(cell: ElementRef<HTMLElement>, renderer: Renderer2);
10
+ ngAfterViewInit(): void;
11
+ ngAfterViewChecked(): void;
12
+ ngOnDestroy(): void;
13
+ private checkOverflow;
14
+ onResize(): void;
15
+ onMouseEnter(): void;
16
+ onMouseLeave(): void;
17
+ private expand;
18
+ private collapse;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<OneCellTextExpandDirective, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OneCellTextExpandDirective, "[oneCellTextExpand]", never, {}, {}, never, never, false, never>;
21
+ }
@@ -0,0 +1,161 @@
1
+ import { OneCellRendererComponent } from '../models/one-tree-data.model';
2
+ import { OneColumnDef } from '../models/one-column-def-types.model';
3
+ import { OneRowNode } from "./one-row-node.class";
4
+ import { OneGridType, OneSortModel } from '../models/one-grid-types.model';
5
+ import { OneGridEventService } from '../services/one-grid-event.service';
6
+ import { OneGridSelectionService } from '../services/one-grid-selection.service';
7
+ import { OneValidationResult } from '../models/one-validation.model';
8
+ import { OneFilterModel } from "../models/one-filter.model";
9
+ import { OneGridExpansionService } from '../services/one-grid-expansion.service';
10
+ import { OneDetailCellRendererParams, OneGetDetailRowDataParams } from "../models/one-master-detail.model";
11
+ import { OneGridRowService } from "../services/one-grid-row.service";
12
+ import { OneGridCellService } from '../services/one-grid-cell.service';
13
+ import { Type } from "@angular/core";
14
+ import { ColumnChangedEvent, RowSelectionMode } from "../models/one-event-types.model";
15
+ import { OneGroupColumnDef } from "../models/one-column-def-types.model";
16
+ import { OgColumnService } from "../services/og-column.service";
17
+ import * as i0 from "@angular/core";
18
+ export declare class OneGridApi<T = any> {
19
+ private columnService;
20
+ private rowService;
21
+ private cellService;
22
+ private eventService;
23
+ private selectionService;
24
+ private expansionService;
25
+ id: string;
26
+ context: any;
27
+ rowSelection: RowSelectionMode;
28
+ apiType: OneGridType;
29
+ rowNodes: OneRowNode<T>[];
30
+ sortModel: OneSortModel<T>[];
31
+ private rowHeight;
32
+ private headerRowHeight;
33
+ private _currentIndex;
34
+ private _quickFilterValue;
35
+ private _activeFilters;
36
+ private _visibleRowNodes;
37
+ private _originalRowNodes;
38
+ private _nodeCleanupMap;
39
+ private _destroyed;
40
+ private treeData;
41
+ private treeDataChildrenField;
42
+ private groupDefaultExpanded;
43
+ private masterDetail;
44
+ private detailCellRendererParams;
45
+ private detailRendererComponent?;
46
+ getDetailRowData: (params: OneGetDetailRowDataParams) => void;
47
+ constructor(columnService: OgColumnService, rowService: OneGridRowService, cellService: OneGridCellService, eventService: OneGridEventService, selectionService: OneGridSelectionService, expansionService: OneGridExpansionService);
48
+ init(gridApiType: OneGridType, rowSelection: RowSelectionMode, columnDefs: OneColumnDef<T>[], defaultColumnDef: OneColumnDef<T>, context: any, masterDetail: boolean, detailCellRendererParams: OneDetailCellRendererParams, detailRendererComponent: Type<OneCellRendererComponent>, treeData: boolean, groupColumnDefs: OneGroupColumnDef[]): void;
49
+ /**
50
+ * Create Row Node & Clear All State IDS
51
+ */
52
+ setRowData(rowData: T[]): void;
53
+ /**
54
+ * Create Row Nodes & Not Clear State IDS
55
+ */
56
+ updateRowData(rowData: T[]): void;
57
+ /**
58
+ * Recursive Build Row Nodes (Optimized)
59
+ */
60
+ private buildRowNodes;
61
+ /**
62
+ * Filter Feature
63
+ */
64
+ private applyFilters;
65
+ /**
66
+ * Update Row Nodes Display
67
+ */
68
+ private refreshVisibleNodes;
69
+ getVisibleRowNodes(): OneRowNode<T>[];
70
+ /**
71
+ * Sorting Model Feature
72
+ */
73
+ onSortChanged(sortModel: OneSortModel<T>[]): void;
74
+ private applySorting;
75
+ private compareValues;
76
+ /**
77
+ * Row Selection Feature (Optimized)
78
+ */
79
+ selectAll(): void;
80
+ /**
81
+ * Deselect all nodes (optimized)
82
+ */
83
+ deselectAll(): void;
84
+ toggleSelection(rowId: string, selected: boolean): void;
85
+ setSelectedById(rowId: string): void;
86
+ setSelectedByIds(rowIds: string[], selected?: boolean): void;
87
+ /**
88
+ * Get & Set Functions
89
+ */
90
+ getAllRowNodes(): OneRowNode<T>[];
91
+ getRowDataSelected(): T[];
92
+ getSelectedRowNodes(): OneRowNode<T>[];
93
+ /**
94
+ * Column filters
95
+ */
96
+ getFilterModel(): OneFilterModel[];
97
+ setFilterModel(model: OneFilterModel[]): void;
98
+ filterActive(field: string): boolean;
99
+ /**
100
+ * Quick filter
101
+ */
102
+ setQuickFilter(value: string): void;
103
+ /**
104
+ * Validation Feature
105
+ */
106
+ validateRow<T>(row: T, columns: OneColumnDef<T>[]): Record<string, string>;
107
+ /**
108
+ * Validate all rows and return both errors and a flag indicating if there are any errors
109
+ */
110
+ validateAllRows<T>(rowData: T[], columns: OneColumnDef<T>[]): OneValidationResult<T>;
111
+ /** Traverse all nodes */
112
+ forEachNode(callback: (node: OneRowNode<T>, index: number) => void): void;
113
+ /** Traverse only leaf nodes */
114
+ forEachLeafNode(callback: (node: OneRowNode<T>, index: number) => void): void;
115
+ getRowNodeById(rowId: string): OneRowNode<T>;
116
+ /**
117
+ * Expand/collapse a node
118
+ */
119
+ setTreeDataChildrenField(field: string): void;
120
+ setGroupDefaultExpanded(defaultExpanded: number): void;
121
+ toggleExpandAll(expanded: boolean): void;
122
+ setExpandedById(rowId: string, expanded: boolean): void;
123
+ setExpandedByIds(rowIds: string[], expanded: boolean): void;
124
+ getExpandedByIds(): string[];
125
+ /**
126
+ * Master Detail Feature
127
+ */
128
+ setDetailRowData(node: OneRowNode<T>, detailData: any[]): void;
129
+ setGetDetailRowData(getDetailRowData: (params: OneGetDetailRowDataParams) => void): void;
130
+ /**
131
+ * Columns State
132
+ */
133
+ getColumnState(): ColumnChangedEvent;
134
+ setColumnDefs(columnDefs: OneColumnDef<T>[]): void;
135
+ updateColumn(id: string, changes: Partial<OneColumnDef<T>>): void;
136
+ reorderColumnDefs(fromIndex: number, toIndex: number): void;
137
+ /**
138
+ * Update checkbox selection features
139
+ */
140
+ setNodeAndChildrenSelected(node: OneRowNode, selected: boolean): void;
141
+ updateNodeStates(node: OneRowNode): void;
142
+ updateCellState(node: OneRowNode, column: OneColumnDef): void;
143
+ updateCellStates(node: OneRowNode): void;
144
+ /**
145
+ * Handler that Reacts to Detail Changes
146
+ */
147
+ private subscribeToDetailChanges;
148
+ private registerNodeCleanup;
149
+ private cleanupNode;
150
+ private pruneRemovedNodes;
151
+ /**
152
+ * Resolve Detail Row Height
153
+ */
154
+ private _resolvedDetailRowHeight;
155
+ /**
156
+ * On Destroy
157
+ */
158
+ destroy(): void;
159
+ static ɵfac: i0.ɵɵFactoryDeclaration<OneGridApi<any>, never>;
160
+ static ɵprov: i0.ɵɵInjectableDeclaration<OneGridApi<any>>;
161
+ }
@@ -0,0 +1,49 @@
1
+ import { Type } from "@angular/core";
2
+ import { OneCellOptions, OneCellStates } from "../models/one-column-def-types.model";
3
+ import { OneRowNodeEventMap, OneRowNodeListener } from "../models/one-row.model";
4
+ import { OneCellRendererComponent } from "../models/one-tree-data.model";
5
+ export declare class OneRowNode<T = any, D = any> {
6
+ rowId: string;
7
+ rowIndex: number;
8
+ data: T;
9
+ level: number;
10
+ leaf: boolean;
11
+ leafGroup: boolean;
12
+ visible: boolean;
13
+ selected: boolean;
14
+ expandable: boolean;
15
+ expanded: boolean;
16
+ group: boolean;
17
+ submitted: boolean;
18
+ parent: OneRowNode<T> | null;
19
+ children: OneRowNode<T>[] | null;
20
+ editing: {
21
+ [field: string]: boolean;
22
+ };
23
+ cellStates: OneCellStates;
24
+ cellOptions: OneCellOptions;
25
+ detailRowData: D[];
26
+ detailActive: boolean;
27
+ detailRowHeight: number;
28
+ detailRendererComponent?: Type<OneCellRendererComponent>;
29
+ private listeners;
30
+ constructor(rowId: string, data: T, rowIndex: number);
31
+ setDataValue(field: string, value: any): void;
32
+ setSelected(selected: boolean): void;
33
+ setRowIndex(index: number): void;
34
+ setCellStates(cellStates: OneCellStates): void;
35
+ isSelected(): boolean;
36
+ isExpanded(): boolean;
37
+ /**
38
+ * Event System
39
+ */
40
+ on<K extends keyof OneRowNodeEventMap<T>>(event: K, listener: OneRowNodeListener<T, K>): () => void;
41
+ off<K extends keyof OneRowNodeEventMap<T>>(event: K, listener: OneRowNodeListener<T, K>): void;
42
+ emit<K extends keyof OneRowNodeEventMap<T>>(event: K, payload: OneRowNodeEventMap<T>[K]): void;
43
+ /**
44
+ * Mutators that fire events
45
+ */
46
+ setDetailRowData(detailRowData: D[]): void;
47
+ setExpanded(expanded: boolean): void;
48
+ destroy(): void;
49
+ }
@@ -0,0 +1 @@
1
+ export declare const OnePageSizeOption: number[];
@@ -0,0 +1,139 @@
1
+ import { Type } from "@angular/core";
2
+ import type { OneGridApi } from "../instants/one-grid-api.class";
3
+ import type { OneRowNode } from "../instants/one-row-node.class";
4
+ import type { OneValidatorFn } from "./one-validation.model";
5
+ import type { OneCellOptionMenu } from "./one-event-types.model";
6
+ import type { OneCellRendererComponent } from "./one-tree-data.model";
7
+ export interface OneValueGetterParams<T = any> {
8
+ data: T;
9
+ rowIndex?: number;
10
+ rowNode?: OneRowNode;
11
+ node?: OneRowNode;
12
+ api?: OneGridApi;
13
+ context?: any;
14
+ }
15
+ export interface OneCellState {
16
+ type: 'placeholder' | 'text' | 'html' | 'none';
17
+ value: any;
18
+ }
19
+ export interface OneCellStates {
20
+ [field: string]: OneCellState;
21
+ }
22
+ export interface OneCellOptions {
23
+ [field: string]: boolean;
24
+ }
25
+ export type OneCellStatus = 0 | 1;
26
+ export type OneCellButtonIconType = 'add' | 'option' | 'language';
27
+ export type OneCellInputType = 'text' | 'number' | 'email' | 'date' | 'time' | 'datetime' | 'datetime-local';
28
+ export interface OneCellRendererParams<T = any> {
29
+ value?: any;
30
+ rowIndex?: number;
31
+ data?: T;
32
+ field?: string;
33
+ columnDef?: OneColumnDef<T>;
34
+ api?: OneGridApi<T>;
35
+ node?: OneRowNode<T>;
36
+ context?: any;
37
+ locationStatus?: number;
38
+ status?: number;
39
+ gridStatus?: number;
40
+ inputType?: OneCellInputType;
41
+ placeholder?: string;
42
+ required?: boolean;
43
+ detailActiveButtonStatus?: OneCellStatus;
44
+ detailActiveExcludeLevels?: number[];
45
+ gotoDetailButtonStatus?: OneCellStatus;
46
+ gotoDetailExcludeLevels?: number[];
47
+ addNewButtonStatus?: OneCellStatus;
48
+ addNewExcludeLevels?: number[];
49
+ viewButtonStatus?: OneCellStatus;
50
+ locationButtonStatus?: OneCellStatus;
51
+ documentButtonStatus?: OneCellStatus;
52
+ copyButtonStatus?: OneCellStatus;
53
+ deleteButtonStatus?: OneCellStatus;
54
+ gotoListButtonStatus?: OneCellStatus;
55
+ optionButtonStatus?: OneCellStatus;
56
+ languageButtonStatus?: OneCellStatus;
57
+ editButtonStatus?: OneCellStatus;
58
+ printButtonStatus?: OneCellStatus;
59
+ historyButtonStatus?: OneCellStatus;
60
+ cellOptionButtonStatus?: OneCellStatus;
61
+ validateSelectedRowOnly?: boolean;
62
+ forceMarkedAsCellValue?: boolean;
63
+ }
64
+ /**
65
+ * Header Group Column Def
66
+ */
67
+ export interface OneGroupColumnDef {
68
+ id: string;
69
+ headerName: string;
70
+ colSpan?: number;
71
+ width?: number;
72
+ groupStyle?: {
73
+ [key: string]: string;
74
+ } | ((row: any) => {
75
+ [key: string]: string;
76
+ });
77
+ groupClass?: string | string[] | ((row: any) => string | string[]);
78
+ _resolvedGroupClass?: string | string[];
79
+ _resolvedGroupStyle?: Record<string, string>;
80
+ }
81
+ /**
82
+ * Cell Column Def
83
+ */
84
+ export interface OneColumnDef<T = any> {
85
+ id?: string;
86
+ groupId?: string;
87
+ field?: keyof T & string;
88
+ masterGroupField?: boolean;
89
+ autoGroupField?: boolean;
90
+ editableLevels?: number[];
91
+ rowActionLevels?: number[];
92
+ headerName?: string;
93
+ checkboxSelection?: boolean;
94
+ headerCheckboxSelection?: boolean;
95
+ flex?: number;
96
+ width?: number;
97
+ minWidth?: number;
98
+ maxWidth?: number;
99
+ validationRules?: OneValidatorFn[];
100
+ headerStyle?: {
101
+ [key: string]: string;
102
+ } | ((params: OneCellRendererParams<T>) => {
103
+ [key: string]: string;
104
+ });
105
+ cellStyle?: {
106
+ [key: string]: string;
107
+ } | ((params: OneCellRendererParams<T>) => {
108
+ [key: string]: string;
109
+ });
110
+ headerClass?: string | string[] | ((params: OneCellRendererParams<T>) => string | string[]);
111
+ cellClass?: string | string[] | ((params: OneCellRendererParams<T>) => string | string[]);
112
+ _resolvedHeaderClass?: string | string[];
113
+ _resolvedCellClass?: string | string[];
114
+ _resolvedHeaderStyle?: Record<string, string>;
115
+ _resolvedCellStyle?: Record<string, string>;
116
+ cellRendererParams?: OneCellRendererParams<T>;
117
+ cellOptionMenu?: OneCellOptionMenu[];
118
+ alignContent?: 'left' | 'center' | 'right';
119
+ pinned?: 'left' | 'right';
120
+ sortable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
121
+ resizable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
122
+ filterable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
123
+ editable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
124
+ updatable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
125
+ disable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
126
+ dragable?: boolean | ((params: OneCellRendererParams<T>) => boolean);
127
+ hideActionButton?: boolean | ((params: OneCellRendererParams<T>) => boolean);
128
+ suppressHeaderMenuButton?: boolean | ((params: OneCellRendererParams<T>) => boolean);
129
+ cellRendererComponent?: Type<OneCellRendererComponent>;
130
+ cellRenderer?: (params: OneCellRendererParams<T>) => string;
131
+ valueGetter?: (params: OneValueGetterParams<T>) => any;
132
+ valueSetter?: (value: any, rowIndex: number) => void;
133
+ valueFormatter?: (params: OneCellRendererParams<T>) => string;
134
+ }
135
+ export type OneCellValidationType = 'disabled' | 'integer' | 'number' | 'code' | 'title' | 'phone' | 'email' | 'description' | 'regex' | 'none';
136
+ export interface CellSelection {
137
+ rowId: string;
138
+ field: string;
139
+ }
@@ -0,0 +1,78 @@
1
+ import type { OneColumnDef, OneGroupColumnDef } from "./one-column-def-types.model";
2
+ import type { OneGridApi } from "../instants/one-grid-api.class";
3
+ import type { OneRowNode } from "../instants/one-row-node.class";
4
+ export interface RowSelectedEvent {
5
+ rowId: string;
6
+ selected: boolean;
7
+ }
8
+ export interface CellClickedEvent {
9
+ rowId: string;
10
+ columnId: string;
11
+ value: any;
12
+ }
13
+ export interface ColumnMovedEvent {
14
+ columnId: string;
15
+ toIndex: number;
16
+ }
17
+ export interface RowDataChangedEvent<T> {
18
+ nodes: OneRowNode<T>[];
19
+ }
20
+ export interface OneCellOptionMenu {
21
+ text: string;
22
+ value: any;
23
+ }
24
+ export interface SelectionChangedEvent<T = any> {
25
+ selectedRowIds?: string[];
26
+ rowIndex?: number;
27
+ data?: T;
28
+ allNodesSelected?: boolean;
29
+ allNodesNotSelected?: boolean;
30
+ selected?: boolean;
31
+ node: OneRowNode<T>;
32
+ }
33
+ export interface ExpansionChangedEvent<T = any> {
34
+ rowIndex?: number;
35
+ data: T;
36
+ node: OneRowNode<T>;
37
+ api?: OneGridApi<T>;
38
+ }
39
+ export interface StatesChangedEvent<T = any> {
40
+ rowIndex?: number;
41
+ data: T;
42
+ node: OneRowNode<T>;
43
+ }
44
+ export interface CellOptionMenuSelectedEvent<T = any> {
45
+ option: OneCellOptionMenu;
46
+ node: OneRowNode<T>;
47
+ column: OneColumnDef<T>;
48
+ }
49
+ export interface SortChangedEvent<T = any> {
50
+ nodes: OneRowNode<T>[];
51
+ }
52
+ export interface ColumnResizedEvent {
53
+ columnId: string;
54
+ newWidth: number;
55
+ }
56
+ export interface ColumnChangedEvent {
57
+ columns?: OneColumnDef[];
58
+ groups?: OneGroupColumnDef[];
59
+ }
60
+ export interface CellStateChangedEvent<T> {
61
+ data: T;
62
+ node: OneRowNode<T>;
63
+ column: OneColumnDef<T>;
64
+ }
65
+ export interface EventPayloadMap<T = any> {
66
+ rowSelected: RowSelectedEvent;
67
+ cellClicked: CellClickedEvent;
68
+ columnMoved: ColumnMovedEvent;
69
+ columnResized: ColumnResizedEvent;
70
+ columnChanged: ColumnChangedEvent;
71
+ rowDataChanged: RowDataChangedEvent<T>;
72
+ selectionChanged: SelectionChangedEvent<T>;
73
+ sortChanged: SortChangedEvent<T>;
74
+ cellStateChanged: CellStateChangedEvent<T>;
75
+ }
76
+ export type OneCheckboxState = 'checked' | 'unchecked' | 'indeterminate';
77
+ export type RowSelectionMode = 'single' | 'multiple' | null;
78
+ export type EventType = keyof EventPayloadMap;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A single filter applied to a column/field.
3
+ */
4
+ export interface OneFilterModel {
5
+ field: string;
6
+ conditions: OneFilterCondition[];
7
+ logicOperator: 'AND' | 'OR';
8
+ }
9
+ /**
10
+ * A single condition inside a filter.
11
+ */
12
+ export interface OneFilterCondition {
13
+ operator: 'equals' | 'contains' | 'startsWith' | 'endsWith' | 'greaterThan' | 'lessThan';
14
+ value?: string | number;
15
+ }
@@ -0,0 +1,48 @@
1
+ import type { OneGridApi } from "../instants/one-grid-api.class";
2
+ import type { OneRowNode } from "../instants/one-row-node.class";
3
+ import type { OneColumnDef } from "./one-column-def-types.model";
4
+ export type OneGridType = 'simple' | 'master' | 'detail' | 'tree' | null;
5
+ export interface OneGridReadyEvent<T = any> {
6
+ api: OneGridApi<T>;
7
+ }
8
+ export interface OneGridRowActionEvent<T = any> {
9
+ rowIndex: number;
10
+ data: T;
11
+ api?: OneGridApi<T>;
12
+ column?: OneColumnDef;
13
+ node: OneRowNode<T>;
14
+ masterNode?: OneRowNode<T>;
15
+ gridType?: OneGridType;
16
+ selected?: boolean;
17
+ }
18
+ export interface OneGridGetRowIdParams<T = any> {
19
+ data: T;
20
+ rowIndex: number;
21
+ }
22
+ export interface OneSortModel<T = any> {
23
+ colId: keyof T;
24
+ sort: 'asc' | 'desc';
25
+ }
26
+ export interface GridRowData {
27
+ rowId: string;
28
+ [key: string]: any;
29
+ }
30
+ export interface GridRowDataOperation<T extends GridRowData = GridRowData> {
31
+ /**
32
+ * Move a row from one index to another
33
+ * @param sourceIndex - the current index of the row
34
+ * @param targetIndex - the new index to move to
35
+ */
36
+ moveRow(sourceIndex: number, targetIndex: number): void;
37
+ /**
38
+ * Remove a row by its unique ID
39
+ * @param rowId - the ID of the row to remove
40
+ */
41
+ removeRow(rowId: string): void;
42
+ /**
43
+ * Insert a new row at the given index
44
+ * @param row - the row data
45
+ * @param index - where to insert
46
+ */
47
+ insertRow(row: T, index: number): void;
48
+ }
@@ -0,0 +1,18 @@
1
+ import { OneRowNode } from "../instants/one-row-node.class";
2
+ import { OneColumnDef } from "./one-column-def-types.model";
3
+ import { OneDetailRowHeightOption } from "./one-row.model";
4
+ export interface OneDetailGridOptions {
5
+ defaultColumnDef: OneColumnDef;
6
+ columnDefs: OneColumnDef[];
7
+ rowNumber?: boolean;
8
+ detailRowHeightOptions: OneDetailRowHeightOption;
9
+ }
10
+ export interface OneGetDetailRowDataParams<T = any, D = any> {
11
+ data: T;
12
+ node: OneRowNode<T>;
13
+ successCallback: (detailRowData: D[]) => void;
14
+ }
15
+ export interface OneDetailCellRendererParams<T = any, D = any> {
16
+ detailGridOptions: OneDetailGridOptions;
17
+ getDetailRowData: (params: OneGetDetailRowDataParams<T, D>) => void;
18
+ }
@@ -0,0 +1,9 @@
1
+ export interface OnePaginationParams {
2
+ total?: number;
3
+ currentPage?: number;
4
+ lastPage?: number;
5
+ perPage?: number;
6
+ firstRowIndex?: number;
7
+ lastRowIndex?: number;
8
+ pageSizeOptions?: number[];
9
+ }
@@ -0,0 +1,38 @@
1
+ import type { OneGridApi } from "../instants/one-grid-api.class";
2
+ import type { OneRowNode } from "../instants/one-row-node.class";
3
+ export interface OneGetRowHeightParams<T = any> {
4
+ node?: OneRowNode<T>;
5
+ api?: OneGridApi<T>;
6
+ context?: any;
7
+ }
8
+ export type OneGetRowHeight<T = any> = (params: OneGetRowHeightParams<T>) => number | null | undefined;
9
+ export declare function resolveRowHeight<T>(params: OneGetRowHeightParams<T>, getRowHeight: OneGetRowHeight, rowHeight?: number): number;
10
+ export type OneDetailRowHeightOption = {
11
+ minRows: number;
12
+ maxRows: number;
13
+ };
14
+ /**
15
+ * Handle One Row Node Event
16
+ */
17
+ export interface OneRowNodeEventMap<T> {
18
+ rowDataChanged: {
19
+ node: OneRowNode<T>;
20
+ data: T;
21
+ previousData: T;
22
+ };
23
+ detailRowDataChanged: {
24
+ node: OneRowNode<T>;
25
+ detailRowData: any[];
26
+ previousDetailRowData: any[] | null;
27
+ };
28
+ expandedChanged: {
29
+ node: OneRowNode<T>;
30
+ expanded: boolean;
31
+ };
32
+ childrenChanged: {
33
+ node: OneRowNode<T>;
34
+ children: OneRowNode<T>[];
35
+ source: 'masterDetail' | 'treeData';
36
+ };
37
+ }
38
+ export type OneRowNodeListener<T, K extends keyof OneRowNodeEventMap<T>> = (event: OneRowNodeEventMap<T>[K]) => void;
@@ -0,0 +1,9 @@
1
+ import type { OneCellRendererParams } from "./one-column-def-types.model";
2
+ export type TreeNode<T> = {
3
+ id: string;
4
+ children?: TreeNode<T>[];
5
+ } & T;
6
+ export interface OneCellRendererComponent {
7
+ oneInit(params: OneCellRendererParams): void;
8
+ refresh(params: OneCellRendererParams): boolean;
9
+ }
@@ -0,0 +1,9 @@
1
+ export interface OneValidationResult<T> {
2
+ valid: boolean;
3
+ invalid: boolean;
4
+ errors: Record<string, string>[];
5
+ }
6
+ export type OneValidatorFn<T = any> = (value: any, row?: T) => string | null;
7
+ export type OneValidationRules<T = any> = {
8
+ [K in keyof T]?: OneValidatorFn[];
9
+ };
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { OneCellRendererParams } from '../models/one-column-def-types.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CellActionButtonEnablePipe<T> implements PipeTransform {
5
+ transform(params: OneCellRendererParams<T> | null): boolean;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellActionButtonEnablePipe<any>, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<CellActionButtonEnablePipe<any>, "cellActionButtonEnable", false>;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { OneColumnDef } from '../models/one-column-def-types.model';
3
+ import { OneRowNode } from '../instants/one-row-node.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CellActionButtonVisiblePipe implements PipeTransform {
6
+ transform(column: OneColumnDef, node: OneRowNode): boolean;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellActionButtonVisiblePipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<CellActionButtonVisiblePipe, "cellActionButtonVisible", false>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { OneRowNode } from '../instants/one-row-node.class';
3
+ import { OneColumnDef } from '../models/one-column-def-types.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CellDisableResolverPipe implements PipeTransform {
6
+ transform(node: OneRowNode, column: OneColumnDef, context: any, allowedEdit: boolean): boolean;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellDisableResolverPipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<CellDisableResolverPipe, "cellDisableResolver", false>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { OneCellStates, OneColumnDef } from '../models/one-column-def-types.model';
3
+ import { OneRowNode } from '../instants/one-row-node.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CellEditablePipe implements PipeTransform {
6
+ transform(cellStates: OneCellStates, column: OneColumnDef, node: OneRowNode, editable: (column: OneColumnDef, node: OneRowNode) => boolean, updatable: (column: OneColumnDef, node: OneRowNode) => boolean, allowedEdit: boolean): boolean;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellEditablePipe, never>;
8
+ static ɵpipe: i0.ɵɵPipeDeclaration<CellEditablePipe, "cellEditable", false>;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CellFieldValueEmptyPipe<T> implements PipeTransform {
4
+ transform(data: T, field: string): boolean;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellFieldValueEmptyPipe<any>, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<CellFieldValueEmptyPipe<any>, "cellFieldValueEmpty", false>;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CellFieldValuePipe<T = any> implements PipeTransform {
4
+ transform(data: T, field: string): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CellFieldValuePipe<any>, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<CellFieldValuePipe<any>, "cellFieldValue", false>;
7
+ }