@den4ik92/ng2-smart-table 1.0.6 → 1.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.
Files changed (59) hide show
  1. package/esm2020/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +15 -22
  2. package/esm2020/lib/components/cell/cell-edit-mode/default-edit.component.mjs +7 -67
  3. package/esm2020/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +15 -15
  4. package/esm2020/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +29 -43
  5. package/esm2020/lib/components/cell/cell-editors/checkbox-editor.component.mjs +16 -14
  6. package/esm2020/lib/components/cell/cell-editors/completer-editor.component.mjs +18 -10
  7. package/esm2020/lib/components/cell/cell-editors/default-editor.mjs +19 -19
  8. package/esm2020/lib/components/cell/cell-editors/input-editor.component.mjs +17 -13
  9. package/esm2020/lib/components/cell/cell-editors/select-editor.component.mjs +24 -31
  10. package/esm2020/lib/components/cell/cell-editors/textarea-editor.component.mjs +18 -14
  11. package/esm2020/lib/components/cell/cell-view-mode/custom-view.component.mjs +17 -24
  12. package/esm2020/lib/components/cell/cell-view-mode/view-cell.component.mjs +19 -46
  13. package/esm2020/lib/components/cell/cell.component.mjs +36 -52
  14. package/esm2020/lib/components/cell/cell.module.mjs +21 -22
  15. package/esm2020/lib/components/filter/custom-filter.component.mjs +15 -24
  16. package/esm2020/lib/components/filter/default-filter.component.mjs +39 -63
  17. package/esm2020/lib/components/filter/filter-default.mjs +17 -17
  18. package/esm2020/lib/components/filter/filter-types/checkbox-filter.component.mjs +14 -29
  19. package/esm2020/lib/components/filter/filter-types/completer-filter.component.mjs +19 -10
  20. package/esm2020/lib/components/filter/filter-types/default-filter.mjs +17 -17
  21. package/esm2020/lib/components/filter/filter-types/input-filter.component.mjs +17 -15
  22. package/esm2020/lib/components/filter/filter-types/select-filter.component.mjs +24 -43
  23. package/esm2020/lib/components/filter/filter.component.mjs +24 -40
  24. package/esm2020/lib/components/filter/filter.module.mjs +23 -24
  25. package/esm2020/lib/components/pager/pager.component.mjs +66 -132
  26. package/esm2020/lib/components/pager/pager.module.mjs +20 -21
  27. package/esm2020/lib/components/tbody/cells/create-cancel.component.mjs +23 -29
  28. package/esm2020/lib/components/tbody/cells/custom.component.mjs +24 -32
  29. package/esm2020/lib/components/tbody/cells/edit-delete.component.mjs +32 -52
  30. package/esm2020/lib/components/tbody/tbody.component.mjs +43 -167
  31. package/esm2020/lib/components/tbody/tbody.module.mjs +23 -24
  32. package/esm2020/lib/components/thead/cells/actions-title.component.mjs +14 -20
  33. package/esm2020/lib/components/thead/cells/actions.component.mjs +21 -25
  34. package/esm2020/lib/components/thead/cells/add-button.component.mjs +19 -30
  35. package/esm2020/lib/components/thead/cells/checkbox-select-all.component.mjs +16 -19
  36. package/esm2020/lib/components/thead/cells/column-title.component.mjs +20 -23
  37. package/esm2020/lib/components/thead/cells/title/title.component.mjs +21 -41
  38. package/esm2020/lib/components/thead/rows/thead-filters-row.component.mjs +36 -65
  39. package/esm2020/lib/components/thead/rows/thead-form-row.component.mjs +37 -66
  40. package/esm2020/lib/components/thead/rows/thead-titles-row.component.mjs +32 -67
  41. package/esm2020/lib/components/thead/thead.component.mjs +21 -56
  42. package/esm2020/lib/components/thead/thead.module.mjs +25 -26
  43. package/esm2020/lib/lib/data-source/data-source.mjs +22 -21
  44. package/esm2020/lib/lib/data-source/local/local.data-source.mjs +20 -17
  45. package/esm2020/lib/lib/data-source/local/local.filter.mjs +1 -1
  46. package/esm2020/lib/lib/interfaces/smart-table.models.mjs +16 -2
  47. package/esm2020/lib/ng2-smart-table.component.mjs +33 -66
  48. package/esm2020/lib/ng2-smart-table.module.mjs +27 -28
  49. package/fesm2015/den4ik92-ng2-smart-table.mjs +651 -1642
  50. package/fesm2015/den4ik92-ng2-smart-table.mjs.map +1 -1
  51. package/fesm2020/den4ik92-ng2-smart-table.mjs +1065 -1676
  52. package/fesm2020/den4ik92-ng2-smart-table.mjs.map +1 -1
  53. package/lib/components/tbody/tbody.component.d.ts +2 -2
  54. package/lib/lib/data-source/data-source.d.ts +20 -19
  55. package/lib/lib/data-source/local/local.data-source.d.ts +29 -28
  56. package/lib/lib/data-source/local/local.filter.d.ts +1 -1
  57. package/lib/lib/interfaces/smart-table.models.d.ts +40 -3
  58. package/lib/ng2-smart-table.component.d.ts +1 -2
  59. package/package.json +1 -1
