@den4ik92/ng2-smart-table 19.0.3 → 19.0.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.
- package/README.md +167 -0
- package/fesm2022/den4ik92-ng2-smart-table.mjs +320 -88
- package/fesm2022/den4ik92-ng2-smart-table.mjs.map +1 -1
- package/lib/components/table-columns-editor/column-editor.directive.d.ts +18 -0
- package/lib/components/table-columns-editor/table-columns-editor.component.d.ts +19 -0
- package/lib/lib/grid.d.ts +14 -4
- package/lib/lib/helpers.d.ts +4 -1
- package/lib/lib/interfaces/smart-table.models.d.ts +16 -12
- package/lib/ng2-smart-table.component.d.ts +5 -6
- package/package.json +3 -2
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OverlayRef } from "@angular/cdk/overlay";
|
|
2
|
+
import { OnDestroy } from "@angular/core";
|
|
3
|
+
import { Ng2SmartTableComponent } from "ng2-smart-table";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SmartTableColumnEditorDirective implements OnDestroy {
|
|
6
|
+
tableComponent: import("@angular/core").InputSignal<Ng2SmartTableComponent>;
|
|
7
|
+
private readonly grid;
|
|
8
|
+
private readonly overlay;
|
|
9
|
+
private readonly elementRef;
|
|
10
|
+
protected overlayRef?: OverlayRef;
|
|
11
|
+
ngOnDestroy(): void;
|
|
12
|
+
protected showDropdown(): void;
|
|
13
|
+
hide(): void;
|
|
14
|
+
buttonClick(): void;
|
|
15
|
+
private getOverlayConfig;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SmartTableColumnEditorDirective, never>;
|
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SmartTableColumnEditorDirective, "[smartTableColumnEditor]", never, { "tableComponent": { "alias": "tableComponent"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CdkDragDrop } from "@angular/cdk/drag-drop";
|
|
2
|
+
import { ColumnSortState } from "ng2-smart-table";
|
|
3
|
+
import { Grid } from "../../lib/grid";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class TableColumnsEditorComponent {
|
|
6
|
+
protected infoText: string;
|
|
7
|
+
grid: import("@angular/core").InputSignal<Grid>;
|
|
8
|
+
close: import("@angular/core").InputSignal<() => void>;
|
|
9
|
+
protected currentState: ColumnSortState[];
|
|
10
|
+
stateHasChanged: import("@angular/core").WritableSignal<boolean>;
|
|
11
|
+
constructor();
|
|
12
|
+
resetChanges(): void;
|
|
13
|
+
drop(event: CdkDragDrop<ColumnSortState[]>): void;
|
|
14
|
+
setVisibility(index: number): void;
|
|
15
|
+
setAndUpdate(): void;
|
|
16
|
+
private updateChangedState;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnsEditorComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableColumnsEditorComponent, "ngx-table-columns-editor", never, { "grid": { "alias": "grid"; "required": true; "isSignal": true; }; "close": { "alias": "close"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
package/lib/lib/grid.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { LocalDataSource } from "./data-source/local/local.data-source";
|
|
|
4
4
|
import { Column } from "./data-set/column";
|
|
5
5
|
import { DataSet } from "./data-set/data-set";
|
|
6
6
|
import { Row } from "./data-set/row";
|
|
7
|
-
import { SmartTableSettings, SmartTableSortItem } from "./interfaces/smart-table.models";
|
|
7
|
+
import { ColumnSortState, SmartTableSettings, SmartTableSortItem } from "./interfaces/smart-table.models";
|
|
8
8
|
export declare class Grid {
|
|
9
9
|
createFormShown: boolean;
|
|
10
10
|
source: LocalDataSource;
|
|
@@ -12,9 +12,12 @@ export declare class Grid {
|
|
|
12
12
|
dataSet: DataSet;
|
|
13
13
|
onSelectRowSource: Subject<any>;
|
|
14
14
|
onDeselectRowSource: Subject<any>;
|
|
15
|
+
currentColumnsSortState: ColumnSortState[];
|
|
16
|
+
private columnsSortedEmitter;
|
|
15
17
|
private sourceOnChangedSubscription;
|
|
16
18
|
private sourceOnUpdatedSubscription;
|
|
17
19
|
constructor(source: LocalDataSource, settings: SmartTableSettings);
|
|
20
|
+
setColumnsSortedEmitter(emitter: OutputEmitterRef<ColumnSortState[]>): void;
|
|
18
21
|
detach(): void;
|
|
19
22
|
showActionColumn(position: string): boolean;
|
|
20
23
|
isCurrentActionsPosition(position: string): boolean;
|
|
@@ -22,11 +25,12 @@ export declare class Grid {
|
|
|
22
25
|
isMultiSelectVisible(): boolean;
|
|
23
26
|
getNewRow(): Row;
|
|
24
27
|
setSettings(settings: SmartTableSettings): void;
|
|
28
|
+
private updateSettingsAndDataSet;
|
|
25
29
|
getDataSet(): DataSet;
|
|
26
30
|
setSource(source: LocalDataSource): void;
|
|
27
31
|
getSetting<T>(name: string, defaultValue?: any): T;
|
|
28
|
-
getColumns():
|
|
29
|
-
getRows():
|
|
32
|
+
getColumns(): Column[];
|
|
33
|
+
getRows(): Row[];
|
|
30
34
|
selectRow(row: Row, state: boolean): void;
|
|
31
35
|
multipleSelectRow(row: Row): void;
|
|
32
36
|
onSelectRow(): Observable<any>;
|
|
@@ -39,8 +43,14 @@ export declare class Grid {
|
|
|
39
43
|
shouldProcessChange(changes: any): boolean;
|
|
40
44
|
prepareSource(source: LocalDataSource): LocalDataSource;
|
|
41
45
|
getInitialSort(): SmartTableSortItem | false;
|
|
42
|
-
getSelectedRowsData():
|
|
46
|
+
getSelectedRowsData(): any[];
|
|
43
47
|
selectAllRows(status: boolean): void;
|
|
44
48
|
getFirstRow(): Row;
|
|
45
49
|
getLastRow(): Row;
|
|
50
|
+
private getSortedTableColumns;
|
|
51
|
+
applyColumnsSortState(state: ColumnSortState[], emitEvent?: boolean): Promise<void>;
|
|
52
|
+
private setColumnsSortState;
|
|
53
|
+
private getColumnsStateFromSettings;
|
|
54
|
+
private getMergedColumnStates;
|
|
55
|
+
private get columnStateStorageKey();
|
|
46
56
|
}
|
package/lib/lib/helpers.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* object as first argument, like this:
|
|
8
8
|
* deepExtend({}, yourObj_1, [yourObj_N]);
|
|
9
9
|
*/
|
|
10
|
-
export declare const deepExtend: (...objects:
|
|
10
|
+
export declare const deepExtend: (...objects: any[]) => any;
|
|
11
11
|
export declare class Deferred<T> {
|
|
12
12
|
promise: Promise<T>;
|
|
13
13
|
resolve: (value?: T) => void;
|
|
@@ -16,3 +16,6 @@ export declare class Deferred<T> {
|
|
|
16
16
|
}
|
|
17
17
|
export declare function getDeepFromObject(object: {} | undefined, name: string, defaultValue?: any): any;
|
|
18
18
|
export declare function getPageForRowIndex(index: number, perPage: number): number;
|
|
19
|
+
export declare function cloneArrayOfObject<T>(array: T[]): T[];
|
|
20
|
+
export declare function setLocalStorage(key: string, value: string | object | boolean): void;
|
|
21
|
+
export declare function getLocalStorage<T = string>(key: string): T | null;
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { LocalDataSource } from "../data-source/local/local.data-source";
|
|
2
2
|
import { Deferred } from "../helpers";
|
|
3
|
-
|
|
3
|
+
interface SelectOption {
|
|
4
4
|
title: string;
|
|
5
5
|
value: any;
|
|
6
6
|
}
|
|
7
|
-
interface
|
|
8
|
-
|
|
7
|
+
export interface ColumnSortState {
|
|
8
|
+
key: string;
|
|
9
|
+
title: string;
|
|
10
|
+
hide: boolean;
|
|
11
|
+
sortDisabled: boolean;
|
|
9
12
|
}
|
|
10
|
-
export interface SmartTableSettings<T extends
|
|
13
|
+
export interface SmartTableSettings<T extends Record<string, any> = any> {
|
|
11
14
|
mode?: 'inline' | 'external' | 'click-to-edit';
|
|
12
15
|
selectMode?: 'single' | 'multi';
|
|
16
|
+
columnSortStorageKey?: string;
|
|
17
|
+
withColumnSort?: boolean;
|
|
13
18
|
selectedRowIndex?: number;
|
|
14
19
|
switchPageToSelectedRowPage?: boolean;
|
|
15
20
|
hideHeader?: boolean;
|
|
@@ -60,14 +65,15 @@ export interface SmartTableCustomAction {
|
|
|
60
65
|
title: string;
|
|
61
66
|
}
|
|
62
67
|
export type SmartTableColumnSettingsTypes = 'text' | 'html' | 'custom';
|
|
63
|
-
export type SmartTableColumnSettings<T = any> = SmartTableTextHtmlColumn<T> | SmartTableCustomColumn<T>;
|
|
64
|
-
interface SmartTableDefaultColumn<T
|
|
68
|
+
export type SmartTableColumnSettings<T extends Record<string, any> = any> = SmartTableTextHtmlColumn<T> | SmartTableCustomColumn<T>;
|
|
69
|
+
interface SmartTableDefaultColumn<T extends Record<string, any>> {
|
|
65
70
|
key: keyof T;
|
|
66
71
|
title: string;
|
|
67
72
|
width?: string;
|
|
68
73
|
class?: string;
|
|
69
74
|
editable?: boolean;
|
|
70
75
|
hide?: boolean;
|
|
76
|
+
sortDisabled?: boolean;
|
|
71
77
|
sort?: boolean;
|
|
72
78
|
addable?: boolean;
|
|
73
79
|
sortDirection?: SmartTableSortDirection | false;
|
|
@@ -77,10 +83,10 @@ interface SmartTableDefaultColumn<T> {
|
|
|
77
83
|
valuePrepareFunction?: (columnData: any, rowData: T) => any;
|
|
78
84
|
filterFunction?: (columnData: any, search: string) => boolean;
|
|
79
85
|
}
|
|
80
|
-
interface SmartTableTextHtmlColumn<T
|
|
86
|
+
interface SmartTableTextHtmlColumn<T extends Record<string, any>> extends SmartTableDefaultColumn<T> {
|
|
81
87
|
type: 'text' | 'html';
|
|
82
88
|
}
|
|
83
|
-
interface SmartTableCustomColumn<T
|
|
89
|
+
interface SmartTableCustomColumn<T extends Record<string, any>> extends SmartTableDefaultColumn<T> {
|
|
84
90
|
type: 'custom';
|
|
85
91
|
renderComponent: any;
|
|
86
92
|
}
|
|
@@ -151,9 +157,7 @@ export interface SmartTableConfirmEditEvent<T = any, N = T> extends SmartTableDe
|
|
|
151
157
|
export interface SmartTableCreateConfirm<T = any> extends Omit<SmartTableDefaultEvent<T>, "data"> {
|
|
152
158
|
newData: T;
|
|
153
159
|
}
|
|
154
|
-
export
|
|
155
|
-
[key: string]: string;
|
|
156
|
-
}
|
|
160
|
+
export type ObjectStringString = Record<string, string>;
|
|
157
161
|
export declare enum SmartTableOnChangedEventName {
|
|
158
162
|
'load' = "load",
|
|
159
163
|
'paging' = "paging",
|
|
@@ -169,7 +173,7 @@ export declare enum SmartTableOnChangedEventName {
|
|
|
169
173
|
'refresh' = "refresh"
|
|
170
174
|
}
|
|
171
175
|
export type SmartTableOnChangedEventType = 'load' | 'prepend' | 'append' | 'update' | 'empty' | 'paging' | 'page' | 'filter' | 'sort' | 'add' | 'remove' | 'refresh';
|
|
172
|
-
export interface SmartTableOnChangedEvent<T extends
|
|
176
|
+
export interface SmartTableOnChangedEvent<T extends Record<string, any> = any> {
|
|
173
177
|
action: SmartTableOnChangedEventType;
|
|
174
178
|
elements: T[];
|
|
175
179
|
filter: SmartTableFilterConf;
|
|
@@ -2,13 +2,14 @@ import { OnChanges, SimpleChange } from "@angular/core";
|
|
|
2
2
|
import { Row } from "./lib/data-set/row";
|
|
3
3
|
import { LocalDataSource } from "./lib/data-source/local/local.data-source";
|
|
4
4
|
import { Grid } from "./lib/grid";
|
|
5
|
-
import { SmartTableConfirmDeleteEvent, SmartTableConfirmEditEvent, SmartTableCreateConfirm, SmartTableCustomEvent, SmartTableRowClickedEvent, SmartTableRowSelectEvent, SmartTableSettings } from "./lib/interfaces/smart-table.models";
|
|
5
|
+
import { ColumnSortState, SmartTableConfirmDeleteEvent, SmartTableConfirmEditEvent, SmartTableCreateConfirm, SmartTableCustomEvent, SmartTableRowClickedEvent, SmartTableRowSelectEvent, SmartTableSettings } from "./lib/interfaces/smart-table.models";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class Ng2SmartTableComponent implements OnChanges {
|
|
8
8
|
source: LocalDataSource;
|
|
9
9
|
settings: SmartTableSettings;
|
|
10
10
|
readonly multiRowSelect: import("@angular/core").OutputEmitterRef<SmartTableRowSelectEvent<any>>;
|
|
11
11
|
readonly rowClicked: import("@angular/core").OutputEmitterRef<SmartTableRowClickedEvent>;
|
|
12
|
+
readonly columnsSorted: import("@angular/core").OutputEmitterRef<ColumnSortState[]>;
|
|
12
13
|
readonly delete: import("@angular/core").OutputEmitterRef<any>;
|
|
13
14
|
readonly edit: import("@angular/core").OutputEmitterRef<any>;
|
|
14
15
|
readonly editCancel: import("@angular/core").OutputEmitterRef<any>;
|
|
@@ -24,12 +25,10 @@ export declare class Ng2SmartTableComponent implements OnChanges {
|
|
|
24
25
|
isHideHeader: boolean;
|
|
25
26
|
isHideSubHeader: boolean;
|
|
26
27
|
isPagerDisplay: boolean;
|
|
27
|
-
rowClassFunction:
|
|
28
|
+
rowClassFunction: () => string;
|
|
28
29
|
grid: Grid;
|
|
29
30
|
defaultSettings: SmartTableSettings;
|
|
30
|
-
ngOnChanges(changes:
|
|
31
|
-
[propertyName: string]: SimpleChange;
|
|
32
|
-
}): void;
|
|
31
|
+
ngOnChanges(changes: Record<string, SimpleChange>): void;
|
|
33
32
|
protected multipleSelectRow(row: Row): void;
|
|
34
33
|
protected onSelectAllRows(): void;
|
|
35
34
|
protected onSelectRow(row: Row, state: boolean): void;
|
|
@@ -39,5 +38,5 @@ export declare class Ng2SmartTableComponent implements OnChanges {
|
|
|
39
38
|
private prepareSettings;
|
|
40
39
|
private emitUserSelectRow;
|
|
41
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<Ng2SmartTableComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Ng2SmartTableComponent, "ng2-smart-table", never, { "source": { "alias": "source"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, { "multiRowSelect": "multiRowSelect"; "rowClicked": "rowClicked"; "delete": "delete"; "edit": "edit"; "editCancel": "editCancel"; "create": "create"; "custom": "custom"; "deleteConfirm": "deleteConfirm"; "editConfirm": "editConfirm"; "createConfirm": "createConfirm"; "rowHover": "rowHover"; }, never, never, true, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Ng2SmartTableComponent, "ng2-smart-table", never, { "source": { "alias": "source"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, { "multiRowSelect": "multiRowSelect"; "rowClicked": "rowClicked"; "columnsSorted": "columnsSorted"; "delete": "delete"; "edit": "edit"; "editCancel": "editCancel"; "create": "create"; "custom": "custom"; "deleteConfirm": "deleteConfirm"; "editConfirm": "editConfirm"; "createConfirm": "createConfirm"; "rowHover": "rowHover"; }, never, never, true, never>;
|
|
43
42
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@den4ik92/ng2-smart-table",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.5",
|
|
4
4
|
"description": "Angular Smart Table",
|
|
5
5
|
"author": "Den4ik92",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"peerDependencies": {
|
|
11
11
|
"@angular/common": "^19.0.3",
|
|
12
12
|
"@angular/core": "^19.0.3",
|
|
13
|
-
"@angular/forms": "^19.0.3"
|
|
13
|
+
"@angular/forms": "^19.0.3",
|
|
14
|
+
"@angular/cdk": "^19.0.3"
|
|
14
15
|
},
|
|
15
16
|
"module": "fesm2022/den4ik92-ng2-smart-table.mjs",
|
|
16
17
|
"typings": "index.d.ts",
|
package/public-api.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { DefaultEditor, Editor } from "./lib/components/cell/cell-editors/default-editor";
|
|
2
2
|
export { ViewCell } from "./lib/components/cell/cell-view-mode/view-cell";
|
|
3
3
|
export { DefaultFilter, Filter } from "./lib/components/filter/filter-types/default-filter";
|
|
4
|
+
export { SmartTableColumnEditorDirective } from "./lib/components/table-columns-editor/column-editor.directive";
|
|
4
5
|
export { Cell } from "./lib/lib/data-set/cell";
|
|
5
6
|
export { Column } from "./lib/lib/data-set/column";
|
|
6
7
|
export { Row } from "./lib/lib/data-set/row";
|