@alaarab/ogrid-angular-primeng 2.0.6 → 2.0.8
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.
- package/dist/esm/column-header-menu/column-header-menu.component.js +23 -62
- package/dist/esm/datagrid-table/datagrid-table.component.js +206 -237
- package/dist/esm/datagrid-table/popover-cell-editor.component.js +97 -0
- package/dist/esm/index.js +1 -0
- package/dist/types/column-chooser/column-chooser.component.d.ts +5 -0
- package/dist/types/column-header-filter/column-header-filter.component.d.ts +19 -0
- package/dist/types/column-header-menu/column-header-menu.component.d.ts +9 -15
- package/dist/types/datagrid-table/datagrid-table.component.d.ts +34 -55
- package/dist/types/datagrid-table/popover-cell-editor.component.d.ts +21 -0
- package/dist/types/index.d.ts +3 -0
- package/package.json +21 -6
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Component, input, ChangeDetectionStrategy, signal, effect, viewChild, Injector, createComponent, EnvironmentInjector, inject, } from '@angular/core';
|
|
8
|
+
/**
|
|
9
|
+
* PopoverCellEditor component for Angular PrimeNG.
|
|
10
|
+
* Renders custom popover editor when anchor element is set.
|
|
11
|
+
*/
|
|
12
|
+
let PopoverCellEditorComponent = class PopoverCellEditorComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.item = input.required();
|
|
15
|
+
this.column = input.required();
|
|
16
|
+
this.rowIndex = input.required();
|
|
17
|
+
this.globalColIndex = input.required();
|
|
18
|
+
this.displayValue = input.required();
|
|
19
|
+
this.editorProps = input.required();
|
|
20
|
+
this.onCancel = input.required();
|
|
21
|
+
this.anchorRef = viewChild('anchorEl');
|
|
22
|
+
this.editorContainerRef = viewChild('editorContainer');
|
|
23
|
+
this.injector = inject(Injector);
|
|
24
|
+
this.envInjector = inject(EnvironmentInjector);
|
|
25
|
+
this.showEditor = signal(false);
|
|
26
|
+
// Show editor after anchor is rendered
|
|
27
|
+
effect(() => {
|
|
28
|
+
const anchor = this.anchorRef();
|
|
29
|
+
if (anchor) {
|
|
30
|
+
setTimeout(() => this.showEditor.set(true), 0);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
// Render custom editor component when container is available
|
|
34
|
+
effect(() => {
|
|
35
|
+
const container = this.editorContainerRef();
|
|
36
|
+
const props = this.editorProps();
|
|
37
|
+
const col = this.column();
|
|
38
|
+
if (!container || !this.showEditor() || typeof col.cellEditor !== 'function')
|
|
39
|
+
return;
|
|
40
|
+
const EditorComponent = col.cellEditor; // ComponentType
|
|
41
|
+
const componentRef = createComponent(EditorComponent, {
|
|
42
|
+
environmentInjector: this.envInjector,
|
|
43
|
+
elementInjector: this.injector,
|
|
44
|
+
});
|
|
45
|
+
// Pass props to component instance
|
|
46
|
+
Object.assign(componentRef.instance, props);
|
|
47
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
48
|
+
// Append to DOM
|
|
49
|
+
container.nativeElement.appendChild(componentRef.location.nativeElement);
|
|
50
|
+
// Cleanup on destroy
|
|
51
|
+
return () => componentRef.destroy();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
handleOverlayClick() {
|
|
55
|
+
this.onCancel()();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
PopoverCellEditorComponent = __decorate([
|
|
59
|
+
Component({
|
|
60
|
+
selector: 'ogrid-primeng-popover-cell-editor',
|
|
61
|
+
standalone: true,
|
|
62
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
63
|
+
template: `
|
|
64
|
+
<div #anchorEl
|
|
65
|
+
class="ogrid-popover-anchor"
|
|
66
|
+
[attr.data-row-index]="rowIndex()"
|
|
67
|
+
[attr.data-col-index]="globalColIndex()"
|
|
68
|
+
>
|
|
69
|
+
{{ displayValue() }}
|
|
70
|
+
</div>
|
|
71
|
+
@if (showEditor()) {
|
|
72
|
+
<div class="ogrid-popover-editor-overlay" (click)="handleOverlayClick()">
|
|
73
|
+
<div class="ogrid-popover-editor-content" #editorContainer></div>
|
|
74
|
+
</div>
|
|
75
|
+
}
|
|
76
|
+
`,
|
|
77
|
+
styles: [`
|
|
78
|
+
:host { display: contents; }
|
|
79
|
+
.ogrid-popover-anchor {
|
|
80
|
+
padding: 6px 10px; min-height: 20px; cursor: default; overflow: hidden;
|
|
81
|
+
text-overflow: ellipsis; white-space: nowrap;
|
|
82
|
+
outline: 2px solid var(--ogrid-selection, #217346); outline-offset: -2px;
|
|
83
|
+
}
|
|
84
|
+
.ogrid-popover-editor-overlay {
|
|
85
|
+
position: fixed; inset: 0; z-index: 1000;
|
|
86
|
+
background: rgba(0,0,0,0.3);
|
|
87
|
+
display: flex; align-items: center; justify-content: center;
|
|
88
|
+
}
|
|
89
|
+
.ogrid-popover-editor-content {
|
|
90
|
+
background: #fff; border-radius: 4px; padding: 16px;
|
|
91
|
+
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
|
|
92
|
+
max-width: 90vw; max-height: 90vh; overflow: auto;
|
|
93
|
+
}
|
|
94
|
+
`],
|
|
95
|
+
})
|
|
96
|
+
], PopoverCellEditorComponent);
|
|
97
|
+
export { PopoverCellEditorComponent };
|
package/dist/esm/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from '@alaarab/ogrid-angular';
|
|
|
4
4
|
export { OGridComponent } from './ogrid/ogrid.component';
|
|
5
5
|
export { DataGridTableComponent } from './datagrid-table/datagrid-table.component';
|
|
6
6
|
export { InlineCellEditorComponent } from './datagrid-table/inline-cell-editor.component';
|
|
7
|
+
export { PopoverCellEditorComponent } from './datagrid-table/popover-cell-editor.component';
|
|
7
8
|
export { ColumnHeaderFilterComponent } from './column-header-filter/column-header-filter.component';
|
|
8
9
|
export { ColumnChooserComponent } from './column-chooser/column-chooser.component';
|
|
9
10
|
export { PaginationControlsComponent } from './pagination-controls/pagination-controls.component';
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { IColumnDefinition } from '@alaarab/ogrid-angular';
|
|
2
|
+
export interface IColumnChooserProps {
|
|
3
|
+
columns: IColumnDefinition[];
|
|
4
|
+
visibleColumns: Set<string>;
|
|
5
|
+
onVisibilityChange: (columnKey: string, visible: boolean) => void;
|
|
6
|
+
}
|
|
2
7
|
export declare class ColumnChooserComponent {
|
|
3
8
|
readonly columns: import("@angular/core").InputSignal<IColumnDefinition[]>;
|
|
4
9
|
readonly visibleColumns: import("@angular/core").InputSignal<Set<string>>;
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
2
|
import type { ColumnFilterType, IDateFilterValue, UserLike } from '@alaarab/ogrid-angular';
|
|
3
|
+
export interface IColumnHeaderFilterProps {
|
|
4
|
+
columnKey: string;
|
|
5
|
+
columnName: string;
|
|
6
|
+
filterType: ColumnFilterType;
|
|
7
|
+
isSorted?: boolean;
|
|
8
|
+
isSortedDescending?: boolean;
|
|
9
|
+
onSort?: () => void;
|
|
10
|
+
selectedValues?: string[];
|
|
11
|
+
onFilterChange?: (values: string[]) => void;
|
|
12
|
+
options?: string[];
|
|
13
|
+
isLoadingOptions?: boolean;
|
|
14
|
+
textValue?: string;
|
|
15
|
+
onTextChange?: (value: string) => void;
|
|
16
|
+
selectedUser?: UserLike;
|
|
17
|
+
onUserChange?: (user: UserLike | undefined) => void;
|
|
18
|
+
peopleSearch?: (query: string) => Promise<UserLike[]>;
|
|
19
|
+
dateValue?: IDateFilterValue;
|
|
20
|
+
onDateChange?: (value: IDateFilterValue | undefined) => void;
|
|
21
|
+
}
|
|
3
22
|
export declare class ColumnHeaderFilterComponent {
|
|
4
23
|
private destroyRef;
|
|
5
24
|
readonly columnKey: import("@angular/core").InputSignal<string>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import type { Menu } from 'primeng/menu';
|
|
3
2
|
import type { MenuItem } from 'primeng/api';
|
|
4
3
|
/**
|
|
@@ -6,20 +5,15 @@ import type { MenuItem } from 'primeng/api';
|
|
|
6
5
|
* Uses PrimeNG Menu component.
|
|
7
6
|
*/
|
|
8
7
|
export declare class ColumnHeaderMenuComponent {
|
|
9
|
-
columnId: string
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
private _canPinRight;
|
|
19
|
-
private _canUnpin;
|
|
20
|
-
menuModel: MenuItem[];
|
|
21
|
-
ngOnInit(): void;
|
|
22
|
-
private updateMenuModel;
|
|
8
|
+
readonly columnId: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly canPinLeft: import("@angular/core").InputSignal<boolean>;
|
|
10
|
+
readonly canPinRight: import("@angular/core").InputSignal<boolean>;
|
|
11
|
+
readonly canUnpin: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
readonly onPinLeft: import("@angular/core").InputSignal<(() => void) | undefined>;
|
|
13
|
+
readonly onPinRight: import("@angular/core").InputSignal<(() => void) | undefined>;
|
|
14
|
+
readonly onUnpin: import("@angular/core").InputSignal<(() => void) | undefined>;
|
|
15
|
+
readonly menuRef: import("@angular/core").Signal<Menu | undefined>;
|
|
16
|
+
readonly menuModel: import("@angular/core").Signal<MenuItem[]>;
|
|
23
17
|
handlePinLeft(): void;
|
|
24
18
|
handlePinRight(): void;
|
|
25
19
|
handleUnpin(): void;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import type { IColumnDef, IColumnGroupDef, RowId
|
|
4
|
-
export declare class DataGridTableComponent<T = unknown> {
|
|
5
|
-
private readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly wrapperRef: import("@angular/core").Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
9
|
-
readonly tableContainerRef: import("@angular/core").Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
10
|
-
readonly items: import("@angular/core").InputSignal<T[]>;
|
|
2
|
+
import { BaseDataGridTableComponent } from '@alaarab/ogrid-angular';
|
|
3
|
+
import type { IOGridDataGridProps, IColumnDef, IColumnGroupDef, RowId } from '@alaarab/ogrid-angular';
|
|
4
|
+
export declare class DataGridTableComponent<T = unknown> extends BaseDataGridTableComponent<T> {
|
|
5
|
+
private readonly wrapperRef;
|
|
6
|
+
private readonly tableContainerRefEl;
|
|
7
|
+
readonly itemsInput: import("@angular/core").InputSignal<T[]>;
|
|
11
8
|
readonly columns: import("@angular/core").InputSignal<(IColumnDef<T> | IColumnGroupDef<T>)[]>;
|
|
12
|
-
readonly
|
|
9
|
+
readonly getRowIdInput: import("@angular/core").InputSignal<(item: T) => RowId>;
|
|
13
10
|
readonly sortBy: import("@angular/core").InputSignal<string | undefined>;
|
|
14
11
|
readonly sortDirection: import("@angular/core").InputSignal<"asc" | "desc">;
|
|
15
12
|
readonly onColumnSort: import("@angular/core").InputSignal<(columnKey: string) => void>;
|
|
@@ -18,14 +15,14 @@ export declare class DataGridTableComponent<T = unknown> {
|
|
|
18
15
|
readonly onColumnOrderChange: import("@angular/core").InputSignal<((order: string[]) => void) | undefined>;
|
|
19
16
|
readonly onColumnResized: import("@angular/core").InputSignal<((columnId: string, width: number) => void) | undefined>;
|
|
20
17
|
readonly onColumnPinned: import("@angular/core").InputSignal<((columnId: string, pinned: "left" | "right" | null) => void) | undefined>;
|
|
21
|
-
readonly
|
|
18
|
+
readonly pinnedColumnsInput: import("@angular/core").InputSignal<Record<string, "left" | "right"> | undefined>;
|
|
22
19
|
readonly initialColumnWidths: import("@angular/core").InputSignal<Record<string, number> | undefined>;
|
|
23
|
-
readonly
|
|
24
|
-
readonly
|
|
20
|
+
readonly freezeRowsInput: import("@angular/core").InputSignal<number | undefined>;
|
|
21
|
+
readonly freezeColsInput: import("@angular/core").InputSignal<number | undefined>;
|
|
25
22
|
readonly layoutMode: import("@angular/core").InputSignal<"fill" | "content">;
|
|
26
23
|
readonly suppressHorizontalScroll: import("@angular/core").InputSignal<boolean | undefined>;
|
|
27
|
-
readonly
|
|
28
|
-
readonly
|
|
24
|
+
readonly isLoadingInput: import("@angular/core").InputSignal<boolean>;
|
|
25
|
+
readonly loadingMessageInput: import("@angular/core").InputSignal<string>;
|
|
29
26
|
readonly editable: import("@angular/core").InputSignal<boolean | undefined>;
|
|
30
27
|
readonly cellSelection: import("@angular/core").InputSignal<boolean | undefined>;
|
|
31
28
|
readonly onCellValueChanged: import("@angular/core").InputSignal<((event: {
|
|
@@ -35,10 +32,10 @@ export declare class DataGridTableComponent<T = unknown> {
|
|
|
35
32
|
newValue: unknown;
|
|
36
33
|
rowIndex: number;
|
|
37
34
|
}) => void) | undefined>;
|
|
38
|
-
readonly
|
|
39
|
-
readonly
|
|
40
|
-
readonly
|
|
41
|
-
readonly
|
|
35
|
+
readonly onUndoInput: import("@angular/core").InputSignal<(() => void) | undefined>;
|
|
36
|
+
readonly onRedoInput: import("@angular/core").InputSignal<(() => void) | undefined>;
|
|
37
|
+
readonly canUndoInput: import("@angular/core").InputSignal<boolean | undefined>;
|
|
38
|
+
readonly canRedoInput: import("@angular/core").InputSignal<boolean | undefined>;
|
|
42
39
|
readonly rowSelectionMode: import("@angular/core").InputSignal<"none" | "single" | "multiple">;
|
|
43
40
|
readonly selectedRows: import("@angular/core").InputSignal<Set<RowId> | undefined>;
|
|
44
41
|
readonly onSelectionChange: import("@angular/core").InputSignal<((event: {
|
|
@@ -52,18 +49,18 @@ export declare class DataGridTableComponent<T = unknown> {
|
|
|
52
49
|
readonly loadingFilterOptions: import("@angular/core").InputSignal<Record<string, boolean>>;
|
|
53
50
|
readonly peopleSearch: import("@angular/core").InputSignal<((query: string) => Promise<unknown[]>) | undefined>;
|
|
54
51
|
readonly getUserByEmail: import("@angular/core").InputSignal<((email: string) => Promise<unknown>) | undefined>;
|
|
55
|
-
readonly
|
|
52
|
+
readonly emptyStateInput: import("@angular/core").InputSignal<{
|
|
56
53
|
onClearAll: () => void;
|
|
57
54
|
hasActiveFilters: boolean;
|
|
58
55
|
message?: string;
|
|
59
56
|
render?: unknown;
|
|
60
57
|
} | undefined>;
|
|
61
58
|
readonly onCellError: import("@angular/core").InputSignal<((error: Error) => void) | undefined>;
|
|
62
|
-
readonly
|
|
63
|
-
readonly
|
|
59
|
+
readonly ariaLabelInput: import("@angular/core").InputSignal<string | undefined>;
|
|
60
|
+
readonly ariaLabelledByInput: import("@angular/core").InputSignal<string | undefined>;
|
|
64
61
|
readonly showRowNumbers: import("@angular/core").InputSignal<boolean>;
|
|
65
|
-
readonly
|
|
66
|
-
readonly
|
|
62
|
+
readonly currentPageInput: import("@angular/core").InputSignal<number>;
|
|
63
|
+
readonly pageSizeInput: import("@angular/core").InputSignal<number>;
|
|
67
64
|
readonly defaultMinWidth = 80;
|
|
68
65
|
readonly statusBarClasses: {
|
|
69
66
|
statusBar: string;
|
|
@@ -71,55 +68,37 @@ export declare class DataGridTableComponent<T = unknown> {
|
|
|
71
68
|
statusBarLabel: string;
|
|
72
69
|
statusBarValue: string;
|
|
73
70
|
};
|
|
74
|
-
private readonly
|
|
71
|
+
private readonly primengColumnSizingOverrides;
|
|
75
72
|
private resizeStartX;
|
|
76
73
|
private resizeColumnId;
|
|
77
74
|
private resizeStartWidth;
|
|
78
|
-
private lastMouseShift;
|
|
79
|
-
private columnSizingVersion;
|
|
80
75
|
constructor();
|
|
81
|
-
|
|
82
|
-
|
|
76
|
+
protected getProps(): IOGridDataGridProps<T> | undefined;
|
|
77
|
+
protected getWrapperRef(): ElementRef<HTMLElement> | undefined;
|
|
78
|
+
protected getTableContainerRef(): ElementRef<HTMLElement> | undefined;
|
|
83
79
|
readonly resolvedAriaLabel: import("@angular/core").Signal<string | undefined>;
|
|
84
|
-
readonly rowNumberOffset: import("@angular/core").Signal<number>;
|
|
85
|
-
readonly headerRows: import("@angular/core").Signal<import("@alaarab/ogrid-core").HeaderRow<T>[]>;
|
|
86
|
-
readonly allowOverflowX: import("@angular/core").Signal<boolean>;
|
|
87
80
|
readonly tableWidthStyle: import("@angular/core").Signal<"100%" | "fit-content">;
|
|
88
81
|
readonly tableMinWidthStyle: import("@angular/core").Signal<"100%" | "max-content">;
|
|
89
|
-
|
|
82
|
+
getColumnWidth(col: IColumnDef<T>): number;
|
|
90
83
|
trackByRowId(_index: number, item: T): RowId;
|
|
91
|
-
getColumnWidth(col: IColumnDef<T>): number | undefined;
|
|
92
|
-
getFilterConfig(col: IColumnDef<T>): HeaderFilterConfig;
|
|
93
84
|
getCellValueFn(item: T, col: IColumnDef<T>): unknown;
|
|
94
85
|
resolveCellDisplay(col: IColumnDef<T>, item: T): string;
|
|
95
86
|
getCellStyleObj(col: IColumnDef<T>, item: T): Record<string, string> | null;
|
|
96
87
|
canEditCell(col: IColumnDef<T>, item: T): boolean;
|
|
97
88
|
isEditingCell(item: T, col: IColumnDef<T>): boolean;
|
|
89
|
+
isEditingCellInline(item: T, col: IColumnDef<T>): boolean;
|
|
90
|
+
isEditingCellPopover(item: T, col: IColumnDef<T>): boolean;
|
|
91
|
+
buildPopoverEditorPropsForPrimeng(item: T, col: IColumnDef<T>, rowIndex: number, colIdx: number): unknown;
|
|
98
92
|
getEditorType(col: IColumnDef<T>, _item: T): 'text' | 'select' | 'checkbox' | 'date' | 'richSelect';
|
|
99
93
|
isActiveCell(rowIndex: number, colIdx: number): boolean;
|
|
100
94
|
isInSelectionRange(rowIndex: number, colIdx: number): boolean;
|
|
101
95
|
isSelectionEndCell(rowIndex: number, colIdx: number): boolean;
|
|
102
96
|
getCellBackground(rowIndex: number, colIdx: number): string | null;
|
|
103
|
-
|
|
104
|
-
onGridKeyDown(e: KeyboardEvent): void;
|
|
105
|
-
onCellMouseDown(e: MouseEvent, rowIndex: number, globalColIndex: number): void;
|
|
106
|
-
onCellDblClick(item: T, col: IColumnDef<T>, rowIndex: number, colIdx: number): void;
|
|
107
|
-
onCellContextMenu(e: MouseEvent): void;
|
|
97
|
+
onCellDblClickPrimeng(item: T, col: IColumnDef<T>, _rowIndex: number, _colIdx: number): void;
|
|
108
98
|
onCellEditorCommit(item: T, col: IColumnDef<T>, rowIndex: number, colIdx: number, newValue: unknown): void;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
handlePaste(): void;
|
|
114
|
-
onHeaderMouseDown(columnId: string, event: MouseEvent): void;
|
|
115
|
-
onResizeStart(e: MouseEvent, col: IColumnDef<T>): void;
|
|
116
|
-
onPinColumn(columnId: string, side: 'left' | 'right'): void;
|
|
117
|
-
onUnpinColumn(columnId: string): void;
|
|
118
|
-
isPinned(columnId: string): 'left' | 'right' | undefined;
|
|
119
|
-
getPinState(columnId: string): {
|
|
120
|
-
canPinLeft: boolean;
|
|
121
|
-
canPinRight: boolean;
|
|
122
|
-
canUnpin: boolean;
|
|
123
|
-
};
|
|
99
|
+
onSelectAllChangePrimeng(checked: boolean): void;
|
|
100
|
+
onRowClickPrimeng(e: MouseEvent, item: T): void;
|
|
101
|
+
onRowCheckboxChangePrimeng(item: T, checked: boolean, rowIndex: number, _e: Event): void;
|
|
102
|
+
onResizeStartPrimeng(e: MouseEvent, col: IColumnDef<T>): void;
|
|
124
103
|
private buildProps;
|
|
125
104
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IColumnDef, ICellEditorProps } from '@alaarab/ogrid-core';
|
|
2
|
+
/**
|
|
3
|
+
* PopoverCellEditor component for Angular PrimeNG.
|
|
4
|
+
* Renders custom popover editor when anchor element is set.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PopoverCellEditorComponent<T> {
|
|
7
|
+
readonly item: import("@angular/core").InputSignal<T>;
|
|
8
|
+
readonly column: import("@angular/core").InputSignal<IColumnDef<T>>;
|
|
9
|
+
readonly rowIndex: import("@angular/core").InputSignal<number>;
|
|
10
|
+
readonly globalColIndex: import("@angular/core").InputSignal<number>;
|
|
11
|
+
readonly displayValue: import("@angular/core").InputSignal<unknown>;
|
|
12
|
+
readonly editorProps: import("@angular/core").InputSignal<ICellEditorProps<T>>;
|
|
13
|
+
readonly onCancel: import("@angular/core").InputSignal<() => void>;
|
|
14
|
+
private readonly anchorRef;
|
|
15
|
+
private readonly editorContainerRef;
|
|
16
|
+
private readonly injector;
|
|
17
|
+
private readonly envInjector;
|
|
18
|
+
protected readonly showEditor: import("@angular/core").WritableSignal<boolean>;
|
|
19
|
+
constructor();
|
|
20
|
+
protected handleOverlayClick(): void;
|
|
21
|
+
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2,7 +2,10 @@ export * from '@alaarab/ogrid-angular';
|
|
|
2
2
|
export { OGridComponent } from './ogrid/ogrid.component';
|
|
3
3
|
export { DataGridTableComponent } from './datagrid-table/datagrid-table.component';
|
|
4
4
|
export { InlineCellEditorComponent } from './datagrid-table/inline-cell-editor.component';
|
|
5
|
+
export { PopoverCellEditorComponent } from './datagrid-table/popover-cell-editor.component';
|
|
5
6
|
export { ColumnHeaderFilterComponent } from './column-header-filter/column-header-filter.component';
|
|
7
|
+
export type { IColumnHeaderFilterProps } from './column-header-filter/column-header-filter.component';
|
|
6
8
|
export { ColumnChooserComponent } from './column-chooser/column-chooser.component';
|
|
9
|
+
export type { IColumnChooserProps } from './column-chooser/column-chooser.component';
|
|
7
10
|
export { PaginationControlsComponent } from './pagination-controls/pagination-controls.component';
|
|
8
11
|
export { ColumnHeaderMenuComponent } from './column-header-menu/column-header-menu.component';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alaarab/ogrid-angular-primeng",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"description": "OGrid PrimeNG – PrimeNG Table-based data grid with sorting, filtering, pagination, column chooser, and CSV export.",
|
|
5
5
|
"main": "dist/esm/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -16,13 +16,26 @@
|
|
|
16
16
|
"build": "rimraf dist && tsc -p tsconfig.build.json",
|
|
17
17
|
"test": "jest --passWithNoTests"
|
|
18
18
|
},
|
|
19
|
-
"keywords": [
|
|
19
|
+
"keywords": [
|
|
20
|
+
"ogrid",
|
|
21
|
+
"angular",
|
|
22
|
+
"primeng",
|
|
23
|
+
"datatable",
|
|
24
|
+
"typescript",
|
|
25
|
+
"grid"
|
|
26
|
+
],
|
|
20
27
|
"author": "Ala Arab",
|
|
21
28
|
"license": "MIT",
|
|
22
|
-
"files": [
|
|
23
|
-
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"README.md",
|
|
32
|
+
"LICENSE"
|
|
33
|
+
],
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18"
|
|
36
|
+
},
|
|
24
37
|
"dependencies": {
|
|
25
|
-
"@alaarab/ogrid-angular": "2.0.
|
|
38
|
+
"@alaarab/ogrid-angular": "2.0.7"
|
|
26
39
|
},
|
|
27
40
|
"peerDependencies": {
|
|
28
41
|
"@angular/core": "^21.0.0",
|
|
@@ -42,5 +55,7 @@
|
|
|
42
55
|
"typescript": "^5.9.3"
|
|
43
56
|
},
|
|
44
57
|
"sideEffects": false,
|
|
45
|
-
"publishConfig": {
|
|
58
|
+
"publishConfig": {
|
|
59
|
+
"access": "public"
|
|
60
|
+
}
|
|
46
61
|
}
|