@@ -20,7 +20,6 @@ export declare class Ng2SmartTableTbodyComponent {
20
20
  userClickedRow: EventEmitter<any>;
21
21
  editRowSelect: EventEmitter<any>;
22
22
  multipleSelectRow: EventEmitter<any>;
23
- rowHover: EventEmitter<any>;
24
23
  isMultiSelectVisible: boolean;
25
24
  showActionColumnLeft: boolean;
26
25
  showActionColumnRight: boolean;
@@ -33,6 +32,7 @@ export declare class Ng2SmartTableTbodyComponent {
33
32
  get tableColumnsCount(): number;
34
33
  ngOnChanges(): void;
35
34
  getVisibleCells(cells: Array<Cell>): Array<Cell>;
35
+ protected trackByIdOrIndex(index: any, item: any): string | number;
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<Ng2SmartTableTbodyComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<Ng2SmartTableTbodyComponent, "[ng2-st-tbody]", never, { "grid": "grid"; "source": "source"; "deleteConfirm": "deleteConfirm"; "editConfirm": "editConfirm"; "rowClassFunction": "rowClassFunction"; }, { "save": "save"; "cancel": "cancel"; "edit": "edit"; "editCancel": "editCancel"; "delete": "delete"; "custom": "custom"; "edited": "edited"; "userSelectRow": "userSelectRow"; "userClickedRow": "userClickedRow"; "editRowSelect": "editRowSelect"; "multipleSelectRow": "multipleSelectRow"; "rowHover": "rowHover"; }, never, never, false, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<Ng2SmartTableTbodyComponent, "[ng2-st-tbody]", never, { "grid": "grid"; "source": "source"; "deleteConfirm": "deleteConfirm"; "editConfirm": "editConfirm"; "rowClassFunction": "rowClassFunction"; }, { "save": "save"; "cancel": "cancel"; "edit": "edit"; "editCancel": "editCancel"; "delete": "delete"; "custom": "custom"; "edited": "edited"; "userSelectRow": "userSelectRow"; "userClickedRow": "userClickedRow"; "editRowSelect": "editRowSelect"; "multipleSelectRow": "multipleSelectRow"; }, never, never, false, never>;
38
38
  }
@@ -1,35 +1,36 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { Observable } from 'rxjs';
3
- export declare abstract class DataSource {
4
- protected onChangedSource: Subject<any>;
3
+ import { SmartTableFilterConf, SmartTableOnChangedEvent, SmartTableOnChangedEventType, SmartTablePagingItem, SmartTableSortItem } from '../interfaces/smart-table.models';
4
+ export declare abstract class DataSource<T = any> {
5
+ protected onChangedSource: Subject<SmartTableOnChangedEvent<any>>;
5
6
  protected onAddedSource: Subject<any>;
6
7
  protected onUpdatedSource: Subject<any>;
7
8
  protected onRemovedSource: Subject<any>;
8
- abstract getAll(): Promise<any>;
9
- abstract getElements(): Promise<any>;
10
- abstract getSort(): any;
11
- abstract getFilter(): any;
12
- abstract getPaging(): any;
9
+ abstract getAll(): Promise<T[]>;
10
+ abstract getElements(): Promise<T[]>;
11
+ abstract getSort(): SmartTableSortItem[];
12
+ abstract getFilter(): SmartTableFilterConf;
13
+ abstract getPaging(): SmartTablePagingItem;
13
14
  abstract count(): number;
14
15
  refresh(): void;
15
- load(data: Array<any>): Promise<any>;
16
- onChanged(): Observable<any>;
16
+ load<T>(data: Array<T>): Promise<true>;
17
+ onChanged(): Observable<SmartTableOnChangedEvent>;
17
18
  onAdded(): Observable<any>;
18
19
  onUpdated(): Observable<any>;
19
20
  onRemoved(): Observable<any>;
20
- prepend(element: any): Promise<any>;
21
- append(element: any): Promise<any>;
22
- add(element: any): Promise<any>;
23
- remove(element: any): Promise<any>;
24
- update(element: any, values: any): Promise<any>;
25
- empty(): Promise<any>;
21
+ prepend(element: T): Promise<true>;
22
+ append(element: T): Promise<true>;
23
+ add(element: T): Promise<true>;
24
+ remove(element: T): Promise<true>;
25
+ update(element: T, values: any): Promise<true>;
26
+ empty(): Promise<true>;
26
27
  setSort(conf: Array<any>, doEmit?: boolean): void;
27
28
  setFilter(conf: Array<any>, andOperator?: boolean, doEmit?: boolean): void;
28
29
  addFilter(fieldConf: {}, andOperator?: boolean, doEmit?: boolean): void;
29
30
  setPaging(page: number, perPage: number, doEmit?: boolean): void;
30
31
  setPage(page: number, doEmit?: boolean): void;
31
- protected emitOnRemoved(element: any): void;
32
- protected emitOnUpdated(element: any): void;
33
- protected emitOnAdded(element: any): void;
34
- protected emitOnChanged(action: string): void;
32
+ protected emitOnRemoved(element: T): void;
33
+ protected emitOnUpdated(element: T): void;
34
+ protected emitOnAdded(element: T): void;
35
+ protected emitOnChanged(action: SmartTableOnChangedEventType): void;
35
36
  }
@@ -1,23 +1,24 @@
1
1
  import { DataSource } from '../data-source';
2
- export declare class LocalDataSource extends DataSource {
3
- protected data: Array<any>;
4
- protected filteredAndSorted: Array<any>;
5
- protected sortConf: Array<any>;
6
- protected filterConf: any;
7
- protected pagingConf: any;
8
- constructor(data?: Array<any>);
9
- load(data: Array<any>): Promise<any>;
10
- prepend(element: any): Promise<any>;
11
- append(element: any): Promise<any>;
12
- add(element: any): Promise<any>;
13
- remove(element: any): Promise<any>;
14
- update(element: any, values: any): Promise<any>;
15
- find(element: any): Promise<any>;
16
- getElements(): Promise<any>;
17
- getFilteredAndSorted(): Promise<any>;
18
- getAll(): Promise<any>;
2
+ import { SmartTableFilterConf, SmartTableFilterItem, SmartTablePagingItem, SmartTableSortItem } from '../../interfaces/smart-table.models';
3
+ export declare class LocalDataSource<T = any> extends DataSource<T> {
4
+ protected data: T[];
5
+ protected filteredAndSorted: T[];
6
+ protected sortConf: SmartTableSortItem[];
7
+ protected filterConf: SmartTableFilterConf;
8
+ protected pagingConf: SmartTablePagingItem;
9
+ constructor(data?: T[]);
10
+ load(data: any): Promise<true>;
11
+ prepend(element: T): Promise<true>;
12
+ append(element: T): Promise<true>;
13
+ add(element: T): Promise<true>;
14
+ remove(element: T): Promise<true>;
15
+ update(element: T, values: T): Promise<true>;
16
+ find(element: T): Promise<T>;
17
+ getElements(): Promise<T[]>;
18
+ getFilteredAndSorted(): Promise<T[]>;
19
+ getAll(): Promise<T[]>;
19
20
  reset(silent?: boolean): void;
20
- empty(): Promise<any>;
21
+ empty(): Promise<true>;
21
22
  count(): number;
22
23
  /**
23
24
  *
@@ -29,7 +30,7 @@ export declare class LocalDataSource extends DataSource {
29
30
  * @param doEmit
30
31
  * @returns {LocalDataSource}
31
32
  */
32
- setSort(conf: Array<any>, doEmit?: boolean): LocalDataSource;
33
+ setSort(conf: SmartTableSortItem[], doEmit?: boolean): LocalDataSource;
33
34
  /**
34
35
  *
35
36
  * Array of conf objects
@@ -41,15 +42,15 @@ export declare class LocalDataSource extends DataSource {
41
42
  * @param doEmit
42
43
  * @returns {LocalDataSource}
43
44
  */
44
- setFilter(conf: Array<any>, andOperator?: boolean, doEmit?: boolean): LocalDataSource;
45
- addFilter(fieldConf: any, andOperator?: boolean, doEmit?: boolean): LocalDataSource;
45
+ setFilter(conf: SmartTableFilterItem[], andOperator?: boolean, doEmit?: boolean): LocalDataSource;
46
+ addFilter(fieldConf: SmartTableFilterItem, andOperator?: boolean, doEmit?: boolean): LocalDataSource;
46
47
  setPaging(page: number, perPage: number, doEmit?: boolean): LocalDataSource;
47
48
  setPage(page: number, doEmit?: boolean): LocalDataSource;
48
- getSort(): any;
49
- getFilter(): any;
50
- getPaging(): any;
51
- protected prepareData(data: Array<any>): Array<any>;
52
- protected sort(data: Array<any>): Array<any>;
53
- protected filter(data: Array<any>): Array<any>;
54
- protected paginate(data: Array<any>): Array<any>;
49
+ getSort(): SmartTableSortItem[];
50
+ getFilter(): SmartTableFilterConf;
51
+ getPaging(): SmartTablePagingItem;
52
+ protected prepareData(data: T[]): T[];
53
+ protected sort(data: T[]): T[];
54
+ protected filter(data: T[]): T[];
55
+ protected paginate(data: T[]): T[];
55
56
  }
@@ -1,4 +1,4 @@
1
1
  export declare function filterValues(value: string, search: string): boolean;
2
2
  export declare class LocalFilter {
3
- static filter(data: Array<any>, field: string, search: string, customFilter?: Function): Array<any>;
3
+ static filter(data: any[], field: string, search: string, customFilter?: Function): any[];
4
4
  }
@@ -74,7 +74,7 @@ interface SmartTableDefaultColumn<T> {
74
74
  hide?: boolean;
75
75
  sort?: boolean;
76
76
  addable?: boolean;
77
- sortDirection?: 'desc' | 'asc' | false;
77
+ sortDirection?: SmartTableSortDirection | false;
78
78
  editor?: SmartTableEditorAndFilter;
79
79
  filter?: SmartTableEditorAndFilter | false;
80
80
  compareFunction?: (itemA: T, itemB: T) => number;
@@ -125,6 +125,17 @@ export interface SmartTableEditorCheckbox {
125
125
  export interface SmartTableFilterItem {
126
126
  field: string;
127
127
  search: string;
128
+ filter?: any;
129
+ }
130
+ export interface SmartTablePagingItem {
131
+ page: number;
132
+ perPage: number;
133
+ }
134
+ export type SmartTableSortDirection = 'asc' | 'desc';
135
+ export interface SmartTableSortItem {
136
+ field: string;
137
+ direction: SmartTableSortDirection;
138
+ compare?: any;
128
139
  }
129
140
  interface SmartTableDefaultEvent<T> {
130
141
  confirm: Deferred;
@@ -140,8 +151,8 @@ export interface SmartTableRowSelectEvent<T = any> extends Omit<SmartTableDefaul
140
151
  isSelected: boolean;
141
152
  selected: T[];
142
153
  }
143
- export interface SmartTableConfirmEditEvent<T = any> extends SmartTableDefaultEvent<T> {
144
- newData: T;
154
+ export interface SmartTableConfirmEditEvent<T = any, N = T> extends SmartTableDefaultEvent<T> {
155
+ newData: N;
145
156
  }
146
157
  export interface SmartTableCreateConfirm<T = any> extends Omit<SmartTableDefaultEvent<T>, "data"> {
147
158
  newData: T;
@@ -149,4 +160,30 @@ export interface SmartTableCreateConfirm<T = any> extends Omit<SmartTableDefault
149
160
  export interface ObjectStringString {
150
161
  [key: string]: string;
151
162
  }
163
+ export declare enum SmartTableOnChangedEventName {
164
+ 'load' = "load",
165
+ 'paging' = "paging",
166
+ 'update' = "update",
167
+ 'page' = "page",
168
+ 'filter' = "filter",
169
+ 'empty' = "empty",
170
+ 'sort' = "sort",
171
+ 'add' = "add",
172
+ 'remove' = "remove",
173
+ 'append' = "append",
174
+ 'prepend' = "prepend",
175
+ 'refresh' = "refresh"
176
+ }
177
+ export type SmartTableOnChangedEventType = 'load' | 'prepend' | 'append' | 'update' | 'empty' | 'paging' | 'page' | 'filter' | 'sort' | 'add' | 'remove' | 'refresh';
178
+ export interface SmartTableOnChangedEvent<T extends ObjectAny = any> {
179
+ action: SmartTableOnChangedEventType;
180
+ elements: T[];
181
+ filter: SmartTableFilterConf;
182
+ paging: SmartTablePagingItem;
183
+ sort: SmartTableSortItem[];
184
+ }
185
+ export interface SmartTableFilterConf {
186
+ filters: SmartTableFilterItem[];
187
+ andOperator: boolean;
188
+ }
152
189
  export {};
@@ -15,7 +15,7 @@ export declare class Ng2SmartTableComponent implements OnChanges {
15
15
  create: EventEmitter<any>;
16
16
  custom: EventEmitter<SmartTableCustomEvent<any>>;
17
17
  deleteConfirm: EventEmitter<SmartTableConfirmDeleteEvent<any>>;
18
- editConfirm: EventEmitter<SmartTableConfirmEditEvent<any>>;
18
+ editConfirm: EventEmitter<SmartTableConfirmEditEvent<any, any>>;
19
19
  createConfirm: EventEmitter<SmartTableCreateConfirm<any>>;
20
20
  rowHover: EventEmitter<any>;
21
21
  tableClass: string;
@@ -30,7 +30,6 @@ export declare class Ng2SmartTableComponent implements OnChanges {
30
30
  ngOnChanges(changes: {
31
31
  [propertyName: string]: SimpleChange;
32
32
  }): void;
33
- onRowHover(row: Row): void;
34
33
  multipleSelectRow(row: Row): void;
35
34
  onSelectAllRows(): void;
36
35
  onSelectRow(row: Row, state: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@den4ik92/ng2-smart-table",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Angular Smart Table",
5
5
  "author": "Den4ik92",
6
6
  "license": "MIT",