@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
120 lines • 13.4 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, Input, ViewChildren, QueryList, HostBinding, ViewChild, ElementRef, ChangeDetectionStrategy, ChangeDetectorRef, DoCheck } from '@angular/core';
import { IgxSummaryCellComponent } from './summary-cell.component';
import { IgxGridForOfDirective } from '../../directives/for-of/for_of.directive';
import { GridBaseAPIService } from '../api.service';
import { IgxForOfSyncService } from '../../directives/for-of/for_of.sync.service';
var IgxSummaryRowComponent = /** @class */ (function () {
function IgxSummaryRowComponent(gridAPI, element, cdr) {
this.gridAPI = gridAPI;
this.element = element;
this.cdr = cdr;
this.firstCellIndentation = -1;
}
Object.defineProperty(IgxSummaryRowComponent.prototype, "dataRowIndex", {
get: function () {
return this.index;
},
enumerable: true,
configurable: true
});
Object.defineProperty(IgxSummaryRowComponent.prototype, "minHeight", {
get: function () {
return this.grid.summaryService.calcMaxSummaryHeight() - 1;
},
enumerable: true,
configurable: true
});
IgxSummaryRowComponent.prototype.ngDoCheck = function () {
this.cdr.markForCheck();
};
Object.defineProperty(IgxSummaryRowComponent.prototype, "grid", {
get: function () {
return this.gridAPI.grid;
},
enumerable: true,
configurable: true
});
Object.defineProperty(IgxSummaryRowComponent.prototype, "nativeElement", {
get: function () {
return this.element.nativeElement;
},
enumerable: true,
configurable: true
});
IgxSummaryRowComponent.prototype.getColumnSummaries = function (columnName) {
if (!this.summaries.get(columnName)) {
return [];
}
return this.summaries.get(columnName);
};
Object.defineProperty(IgxSummaryRowComponent.prototype, "pinnedColumns", {
/**
* @hidden
*/
get: function () {
return this.grid.pinnedColumns;
},
enumerable: true,
configurable: true
});
Object.defineProperty(IgxSummaryRowComponent.prototype, "unpinnedColumns", {
/**
* @hidden
*/
get: function () {
return this.grid.unpinnedColumns;
},
enumerable: true,
configurable: true
});
IgxSummaryRowComponent.ctorParameters = function () { return [
{ type: GridBaseAPIService },
{ type: ElementRef },
{ type: ChangeDetectorRef }
]; };
__decorate([
Input(),
__metadata("design:type", Map)
], IgxSummaryRowComponent.prototype, "summaries", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], IgxSummaryRowComponent.prototype, "gridID", void 0);
__decorate([
Input(),
__metadata("design:type", Number)
], IgxSummaryRowComponent.prototype, "index", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], IgxSummaryRowComponent.prototype, "firstCellIndentation", void 0);
__decorate([
HostBinding('attr.data-rowIndex'),
__metadata("design:type", Object),
__metadata("design:paramtypes", [])
], IgxSummaryRowComponent.prototype, "dataRowIndex", null);
__decorate([
ViewChildren(IgxSummaryCellComponent, { read: IgxSummaryCellComponent }),
__metadata("design:type", QueryList)
], IgxSummaryRowComponent.prototype, "summaryCells", void 0);
__decorate([
ViewChild('igxDirRef', { read: IgxGridForOfDirective }),
__metadata("design:type", IgxGridForOfDirective)
], IgxSummaryRowComponent.prototype, "virtDirRow", void 0);
IgxSummaryRowComponent = __decorate([
Component({
changeDetection: ChangeDetectionStrategy.OnPush,
preserveWhitespaces: false,
selector: 'igx-grid-summary-row',
template: "<ng-container *ngIf=\"summaries.size\">\n <ng-container *ngIf=\"grid.summariesMargin\">\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"pinnedColumns.length > 0\">\n <igx-grid-summary-cell *ngFor=\"let col of pinnedColumns | igxNotGrouped\"\n class=\"igx-grid-summary igx-grid-summary--fw igx-grid-summary--pinned\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [rowIndex]=\"index\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\">\n </igx-grid-summary-cell>\n </ng-container>\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [column]=\"col\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\">\n </igx-grid-summary-cell>\n </ng-template>\n</ng-container>\n",
providers: [IgxForOfSyncService]
}),
__metadata("design:paramtypes", [GridBaseAPIService,
ElementRef,
ChangeDetectorRef])
], IgxSummaryRowComponent);
return IgxSummaryRowComponent;
}());
export { IgxSummaryRowComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9ncmlkcy9zdW1tYXJpZXMvc3VtbWFyeS1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsT0FBTyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBV2xGO0lBZ0NJLGdDQUFtQixPQUE0RCxFQUM1RCxPQUFtQixFQUNuQixHQUFzQjtRQUZ0QixZQUFPLEdBQVAsT0FBTyxDQUFxRDtRQUM1RCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdEJsQyx5QkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQXNCVyxDQUFDO0lBbkI3QyxzQkFBSSxnREFBWTthQUFoQjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDZDQUFTO2FBQWI7WUFDSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELENBQUM7OztPQUFBO0lBZU0sMENBQVMsR0FBaEI7UUFDSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxzQkFBVyx3Q0FBSTthQUFmO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDOzs7T0FBQTtJQUVELHNCQUFXLGlEQUFhO2FBQXhCO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN0QyxDQUFDOzs7T0FBQTtJQUVNLG1EQUFrQixHQUF6QixVQUEwQixVQUFVO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxQyxDQUFDO0lBS0Qsc0JBQVcsaURBQWE7UUFIeEI7O1dBRUc7YUFDSDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQzs7O09BQUE7SUFLRCxzQkFBVyxtREFBZTtRQUgxQjs7V0FFRzthQUNIO1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNyQyxDQUFDOzs7T0FBQTs7Z0JBcEMyQixrQkFBa0I7Z0JBQ2xCLFVBQVU7Z0JBQ2QsaUJBQWlCOztJQS9CekM7UUFEQyxLQUFLLEVBQUU7a0NBQ1UsR0FBRzs2REFBNkI7SUFHbEQ7UUFEQyxLQUFLLEVBQUU7OzBEQUNNO0lBR2Q7UUFEQyxLQUFLLEVBQUU7O3lEQUNhO0lBR3JCO1FBREMsS0FBSyxFQUFFOzt3RUFDeUI7SUFHakM7UUFEQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7Ozs4REFHakM7SUFPRDtRQURDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDO2tDQUNwRCxTQUFTO2dFQUEwQjtJQU14RDtRQURDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztrQ0FDckMscUJBQXFCOzhEQUFNO0lBOUJyQyxzQkFBc0I7UUFQbEMsU0FBUyxDQUFDO1lBQ1AsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLDRwRkFBMkM7WUFDM0MsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDbkMsQ0FBQzt5Q0FpQzhCLGtCQUFrQjtZQUNsQixVQUFVO1lBQ2QsaUJBQWlCO09BbENoQyxzQkFBc0IsQ0FxRWxDO0lBQUQsNkJBQUM7Q0FBQSxBQXJFRCxJQXFFQztTQXJFWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERvQ2hlY2tcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hTdW1tYXJ5UmVzdWx0IH0gZnJvbSAnLi9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgSWd4U3VtbWFyeUNlbGxDb21wb25lbnQgfSBmcm9tICcuL3N1bW1hcnktY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4R3JpZEZvck9mRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mb3Itb2YvZm9yX29mLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcmlkQmFzZUFQSVNlcnZpY2UgfSBmcm9tICcuLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hHcmlkQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2dyaWQtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1ucy9jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IElneEZvck9mU3luY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2Yuc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ2lneC1ncmlkLXN1bW1hcnktcm93JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3VtbWFyeS1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW0lneEZvck9mU3luY1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIElneFN1bW1hcnlSb3dDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrICB7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdW1tYXJpZXM6IE1hcDxzdHJpbmcsIElneFN1bW1hcnlSZXN1bHRbXT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBncmlkSUQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlyc3RDZWxsSW5kZW50YXRpb24gPSAtMTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXJvd0luZGV4JylcbiAgICBnZXQgZGF0YVJvd0luZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleDtcbiAgICB9XG5cbiAgICBnZXQgbWluSGVpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkLnN1bW1hcnlTZXJ2aWNlLmNhbGNNYXhTdW1tYXJ5SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGRyZW4oSWd4U3VtbWFyeUNlbGxDb21wb25lbnQsIHsgcmVhZDogSWd4U3VtbWFyeUNlbGxDb21wb25lbnQgfSlcbiAgICBwdWJsaWMgc3VtbWFyeUNlbGxzOiBRdWVyeUxpc3Q8SWd4U3VtbWFyeUNlbGxDb21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lneERpclJlZicsIHsgcmVhZDogSWd4R3JpZEZvck9mRGlyZWN0aXZlIH0pXG4gICAgcHVibGljIHZpcnREaXJSb3c6IElneEdyaWRGb3JPZkRpcmVjdGl2ZTxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGdyaWRBUEk6IEdyaWRCYXNlQVBJU2VydmljZTxJZ3hHcmlkQmFzZURpcmVjdGl2ZSAmIEdyaWRUeXBlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ3JpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZEFQSS5ncmlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2x1bW5TdW1tYXJpZXMoY29sdW1uTmFtZSkge1xuICAgICAgICBpZiAoIXRoaXMuc3VtbWFyaWVzLmdldChjb2x1bW5OYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnN1bW1hcmllcy5nZXQoY29sdW1uTmFtZSk7XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwaW5uZWRDb2x1bW5zKCk6IElneENvbHVtbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5waW5uZWRDb2x1bW5zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHVucGlubmVkQ29sdW1ucygpOiBJZ3hDb2x1bW5Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWQudW5waW5uZWRDb2x1bW5zO1xuICAgIH1cbn1cbiJdfQ==