UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

95 lines 12 kB
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'; let IgxSummaryRowComponent = class IgxSummaryRowComponent { constructor(gridAPI, element, cdr) { this.gridAPI = gridAPI; this.element = element; this.cdr = cdr; this.firstCellIndentation = -1; } get dataRowIndex() { return this.index; } get minHeight() { return this.grid.summaryService.calcMaxSummaryHeight() - 1; } ngDoCheck() { this.cdr.markForCheck(); } get grid() { return this.gridAPI.grid; } get nativeElement() { return this.element.nativeElement; } getColumnSummaries(columnName) { if (!this.summaries.get(columnName)) { return []; } return this.summaries.get(columnName); } /** * @hidden */ get pinnedColumns() { return this.grid.pinnedColumns; } /** * @hidden */ get unpinnedColumns() { return this.grid.unpinnedColumns; } }; IgxSummaryRowComponent.ctorParameters = () => [ { 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); export { IgxSummaryRowComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9ncmlkcy9zdW1tYXJpZXMvc3VtbWFyeS1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsT0FBTyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBV2xGLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBZ0MvQixZQUFtQixPQUE0RCxFQUM1RCxPQUFtQixFQUNuQixHQUFzQjtRQUZ0QixZQUFPLEdBQVAsT0FBTyxDQUFxRDtRQUM1RCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdEJsQyx5QkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQXNCVyxDQUFDO0lBbkI3QyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQWVNLFNBQVM7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsVUFBVTtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDckMsQ0FBQztDQUNKLENBQUE7O1lBckMrQixrQkFBa0I7WUFDbEIsVUFBVTtZQUNkLGlCQUFpQjs7QUEvQnpDO0lBREMsS0FBSyxFQUFFOzhCQUNVLEdBQUc7eURBQTZCO0FBR2xEO0lBREMsS0FBSyxFQUFFOztzREFDTTtBQUdkO0lBREMsS0FBSyxFQUFFOztxREFDYTtBQUdyQjtJQURDLEtBQUssRUFBRTs7b0VBQ3lCO0FBR2pDO0lBREMsV0FBVyxDQUFDLG9CQUFvQixDQUFDOzs7MERBR2pDO0FBT0Q7SUFEQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQzs4QkFDcEQsU0FBUzs0REFBMEI7QUFNeEQ7SUFEQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLENBQUM7OEJBQ3JDLHFCQUFxQjswREFBTTtBQTlCckMsc0JBQXNCO0lBUGxDLFNBQVMsQ0FBQztRQUNQLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLG1CQUFtQixFQUFFLEtBQUs7UUFDMUIsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyw0cEZBQTJDO1FBQzNDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ25DLENBQUM7cUNBaUM4QixrQkFBa0I7UUFDbEIsVUFBVTtRQUNkLGlCQUFpQjtHQWxDaEMsc0JBQXNCLENBcUVsQztTQXJFWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERvQ2hlY2tcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hTdW1tYXJ5UmVzdWx0IH0gZnJvbSAnLi9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgSWd4U3VtbWFyeUNlbGxDb21wb25lbnQgfSBmcm9tICcuL3N1bW1hcnktY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4R3JpZEZvck9mRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9mb3Itb2YvZm9yX29mLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcmlkQmFzZUFQSVNlcnZpY2UgfSBmcm9tICcuLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hHcmlkQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2dyaWQtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29sdW1ucy9jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IElneEZvck9mU3luY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2Yuc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ2lneC1ncmlkLXN1bW1hcnktcm93JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3VtbWFyeS1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW0lneEZvck9mU3luY1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIElneFN1bW1hcnlSb3dDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrICB7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdW1tYXJpZXM6IE1hcDxzdHJpbmcsIElneFN1bW1hcnlSZXN1bHRbXT47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBncmlkSUQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlyc3RDZWxsSW5kZW50YXRpb24gPSAtMTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXJvd0luZGV4JylcbiAgICBnZXQgZGF0YVJvd0luZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleDtcbiAgICB9XG5cbiAgICBnZXQgbWluSGVpZ2h0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkLnN1bW1hcnlTZXJ2aWNlLmNhbGNNYXhTdW1tYXJ5SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGRyZW4oSWd4U3VtbWFyeUNlbGxDb21wb25lbnQsIHsgcmVhZDogSWd4U3VtbWFyeUNlbGxDb21wb25lbnQgfSlcbiAgICBwdWJsaWMgc3VtbWFyeUNlbGxzOiBRdWVyeUxpc3Q8SWd4U3VtbWFyeUNlbGxDb21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lneERpclJlZicsIHsgcmVhZDogSWd4R3JpZEZvck9mRGlyZWN0aXZlIH0pXG4gICAgcHVibGljIHZpcnREaXJSb3c6IElneEdyaWRGb3JPZkRpcmVjdGl2ZTxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGdyaWRBUEk6IEdyaWRCYXNlQVBJU2VydmljZTxJZ3hHcmlkQmFzZURpcmVjdGl2ZSAmIEdyaWRUeXBlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ3JpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZEFQSS5ncmlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2x1bW5TdW1tYXJpZXMoY29sdW1uTmFtZSkge1xuICAgICAgICBpZiAoIXRoaXMuc3VtbWFyaWVzLmdldChjb2x1bW5OYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnN1bW1hcmllcy5nZXQoY29sdW1uTmFtZSk7XG5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwaW5uZWRDb2x1bW5zKCk6IElneENvbHVtbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5waW5uZWRDb2x1bW5zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHVucGlubmVkQ29sdW1ucygpOiBJZ3hDb2x1bW5Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWQudW5waW5uZWRDb2x1bW5zO1xuICAgIH1cbn1cbiJdfQ==