@swimlane/ngx-datatable 11.1.7 → 11.3.2
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/assets/app.css +5 -6
- package/config/deploy.js +2 -2
- package/config/karma.conf.js +5 -0
- package/config/webpack.dev.js +1 -1
- package/package.json +8 -7
- package/release/assets/app.css +5 -6
- package/release/components/body/body-group-header.directive.d.ts +4 -5
- package/release/components/body/body-group-header.directive.js +4 -5
- package/release/components/body/body-group-header.directive.js.map +1 -1
- package/release/components/body/body-row.component.js +3 -2
- package/release/components/body/body-row.component.js.map +1 -1
- package/release/components/body/body-row.component.metadata.json +1 -1
- package/release/components/body/body.component.d.ts +4 -1
- package/release/components/body/body.component.js +22 -7
- package/release/components/body/body.component.js.map +1 -1
- package/release/components/body/body.component.metadata.json +1 -1
- package/release/components/body/index.d.ts +1 -0
- package/release/components/body/index.js +1 -0
- package/release/components/body/index.js.map +1 -1
- package/release/components/body/index.metadata.json +1 -1
- package/release/components/body/summary/index.d.ts +1 -0
- package/release/components/body/summary/index.js +7 -0
- package/release/components/body/summary/index.js.map +1 -0
- package/release/components/body/summary/index.metadata.json +1 -0
- package/release/components/body/summary/summary-row.component.d.ts +19 -0
- package/release/components/body/summary/summary-row.component.js +85 -0
- package/release/components/body/summary/summary-row.component.js.map +1 -0
- package/release/components/body/summary/summary-row.component.metadata.json +1 -0
- package/release/components/columns/column.directive.d.ts +2 -0
- package/release/components/columns/column.directive.js +8 -0
- package/release/components/columns/column.directive.js.map +1 -1
- package/release/components/columns/column.directive.metadata.json +1 -1
- package/release/components/datatable.component.css +7 -2
- package/release/components/datatable.component.d.ts +14 -1
- package/release/components/datatable.component.js +34 -7
- package/release/components/datatable.component.js.map +1 -1
- package/release/components/datatable.component.metadata.json +1 -1
- package/release/components/footer/pager.component.js +1 -1
- package/release/components/footer/pager.component.js.map +1 -1
- package/release/components/footer/pager.component.metadata.json +1 -1
- package/release/components/header/header-cell.component.js +2 -1
- package/release/components/header/header-cell.component.js.map +1 -1
- package/release/components/header/header-cell.component.metadata.json +1 -1
- package/release/components/header/header.component.js +1 -0
- package/release/components/header/header.component.js.map +1 -1
- package/release/datatable.module.js +2 -1
- package/release/datatable.module.js.map +1 -1
- package/release/datatable.module.metadata.json +1 -1
- package/release/directives/resizeable.directive.js +5 -2
- package/release/directives/resizeable.directive.js.map +1 -1
- package/release/events.js +3 -3
- package/release/events.js.map +1 -1
- package/release/events.metadata.json +1 -1
- package/release/index.css +8 -3
- package/release/index.js +201 -42
- package/release/index.min.js +1 -1
- package/release/index.min.js.map +1 -1
- package/release/themes/bootstrap.css +2 -0
- package/release/themes/dark.css +6 -0
- package/release/themes/material.css +6 -0
- package/release/types/table-column.type.d.ts +14 -0
- package/release/utils/column-helper.js +6 -0
- package/release/utils/column-helper.js.map +1 -1
- package/release/utils/column.d.ts +0 -4
- package/release/utils/column.js +0 -10
- package/release/utils/column.js.map +1 -1
- package/release/utils/column.metadata.json +1 -1
- package/release/utils/math.js +1 -1
- package/release/utils/math.js.map +1 -1
- package/src/components/body/body-group-header.directive.ts +5 -6
- package/src/components/body/body-row.component.ts +8 -7
- package/src/components/body/body.component.spec.ts +8 -7
- package/src/components/body/body.component.ts +27 -6
- package/src/components/body/index.ts +1 -0
- package/src/components/body/summary/index.ts +1 -0
- package/src/components/body/summary/summary-row.component.spec.ts +131 -0
- package/src/components/body/summary/summary-row.component.ts +74 -0
- package/src/components/columns/column.directive.ts +4 -2
- package/src/components/datatable.component.scss +14 -1
- package/src/components/datatable.component.spec.ts +55 -7
- package/src/components/datatable.component.ts +31 -9
- package/src/components/footer/footer.component.spec.ts +329 -47
- package/src/components/footer/pager.component.ts +10 -0
- package/src/components/header/header-cell.component.ts +2 -1
- package/src/components/header/header.component.ts +1 -0
- package/src/datatable.module.ts +8 -6
- package/src/directives/resizeable.directive.ts +4 -2
- package/src/events.ts +3 -3
- package/src/themes/bootstrap.scss +10 -1
- package/src/themes/dark.scss +14 -0
- package/src/themes/material.scss +20 -5
- package/src/types/table-column.type.ts +43 -28
- package/src/utils/column-helper.ts +9 -1
- package/src/utils/column-prop-getters.spec.ts +44 -0
- package/src/utils/column.ts +0 -12
- package/src/utils/math.ts +1 -1
- package/test/index.ts +1 -0
- package/test/jasmine-matchers.d.ts +12 -0
- package/test/jasmine-matchers.ts +70 -0
- package/tslint.json +1 -1
package/release/themes/dark.css
CHANGED
|
@@ -67,3 +67,9 @@
|
|
|
67
67
|
font-size: 18px;
|
|
68
68
|
line-height: 27px;
|
|
69
69
|
padding: 0 3px; }
|
|
70
|
+
.ngx-datatable.dark .datatable-summary-row .datatable-body-row {
|
|
71
|
+
background-color: #14171f; }
|
|
72
|
+
.ngx-datatable.dark .datatable-summary-row .datatable-body-row:hover {
|
|
73
|
+
background-color: #14171f; }
|
|
74
|
+
.ngx-datatable.dark .datatable-summary-row .datatable-body-row .datatable-body-cell {
|
|
75
|
+
font-weight: bold; }
|
|
@@ -220,6 +220,12 @@
|
|
|
220
220
|
font-size: 20px;
|
|
221
221
|
line-height: 20px;
|
|
222
222
|
padding: 0 3px; }
|
|
223
|
+
.ngx-datatable.material .datatable-summary-row .datatable-body-row {
|
|
224
|
+
background-color: #ddd; }
|
|
225
|
+
.ngx-datatable.material .datatable-summary-row .datatable-body-row:hover {
|
|
226
|
+
background-color: #ddd; }
|
|
227
|
+
.ngx-datatable.material .datatable-summary-row .datatable-body-row .datatable-body-cell {
|
|
228
|
+
font-weight: bold; }
|
|
223
229
|
|
|
224
230
|
/**
|
|
225
231
|
* Checkboxes
|
|
@@ -179,4 +179,18 @@ export interface TableColumn {
|
|
|
179
179
|
* @memberOf TableColumn
|
|
180
180
|
*/
|
|
181
181
|
headerCheckboxable?: boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Summary function
|
|
184
|
+
*
|
|
185
|
+
* @type {(cells: any[]) => any}
|
|
186
|
+
* @memberOf TableColumn
|
|
187
|
+
*/
|
|
188
|
+
summaryFunc?: (cells: any[]) => any;
|
|
189
|
+
/**
|
|
190
|
+
* Summary cell template ref
|
|
191
|
+
*
|
|
192
|
+
* @type {*}
|
|
193
|
+
* @memberOf TableColumn
|
|
194
|
+
*/
|
|
195
|
+
summaryTemplate?: any;
|
|
182
196
|
}
|
|
@@ -70,6 +70,12 @@ function translateTemplates(templates) {
|
|
|
70
70
|
if (temp.cellTemplate) {
|
|
71
71
|
col.cellTemplate = temp.cellTemplate;
|
|
72
72
|
}
|
|
73
|
+
if (temp.summaryFunc) {
|
|
74
|
+
col.summaryFunc = temp.summaryFunc;
|
|
75
|
+
}
|
|
76
|
+
if (temp.summaryTemplate) {
|
|
77
|
+
col.summaryTemplate = temp.summaryTemplate;
|
|
78
|
+
}
|
|
73
79
|
result.push(col);
|
|
74
80
|
}
|
|
75
81
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../build/utils/column-helper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../build/utils/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourceRoot":""}
|
package/release/utils/column.js
CHANGED
|
@@ -76,14 +76,4 @@ function columnsByPinArr(val) {
|
|
|
76
76
|
return colsByPinArr;
|
|
77
77
|
}
|
|
78
78
|
exports.columnsByPinArr = columnsByPinArr;
|
|
79
|
-
function allColumnsByPinArr(val) {
|
|
80
|
-
var colsByPinArr = [];
|
|
81
|
-
var colsByPin = columnsByPin(val);
|
|
82
|
-
var colsTest = [];
|
|
83
|
-
colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });
|
|
84
|
-
colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });
|
|
85
|
-
colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });
|
|
86
|
-
return colsByPinArr;
|
|
87
|
-
}
|
|
88
|
-
exports.allColumnsByPinArr = allColumnsByPinArr;
|
|
89
79
|
//# sourceMappingURL=column.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../build/utils/column.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../build/utils/column.ts"],"names":[],"mappings":"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","file":"column.js","sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":3,"metadata":{"columnsByPin":{"__symbolic":"function"},"columnGroupWidths":{"__symbolic":"function","parameters":["groups","all"],"value":{"left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"left"}]},"center":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"center"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"right"}]},"total":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Math"},"member":"floor"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"reference","name":"all"}]}]}}},"columnTotalWidth":{"__symbolic":"function"},"columnsTotalWidth":{"__symbolic":"function"},"columnsByPinArr":{"__symbolic":"function"}
|
|
1
|
+
[{"__symbolic":"module","version":3,"metadata":{"columnsByPin":{"__symbolic":"function"},"columnGroupWidths":{"__symbolic":"function","parameters":["groups","all"],"value":{"left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"left"}]},"center":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"center"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"right"}]},"total":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Math"},"member":"floor"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"reference","name":"all"}]}]}}},"columnTotalWidth":{"__symbolic":"function"},"columnsTotalWidth":{"__symbolic":"function"},"columnsByPinArr":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"columnsByPin":{"__symbolic":"function"},"columnGroupWidths":{"__symbolic":"function","parameters":["groups","all"],"value":{"left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"left"}]},"center":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"center"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"groups"},"member":"right"}]},"total":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Math"},"member":"floor"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"columnTotalWidth"},"arguments":[{"__symbolic":"reference","name":"all"}]}]}}},"columnTotalWidth":{"__symbolic":"function"},"columnsTotalWidth":{"__symbolic":"function"},"columnsByPinArr":{"__symbolic":"function"}}}]
|
package/release/utils/math.js
CHANGED
|
@@ -36,7 +36,7 @@ function scaleColumns(colsByGroup, maxWidth, totalFlexGrow) {
|
|
|
36
36
|
var column = _a[_i];
|
|
37
37
|
if (!column.canAutoResize) {
|
|
38
38
|
maxWidth -= column.width;
|
|
39
|
-
totalFlexGrow -= column.flexGrow;
|
|
39
|
+
totalFlexGrow -= column.flexGrow ? column.flexGrow : 0;
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
column.width = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../build/utils/math.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAE3D;;GAEG;AACH,0BAAiC,OAAc;IAC7C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,GAAG,CAAC,CAAY,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;QAAlB,IAAM,CAAC,gBAAA;QACV,aAAa,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;KAClC;IAED,MAAM,CAAC,aAAa,CAAC;AACvB,CAAC;AARD,4CAQC;AAED;;;GAGG;AACH,4BAAmC,UAAe,EAAE,aAAkB;IACpE,IAAM,YAAY,GAAG,0BAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAM,WAAW,GAAG,qBAAY,CAAC,UAAU,CAAC,CAAC;IAE7C,EAAE,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC;QACnC,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AARD,gDAQC;AAED;;GAEG;AACH,sBAAsB,WAAgB,EAAE,QAAa,EAAE,aAAkB;IACvE,6EAA6E;IAC7E,GAAG,CAAA,CAAC,IAAM,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;QAC9B,GAAG,CAAA,CAAiB,UAAiB,EAAjB,KAAA,WAAW,CAAC,IAAI,CAAC,EAAjB,cAAiB,EAAjB,IAAiB;YAAjC,IAAM,MAAM,SAAA;YACd,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1B,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC;gBACzB,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../build/utils/math.ts"],"names":[],"mappings":"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","file":"math.js","sourceRoot":""}
|
|
@@ -5,17 +5,16 @@ import { DatatableGroupHeaderTemplateDirective } from './body-group-header-templ
|
|
|
5
5
|
export class DatatableGroupHeaderDirective {
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* when virtual scroll is enabled.
|
|
8
|
+
* Row height is required when virtual scroll is enabled.
|
|
10
9
|
*/
|
|
11
10
|
@Input() rowHeight: (number | ((group?: any, index?: number) => number)) = 0;
|
|
12
11
|
|
|
13
12
|
@Input()
|
|
14
|
-
@ContentChild(DatatableGroupHeaderTemplateDirective, { read: TemplateRef })
|
|
13
|
+
@ContentChild(DatatableGroupHeaderTemplateDirective, { read: TemplateRef })
|
|
15
14
|
template: TemplateRef<any>;
|
|
16
15
|
|
|
17
16
|
/**
|
|
18
|
-
*
|
|
17
|
+
* Track toggling of group visibility
|
|
19
18
|
*/
|
|
20
19
|
@Output() toggle: EventEmitter<any> = new EventEmitter();
|
|
21
20
|
|
|
@@ -30,7 +29,7 @@ export class DatatableGroupHeaderDirective {
|
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
/**
|
|
33
|
-
*
|
|
32
|
+
* Expand all groups
|
|
34
33
|
*/
|
|
35
34
|
expandAllGroups(): void {
|
|
36
35
|
this.toggle.emit({
|
|
@@ -40,7 +39,7 @@ export class DatatableGroupHeaderDirective {
|
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
/**
|
|
43
|
-
*
|
|
42
|
+
* Collapse all groups
|
|
44
43
|
*/
|
|
45
44
|
collapseAllGroups(): void {
|
|
46
45
|
this.toggle.emit({
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from '@angular/core';
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
|
-
|
|
7
|
+
columnsByPin, columnGroupWidths, columnsByPinArr, translateXY, Keys
|
|
8
8
|
} from '../../utils';
|
|
9
9
|
import { ScrollbarHelper } from '../../services';
|
|
10
10
|
import { MouseEvent, KeyboardEvent, Event } from '../../events';
|
|
@@ -30,7 +30,7 @@ import { MouseEvent, KeyboardEvent, Event } from '../../events';
|
|
|
30
30
|
[displayCheck]="displayCheck"
|
|
31
31
|
(activate)="onActivate($event, ii)">
|
|
32
32
|
</datatable-body-cell>
|
|
33
|
-
</div>
|
|
33
|
+
</div>
|
|
34
34
|
`
|
|
35
35
|
})
|
|
36
36
|
export class DataTableBodyRowComponent implements DoCheck {
|
|
@@ -38,6 +38,7 @@ export class DataTableBodyRowComponent implements DoCheck {
|
|
|
38
38
|
@Input() set columns(val: any[]) {
|
|
39
39
|
this._columns = val;
|
|
40
40
|
this.recalculateColumns(val);
|
|
41
|
+
this.buildStylesByGroup();
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
get columns(): any[] {
|
|
@@ -47,12 +48,12 @@ export class DataTableBodyRowComponent implements DoCheck {
|
|
|
47
48
|
@Input() set innerWidth(val: number) {
|
|
48
49
|
if (this._columns) {
|
|
49
50
|
const colByPin = columnsByPin(this._columns);
|
|
50
|
-
this._columnGroupWidths = columnGroupWidths(colByPin, colByPin);
|
|
51
|
+
this._columnGroupWidths = columnGroupWidths(colByPin, colByPin);
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
this._innerWidth = val;
|
|
54
55
|
this.recalculateColumns();
|
|
55
|
-
this.buildStylesByGroup();
|
|
56
|
+
this.buildStylesByGroup();
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
get innerWidth(): number {
|
|
@@ -123,7 +124,7 @@ export class DataTableBodyRowComponent implements DoCheck {
|
|
|
123
124
|
constructor(
|
|
124
125
|
private differs: KeyValueDiffers,
|
|
125
126
|
@SkipSelf() private scrollbarHelper: ScrollbarHelper,
|
|
126
|
-
private cd: ChangeDetectorRef,
|
|
127
|
+
private cd: ChangeDetectorRef,
|
|
127
128
|
element: ElementRef) {
|
|
128
129
|
this._element = element.nativeElement;
|
|
129
130
|
this._rowDiffer = differs.find({}).create();
|
|
@@ -134,7 +135,7 @@ export class DataTableBodyRowComponent implements DoCheck {
|
|
|
134
135
|
this.cd.markForCheck();
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
|
-
|
|
138
|
+
|
|
138
139
|
trackByGroups(index: number, colGroup: any): any {
|
|
139
140
|
return colGroup.type;
|
|
140
141
|
}
|
|
@@ -215,7 +216,7 @@ export class DataTableBodyRowComponent implements DoCheck {
|
|
|
215
216
|
recalculateColumns(val: any[] = this.columns): void {
|
|
216
217
|
this._columns = val;
|
|
217
218
|
const colsByPin = columnsByPin(this._columns);
|
|
218
|
-
this._columnsByPin =
|
|
219
|
+
this._columnsByPin = columnsByPinArr(this._columns);
|
|
219
220
|
this._columnGroupWidths = columnGroupWidths(colsByPin, this._columns);
|
|
220
221
|
}
|
|
221
222
|
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
DataTableRowWrapperComponent,
|
|
7
7
|
DataTableBodyCellComponent,
|
|
8
8
|
DataTableSelectionComponent,
|
|
9
|
+
DataTableSummaryRowComponent,
|
|
9
10
|
ProgressBarComponent,
|
|
10
11
|
ScrollerComponent
|
|
11
12
|
} from '.';
|
|
@@ -19,12 +20,13 @@ describe('DataTableBodyComponent', () => {
|
|
|
19
20
|
// provide our implementations or mocks to the dependency injector
|
|
20
21
|
beforeEach(() => {
|
|
21
22
|
TestBed.configureTestingModule({
|
|
22
|
-
declarations: [
|
|
23
|
+
declarations: [
|
|
23
24
|
DataTableBodyComponent,
|
|
24
25
|
DataTableBodyRowComponent,
|
|
25
26
|
DataTableRowWrapperComponent,
|
|
26
27
|
DataTableBodyCellComponent,
|
|
27
28
|
DataTableSelectionComponent,
|
|
29
|
+
DataTableSummaryRowComponent,
|
|
28
30
|
ProgressBarComponent,
|
|
29
31
|
ScrollerComponent
|
|
30
32
|
],
|
|
@@ -37,7 +39,7 @@ describe('DataTableBodyComponent', () => {
|
|
|
37
39
|
fixture = TestBed.createComponent(DataTableBodyComponent);
|
|
38
40
|
component = fixture.componentInstance;
|
|
39
41
|
element = fixture.nativeElement;
|
|
40
|
-
});
|
|
42
|
+
});
|
|
41
43
|
}));
|
|
42
44
|
|
|
43
45
|
describe('fixture', () => {
|
|
@@ -46,7 +48,6 @@ describe('DataTableBodyComponent', () => {
|
|
|
46
48
|
});
|
|
47
49
|
});
|
|
48
50
|
|
|
49
|
-
|
|
50
51
|
describe('Paging', () => {
|
|
51
52
|
|
|
52
53
|
it('should have correct indexes for normal paging with rows > pageSize', () => {
|
|
@@ -55,7 +56,7 @@ describe('DataTableBodyComponent', () => {
|
|
|
55
56
|
component.pageSize = 10;
|
|
56
57
|
component.offset = 1;
|
|
57
58
|
component.rowCount = 20;
|
|
58
|
-
|
|
59
|
+
const expectedIndexes = { first: 10, last: 20};
|
|
59
60
|
component.updateIndexes();
|
|
60
61
|
expect(component.indexes).toEqual(expectedIndexes);
|
|
61
62
|
});
|
|
@@ -66,7 +67,7 @@ describe('DataTableBodyComponent', () => {
|
|
|
66
67
|
component.pageSize = 5;
|
|
67
68
|
component.offset = 1;
|
|
68
69
|
component.rowCount = 9;
|
|
69
|
-
|
|
70
|
+
const expectedIndexes = { first: 5, last: 9};
|
|
70
71
|
component.updateIndexes();
|
|
71
72
|
expect(component.indexes).toEqual(expectedIndexes);
|
|
72
73
|
});
|
|
@@ -77,7 +78,7 @@ describe('DataTableBodyComponent', () => {
|
|
|
77
78
|
component.pageSize = 10;
|
|
78
79
|
component.offset = 1;
|
|
79
80
|
component.rowCount = 20;
|
|
80
|
-
|
|
81
|
+
const expectedIndexes = { first: 0, last: 10};
|
|
81
82
|
component.updateIndexes();
|
|
82
83
|
expect(component.indexes).toEqual(expectedIndexes);
|
|
83
84
|
});
|
|
@@ -88,7 +89,7 @@ describe('DataTableBodyComponent', () => {
|
|
|
88
89
|
component.pageSize = 5;
|
|
89
90
|
component.offset = 1;
|
|
90
91
|
component.rowCount = 9;
|
|
91
|
-
|
|
92
|
+
const expectedIndexes = { first: 0, last: 5};
|
|
92
93
|
component.updateIndexes();
|
|
93
94
|
expect(component.indexes).toEqual(expectedIndexes);
|
|
94
95
|
});
|
|
@@ -30,6 +30,14 @@ import { MouseEvent } from '../../events';
|
|
|
30
30
|
[scrollHeight]="scrollHeight"
|
|
31
31
|
[scrollWidth]="columnGroupWidths?.total"
|
|
32
32
|
(scroll)="onBodyScroll($event)">
|
|
33
|
+
<datatable-summary-row
|
|
34
|
+
*ngIf="summaryRow && summaryPosition === 'top'"
|
|
35
|
+
[rowHeight]="summaryHeight"
|
|
36
|
+
[offsetX]="offsetX"
|
|
37
|
+
[innerWidth]="innerWidth"
|
|
38
|
+
[rows]="rows"
|
|
39
|
+
[columns]="columns">
|
|
40
|
+
</datatable-summary-row>
|
|
33
41
|
<datatable-row-wrapper
|
|
34
42
|
[groupedRows]="groupedRows"
|
|
35
43
|
*ngFor="let group of temp; let i = index; trackBy: rowTrackingFn;"
|
|
@@ -76,6 +84,14 @@ import { MouseEvent } from '../../events';
|
|
|
76
84
|
</datatable-body-row>
|
|
77
85
|
</ng-template>
|
|
78
86
|
</datatable-row-wrapper>
|
|
87
|
+
<datatable-summary-row
|
|
88
|
+
*ngIf="summaryRow && summaryPosition === 'bottom'"
|
|
89
|
+
[rowHeight]="summaryHeight"
|
|
90
|
+
[offsetX]="offsetX"
|
|
91
|
+
[innerWidth]="innerWidth"
|
|
92
|
+
[rows]="rows"
|
|
93
|
+
[columns]="columns">
|
|
94
|
+
</datatable-summary-row>
|
|
79
95
|
</datatable-scroller>
|
|
80
96
|
<div
|
|
81
97
|
class="empty-row"
|
|
@@ -95,7 +111,7 @@ export class DataTableBodyComponent implements OnInit, OnDestroy {
|
|
|
95
111
|
@Input() scrollbarH: boolean;
|
|
96
112
|
@Input() loadingIndicator: boolean;
|
|
97
113
|
@Input() externalPaging: boolean;
|
|
98
|
-
@Input() rowHeight: number;
|
|
114
|
+
@Input() rowHeight: number | ((row: any) => number);
|
|
99
115
|
@Input() offsetX: number;
|
|
100
116
|
@Input() emptyMessage: string;
|
|
101
117
|
@Input() selectionType: SelectionType;
|
|
@@ -112,6 +128,9 @@ export class DataTableBodyComponent implements OnInit, OnDestroy {
|
|
|
112
128
|
@Input() innerWidth: number;
|
|
113
129
|
@Input() groupRowsBy: string;
|
|
114
130
|
@Input() virtualization: boolean;
|
|
131
|
+
@Input() summaryRow: boolean;
|
|
132
|
+
@Input() summaryPosition: string;
|
|
133
|
+
@Input() summaryHeight: number;
|
|
115
134
|
|
|
116
135
|
@Input() set pageSize(val: number) {
|
|
117
136
|
this._pageSize = val;
|
|
@@ -207,7 +226,7 @@ export class DataTableBodyComponent implements OnInit, OnDestroy {
|
|
|
207
226
|
* calculate scroll height automatically (as height will be undefined).
|
|
208
227
|
*/
|
|
209
228
|
get scrollHeight(): number | undefined {
|
|
210
|
-
if (this.scrollbarV) {
|
|
229
|
+
if (this.scrollbarV && this.rowCount) {
|
|
211
230
|
return this.rowHeightsCache.query(this.rowCount - 1);
|
|
212
231
|
}
|
|
213
232
|
// avoid TS7030: Not all code paths return a value.
|
|
@@ -400,14 +419,16 @@ export class DataTableBodyComponent implements OnInit, OnDestroy {
|
|
|
400
419
|
* Get the row height
|
|
401
420
|
*/
|
|
402
421
|
getRowHeight(row: any): number {
|
|
403
|
-
let
|
|
422
|
+
let height;
|
|
404
423
|
|
|
405
424
|
// if its a function return it
|
|
406
425
|
if (typeof this.rowHeight === 'function') {
|
|
407
|
-
|
|
426
|
+
height = this.rowHeight(row);
|
|
427
|
+
} else {
|
|
428
|
+
height = this.rowHeight;
|
|
408
429
|
}
|
|
409
430
|
|
|
410
|
-
return
|
|
431
|
+
return height;
|
|
411
432
|
}
|
|
412
433
|
|
|
413
434
|
/**
|
|
@@ -525,7 +546,7 @@ export class DataTableBodyComponent implements OnInit, OnDestroy {
|
|
|
525
546
|
// If virtual rows are not needed
|
|
526
547
|
// We render all in one go
|
|
527
548
|
first = 0;
|
|
528
|
-
last = this.rowCount
|
|
549
|
+
last = this.rowCount;
|
|
529
550
|
}
|
|
530
551
|
} else {
|
|
531
552
|
// The server is handling paging and will pass an array that begins with the
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './summary-row.component';
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { async, TestBed, ComponentFixture } from '@angular/core/testing';
|
|
2
|
+
import { DebugElement, PipeTransform } from '@angular/core';
|
|
3
|
+
import { By } from '@angular/platform-browser';
|
|
4
|
+
import {} from 'jasmine';
|
|
5
|
+
|
|
6
|
+
import { DataTableBodyRowComponent } from '../body-row.component';
|
|
7
|
+
import { DataTableBodyCellComponent } from '../body-cell.component';
|
|
8
|
+
import {
|
|
9
|
+
DataTableSummaryRowComponent
|
|
10
|
+
} from './summary-row.component';
|
|
11
|
+
import { ISummaryColumn } from './';
|
|
12
|
+
import { ScrollbarHelper } from '../../../';
|
|
13
|
+
import { setColumnDefaults } from '../../../utils';
|
|
14
|
+
|
|
15
|
+
describe('DataTableSummaryRowComponent', () => {
|
|
16
|
+
let fixture: ComponentFixture<DataTableSummaryRowComponent>;
|
|
17
|
+
let component: DataTableSummaryRowComponent;
|
|
18
|
+
let element: DebugElement;
|
|
19
|
+
|
|
20
|
+
let rows: any[];
|
|
21
|
+
let columns: ISummaryColumn[];
|
|
22
|
+
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
rows = [
|
|
25
|
+
{ col1: 'test', col2: 20 },
|
|
26
|
+
{ col1: 'test1', col2: 30 },
|
|
27
|
+
];
|
|
28
|
+
columns = [
|
|
29
|
+
{ prop: 'col1' }, { prop: 'col2' }
|
|
30
|
+
];
|
|
31
|
+
setColumnDefaults(columns);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
beforeEach(async(() => {
|
|
35
|
+
TestBed.configureTestingModule({
|
|
36
|
+
declarations: [
|
|
37
|
+
DataTableSummaryRowComponent,
|
|
38
|
+
DataTableBodyRowComponent,
|
|
39
|
+
DataTableBodyCellComponent,
|
|
40
|
+
],
|
|
41
|
+
providers: [
|
|
42
|
+
ScrollbarHelper,
|
|
43
|
+
]
|
|
44
|
+
}).compileComponents();
|
|
45
|
+
}));
|
|
46
|
+
|
|
47
|
+
beforeEach(() => {
|
|
48
|
+
fixture = TestBed.createComponent(DataTableSummaryRowComponent);
|
|
49
|
+
component = fixture.componentInstance;
|
|
50
|
+
element = fixture.debugElement;
|
|
51
|
+
fixture.detectChanges();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
function triggerChange() {
|
|
55
|
+
component.ngOnChanges();
|
|
56
|
+
fixture.detectChanges();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
describe('fixture', () => {
|
|
60
|
+
it('should have a component instance', () => {
|
|
61
|
+
expect(component).toBeTruthy();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
describe('Visibility', () => {
|
|
66
|
+
it('should not be visible when there are no columns', () => {
|
|
67
|
+
component.rows = rows;
|
|
68
|
+
triggerChange();
|
|
69
|
+
expect(element.query(By.css('datatable-body-row'))).toBeNull();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should not be visible when there are no rows', () => {
|
|
73
|
+
component.columns = columns;
|
|
74
|
+
triggerChange();
|
|
75
|
+
expect(element.query(By.css('datatable-body-row'))).toBeNull();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it('should be visible when there are rows and columns', () => {
|
|
79
|
+
component.columns = columns;
|
|
80
|
+
component.rows = rows;
|
|
81
|
+
triggerChange();
|
|
82
|
+
expect(element.query(By.css('datatable-body-row'))).not.toBeNull();
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
describe('Computing', () => {
|
|
87
|
+
beforeEach(() => {
|
|
88
|
+
component.columns = columns;
|
|
89
|
+
component.rows = rows;
|
|
90
|
+
triggerChange();
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it('should use default sum function when no other provided', () => {
|
|
94
|
+
expect(component.summaryRow['col1']).toEqual(rows[0]['col1'] + rows[1]['col1']);
|
|
95
|
+
expect(component.summaryRow['col2']).toEqual(rows[0]['col2'] + rows[1]['col2']);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it('should use provided summary function', () => {
|
|
99
|
+
const sum1 = 22;
|
|
100
|
+
const sum2 = 'test sum';
|
|
101
|
+
const spy1 = jasmine.createSpy('spy1').and.returnValue(sum1);
|
|
102
|
+
const spy2 = jasmine.createSpy('spy2').and.returnValue(sum2);
|
|
103
|
+
columns[0].summaryFunc = spy1;
|
|
104
|
+
columns[1].summaryFunc = spy2;
|
|
105
|
+
|
|
106
|
+
triggerChange();
|
|
107
|
+
|
|
108
|
+
expect(spy1.calls.any()).toBeTruthy();
|
|
109
|
+
expect(spy2.calls.any()).toBeTruthy();
|
|
110
|
+
|
|
111
|
+
expect(spy1.calls.mostRecent().args[0]).toEqual([ rows[0]['col1'], rows[1]['col1'] ]);
|
|
112
|
+
expect(spy2.calls.mostRecent().args[0]).toEqual([ rows[0]['col2'], rows[1]['col2'] ]);
|
|
113
|
+
|
|
114
|
+
expect(component.summaryRow['col1']).toEqual(sum1);
|
|
115
|
+
expect(component.summaryRow['col2']).toEqual(sum2);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
describe('Pipe', () => {
|
|
119
|
+
it('should use provided pipe', () => {
|
|
120
|
+
const transformed = '$22';
|
|
121
|
+
const transformSpy = jasmine.createSpy('transform').and.returnValue(transformed);
|
|
122
|
+
|
|
123
|
+
columns[0].pipe = { transform: transformSpy };
|
|
124
|
+
triggerChange();
|
|
125
|
+
|
|
126
|
+
expect(transformSpy.calls.any()).toBeTruthy();
|
|
127
|
+
expect(component.summaryRow['col1']).toEqual(transformed);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, Input, OnChanges, PipeTransform, TemplateRef } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
export interface ISummaryColumn {
|
|
4
|
+
summaryFunc?: (cells: any[]) => any;
|
|
5
|
+
summaryTemplate?: TemplateRef<any>;
|
|
6
|
+
|
|
7
|
+
prop: string;
|
|
8
|
+
pipe?: PipeTransform;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function defaultSumFunc(cells: any[]): any {
|
|
12
|
+
return cells
|
|
13
|
+
.filter(cell => !!cell)
|
|
14
|
+
.reduce((res, cell) => res + cell);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@Component({
|
|
18
|
+
selector: 'datatable-summary-row',
|
|
19
|
+
template: `
|
|
20
|
+
<datatable-body-row
|
|
21
|
+
*ngIf="summaryRow && _internalColumns"
|
|
22
|
+
tabindex="-1"
|
|
23
|
+
[innerWidth]="innerWidth"
|
|
24
|
+
[offsetX]="offsetX"
|
|
25
|
+
[columns]="_internalColumns"
|
|
26
|
+
[rowHeight]="rowHeight"
|
|
27
|
+
[row]="summaryRow"
|
|
28
|
+
[rowIndex]="-1">
|
|
29
|
+
</datatable-body-row>
|
|
30
|
+
`,
|
|
31
|
+
host: {
|
|
32
|
+
class: 'datatable-summary-row'
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
export class DataTableSummaryRowComponent implements OnChanges {
|
|
37
|
+
@Input() rows: any[];
|
|
38
|
+
@Input() columns: ISummaryColumn[];
|
|
39
|
+
|
|
40
|
+
@Input() rowHeight: number;
|
|
41
|
+
@Input() offsetX: number;
|
|
42
|
+
@Input() innerWidth: number;
|
|
43
|
+
|
|
44
|
+
_internalColumns: ISummaryColumn[];
|
|
45
|
+
summaryRow = {};
|
|
46
|
+
|
|
47
|
+
ngOnChanges() {
|
|
48
|
+
if (!this.columns || !this.rows) { return; }
|
|
49
|
+
this.updateInternalColumns();
|
|
50
|
+
this.updateValues();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private updateInternalColumns() {
|
|
54
|
+
this._internalColumns = this.columns.map(col => ({
|
|
55
|
+
...col,
|
|
56
|
+
cellTemplate: col.summaryTemplate
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private updateValues() {
|
|
61
|
+
this.summaryRow = {};
|
|
62
|
+
|
|
63
|
+
this.columns
|
|
64
|
+
.filter(col => !col.summaryTemplate)
|
|
65
|
+
.forEach(col => {
|
|
66
|
+
const cellsFromSingleColumn = this.rows.map(row => row[col.prop]);
|
|
67
|
+
const sumFunc = col.summaryFunc || defaultSumFunc;
|
|
68
|
+
|
|
69
|
+
this.summaryRow[col.prop] = col.pipe ?
|
|
70
|
+
col.pipe.transform(sumFunc(cellsFromSingleColumn)) :
|
|
71
|
+
sumFunc(cellsFromSingleColumn);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|