@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/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* angular2-data-table v"11.
|
|
2
|
+
* angular2-data-table v"11.3.2" (https://github.com/swimlane/angular2-data-table)
|
|
3
3
|
* Copyright 2016
|
|
4
4
|
* Licensed under MIT
|
|
5
5
|
*/
|
|
@@ -88,7 +88,7 @@ exports = module.exports = __webpack_require__("./node_modules/css-loader/lib/cs
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
// module
|
|
91
|
-
exports.push([module.i, ".ngx-datatable {\n display: block;\n overflow: hidden;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n -webkit-transform: translate3d(0, 0, 0);\n /**\n * Vertical Scrolling Adjustments\n */\n /**\n * Horizontal Scrolling Adjustments\n */\n /**\n * Fixed Header Height Adjustments\n */\n /**\n * Fixed row height adjustments\n */\n /**\n * Shared Styles\n */\n /**\n * Header Styles\n */\n /**\n * Body Styles\n */\n /**\n * Footer Styles\n */ }\n .ngx-datatable [hidden] {\n display: none !important; }\n .ngx-datatable *, .ngx-datatable *:before, .ngx-datatable *:after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .ngx-datatable.scroll-vertical .datatable-body {\n overflow-y: auto; }\n .ngx-datatable.scroll-vertical .datatable-body .datatable-row-wrapper {\n position: absolute; }\n .ngx-datatable.scroll-horz .datatable-body {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .ngx-datatable.fixed-header .datatable-header .datatable-header-inner {\n white-space: nowrap; }\n .ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .ngx-datatable.fixed-row .datatable-scroll {\n white-space: nowrap; }\n .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row {\n white-space: nowrap; }\n .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis; }\n .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis; }\n .ngx-datatable .datatable-body-row,\n .ngx-datatable .datatable-row-center,\n .ngx-datatable .datatable-header-inner {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-flow: row;\n -o-flex-flow: row;\n flex-flow: row; }\n .ngx-datatable .datatable-body-cell,\n .ngx-datatable .datatable-header-cell {\n overflow-x: hidden;\n vertical-align: top;\n display: inline-block;\n line-height: 1.625; }\n .ngx-datatable .datatable-body-cell:focus,\n .ngx-datatable .datatable-header-cell:focus {\n outline: none; }\n .ngx-datatable .datatable-row-left,\n .ngx-datatable .datatable-row-right {\n z-index: 9; }\n .ngx-datatable .datatable-row-left,\n .ngx-datatable .datatable-row-center,\n .ngx-datatable .datatable-row-group,\n .ngx-datatable .datatable-row-right {\n position: relative; }\n .ngx-datatable .datatable-header {\n display: block;\n overflow: hidden; }\n .ngx-datatable .datatable-header .datatable-header-inner {\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n -webkit-align-items: stretch; }\n .ngx-datatable .datatable-header .datatable-header-cell {\n position: relative;\n display: inline-block; }\n .ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper {\n cursor: pointer; }\n .ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper {\n cursor: move; }\n .ngx-datatable .datatable-header .datatable-header-cell .sort-btn {\n line-height: 100%;\n vertical-align: middle;\n display: inline-block;\n cursor: pointer; }\n .ngx-datatable .datatable-header .datatable-header-cell .resize-handle {\n display: inline-block;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n width: 5px;\n padding: 0 4px;\n visibility: hidden
|
|
91
|
+
exports.push([module.i, ".ngx-datatable {\n display: block;\n overflow: hidden;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n -webkit-transform: translate3d(0, 0, 0);\n /**\n * Vertical Scrolling Adjustments\n */\n /**\n * Horizontal Scrolling Adjustments\n */\n /**\n * Fixed Header Height Adjustments\n */\n /**\n * Fixed row height adjustments\n */\n /**\n * Shared Styles\n */\n /**\n * Header Styles\n */\n /**\n * Body Styles\n */\n /**\n * Footer Styles\n */ }\n .ngx-datatable [hidden] {\n display: none !important; }\n .ngx-datatable *, .ngx-datatable *:before, .ngx-datatable *:after {\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .ngx-datatable.scroll-vertical .datatable-body {\n overflow-y: auto; }\n .ngx-datatable.scroll-vertical .datatable-body .datatable-row-wrapper {\n position: absolute; }\n .ngx-datatable.scroll-horz .datatable-body {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .ngx-datatable.fixed-header .datatable-header .datatable-header-inner {\n white-space: nowrap; }\n .ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .ngx-datatable.fixed-row .datatable-scroll {\n white-space: nowrap; }\n .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row {\n white-space: nowrap; }\n .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis; }\n .ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis; }\n .ngx-datatable .datatable-body-row,\n .ngx-datatable .datatable-row-center,\n .ngx-datatable .datatable-header-inner {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-flow: row;\n -o-flex-flow: row;\n flex-flow: row; }\n .ngx-datatable .datatable-body-cell,\n .ngx-datatable .datatable-header-cell {\n overflow-x: hidden;\n vertical-align: top;\n display: inline-block;\n line-height: 1.625; }\n .ngx-datatable .datatable-body-cell:focus,\n .ngx-datatable .datatable-header-cell:focus {\n outline: none; }\n .ngx-datatable .datatable-row-left,\n .ngx-datatable .datatable-row-right {\n z-index: 9; }\n .ngx-datatable .datatable-row-left,\n .ngx-datatable .datatable-row-center,\n .ngx-datatable .datatable-row-group,\n .ngx-datatable .datatable-row-right {\n position: relative; }\n .ngx-datatable .datatable-header {\n display: block;\n overflow: hidden; }\n .ngx-datatable .datatable-header .datatable-header-inner {\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n -webkit-align-items: stretch; }\n .ngx-datatable .datatable-header .datatable-header-cell {\n position: relative;\n display: inline-block; }\n .ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper {\n cursor: pointer; }\n .ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper {\n cursor: move; }\n .ngx-datatable .datatable-header .datatable-header-cell .sort-btn {\n line-height: 100%;\n vertical-align: middle;\n display: inline-block;\n cursor: pointer; }\n .ngx-datatable .datatable-header .datatable-header-cell .resize-handle, .ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable {\n display: inline-block;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n width: 5px;\n padding: 0 4px;\n visibility: hidden; }\n .ngx-datatable .datatable-header .datatable-header-cell .resize-handle {\n cursor: ew-resize; }\n .ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle {\n visibility: visible; }\n .ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable {\n visibility: visible; }\n .ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap {\n height: inherit; }\n .ngx-datatable .datatable-body {\n position: relative;\n z-index: 10;\n display: block; }\n .ngx-datatable .datatable-body .datatable-scroll {\n display: inline-block; }\n .ngx-datatable .datatable-body .datatable-row-detail {\n overflow-y: hidden; }\n .ngx-datatable .datatable-body .datatable-row-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column; }\n .ngx-datatable .datatable-body .datatable-body-row {\n outline: none; }\n .ngx-datatable .datatable-body .datatable-body-row > div {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n .ngx-datatable .datatable-footer {\n display: block;\n width: 100%; }\n .ngx-datatable .datatable-footer .datatable-footer-inner {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%; }\n .ngx-datatable .datatable-footer .selected-count .page-count {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 40%;\n flex: 1 1 40%; }\n .ngx-datatable .datatable-footer .selected-count .datatable-pager {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 60%;\n flex: 1 1 60%; }\n .ngx-datatable .datatable-footer .page-count {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 20%;\n flex: 1 1 20%; }\n .ngx-datatable .datatable-footer .datatable-pager {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 80%;\n flex: 1 1 80%;\n text-align: right; }\n .ngx-datatable .datatable-footer .datatable-pager .pager,\n .ngx-datatable .datatable-footer .datatable-pager .pager li {\n padding: 0;\n margin: 0;\n display: inline-block;\n list-style: none; }\n .ngx-datatable .datatable-footer .datatable-pager .pager li, .ngx-datatable .datatable-footer .datatable-pager .pager li a {\n outline: none; }\n .ngx-datatable .datatable-footer .datatable-pager .pager li a {\n cursor: pointer;\n display: inline-block; }\n .ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a {\n cursor: not-allowed; }\n", ""]);
|
|
92
92
|
|
|
93
93
|
// exports
|
|
94
94
|
|
|
@@ -678,12 +678,11 @@ var body_group_header_template_directive_1 = __webpack_require__("./src/componen
|
|
|
678
678
|
var DatatableGroupHeaderDirective = /** @class */ (function () {
|
|
679
679
|
function DatatableGroupHeaderDirective() {
|
|
680
680
|
/**
|
|
681
|
-
*
|
|
682
|
-
* when virtual scroll is enabled.
|
|
681
|
+
* Row height is required when virtual scroll is enabled.
|
|
683
682
|
*/
|
|
684
683
|
this.rowHeight = 0;
|
|
685
684
|
/**
|
|
686
|
-
*
|
|
685
|
+
* Track toggling of group visibility
|
|
687
686
|
*/
|
|
688
687
|
this.toggle = new core_1.EventEmitter();
|
|
689
688
|
}
|
|
@@ -697,7 +696,7 @@ var DatatableGroupHeaderDirective = /** @class */ (function () {
|
|
|
697
696
|
});
|
|
698
697
|
};
|
|
699
698
|
/**
|
|
700
|
-
*
|
|
699
|
+
* Expand all groups
|
|
701
700
|
*/
|
|
702
701
|
DatatableGroupHeaderDirective.prototype.expandAllGroups = function () {
|
|
703
702
|
this.toggle.emit({
|
|
@@ -706,7 +705,7 @@ var DatatableGroupHeaderDirective = /** @class */ (function () {
|
|
|
706
705
|
});
|
|
707
706
|
};
|
|
708
707
|
/**
|
|
709
|
-
*
|
|
708
|
+
* Collapse all groups
|
|
710
709
|
*/
|
|
711
710
|
DatatableGroupHeaderDirective.prototype.collapseAllGroups = function () {
|
|
712
711
|
this.toggle.emit({
|
|
@@ -924,6 +923,7 @@ var DataTableBodyRowComponent = /** @class */ (function () {
|
|
|
924
923
|
set: function (val) {
|
|
925
924
|
this._columns = val;
|
|
926
925
|
this.recalculateColumns(val);
|
|
926
|
+
this.buildStylesByGroup();
|
|
927
927
|
},
|
|
928
928
|
enumerable: true,
|
|
929
929
|
configurable: true
|
|
@@ -1059,7 +1059,7 @@ var DataTableBodyRowComponent = /** @class */ (function () {
|
|
|
1059
1059
|
if (val === void 0) { val = this.columns; }
|
|
1060
1060
|
this._columns = val;
|
|
1061
1061
|
var colsByPin = utils_1.columnsByPin(this._columns);
|
|
1062
|
-
this._columnsByPin = utils_1.
|
|
1062
|
+
this._columnsByPin = utils_1.columnsByPinArr(this._columns);
|
|
1063
1063
|
this._columnGroupWidths = utils_1.columnGroupWidths(colsByPin, this._columns);
|
|
1064
1064
|
};
|
|
1065
1065
|
__decorate([
|
|
@@ -1140,7 +1140,7 @@ var DataTableBodyRowComponent = /** @class */ (function () {
|
|
|
1140
1140
|
core_1.Component({
|
|
1141
1141
|
selector: 'datatable-body-row',
|
|
1142
1142
|
changeDetection: core_1.ChangeDetectionStrategy.OnPush,
|
|
1143
|
-
template: "\n <div\n *ngFor=\"let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups\"\n class=\"datatable-row-{{colGroup.type}} datatable-row-group\"\n [ngStyle]=\"_groupStyles[colGroup.type]\">\n <datatable-body-cell\n *ngFor=\"let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn\"\n tabindex=\"-1\"\n [row]=\"row\"\n [group]=\"group\"\n [expanded]=\"expanded\"\n [isSelected]=\"isSelected\"\n [rowIndex]=\"rowIndex\"\n [column]=\"column\"\n [rowHeight]=\"rowHeight\"\n [displayCheck]=\"displayCheck\"\n (activate)=\"onActivate($event, ii)\">\n </datatable-body-cell>\n </div
|
|
1143
|
+
template: "\n <div\n *ngFor=\"let colGroup of _columnsByPin; let i = index; trackBy: trackByGroups\"\n class=\"datatable-row-{{colGroup.type}} datatable-row-group\"\n [ngStyle]=\"_groupStyles[colGroup.type]\">\n <datatable-body-cell\n *ngFor=\"let column of colGroup.columns; let ii = index; trackBy: columnTrackingFn\"\n tabindex=\"-1\"\n [row]=\"row\"\n [group]=\"group\"\n [expanded]=\"expanded\"\n [isSelected]=\"isSelected\"\n [rowIndex]=\"rowIndex\"\n [column]=\"column\"\n [rowHeight]=\"rowHeight\"\n [displayCheck]=\"displayCheck\"\n (activate)=\"onActivate($event, ii)\">\n </datatable-body-cell>\n </div>\n "
|
|
1144
1144
|
}),
|
|
1145
1145
|
__param(1, core_1.SkipSelf()),
|
|
1146
1146
|
__metadata("design:paramtypes", [core_1.KeyValueDiffers,
|
|
@@ -1316,7 +1316,7 @@ var DataTableBodyComponent = /** @class */ (function () {
|
|
|
1316
1316
|
* calculate scroll height automatically (as height will be undefined).
|
|
1317
1317
|
*/
|
|
1318
1318
|
get: function () {
|
|
1319
|
-
if (this.scrollbarV) {
|
|
1319
|
+
if (this.scrollbarV && this.rowCount) {
|
|
1320
1320
|
return this.rowHeightsCache.query(this.rowCount - 1);
|
|
1321
1321
|
}
|
|
1322
1322
|
// avoid TS7030: Not all code paths return a value.
|
|
@@ -1466,12 +1466,15 @@ var DataTableBodyComponent = /** @class */ (function () {
|
|
|
1466
1466
|
* Get the row height
|
|
1467
1467
|
*/
|
|
1468
1468
|
DataTableBodyComponent.prototype.getRowHeight = function (row) {
|
|
1469
|
-
var
|
|
1469
|
+
var height;
|
|
1470
1470
|
// if its a function return it
|
|
1471
1471
|
if (typeof this.rowHeight === 'function') {
|
|
1472
|
-
|
|
1472
|
+
height = this.rowHeight(row);
|
|
1473
1473
|
}
|
|
1474
|
-
|
|
1474
|
+
else {
|
|
1475
|
+
height = this.rowHeight;
|
|
1476
|
+
}
|
|
1477
|
+
return height;
|
|
1475
1478
|
};
|
|
1476
1479
|
/**
|
|
1477
1480
|
* @param group the group with all rows
|
|
@@ -1567,7 +1570,7 @@ var DataTableBodyComponent = /** @class */ (function () {
|
|
|
1567
1570
|
// If virtual rows are not needed
|
|
1568
1571
|
// We render all in one go
|
|
1569
1572
|
first = 0;
|
|
1570
|
-
last = this.rowCount
|
|
1573
|
+
last = this.rowCount;
|
|
1571
1574
|
}
|
|
1572
1575
|
}
|
|
1573
1576
|
else {
|
|
@@ -1738,7 +1741,7 @@ var DataTableBodyComponent = /** @class */ (function () {
|
|
|
1738
1741
|
], DataTableBodyComponent.prototype, "externalPaging", void 0);
|
|
1739
1742
|
__decorate([
|
|
1740
1743
|
core_1.Input(),
|
|
1741
|
-
__metadata("design:type",
|
|
1744
|
+
__metadata("design:type", Object)
|
|
1742
1745
|
], DataTableBodyComponent.prototype, "rowHeight", void 0);
|
|
1743
1746
|
__decorate([
|
|
1744
1747
|
core_1.Input(),
|
|
@@ -1804,6 +1807,18 @@ var DataTableBodyComponent = /** @class */ (function () {
|
|
|
1804
1807
|
core_1.Input(),
|
|
1805
1808
|
__metadata("design:type", Boolean)
|
|
1806
1809
|
], DataTableBodyComponent.prototype, "virtualization", void 0);
|
|
1810
|
+
__decorate([
|
|
1811
|
+
core_1.Input(),
|
|
1812
|
+
__metadata("design:type", Boolean)
|
|
1813
|
+
], DataTableBodyComponent.prototype, "summaryRow", void 0);
|
|
1814
|
+
__decorate([
|
|
1815
|
+
core_1.Input(),
|
|
1816
|
+
__metadata("design:type", String)
|
|
1817
|
+
], DataTableBodyComponent.prototype, "summaryPosition", void 0);
|
|
1818
|
+
__decorate([
|
|
1819
|
+
core_1.Input(),
|
|
1820
|
+
__metadata("design:type", Number)
|
|
1821
|
+
], DataTableBodyComponent.prototype, "summaryHeight", void 0);
|
|
1807
1822
|
__decorate([
|
|
1808
1823
|
core_1.Input(),
|
|
1809
1824
|
__metadata("design:type", Number),
|
|
@@ -1871,7 +1886,7 @@ var DataTableBodyComponent = /** @class */ (function () {
|
|
|
1871
1886
|
DataTableBodyComponent = __decorate([
|
|
1872
1887
|
core_1.Component({
|
|
1873
1888
|
selector: 'datatable-body',
|
|
1874
|
-
template: "\n <datatable-selection\n #selector\n [selected]=\"selected\"\n [rows]=\"rows\"\n [selectCheck]=\"selectCheck\"\n [selectEnabled]=\"selectEnabled\"\n [selectionType]=\"selectionType\"\n [rowIdentity]=\"rowIdentity\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\">\n <datatable-progress\n *ngIf=\"loadingIndicator\">\n </datatable-progress>\n <datatable-scroller\n *ngIf=\"rows?.length\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [scrollHeight]=\"scrollHeight\"\n [scrollWidth]=\"columnGroupWidths?.total\"\n (scroll)=\"onBodyScroll($event)\">\n <datatable-row-wrapper\n [groupedRows]=\"groupedRows\"\n *ngFor=\"let group of temp; let i = index; trackBy: rowTrackingFn;\"\n [innerWidth]=\"innerWidth\"\n [ngStyle]=\"getRowsStyles(group)\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [offsetX]=\"offsetX\"\n [detailRowHeight]=\"getDetailRowHeight(group[i],i)\"\n [row]=\"group\"\n [expanded]=\"getRowExpanded(group)\"\n [rowIndex]=\"getRowIndex(group[i])\"\n (rowContextmenu)=\"rowContextmenu.emit($event)\">\n <datatable-body-row\n *ngIf=\"!groupedRows; else groupedRowsTemplate\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(group)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(group)\"\n [row]=\"group\"\n [rowIndex]=\"getRowIndex(group)\"\n [expanded]=\"getRowExpanded(group)\"\n [rowClass]=\"rowClass\"\n [displayCheck]=\"displayCheck\"\n (activate)=\"selector.onActivate($event, indexes.first + i)\">\n </datatable-body-row>\n <ng-template #groupedRowsTemplate>\n <datatable-body-row\n *ngFor=\"let row of group.value; let i = index; trackBy: rowTrackingFn;\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(row)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(row)\"\n [row]=\"row\"\n [group]=\"group.value\"\n [rowIndex]=\"getRowIndex(row)\"\n [expanded]=\"getRowExpanded(row)\"\n [rowClass]=\"rowClass\"\n (activate)=\"selector.onActivate($event, i)\">\n </datatable-body-row>\n </ng-template>\n </datatable-row-wrapper>\n </datatable-scroller>\n <div\n class=\"empty-row\"\n *ngIf=\"!rows?.length && !loadingIndicator\"\n [innerHTML]=\"emptyMessage\">\n </div>\n </datatable-selection>\n ",
|
|
1889
|
+
template: "\n <datatable-selection\n #selector\n [selected]=\"selected\"\n [rows]=\"rows\"\n [selectCheck]=\"selectCheck\"\n [selectEnabled]=\"selectEnabled\"\n [selectionType]=\"selectionType\"\n [rowIdentity]=\"rowIdentity\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\">\n <datatable-progress\n *ngIf=\"loadingIndicator\">\n </datatable-progress>\n <datatable-scroller\n *ngIf=\"rows?.length\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [scrollHeight]=\"scrollHeight\"\n [scrollWidth]=\"columnGroupWidths?.total\"\n (scroll)=\"onBodyScroll($event)\">\n <datatable-summary-row\n *ngIf=\"summaryRow && summaryPosition === 'top'\"\n [rowHeight]=\"summaryHeight\"\n [offsetX]=\"offsetX\"\n [innerWidth]=\"innerWidth\"\n [rows]=\"rows\"\n [columns]=\"columns\">\n </datatable-summary-row>\n <datatable-row-wrapper\n [groupedRows]=\"groupedRows\"\n *ngFor=\"let group of temp; let i = index; trackBy: rowTrackingFn;\"\n [innerWidth]=\"innerWidth\"\n [ngStyle]=\"getRowsStyles(group)\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [offsetX]=\"offsetX\"\n [detailRowHeight]=\"getDetailRowHeight(group[i],i)\"\n [row]=\"group\"\n [expanded]=\"getRowExpanded(group)\"\n [rowIndex]=\"getRowIndex(group[i])\"\n (rowContextmenu)=\"rowContextmenu.emit($event)\">\n <datatable-body-row\n *ngIf=\"!groupedRows; else groupedRowsTemplate\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(group)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(group)\"\n [row]=\"group\"\n [rowIndex]=\"getRowIndex(group)\"\n [expanded]=\"getRowExpanded(group)\"\n [rowClass]=\"rowClass\"\n [displayCheck]=\"displayCheck\"\n (activate)=\"selector.onActivate($event, indexes.first + i)\">\n </datatable-body-row>\n <ng-template #groupedRowsTemplate>\n <datatable-body-row\n *ngFor=\"let row of group.value; let i = index; trackBy: rowTrackingFn;\"\n tabindex=\"-1\"\n [isSelected]=\"selector.getRowSelected(row)\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"columns\"\n [rowHeight]=\"getRowHeight(row)\"\n [row]=\"row\"\n [group]=\"group.value\"\n [rowIndex]=\"getRowIndex(row)\"\n [expanded]=\"getRowExpanded(row)\"\n [rowClass]=\"rowClass\"\n (activate)=\"selector.onActivate($event, i)\">\n </datatable-body-row>\n </ng-template>\n </datatable-row-wrapper>\n <datatable-summary-row\n *ngIf=\"summaryRow && summaryPosition === 'bottom'\"\n [rowHeight]=\"summaryHeight\"\n [offsetX]=\"offsetX\"\n [innerWidth]=\"innerWidth\"\n [rows]=\"rows\"\n [columns]=\"columns\">\n </datatable-summary-row>\n </datatable-scroller>\n <div\n class=\"empty-row\"\n *ngIf=\"!rows?.length && !loadingIndicator\"\n [innerHTML]=\"emptyMessage\">\n </div>\n </datatable-selection>\n ",
|
|
1875
1890
|
changeDetection: core_1.ChangeDetectionStrategy.OnPush,
|
|
1876
1891
|
host: {
|
|
1877
1892
|
class: 'datatable-body'
|
|
@@ -1904,6 +1919,7 @@ __export(__webpack_require__("./src/components/body/body-row-wrapper.component.t
|
|
|
1904
1919
|
__export(__webpack_require__("./src/components/body/selection.component.ts"));
|
|
1905
1920
|
__export(__webpack_require__("./src/components/body/body-group-header.directive.ts"));
|
|
1906
1921
|
__export(__webpack_require__("./src/components/body/body-group-header-template.directive.ts"));
|
|
1922
|
+
__export(__webpack_require__("./src/components/body/summary/index.ts"));
|
|
1907
1923
|
|
|
1908
1924
|
|
|
1909
1925
|
/***/ }),
|
|
@@ -2238,6 +2254,112 @@ var DataTableSelectionComponent = /** @class */ (function () {
|
|
|
2238
2254
|
exports.DataTableSelectionComponent = DataTableSelectionComponent;
|
|
2239
2255
|
|
|
2240
2256
|
|
|
2257
|
+
/***/ }),
|
|
2258
|
+
|
|
2259
|
+
/***/ "./src/components/body/summary/index.ts":
|
|
2260
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
2261
|
+
|
|
2262
|
+
"use strict";
|
|
2263
|
+
|
|
2264
|
+
function __export(m) {
|
|
2265
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
2266
|
+
}
|
|
2267
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2268
|
+
__export(__webpack_require__("./src/components/body/summary/summary-row.component.ts"));
|
|
2269
|
+
|
|
2270
|
+
|
|
2271
|
+
/***/ }),
|
|
2272
|
+
|
|
2273
|
+
/***/ "./src/components/body/summary/summary-row.component.ts":
|
|
2274
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
2275
|
+
|
|
2276
|
+
"use strict";
|
|
2277
|
+
|
|
2278
|
+
var __assign = (this && this.__assign) || Object.assign || function(t) {
|
|
2279
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
2280
|
+
s = arguments[i];
|
|
2281
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
2282
|
+
t[p] = s[p];
|
|
2283
|
+
}
|
|
2284
|
+
return t;
|
|
2285
|
+
};
|
|
2286
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2287
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2288
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2289
|
+
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;
|
|
2290
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2291
|
+
};
|
|
2292
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
2293
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
2294
|
+
};
|
|
2295
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2296
|
+
var core_1 = __webpack_require__("@angular/core");
|
|
2297
|
+
function defaultSumFunc(cells) {
|
|
2298
|
+
return cells
|
|
2299
|
+
.filter(function (cell) { return !!cell; })
|
|
2300
|
+
.reduce(function (res, cell) { return res + cell; });
|
|
2301
|
+
}
|
|
2302
|
+
var DataTableSummaryRowComponent = /** @class */ (function () {
|
|
2303
|
+
function DataTableSummaryRowComponent() {
|
|
2304
|
+
this.summaryRow = {};
|
|
2305
|
+
}
|
|
2306
|
+
DataTableSummaryRowComponent.prototype.ngOnChanges = function () {
|
|
2307
|
+
if (!this.columns || !this.rows) {
|
|
2308
|
+
return;
|
|
2309
|
+
}
|
|
2310
|
+
this.updateInternalColumns();
|
|
2311
|
+
this.updateValues();
|
|
2312
|
+
};
|
|
2313
|
+
DataTableSummaryRowComponent.prototype.updateInternalColumns = function () {
|
|
2314
|
+
this._internalColumns = this.columns.map(function (col) { return (__assign({}, col, { cellTemplate: col.summaryTemplate })); });
|
|
2315
|
+
};
|
|
2316
|
+
DataTableSummaryRowComponent.prototype.updateValues = function () {
|
|
2317
|
+
var _this = this;
|
|
2318
|
+
this.summaryRow = {};
|
|
2319
|
+
this.columns
|
|
2320
|
+
.filter(function (col) { return !col.summaryTemplate; })
|
|
2321
|
+
.forEach(function (col) {
|
|
2322
|
+
var cellsFromSingleColumn = _this.rows.map(function (row) { return row[col.prop]; });
|
|
2323
|
+
var sumFunc = col.summaryFunc || defaultSumFunc;
|
|
2324
|
+
_this.summaryRow[col.prop] = col.pipe ?
|
|
2325
|
+
col.pipe.transform(sumFunc(cellsFromSingleColumn)) :
|
|
2326
|
+
sumFunc(cellsFromSingleColumn);
|
|
2327
|
+
});
|
|
2328
|
+
};
|
|
2329
|
+
__decorate([
|
|
2330
|
+
core_1.Input(),
|
|
2331
|
+
__metadata("design:type", Array)
|
|
2332
|
+
], DataTableSummaryRowComponent.prototype, "rows", void 0);
|
|
2333
|
+
__decorate([
|
|
2334
|
+
core_1.Input(),
|
|
2335
|
+
__metadata("design:type", Array)
|
|
2336
|
+
], DataTableSummaryRowComponent.prototype, "columns", void 0);
|
|
2337
|
+
__decorate([
|
|
2338
|
+
core_1.Input(),
|
|
2339
|
+
__metadata("design:type", Number)
|
|
2340
|
+
], DataTableSummaryRowComponent.prototype, "rowHeight", void 0);
|
|
2341
|
+
__decorate([
|
|
2342
|
+
core_1.Input(),
|
|
2343
|
+
__metadata("design:type", Number)
|
|
2344
|
+
], DataTableSummaryRowComponent.prototype, "offsetX", void 0);
|
|
2345
|
+
__decorate([
|
|
2346
|
+
core_1.Input(),
|
|
2347
|
+
__metadata("design:type", Number)
|
|
2348
|
+
], DataTableSummaryRowComponent.prototype, "innerWidth", void 0);
|
|
2349
|
+
DataTableSummaryRowComponent = __decorate([
|
|
2350
|
+
core_1.Component({
|
|
2351
|
+
selector: 'datatable-summary-row',
|
|
2352
|
+
template: "\n <datatable-body-row\n *ngIf=\"summaryRow && _internalColumns\"\n tabindex=\"-1\"\n [innerWidth]=\"innerWidth\"\n [offsetX]=\"offsetX\"\n [columns]=\"_internalColumns\"\n [rowHeight]=\"rowHeight\"\n [row]=\"summaryRow\"\n [rowIndex]=\"-1\">\n </datatable-body-row>\n ",
|
|
2353
|
+
host: {
|
|
2354
|
+
class: 'datatable-summary-row'
|
|
2355
|
+
}
|
|
2356
|
+
})
|
|
2357
|
+
], DataTableSummaryRowComponent);
|
|
2358
|
+
return DataTableSummaryRowComponent;
|
|
2359
|
+
}());
|
|
2360
|
+
exports.DataTableSummaryRowComponent = DataTableSummaryRowComponent;
|
|
2361
|
+
|
|
2362
|
+
|
|
2241
2363
|
/***/ }),
|
|
2242
2364
|
|
|
2243
2365
|
/***/ "./src/components/columns/column-cell.directive.ts":
|
|
@@ -2395,6 +2517,14 @@ var DataTableColumnDirective = /** @class */ (function () {
|
|
|
2395
2517
|
core_1.Input(),
|
|
2396
2518
|
__metadata("design:type", Object)
|
|
2397
2519
|
], DataTableColumnDirective.prototype, "cellClass", void 0);
|
|
2520
|
+
__decorate([
|
|
2521
|
+
core_1.Input(),
|
|
2522
|
+
__metadata("design:type", Function)
|
|
2523
|
+
], DataTableColumnDirective.prototype, "summaryFunc", void 0);
|
|
2524
|
+
__decorate([
|
|
2525
|
+
core_1.Input(),
|
|
2526
|
+
__metadata("design:type", core_1.TemplateRef)
|
|
2527
|
+
], DataTableColumnDirective.prototype, "summaryTemplate", void 0);
|
|
2398
2528
|
__decorate([
|
|
2399
2529
|
core_1.Input(),
|
|
2400
2530
|
core_1.ContentChild(column_cell_directive_1.DataTableColumnCellDirective, { read: core_1.TemplateRef }),
|
|
@@ -2603,6 +2733,18 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
2603
2733
|
* A flag for row virtualization on / off
|
|
2604
2734
|
*/
|
|
2605
2735
|
this.virtualization = true;
|
|
2736
|
+
/**
|
|
2737
|
+
* A flag for switching summary row on / off
|
|
2738
|
+
*/
|
|
2739
|
+
this.summaryRow = false;
|
|
2740
|
+
/**
|
|
2741
|
+
* A height of summary row
|
|
2742
|
+
*/
|
|
2743
|
+
this.summaryHeight = this.rowHeight;
|
|
2744
|
+
/**
|
|
2745
|
+
* A property holds a summary row position: top/bottom
|
|
2746
|
+
*/
|
|
2747
|
+
this.summaryPosition = 'top';
|
|
2606
2748
|
/**
|
|
2607
2749
|
* Body was scrolled typically in a `scrollbarV:true` scenario.
|
|
2608
2750
|
*/
|
|
@@ -2662,7 +2804,7 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
2662
2804
|
}
|
|
2663
2805
|
// auto sort on new updates
|
|
2664
2806
|
if (!this.externalSorting) {
|
|
2665
|
-
this.
|
|
2807
|
+
this.sortInternalRows();
|
|
2666
2808
|
}
|
|
2667
2809
|
// recalculate sizes/etc
|
|
2668
2810
|
this.recalculate();
|
|
@@ -2926,7 +3068,7 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
2926
3068
|
DatatableComponent.prototype.ngAfterViewInit = function () {
|
|
2927
3069
|
var _this = this;
|
|
2928
3070
|
if (!this.externalSorting) {
|
|
2929
|
-
this.
|
|
3071
|
+
this.sortInternalRows();
|
|
2930
3072
|
}
|
|
2931
3073
|
// this has to be done to prevent the change detection
|
|
2932
3074
|
// tree from freaking out because we are readjusting
|
|
@@ -2966,6 +3108,7 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
2966
3108
|
this._internalColumns = utils_1.translateTemplates(arr);
|
|
2967
3109
|
utils_1.setColumnDefaults(this._internalColumns);
|
|
2968
3110
|
this.recalculateColumns();
|
|
3111
|
+
this.sortInternalRows();
|
|
2969
3112
|
this.cd.markForCheck();
|
|
2970
3113
|
}
|
|
2971
3114
|
}
|
|
@@ -3002,7 +3145,7 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
3002
3145
|
DatatableComponent.prototype.ngDoCheck = function () {
|
|
3003
3146
|
if (this.rowDiffer.diff(this.rows)) {
|
|
3004
3147
|
if (!this.externalSorting) {
|
|
3005
|
-
this.
|
|
3148
|
+
this.sortInternalRows();
|
|
3006
3149
|
}
|
|
3007
3150
|
else {
|
|
3008
3151
|
this._internalRows = this.rows.slice();
|
|
@@ -3230,14 +3373,13 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
3230
3373
|
selected: this.selected
|
|
3231
3374
|
});
|
|
3232
3375
|
}
|
|
3233
|
-
|
|
3376
|
+
this.sorts = event.sorts;
|
|
3234
3377
|
// this could be optimized better since it will resort
|
|
3235
3378
|
// the rows again on the 'push' detection...
|
|
3236
3379
|
if (this.externalSorting === false) {
|
|
3237
3380
|
// don't use normal setter so we don't resort
|
|
3238
|
-
this.
|
|
3381
|
+
this.sortInternalRows();
|
|
3239
3382
|
}
|
|
3240
|
-
this.sorts = sorts;
|
|
3241
3383
|
// Always go to first page when sorting to see the newly sorted data
|
|
3242
3384
|
this.offset = 0;
|
|
3243
3385
|
this.bodyComponent.updateOffsetY(this.offset);
|
|
@@ -3280,6 +3422,9 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
3280
3422
|
DatatableComponent.prototype.onBodySelect = function (event) {
|
|
3281
3423
|
this.select.emit(event);
|
|
3282
3424
|
};
|
|
3425
|
+
DatatableComponent.prototype.sortInternalRows = function () {
|
|
3426
|
+
this._internalRows = utils_1.sortRows(this._internalRows, this._internalColumns, this.sorts);
|
|
3427
|
+
};
|
|
3283
3428
|
__decorate([
|
|
3284
3429
|
core_1.Input(),
|
|
3285
3430
|
__metadata("design:type", Object),
|
|
@@ -3410,6 +3555,18 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
3410
3555
|
core_1.Input(),
|
|
3411
3556
|
__metadata("design:type", Boolean)
|
|
3412
3557
|
], DatatableComponent.prototype, "virtualization", void 0);
|
|
3558
|
+
__decorate([
|
|
3559
|
+
core_1.Input(),
|
|
3560
|
+
__metadata("design:type", Boolean)
|
|
3561
|
+
], DatatableComponent.prototype, "summaryRow", void 0);
|
|
3562
|
+
__decorate([
|
|
3563
|
+
core_1.Input(),
|
|
3564
|
+
__metadata("design:type", Number)
|
|
3565
|
+
], DatatableComponent.prototype, "summaryHeight", void 0);
|
|
3566
|
+
__decorate([
|
|
3567
|
+
core_1.Input(),
|
|
3568
|
+
__metadata("design:type", String)
|
|
3569
|
+
], DatatableComponent.prototype, "summaryPosition", void 0);
|
|
3413
3570
|
__decorate([
|
|
3414
3571
|
core_1.Output(),
|
|
3415
3572
|
__metadata("design:type", core_1.EventEmitter)
|
|
@@ -3527,7 +3684,7 @@ var DatatableComponent = /** @class */ (function () {
|
|
|
3527
3684
|
DatatableComponent = __decorate([
|
|
3528
3685
|
core_1.Component({
|
|
3529
3686
|
selector: 'ngx-datatable',
|
|
3530
|
-
template: "\n <div\n visibilityObserver\n (visible)=\"recalculate()\">\n <datatable-header\n *ngIf=\"headerHeight\"\n [sorts]=\"sorts\"\n [sortType]=\"sortType\"\n [scrollbarH]=\"scrollbarH\"\n [innerWidth]=\"_innerWidth\"\n [offsetX]=\"_offsetX | async\"\n [dealsWithGroup]=\"groupedRows\"\n [columns]=\"_internalColumns\"\n [headerHeight]=\"headerHeight\"\n [reorderable]=\"reorderable\"\n [sortAscendingIcon]=\"cssClasses.sortAscending\"\n [sortDescendingIcon]=\"cssClasses.sortDescending\"\n [allRowsSelected]=\"allRowsSelected\"\n [selectionType]=\"selectionType\"\n (sort)=\"onColumnSort($event)\"\n (resize)=\"onColumnResize($event)\"\n (reorder)=\"onColumnReorder($event)\"\n (select)=\"onHeaderSelect($event)\"\n (columnContextmenu)=\"onColumnContextmenu($event)\">\n </datatable-header>\n <datatable-body\n [groupRowsBy]=\"groupRowsBy\"\n [groupedRows]=\"groupedRows\"\n [rows]=\"_internalRows\"\n [groupExpansionDefault]=\"groupExpansionDefault\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [virtualization]=\"virtualization\"\n [loadingIndicator]=\"loadingIndicator\"\n [externalPaging]=\"externalPaging\"\n [rowHeight]=\"rowHeight\"\n [rowCount]=\"rowCount\"\n [offset]=\"offset\"\n [trackByProp]=\"trackByProp\"\n [columns]=\"_internalColumns\"\n [pageSize]=\"pageSize\"\n [offsetX]=\"_offsetX | async\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [selected]=\"selected\"\n [innerWidth]=\"_innerWidth\"\n [bodyHeight]=\"bodyHeight\"\n [selectionType]=\"selectionType\"\n [emptyMessage]=\"messages.emptyMessage\"\n [rowIdentity]=\"rowIdentity\"\n [rowClass]=\"rowClass\"\n [selectCheck]=\"selectCheck\"\n [displayCheck]=\"displayCheck\"\n (page)=\"onBodyPage($event)\"\n (activate)=\"activate.emit($event)\"\n (rowContextmenu)=\"onRowContextmenu($event)\"\n (select)=\"onBodySelect($event)\"\n (scroll)=\"onBodyScroll($event)\">\n </datatable-body>\n <datatable-footer\n *ngIf=\"footerHeight\"\n [rowCount]=\"rowCount\"\n [pageSize]=\"pageSize\"\n [offset]=\"offset\"\n [footerHeight]=\"footerHeight\"\n [footerTemplate]=\"footer\"\n [totalMessage]=\"messages.totalMessage\"\n [pagerLeftArrowIcon]=\"cssClasses.pagerLeftArrow\"\n [pagerRightArrowIcon]=\"cssClasses.pagerRightArrow\"\n [pagerPreviousIcon]=\"cssClasses.pagerPrevious\"\n [selectedCount]=\"selected.length\"\n [selectedMessage]=\"!!selectionType && messages.selectedMessage\"\n [pagerNextIcon]=\"cssClasses.pagerNext\"\n (page)=\"onFooterPage($event)\">\n </datatable-footer>\n </div>\n ",
|
|
3687
|
+
template: "\n <div\n visibilityObserver\n (visible)=\"recalculate()\">\n <datatable-header\n *ngIf=\"headerHeight\"\n [sorts]=\"sorts\"\n [sortType]=\"sortType\"\n [scrollbarH]=\"scrollbarH\"\n [innerWidth]=\"_innerWidth\"\n [offsetX]=\"_offsetX | async\"\n [dealsWithGroup]=\"groupedRows\"\n [columns]=\"_internalColumns\"\n [headerHeight]=\"headerHeight\"\n [reorderable]=\"reorderable\"\n [sortAscendingIcon]=\"cssClasses.sortAscending\"\n [sortDescendingIcon]=\"cssClasses.sortDescending\"\n [allRowsSelected]=\"allRowsSelected\"\n [selectionType]=\"selectionType\"\n (sort)=\"onColumnSort($event)\"\n (resize)=\"onColumnResize($event)\"\n (reorder)=\"onColumnReorder($event)\"\n (select)=\"onHeaderSelect($event)\"\n (columnContextmenu)=\"onColumnContextmenu($event)\">\n </datatable-header>\n <datatable-body\n [groupRowsBy]=\"groupRowsBy\"\n [groupedRows]=\"groupedRows\"\n [rows]=\"_internalRows\"\n [groupExpansionDefault]=\"groupExpansionDefault\"\n [scrollbarV]=\"scrollbarV\"\n [scrollbarH]=\"scrollbarH\"\n [virtualization]=\"virtualization\"\n [loadingIndicator]=\"loadingIndicator\"\n [externalPaging]=\"externalPaging\"\n [rowHeight]=\"rowHeight\"\n [rowCount]=\"rowCount\"\n [offset]=\"offset\"\n [trackByProp]=\"trackByProp\"\n [columns]=\"_internalColumns\"\n [pageSize]=\"pageSize\"\n [offsetX]=\"_offsetX | async\"\n [rowDetail]=\"rowDetail\"\n [groupHeader]=\"groupHeader\"\n [selected]=\"selected\"\n [innerWidth]=\"_innerWidth\"\n [bodyHeight]=\"bodyHeight\"\n [selectionType]=\"selectionType\"\n [emptyMessage]=\"messages.emptyMessage\"\n [rowIdentity]=\"rowIdentity\"\n [rowClass]=\"rowClass\"\n [selectCheck]=\"selectCheck\"\n [displayCheck]=\"displayCheck\"\n [summaryRow]=\"summaryRow\"\n [summaryHeight]=\"summaryHeight\"\n [summaryPosition]=\"summaryPosition\"\n (page)=\"onBodyPage($event)\"\n (activate)=\"activate.emit($event)\"\n (rowContextmenu)=\"onRowContextmenu($event)\"\n (select)=\"onBodySelect($event)\"\n (scroll)=\"onBodyScroll($event)\">\n </datatable-body>\n <datatable-footer\n *ngIf=\"footerHeight\"\n [rowCount]=\"rowCount\"\n [pageSize]=\"pageSize\"\n [offset]=\"offset\"\n [footerHeight]=\"footerHeight\"\n [footerTemplate]=\"footer\"\n [totalMessage]=\"messages.totalMessage\"\n [pagerLeftArrowIcon]=\"cssClasses.pagerLeftArrow\"\n [pagerRightArrowIcon]=\"cssClasses.pagerRightArrow\"\n [pagerPreviousIcon]=\"cssClasses.pagerPrevious\"\n [selectedCount]=\"selected.length\"\n [selectedMessage]=\"!!selectionType && messages.selectedMessage\"\n [pagerNextIcon]=\"cssClasses.pagerNext\"\n (page)=\"onFooterPage($event)\">\n </datatable-footer>\n </div>\n ",
|
|
3531
3688
|
changeDetection: core_1.ChangeDetectionStrategy.OnPush,
|
|
3532
3689
|
encapsulation: core_1.ViewEncapsulation.None,
|
|
3533
3690
|
styles: [__webpack_require__("./src/components/datatable.component.scss")],
|
|
@@ -3914,7 +4071,7 @@ var DataTablePagerComponent = /** @class */ (function () {
|
|
|
3914
4071
|
DataTablePagerComponent = __decorate([
|
|
3915
4072
|
core_1.Component({
|
|
3916
4073
|
selector: 'datatable-pager',
|
|
3917
|
-
template: "\n <ul class=\"pager\">\n <li [class.disabled]=\"!canPrevious()\">\n <a\n href=\"javascript:void(0)\"\n (click)=\"selectPage(1)\">\n <i class=\"{{pagerPreviousIcon}}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canPrevious()\">\n <a\n href=\"javascript:void(0)\"\n (click)=\"prevPage()\">\n <i class=\"{{pagerLeftArrowIcon}}\"></i>\n </a>\n </li>\n <li\n class=\"pages\"\n *ngFor=\"let pg of pages\"\n [class.active]=\"pg.number === page\">\n <a\n href=\"javascript:void(0)\"\n (click)=\"selectPage(pg.number)\">\n {{pg.text}}\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a\n href=\"javascript:void(0)\"\n (click)=\"nextPage()\">\n <i class=\"{{pagerRightArrowIcon}}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a\n href=\"javascript:void(0)\"\n (click)=\"selectPage(totalPages)\">\n <i class=\"{{pagerNextIcon}}\"></i>\n </a>\n </li>\n </ul>\n ",
|
|
4074
|
+
template: "\n <ul class=\"pager\">\n <li [class.disabled]=\"!canPrevious()\">\n <a\n role=\"button\"\n aria-label=\"go to first page\"\n href=\"javascript:void(0)\"\n (click)=\"selectPage(1)\">\n <i class=\"{{pagerPreviousIcon}}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canPrevious()\">\n <a\n role=\"button\"\n aria-label=\"go to previous page\"\n href=\"javascript:void(0)\"\n (click)=\"prevPage()\">\n <i class=\"{{pagerLeftArrowIcon}}\"></i>\n </a>\n </li>\n <li\n role=\"button\"\n [attr.aria-label]=\"'page ' + pg.number\"\n class=\"pages\"\n *ngFor=\"let pg of pages\"\n [class.active]=\"pg.number === page\">\n <a\n href=\"javascript:void(0)\"\n (click)=\"selectPage(pg.number)\">\n {{pg.text}}\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a\n role=\"button\"\n aria-label=\"go to next page\"\n href=\"javascript:void(0)\"\n (click)=\"nextPage()\">\n <i class=\"{{pagerRightArrowIcon}}\"></i>\n </a>\n </li>\n <li [class.disabled]=\"!canNext()\">\n <a\n role=\"button\"\n aria-label=\"go to last page\"\n href=\"javascript:void(0)\"\n (click)=\"selectPage(totalPages)\">\n <i class=\"{{pagerNextIcon}}\"></i>\n </a>\n </li>\n </ul>\n ",
|
|
3918
4075
|
host: {
|
|
3919
4076
|
class: 'datatable-pager'
|
|
3920
4077
|
},
|
|
@@ -3993,6 +4150,7 @@ var DataTableHeaderCellComponent = /** @class */ (function () {
|
|
|
3993
4150
|
set: function (val) {
|
|
3994
4151
|
this._sorts = val;
|
|
3995
4152
|
this.sortDir = this.calcSortDir(val);
|
|
4153
|
+
this.cellContext.sortDir = this.sortDir;
|
|
3996
4154
|
this.sortClass = this.calcSortClass(this.sortDir);
|
|
3997
4155
|
this.cd.markForCheck();
|
|
3998
4156
|
},
|
|
@@ -4190,7 +4348,7 @@ var DataTableHeaderCellComponent = /** @class */ (function () {
|
|
|
4190
4348
|
DataTableHeaderCellComponent = __decorate([
|
|
4191
4349
|
core_1.Component({
|
|
4192
4350
|
selector: 'datatable-header-cell',
|
|
4193
|
-
template: "\n <div>\n <label\n *ngIf=\"isCheckboxable\"\n class=\"datatable-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected\"\n (change)=\"select.emit(!allRowsSelected)\"\n />\n </label>\n <span\n *ngIf=\"!column.headerTemplate\"\n class=\"datatable-header-cell-wrapper\">\n <span\n class=\"datatable-header-cell-label draggable\"\n (click)=\"onSort()\"\n [innerHTML]=\"name\">\n </span>\n </span>\n <ng-template\n *ngIf=\"column.headerTemplate\"\n [ngTemplateOutlet]=\"column.headerTemplate\"\n [ngTemplateOutletContext]=\"cellContext\">\n </ng-template>\n <span\n (click)=\"onSort()\"\n [class]=\"sortClass\">\n </span>\n </div>\n ",
|
|
4351
|
+
template: "\n <div class=\"datatable-header-cell-template-wrap\">\n <label\n *ngIf=\"isCheckboxable\"\n class=\"datatable-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected\"\n (change)=\"select.emit(!allRowsSelected)\"\n />\n </label>\n <span\n *ngIf=\"!column.headerTemplate\"\n class=\"datatable-header-cell-wrapper\">\n <span\n class=\"datatable-header-cell-label draggable\"\n (click)=\"onSort()\"\n [innerHTML]=\"name\">\n </span>\n </span>\n <ng-template\n *ngIf=\"column.headerTemplate\"\n [ngTemplateOutlet]=\"column.headerTemplate\"\n [ngTemplateOutletContext]=\"cellContext\">\n </ng-template>\n <span\n (click)=\"onSort()\"\n [class]=\"sortClass\">\n </span>\n </div>\n ",
|
|
4194
4352
|
host: {
|
|
4195
4353
|
class: 'datatable-header-cell'
|
|
4196
4354
|
},
|
|
@@ -4284,6 +4442,7 @@ var DataTableHeaderComponent = /** @class */ (function () {
|
|
|
4284
4442
|
var colsByPin = utils_1.columnsByPin(val);
|
|
4285
4443
|
this._columnsByPin = utils_1.columnsByPinArr(val);
|
|
4286
4444
|
this._columnGroupWidths = utils_1.columnGroupWidths(colsByPin, val);
|
|
4445
|
+
this.setStylesByGroup();
|
|
4287
4446
|
},
|
|
4288
4447
|
enumerable: true,
|
|
4289
4448
|
configurable: true
|
|
@@ -4724,7 +4883,8 @@ var NgxDatatableModule = /** @class */ (function () {
|
|
|
4724
4883
|
components_1.DataTableColumnHeaderDirective,
|
|
4725
4884
|
components_1.DataTableColumnCellDirective,
|
|
4726
4885
|
components_1.DatatableFooterDirective,
|
|
4727
|
-
components_1.DatatableGroupHeaderTemplateDirective
|
|
4886
|
+
components_1.DatatableGroupHeaderTemplateDirective,
|
|
4887
|
+
components_1.DataTableSummaryRowComponent,
|
|
4728
4888
|
],
|
|
4729
4889
|
exports: [
|
|
4730
4890
|
components_1.DatatableComponent,
|
|
@@ -5238,11 +5398,14 @@ var ResizeableDirective = /** @class */ (function () {
|
|
|
5238
5398
|
}
|
|
5239
5399
|
ResizeableDirective.prototype.ngAfterViewInit = function () {
|
|
5240
5400
|
var renderer2 = this.renderer;
|
|
5401
|
+
var node = renderer2.createElement('span');
|
|
5241
5402
|
if (this.resizeEnabled) {
|
|
5242
|
-
var node = renderer2.createElement('span');
|
|
5243
5403
|
renderer2.addClass(node, 'resize-handle');
|
|
5244
|
-
renderer2.appendChild(this.element, node);
|
|
5245
5404
|
}
|
|
5405
|
+
else {
|
|
5406
|
+
renderer2.addClass(node, 'resize-handle--not-resizable');
|
|
5407
|
+
}
|
|
5408
|
+
renderer2.appendChild(this.element, node);
|
|
5246
5409
|
};
|
|
5247
5410
|
ResizeableDirective.prototype.ngOnDestroy = function () {
|
|
5248
5411
|
this._destroySubscription();
|
|
@@ -5416,9 +5579,9 @@ exports.VisibilityDirective = VisibilityDirective;
|
|
|
5416
5579
|
/* WEBPACK VAR INJECTION */(function(global) {
|
|
5417
5580
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5418
5581
|
/* tslint:disable:variable-name */
|
|
5419
|
-
exports.MouseEvent = global.MouseEvent;
|
|
5420
|
-
exports.KeyboardEvent = global.KeyboardEvent;
|
|
5421
|
-
exports.Event = global.Event;
|
|
5582
|
+
exports.MouseEvent = (window || global).MouseEvent;
|
|
5583
|
+
exports.KeyboardEvent = (window || global).KeyboardEvent;
|
|
5584
|
+
exports.Event = (window || global).Event;
|
|
5422
5585
|
|
|
5423
5586
|
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))
|
|
5424
5587
|
|
|
@@ -5772,6 +5935,12 @@ function translateTemplates(templates) {
|
|
|
5772
5935
|
if (temp.cellTemplate) {
|
|
5773
5936
|
col.cellTemplate = temp.cellTemplate;
|
|
5774
5937
|
}
|
|
5938
|
+
if (temp.summaryFunc) {
|
|
5939
|
+
col.summaryFunc = temp.summaryFunc;
|
|
5940
|
+
}
|
|
5941
|
+
if (temp.summaryTemplate) {
|
|
5942
|
+
col.summaryTemplate = temp.summaryTemplate;
|
|
5943
|
+
}
|
|
5775
5944
|
result.push(col);
|
|
5776
5945
|
}
|
|
5777
5946
|
return result;
|
|
@@ -5967,16 +6136,6 @@ function columnsByPinArr(val) {
|
|
|
5967
6136
|
return colsByPinArr;
|
|
5968
6137
|
}
|
|
5969
6138
|
exports.columnsByPinArr = columnsByPinArr;
|
|
5970
|
-
function allColumnsByPinArr(val) {
|
|
5971
|
-
var colsByPinArr = [];
|
|
5972
|
-
var colsByPin = columnsByPin(val);
|
|
5973
|
-
var colsTest = [];
|
|
5974
|
-
colsByPinArr.push({ type: 'left', columns: colsByPin['left'] });
|
|
5975
|
-
colsByPinArr.push({ type: 'center', columns: colsByPin['center'] });
|
|
5976
|
-
colsByPinArr.push({ type: 'right', columns: colsByPin['right'] });
|
|
5977
|
-
return colsByPinArr;
|
|
5978
|
-
}
|
|
5979
|
-
exports.allColumnsByPinArr = allColumnsByPinArr;
|
|
5980
6139
|
|
|
5981
6140
|
|
|
5982
6141
|
/***/ }),
|
|
@@ -6135,7 +6294,7 @@ function scaleColumns(colsByGroup, maxWidth, totalFlexGrow) {
|
|
|
6135
6294
|
var column = _a[_i];
|
|
6136
6295
|
if (!column.canAutoResize) {
|
|
6137
6296
|
maxWidth -= column.width;
|
|
6138
|
-
totalFlexGrow -= column.flexGrow;
|
|
6297
|
+
totalFlexGrow -= column.flexGrow ? column.flexGrow : 0;
|
|
6139
6298
|
}
|
|
6140
6299
|
else {
|
|
6141
6300
|
column.width = 0;
|