@ngil/list 0.1.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.
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # ngil-ui-list
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test ngil-ui-list` to execute the unit tests.
@@ -0,0 +1,2 @@
1
+ export * from './lib/abstract-table/abstract-table.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25naWwvdWkvbGlzdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Fic3RyYWN0LXRhYmxlL2Fic3RyYWN0LXRhYmxlLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DEFAULT_PAGE, DEFAULT_PAGE_SIZE, FilteringLogic } from '@ngdux/data-model-common';
3
+ import * as i0 from "@angular/core";
4
+ export class AbstractTableComponent {
5
+ constructor() {
6
+ this.totalCount = 0;
7
+ this.sortingOptions = {};
8
+ this.filteringOptions = {
9
+ filters: [],
10
+ logic: FilteringLogic.AND
11
+ };
12
+ this.pagingOptions = {
13
+ page: DEFAULT_PAGE,
14
+ pageSize: DEFAULT_PAGE_SIZE
15
+ };
16
+ this.gridData = [];
17
+ this.selectedItems = [];
18
+ this.sortingChanged = new EventEmitter();
19
+ this.filteringChanged = new EventEmitter();
20
+ this.refreshPageSelected = new EventEmitter();
21
+ this.pageOptionsChanged = new EventEmitter();
22
+ this.rowSelected = new EventEmitter();
23
+ this.deleteSelected = new EventEmitter();
24
+ }
25
+ onSortingChanged(sortingField) {
26
+ if (sortingField.direction) {
27
+ this.sortingChanged.emit({ [sortingField.field]: sortingField });
28
+ }
29
+ else {
30
+ this.sortingChanged.emit({});
31
+ }
32
+ }
33
+ onFilteringChanged(filteringOptions) {
34
+ this.filteringChanged.emit(filteringOptions);
35
+ }
36
+ onRefreshPageSelected() {
37
+ this.refreshPageSelected.emit();
38
+ }
39
+ onPageOptionsChanged(pagingOptions) {
40
+ this.pageOptionsChanged.emit(pagingOptions);
41
+ }
42
+ onDelete() {
43
+ this.deleteSelected.emit();
44
+ }
45
+ onRowSelected(selectedItems) {
46
+ this.rowSelected.emit(selectedItems);
47
+ }
48
+ }
49
+ AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
+ AbstractTableComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AbstractTableComponent, inputs: { totalCount: "totalCount", sortingOptions: "sortingOptions", filteringOptions: "filteringOptions", pagingOptions: "pagingOptions", gridData: "gridData", selectedItems: "selectedItems" }, outputs: { sortingChanged: "sortingChanged", filteringChanged: "filteringChanged", refreshPageSelected: "refreshPageSelected", pageOptionsChanged: "pageOptionsChanged", rowSelected: "rowSelected", deleteSelected: "deleteSelected" }, ngImport: i0 });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
52
+ type: Directive
53
+ }], propDecorators: { totalCount: [{
54
+ type: Input
55
+ }], sortingOptions: [{
56
+ type: Input
57
+ }], filteringOptions: [{
58
+ type: Input
59
+ }], pagingOptions: [{
60
+ type: Input
61
+ }], gridData: [{
62
+ type: Input
63
+ }], selectedItems: [{
64
+ type: Input
65
+ }], sortingChanged: [{
66
+ type: Output
67
+ }], filteringChanged: [{
68
+ type: Output
69
+ }], refreshPageSelected: [{
70
+ type: Output
71
+ }], pageOptionsChanged: [{
72
+ type: Output
73
+ }], rowSelected: [{
74
+ type: Output
75
+ }], deleteSelected: [{
76
+ type: Output
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2lsL3VpL2xpc3Qvc3JjL2xpYi9hYnN0cmFjdC10YWJsZS9hYnN0cmFjdC10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixjQUFjLEVBS2YsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHbEMsTUFBTSxPQUFnQixzQkFBc0I7SUFENUM7UUFFVyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFxQjtZQUM1QyxPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxjQUFjLENBQUMsR0FBRztTQUMxQixDQUFDO1FBQ08sa0JBQWEsR0FBa0I7WUFDdEMsSUFBSSxFQUFFLFlBQVk7WUFDbEIsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFDO1FBQ08sYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUNuQixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUV2QixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ3BELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQ3hELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQTZCckQ7SUEzQkMsZ0JBQWdCLENBQUMsWUFBMEI7UUFDekMsSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZ0JBQWtDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsYUFBNEI7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxhQUFrQjtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDOzttSEEvQ21CLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVM7OEJBRUMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFJRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgREVGQVVMVF9QQUdFLFxyXG4gIERFRkFVTFRfUEFHRV9TSVpFLFxyXG4gIEZpbHRlcmluZ0xvZ2ljLFxyXG4gIEZpbHRlcmluZ09wdGlvbnMsXHJcbiAgUGFnaW5nT3B0aW9ucyxcclxuICBTb3J0aW5nRmllbGQsXHJcbiAgU29ydGluZ09wdGlvbnNcclxufSBmcm9tICdAbmdkdXgvZGF0YS1tb2RlbC1jb21tb24nO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRhYmxlQ29tcG9uZW50PFQ+IHtcclxuICBASW5wdXQoKSB0b3RhbENvdW50ID0gMDtcclxuICBASW5wdXQoKSBzb3J0aW5nT3B0aW9uczogU29ydGluZ09wdGlvbnMgPSB7fTtcclxuICBASW5wdXQoKSBmaWx0ZXJpbmdPcHRpb25zOiBGaWx0ZXJpbmdPcHRpb25zID0ge1xyXG4gICAgZmlsdGVyczogW10sXHJcbiAgICBsb2dpYzogRmlsdGVyaW5nTG9naWMuQU5EXHJcbiAgfTtcclxuICBASW5wdXQoKSBwYWdpbmdPcHRpb25zOiBQYWdpbmdPcHRpb25zID0ge1xyXG4gICAgcGFnZTogREVGQVVMVF9QQUdFLFxyXG4gICAgcGFnZVNpemU6IERFRkFVTFRfUEFHRV9TSVpFXHJcbiAgfTtcclxuICBASW5wdXQoKSBncmlkRGF0YTogVFtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogVFtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKSBzb3J0aW5nQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydGluZ09wdGlvbnM+KCk7XHJcbiAgQE91dHB1dCgpIGZpbHRlcmluZ0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlcmluZ09wdGlvbnM+KCk7XHJcbiAgQE91dHB1dCgpIHJlZnJlc2hQYWdlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VPcHRpb25zQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnaW5nT3B0aW9ucz4oKTtcclxuICBAT3V0cHV0KCkgcm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIG9uU29ydGluZ0NoYW5nZWQoc29ydGluZ0ZpZWxkOiBTb3J0aW5nRmllbGQpOiB2b2lkIHtcclxuICAgIGlmIChzb3J0aW5nRmllbGQuZGlyZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc29ydGluZ0NoYW5nZWQuZW1pdCh7IFtzb3J0aW5nRmllbGQuZmllbGRdOiBzb3J0aW5nRmllbGQgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRpbmdDaGFuZ2VkLmVtaXQoe30pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXJpbmdDaGFuZ2VkKGZpbHRlcmluZ09wdGlvbnM6IEZpbHRlcmluZ09wdGlvbnMpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyaW5nQ2hhbmdlZC5lbWl0KGZpbHRlcmluZ09wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgb25SZWZyZXNoUGFnZVNlbGVjdGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWZyZXNoUGFnZVNlbGVjdGVkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZU9wdGlvbnNDaGFuZ2VkKHBhZ2luZ09wdGlvbnM6IFBhZ2luZ09wdGlvbnMpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZU9wdGlvbnNDaGFuZ2VkLmVtaXQocGFnaW5nT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dTZWxlY3RlZChzZWxlY3RlZEl0ZW1zOiBUW10pOiB2b2lkIHtcclxuICAgIHRoaXMucm93U2VsZWN0ZWQuZW1pdChzZWxlY3RlZEl0ZW1zKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdpbC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ2lsL3VpL2xpc3Qvc3JjL25naWwtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,85 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Directive, Input, Output } from '@angular/core';
3
+ import { FilteringLogic, DEFAULT_PAGE, DEFAULT_PAGE_SIZE } from '@ngdux/data-model-common';
4
+
5
+ class AbstractTableComponent {
6
+ constructor() {
7
+ this.totalCount = 0;
8
+ this.sortingOptions = {};
9
+ this.filteringOptions = {
10
+ filters: [],
11
+ logic: FilteringLogic.AND
12
+ };
13
+ this.pagingOptions = {
14
+ page: DEFAULT_PAGE,
15
+ pageSize: DEFAULT_PAGE_SIZE
16
+ };
17
+ this.gridData = [];
18
+ this.selectedItems = [];
19
+ this.sortingChanged = new EventEmitter();
20
+ this.filteringChanged = new EventEmitter();
21
+ this.refreshPageSelected = new EventEmitter();
22
+ this.pageOptionsChanged = new EventEmitter();
23
+ this.rowSelected = new EventEmitter();
24
+ this.deleteSelected = new EventEmitter();
25
+ }
26
+ onSortingChanged(sortingField) {
27
+ if (sortingField.direction) {
28
+ this.sortingChanged.emit({ [sortingField.field]: sortingField });
29
+ }
30
+ else {
31
+ this.sortingChanged.emit({});
32
+ }
33
+ }
34
+ onFilteringChanged(filteringOptions) {
35
+ this.filteringChanged.emit(filteringOptions);
36
+ }
37
+ onRefreshPageSelected() {
38
+ this.refreshPageSelected.emit();
39
+ }
40
+ onPageOptionsChanged(pagingOptions) {
41
+ this.pageOptionsChanged.emit(pagingOptions);
42
+ }
43
+ onDelete() {
44
+ this.deleteSelected.emit();
45
+ }
46
+ onRowSelected(selectedItems) {
47
+ this.rowSelected.emit(selectedItems);
48
+ }
49
+ }
50
+ AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
51
+ AbstractTableComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AbstractTableComponent, inputs: { totalCount: "totalCount", sortingOptions: "sortingOptions", filteringOptions: "filteringOptions", pagingOptions: "pagingOptions", gridData: "gridData", selectedItems: "selectedItems" }, outputs: { sortingChanged: "sortingChanged", filteringChanged: "filteringChanged", refreshPageSelected: "refreshPageSelected", pageOptionsChanged: "pageOptionsChanged", rowSelected: "rowSelected", deleteSelected: "deleteSelected" }, ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
53
+ type: Directive
54
+ }], propDecorators: { totalCount: [{
55
+ type: Input
56
+ }], sortingOptions: [{
57
+ type: Input
58
+ }], filteringOptions: [{
59
+ type: Input
60
+ }], pagingOptions: [{
61
+ type: Input
62
+ }], gridData: [{
63
+ type: Input
64
+ }], selectedItems: [{
65
+ type: Input
66
+ }], sortingChanged: [{
67
+ type: Output
68
+ }], filteringChanged: [{
69
+ type: Output
70
+ }], refreshPageSelected: [{
71
+ type: Output
72
+ }], pageOptionsChanged: [{
73
+ type: Output
74
+ }], rowSelected: [{
75
+ type: Output
76
+ }], deleteSelected: [{
77
+ type: Output
78
+ }] } });
79
+
80
+ /**
81
+ * Generated bundle index. Do not edit.
82
+ */
83
+
84
+ export { AbstractTableComponent };
85
+ //# sourceMappingURL=ngil-list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngil-list.mjs","sources":["../../../../../../libs/ngil/ui/list/src/lib/abstract-table/abstract-table.component.ts","../../../../../../libs/ngil/ui/list/src/ngil-list.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n DEFAULT_PAGE,\r\n DEFAULT_PAGE_SIZE,\r\n FilteringLogic,\r\n FilteringOptions,\r\n PagingOptions,\r\n SortingField,\r\n SortingOptions\r\n} from '@ngdux/data-model-common';\r\n\r\n@Directive()\r\nexport abstract class AbstractTableComponent<T> {\r\n @Input() totalCount = 0;\r\n @Input() sortingOptions: SortingOptions = {};\r\n @Input() filteringOptions: FilteringOptions = {\r\n filters: [],\r\n logic: FilteringLogic.AND\r\n };\r\n @Input() pagingOptions: PagingOptions = {\r\n page: DEFAULT_PAGE,\r\n pageSize: DEFAULT_PAGE_SIZE\r\n };\r\n @Input() gridData: T[] = [];\r\n @Input() selectedItems: T[] = [];\r\n\r\n @Output() sortingChanged = new EventEmitter<SortingOptions>();\r\n @Output() filteringChanged = new EventEmitter<FilteringOptions>();\r\n @Output() refreshPageSelected = new EventEmitter<void>();\r\n @Output() pageOptionsChanged = new EventEmitter<PagingOptions>();\r\n @Output() rowSelected = new EventEmitter<T[]>();\r\n @Output() deleteSelected = new EventEmitter<void>();\r\n\r\n onSortingChanged(sortingField: SortingField): void {\r\n if (sortingField.direction) {\r\n this.sortingChanged.emit({ [sortingField.field]: sortingField });\r\n } else {\r\n this.sortingChanged.emit({});\r\n }\r\n }\r\n\r\n onFilteringChanged(filteringOptions: FilteringOptions): void {\r\n this.filteringChanged.emit(filteringOptions);\r\n }\r\n\r\n onRefreshPageSelected(): void {\r\n this.refreshPageSelected.emit();\r\n }\r\n\r\n onPageOptionsChanged(pagingOptions: PagingOptions): void {\r\n this.pageOptionsChanged.emit(pagingOptions);\r\n }\r\n\r\n onDelete(): void {\r\n this.deleteSelected.emit();\r\n }\r\n\r\n onRowSelected(selectedItems: T[]): void {\r\n this.rowSelected.emit(selectedItems);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Directive, Input, Output } from '@angular/core';
3
+ import { FilteringLogic, DEFAULT_PAGE, DEFAULT_PAGE_SIZE } from '@ngdux/data-model-common';
4
+
5
+ class AbstractTableComponent {
6
+ constructor() {
7
+ this.totalCount = 0;
8
+ this.sortingOptions = {};
9
+ this.filteringOptions = {
10
+ filters: [],
11
+ logic: FilteringLogic.AND
12
+ };
13
+ this.pagingOptions = {
14
+ page: DEFAULT_PAGE,
15
+ pageSize: DEFAULT_PAGE_SIZE
16
+ };
17
+ this.gridData = [];
18
+ this.selectedItems = [];
19
+ this.sortingChanged = new EventEmitter();
20
+ this.filteringChanged = new EventEmitter();
21
+ this.refreshPageSelected = new EventEmitter();
22
+ this.pageOptionsChanged = new EventEmitter();
23
+ this.rowSelected = new EventEmitter();
24
+ this.deleteSelected = new EventEmitter();
25
+ }
26
+ onSortingChanged(sortingField) {
27
+ if (sortingField.direction) {
28
+ this.sortingChanged.emit({ [sortingField.field]: sortingField });
29
+ }
30
+ else {
31
+ this.sortingChanged.emit({});
32
+ }
33
+ }
34
+ onFilteringChanged(filteringOptions) {
35
+ this.filteringChanged.emit(filteringOptions);
36
+ }
37
+ onRefreshPageSelected() {
38
+ this.refreshPageSelected.emit();
39
+ }
40
+ onPageOptionsChanged(pagingOptions) {
41
+ this.pageOptionsChanged.emit(pagingOptions);
42
+ }
43
+ onDelete() {
44
+ this.deleteSelected.emit();
45
+ }
46
+ onRowSelected(selectedItems) {
47
+ this.rowSelected.emit(selectedItems);
48
+ }
49
+ }
50
+ AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
51
+ AbstractTableComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AbstractTableComponent, inputs: { totalCount: "totalCount", sortingOptions: "sortingOptions", filteringOptions: "filteringOptions", pagingOptions: "pagingOptions", gridData: "gridData", selectedItems: "selectedItems" }, outputs: { sortingChanged: "sortingChanged", filteringChanged: "filteringChanged", refreshPageSelected: "refreshPageSelected", pageOptionsChanged: "pageOptionsChanged", rowSelected: "rowSelected", deleteSelected: "deleteSelected" }, ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AbstractTableComponent, decorators: [{
53
+ type: Directive
54
+ }], propDecorators: { totalCount: [{
55
+ type: Input
56
+ }], sortingOptions: [{
57
+ type: Input
58
+ }], filteringOptions: [{
59
+ type: Input
60
+ }], pagingOptions: [{
61
+ type: Input
62
+ }], gridData: [{
63
+ type: Input
64
+ }], selectedItems: [{
65
+ type: Input
66
+ }], sortingChanged: [{
67
+ type: Output
68
+ }], filteringChanged: [{
69
+ type: Output
70
+ }], refreshPageSelected: [{
71
+ type: Output
72
+ }], pageOptionsChanged: [{
73
+ type: Output
74
+ }], rowSelected: [{
75
+ type: Output
76
+ }], deleteSelected: [{
77
+ type: Output
78
+ }] } });
79
+
80
+ /**
81
+ * Generated bundle index. Do not edit.
82
+ */
83
+
84
+ export { AbstractTableComponent };
85
+ //# sourceMappingURL=ngil-list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngil-list.mjs","sources":["../../../../../../libs/ngil/ui/list/src/lib/abstract-table/abstract-table.component.ts","../../../../../../libs/ngil/ui/list/src/ngil-list.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport {\r\n DEFAULT_PAGE,\r\n DEFAULT_PAGE_SIZE,\r\n FilteringLogic,\r\n FilteringOptions,\r\n PagingOptions,\r\n SortingField,\r\n SortingOptions\r\n} from '@ngdux/data-model-common';\r\n\r\n@Directive()\r\nexport abstract class AbstractTableComponent<T> {\r\n @Input() totalCount = 0;\r\n @Input() sortingOptions: SortingOptions = {};\r\n @Input() filteringOptions: FilteringOptions = {\r\n filters: [],\r\n logic: FilteringLogic.AND\r\n };\r\n @Input() pagingOptions: PagingOptions = {\r\n page: DEFAULT_PAGE,\r\n pageSize: DEFAULT_PAGE_SIZE\r\n };\r\n @Input() gridData: T[] = [];\r\n @Input() selectedItems: T[] = [];\r\n\r\n @Output() sortingChanged = new EventEmitter<SortingOptions>();\r\n @Output() filteringChanged = new EventEmitter<FilteringOptions>();\r\n @Output() refreshPageSelected = new EventEmitter<void>();\r\n @Output() pageOptionsChanged = new EventEmitter<PagingOptions>();\r\n @Output() rowSelected = new EventEmitter<T[]>();\r\n @Output() deleteSelected = new EventEmitter<void>();\r\n\r\n onSortingChanged(sortingField: SortingField): void {\r\n if (sortingField.direction) {\r\n this.sortingChanged.emit({ [sortingField.field]: sortingField });\r\n } else {\r\n this.sortingChanged.emit({});\r\n }\r\n }\r\n\r\n onFilteringChanged(filteringOptions: FilteringOptions): void {\r\n this.filteringChanged.emit(filteringOptions);\r\n }\r\n\r\n onRefreshPageSelected(): void {\r\n this.refreshPageSelected.emit();\r\n }\r\n\r\n onPageOptionsChanged(pagingOptions: PagingOptions): void {\r\n this.pageOptionsChanged.emit(pagingOptions);\r\n }\r\n\r\n onDelete(): void {\r\n this.deleteSelected.emit();\r\n }\r\n\r\n onRowSelected(selectedItems: T[]): void {\r\n this.rowSelected.emit(selectedItems);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib/abstract-table/abstract-table.component';
@@ -0,0 +1,25 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FilteringOptions, PagingOptions, SortingField, SortingOptions } from '@ngdux/data-model-common';
3
+ import * as i0 from "@angular/core";
4
+ export declare abstract class AbstractTableComponent<T> {
5
+ totalCount: number;
6
+ sortingOptions: SortingOptions;
7
+ filteringOptions: FilteringOptions;
8
+ pagingOptions: PagingOptions;
9
+ gridData: T[];
10
+ selectedItems: T[];
11
+ sortingChanged: EventEmitter<SortingOptions>;
12
+ filteringChanged: EventEmitter<FilteringOptions>;
13
+ refreshPageSelected: EventEmitter<void>;
14
+ pageOptionsChanged: EventEmitter<PagingOptions>;
15
+ rowSelected: EventEmitter<T[]>;
16
+ deleteSelected: EventEmitter<void>;
17
+ onSortingChanged(sortingField: SortingField): void;
18
+ onFilteringChanged(filteringOptions: FilteringOptions): void;
19
+ onRefreshPageSelected(): void;
20
+ onPageOptionsChanged(pagingOptions: PagingOptions): void;
21
+ onDelete(): void;
22
+ onRowSelected(selectedItems: T[]): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTableComponent<any>, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractTableComponent<any>, never, never, { "totalCount": "totalCount"; "sortingOptions": "sortingOptions"; "filteringOptions": "filteringOptions"; "pagingOptions": "pagingOptions"; "gridData": "gridData"; "selectedItems": "selectedItems"; }, { "sortingChanged": "sortingChanged"; "filteringChanged": "filteringChanged"; "refreshPageSelected": "refreshPageSelected"; "pageOptionsChanged": "pageOptionsChanged"; "rowSelected": "rowSelected"; "deleteSelected": "deleteSelected"; }, never, never, false, never>;
25
+ }
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@ngil/list",
3
+ "version": "0.1.0",
4
+ "dependencies": {
5
+ "tslib": "^2.3.0"
6
+ },
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git@github.com:allanartuso/ngdux.git",
10
+ "directory": "/libs/ngil/ui/list"
11
+ },
12
+ "homepage": "https://github.com/allanartuso/ngdux/tree/master/libs/ngil/ui/list#readme",
13
+ "module": "fesm2015/ngil-list.mjs",
14
+ "es2020": "fesm2020/ngil-list.mjs",
15
+ "esm2020": "esm2020/ngil-list.mjs",
16
+ "fesm2020": "fesm2020/ngil-list.mjs",
17
+ "fesm2015": "fesm2015/ngil-list.mjs",
18
+ "typings": "index.d.ts",
19
+ "exports": {
20
+ "./package.json": {
21
+ "default": "./package.json"
22
+ },
23
+ ".": {
24
+ "types": "./index.d.ts",
25
+ "esm2020": "./esm2020/ngil-list.mjs",
26
+ "es2020": "./fesm2020/ngil-list.mjs",
27
+ "es2015": "./fesm2015/ngil-list.mjs",
28
+ "node": "./fesm2015/ngil-list.mjs",
29
+ "default": "./fesm2020/ngil-list.mjs"
30
+ }
31
+ },
32
+ "sideEffects": false,
33
+ "peerDependencies": {
34
+ "@angular/core": "15.2.9",
35
+ "@ngdux/data-model-common": "1.1.0"
36
+ }
37
+ }