import { Directive, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core'; import { CdkTable, CDK_TABLE_TEMPLATE, CDK_TABLE, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, STICKY_POSITIONING_LISTENER, CdkCellDef, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkHeaderCell, CdkFooterCell, CdkCell, CdkHeaderRowDef, CdkFooterRowDef, CdkRowDef, CdkHeaderRow, CDK_ROW_TEMPLATE, CdkFooterRow, CdkRow, CdkNoDataRow, CdkTextColumn, CdkTableModule, DataSource } from '@angular/cdk/table'; import { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections'; import { MatCommonModule } from '@angular/material/core'; import { _isNumberValue } from '@angular/cdk/coercion'; import { BehaviorSubject, Subject, merge, of, combineLatest } from 'rxjs'; import { map } from 'rxjs/operators'; /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with * tables that animate rows. */ import * as ɵngcc0 from '@angular/core'; import * as ɵngcc1 from '@angular/cdk/table'; const _c0 = [[["caption"]], [["colgroup"], ["col"]]]; const _c1 = ["caption", "colgroup, col"]; function MatTextColumn_th_1_Template(rf, ctx) { if (rf & 1) { ɵngcc0.ɵɵelementStart(0, "th", 3); ɵngcc0.ɵɵtext(1); ɵngcc0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r0 = ɵngcc0.ɵɵnextContext(); ɵngcc0.ɵɵstyleProp("text-align", ctx_r0.justify); ɵngcc0.ɵɵadvance(1); ɵngcc0.ɵɵtextInterpolate1(" ", ctx_r0.headerText, " "); } } function MatTextColumn_td_2_Template(rf, ctx) { if (rf & 1) { ɵngcc0.ɵɵelementStart(0, "td", 4); ɵngcc0.ɵɵtext(1); ɵngcc0.ɵɵelementEnd(); } if (rf & 2) { const data_r2 = ctx.$implicit; const ctx_r1 = ɵngcc0.ɵɵnextContext(); ɵngcc0.ɵɵstyleProp("text-align", ctx_r1.justify); ɵngcc0.ɵɵadvance(1); ɵngcc0.ɵɵtextInterpolate1(" ", ctx_r1.dataAccessor(data_r2, ctx_r1.name), " "); } } class MatRecycleRows { } MatRecycleRows.ɵfac = function MatRecycleRows_Factory(t) { return new (t || MatRecycleRows)(); }; MatRecycleRows.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatRecycleRows, selectors: [["mat-table", "recycleRows", ""], ["table", "mat-table", "", "recycleRows", ""]], features: [ɵngcc0.ɵɵProvidersFeature([ { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }, ])] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatRecycleRows, [{ type: Directive, args: [{ selector: 'mat-table[recycleRows], table[mat-table][recycleRows]', providers: [ { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }, ] }] }], null, null); })(); /** * Wrapper for the CdkTable with Material design styles. */ class MatTable extends CdkTable { constructor() { super(...arguments); /** Overrides the sticky CSS class set by the `CdkTable`. */ this.stickyCssClass = 'mat-table-sticky'; /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */ this.needsPositionStickyOnElement = false; } } MatTable.ɵfac = /*@__PURE__*/ function () { let ɵMatTable_BaseFactory; return function MatTable_Factory(t) { return (ɵMatTable_BaseFactory || (ɵMatTable_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatTable)))(t || MatTable); }; }(); MatTable.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatTable, selectors: [["mat-table"], ["table", "mat-table", ""]], hostAttrs: [1, "mat-table"], hostVars: 2, hostBindings: function MatTable_HostBindings(rf, ctx) { if (rf & 2) { ɵngcc0.ɵɵclassProp("mat-table-fixed-layout", ctx.fixedLayout); } }, exportAs: ["matTable"], features: [ɵngcc0.ɵɵProvidersFeature([ // TODO(michaeljamesparsons) Abstract the view repeater strategy to a directive API so this code // is only included in the build if used. { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy }, { provide: CdkTable, useExisting: MatTable }, { provide: CDK_TABLE, useExisting: MatTable }, { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler }, // Prevent nested tables from seeing this table's StickyPositioningListener. { provide: STICKY_POSITIONING_LISTENER, useValue: null }, ]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 6, vars: 0, consts: [["headerRowOutlet", ""], ["rowOutlet", ""], ["noDataRowOutlet", ""], ["footerRowOutlet", ""]], template: function MatTable_Template(rf, ctx) { if (rf & 1) { ɵngcc0.ɵɵprojectionDef(_c0); ɵngcc0.ɵɵprojection(0); ɵngcc0.ɵɵprojection(1, 1); ɵngcc0.ɵɵelementContainer(2, 0); ɵngcc0.ɵɵelementContainer(3, 1); ɵngcc0.ɵɵelementContainer(4, 2); ɵngcc0.ɵɵelementContainer(5, 3); } }, directives: [ɵngcc1.HeaderRowOutlet, ɵngcc1.DataRowOutlet, ɵngcc1.NoDataRowOutlet, ɵngcc1.FooterRowOutlet], styles: ["mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-row::after,mat-header-row::after,mat-footer-row::after{display:inline-block;min-height:inherit;content:\"\"}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:-webkit-sticky !important;position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\n"], encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTable, [{ type: Component, args: [{ selector: 'mat-table, table[mat-table]', exportAs: 'matTable', template: CDK_TABLE_TEMPLATE, host: { 'class': 'mat-table', '[class.mat-table-fixed-layout]': 'fixedLayout' }, providers: [ // TODO(michaeljamesparsons) Abstract the view repeater strategy to a directive API so this code // is only included in the build if used. { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy }, { provide: CdkTable, useExisting: MatTable }, { provide: CDK_TABLE, useExisting: MatTable }, { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler }, // Prevent nested tables from seeing this table's StickyPositioningListener. { provide: STICKY_POSITIONING_LISTENER, useValue: null }, ], encapsulation: ViewEncapsulation.None, // See note on CdkTable for explanation on why this uses the default change detection strategy. // tslint:disable-next-line:validate-decorators changeDetection: ChangeDetectionStrategy.Default, styles: ["mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-row::after,mat-header-row::after,mat-footer-row::after{display:inline-block;min-height:inherit;content:\"\"}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:-webkit-sticky !important;position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\n"] }] }], null, null); })(); /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Cell definition for the mat-table. * Captures the template of a column's data row cell as well as cell-specific properties. */ class MatCellDef extends CdkCellDef { } MatCellDef.ɵfac = /*@__PURE__*/ function () { let ɵMatCellDef_BaseFactory; return function MatCellDef_Factory(t) { return (ɵMatCellDef_BaseFactory || (ɵMatCellDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatCellDef)))(t || MatCellDef); }; }(); MatCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatCellDef, selectors: [["", "matCellDef", ""]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkCellDef, useExisting: MatCellDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatCellDef, [{ type: Directive, args: [{ selector: '[matCellDef]', providers: [{ provide: CdkCellDef, useExisting: MatCellDef }] }] }], null, null); })(); /** * Header cell definition for the mat-table. * Captures the template of a column's header cell and as well as cell-specific properties. */ class MatHeaderCellDef extends CdkHeaderCellDef { } MatHeaderCellDef.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderCellDef_BaseFactory; return function MatHeaderCellDef_Factory(t) { return (ɵMatHeaderCellDef_BaseFactory || (ɵMatHeaderCellDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderCellDef)))(t || MatHeaderCellDef); }; }(); MatHeaderCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHeaderCellDef, selectors: [["", "matHeaderCellDef", ""]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderCellDef, [{ type: Directive, args: [{ selector: '[matHeaderCellDef]', providers: [{ provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef }] }] }], null, null); })(); /** * Footer cell definition for the mat-table. * Captures the template of a column's footer cell and as well as cell-specific properties. */ class MatFooterCellDef extends CdkFooterCellDef { } MatFooterCellDef.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterCellDef_BaseFactory; return function MatFooterCellDef_Factory(t) { return (ɵMatFooterCellDef_BaseFactory || (ɵMatFooterCellDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterCellDef)))(t || MatFooterCellDef); }; }(); MatFooterCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFooterCellDef, selectors: [["", "matFooterCellDef", ""]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkFooterCellDef, useExisting: MatFooterCellDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterCellDef, [{ type: Directive, args: [{ selector: '[matFooterCellDef]', providers: [{ provide: CdkFooterCellDef, useExisting: MatFooterCellDef }] }] }], null, null); })(); /** * Column definition for the mat-table. * Defines a set of cells available for a table column. */ class MatColumnDef extends CdkColumnDef { /** Unique name for this column. */ get name() { return this._name; } set name(name) { this._setNameInput(name); } /** * Add "mat-column-" prefix in addition to "cdk-column-" prefix. * In the future, this will only add "mat-column-" and columnCssClassName * will change from type string[] to string. * @docs-private */ _updateColumnCssClassName() { super._updateColumnCssClassName(); this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`); } } MatColumnDef.ɵfac = /*@__PURE__*/ function () { let ɵMatColumnDef_BaseFactory; return function MatColumnDef_Factory(t) { return (ɵMatColumnDef_BaseFactory || (ɵMatColumnDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatColumnDef)))(t || MatColumnDef); }; }(); MatColumnDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatColumnDef, selectors: [["", "matColumnDef", ""]], inputs: { sticky: "sticky", name: ["matColumnDef", "name"] }, features: [ɵngcc0.ɵɵProvidersFeature([ { provide: CdkColumnDef, useExisting: MatColumnDef }, { provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef } ]), ɵngcc0.ɵɵInheritDefinitionFeature] }); MatColumnDef.propDecorators = { name: [{ type: Input, args: ['matColumnDef',] }] }; (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatColumnDef, [{ type: Directive, args: [{ selector: '[matColumnDef]', inputs: ['sticky'], providers: [ { provide: CdkColumnDef, useExisting: MatColumnDef }, { provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef } ] }] }], null, { name: [{ type: Input, args: ['matColumnDef'] }] }); })(); /** Header cell template container that adds the right classes and role. */ class MatHeaderCell extends CdkHeaderCell { } MatHeaderCell.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderCell_BaseFactory; return function MatHeaderCell_Factory(t) { return (ɵMatHeaderCell_BaseFactory || (ɵMatHeaderCell_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderCell)))(t || MatHeaderCell); }; }(); MatHeaderCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHeaderCell, selectors: [["mat-header-cell"], ["th", "mat-header-cell", ""]], hostAttrs: ["role", "columnheader", 1, "mat-header-cell"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderCell, [{ type: Directive, args: [{ selector: 'mat-header-cell, th[mat-header-cell]', host: { 'class': 'mat-header-cell', 'role': 'columnheader' } }] }], null, null); })(); /** Footer cell template container that adds the right classes and role. */ class MatFooterCell extends CdkFooterCell { } MatFooterCell.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterCell_BaseFactory; return function MatFooterCell_Factory(t) { return (ɵMatFooterCell_BaseFactory || (ɵMatFooterCell_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterCell)))(t || MatFooterCell); }; }(); MatFooterCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFooterCell, selectors: [["mat-footer-cell"], ["td", "mat-footer-cell", ""]], hostAttrs: ["role", "gridcell", 1, "mat-footer-cell"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterCell, [{ type: Directive, args: [{ selector: 'mat-footer-cell, td[mat-footer-cell]', host: { 'class': 'mat-footer-cell', 'role': 'gridcell' } }] }], null, null); })(); /** Cell template container that adds the right classes and role. */ class MatCell extends CdkCell { } MatCell.ɵfac = /*@__PURE__*/ function () { let ɵMatCell_BaseFactory; return function MatCell_Factory(t) { return (ɵMatCell_BaseFactory || (ɵMatCell_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatCell)))(t || MatCell); }; }(); MatCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatCell, selectors: [["mat-cell"], ["td", "mat-cell", ""]], hostAttrs: ["role", "gridcell", 1, "mat-cell"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatCell, [{ type: Directive, args: [{ selector: 'mat-cell, td[mat-cell]', host: { 'class': 'mat-cell', 'role': 'gridcell' } }] }], null, null); })(); /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Header row definition for the mat-table. * Captures the header row's template and other header properties such as the columns to display. */ class MatHeaderRowDef extends CdkHeaderRowDef { } MatHeaderRowDef.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderRowDef_BaseFactory; return function MatHeaderRowDef_Factory(t) { return (ɵMatHeaderRowDef_BaseFactory || (ɵMatHeaderRowDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderRowDef)))(t || MatHeaderRowDef); }; }(); MatHeaderRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHeaderRowDef, selectors: [["", "matHeaderRowDef", ""]], inputs: { columns: ["matHeaderRowDef", "columns"], sticky: ["matHeaderRowDefSticky", "sticky"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderRowDef, [{ type: Directive, args: [{ selector: '[matHeaderRowDef]', providers: [{ provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef }], inputs: ['columns: matHeaderRowDef', 'sticky: matHeaderRowDefSticky'] }] }], null, null); })(); /** * Footer row definition for the mat-table. * Captures the footer row's template and other footer properties such as the columns to display. */ class MatFooterRowDef extends CdkFooterRowDef { } MatFooterRowDef.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterRowDef_BaseFactory; return function MatFooterRowDef_Factory(t) { return (ɵMatFooterRowDef_BaseFactory || (ɵMatFooterRowDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterRowDef)))(t || MatFooterRowDef); }; }(); MatFooterRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFooterRowDef, selectors: [["", "matFooterRowDef", ""]], inputs: { columns: ["matFooterRowDef", "columns"], sticky: ["matFooterRowDefSticky", "sticky"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkFooterRowDef, useExisting: MatFooterRowDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterRowDef, [{ type: Directive, args: [{ selector: '[matFooterRowDef]', providers: [{ provide: CdkFooterRowDef, useExisting: MatFooterRowDef }], inputs: ['columns: matFooterRowDef', 'sticky: matFooterRowDefSticky'] }] }], null, null); })(); /** * Data row definition for the mat-table. * Captures the data row's template and other properties such as the columns to display and * a when predicate that describes when this row should be used. */ class MatRowDef extends CdkRowDef { } MatRowDef.ɵfac = /*@__PURE__*/ function () { let ɵMatRowDef_BaseFactory; return function MatRowDef_Factory(t) { return (ɵMatRowDef_BaseFactory || (ɵMatRowDef_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatRowDef)))(t || MatRowDef); }; }(); MatRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatRowDef, selectors: [["", "matRowDef", ""]], inputs: { columns: ["matRowDefColumns", "columns"], when: ["matRowDefWhen", "when"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkRowDef, useExisting: MatRowDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatRowDef, [{ type: Directive, args: [{ selector: '[matRowDef]', providers: [{ provide: CdkRowDef, useExisting: MatRowDef }], inputs: ['columns: matRowDefColumns', 'when: matRowDefWhen'] }] }], null, null); })(); /** Header template container that contains the cell outlet. Adds the right class and role. */ class MatHeaderRow extends CdkHeaderRow { } MatHeaderRow.ɵfac = /*@__PURE__*/ function () { let ɵMatHeaderRow_BaseFactory; return function MatHeaderRow_Factory(t) { return (ɵMatHeaderRow_BaseFactory || (ɵMatHeaderRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatHeaderRow)))(t || MatHeaderRow); }; }(); MatHeaderRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatHeaderRow, selectors: [["mat-header-row"], ["tr", "mat-header-row", ""]], hostAttrs: ["role", "row", 1, "mat-header-row"], exportAs: ["matHeaderRow"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkHeaderRow, useExisting: MatHeaderRow }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [["cdkCellOutlet", ""]], template: function MatHeaderRow_Template(rf, ctx) { if (rf & 1) { ɵngcc0.ɵɵelementContainer(0, 0); } }, directives: [ɵngcc1.CdkCellOutlet], encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHeaderRow, [{ type: Component, args: [{ selector: 'mat-header-row, tr[mat-header-row]', template: CDK_ROW_TEMPLATE, host: { 'class': 'mat-header-row', 'role': 'row' }, // See note on CdkTable for explanation on why this uses the default change detection strategy. // tslint:disable-next-line:validate-decorators changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matHeaderRow', providers: [{ provide: CdkHeaderRow, useExisting: MatHeaderRow }] }] }], null, null); })(); /** Footer template container that contains the cell outlet. Adds the right class and role. */ class MatFooterRow extends CdkFooterRow { } MatFooterRow.ɵfac = /*@__PURE__*/ function () { let ɵMatFooterRow_BaseFactory; return function MatFooterRow_Factory(t) { return (ɵMatFooterRow_BaseFactory || (ɵMatFooterRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatFooterRow)))(t || MatFooterRow); }; }(); MatFooterRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatFooterRow, selectors: [["mat-footer-row"], ["tr", "mat-footer-row", ""]], hostAttrs: ["role", "row", 1, "mat-footer-row"], exportAs: ["matFooterRow"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkFooterRow, useExisting: MatFooterRow }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [["cdkCellOutlet", ""]], template: function MatFooterRow_Template(rf, ctx) { if (rf & 1) { ɵngcc0.ɵɵelementContainer(0, 0); } }, directives: [ɵngcc1.CdkCellOutlet], encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFooterRow, [{ type: Component, args: [{ selector: 'mat-footer-row, tr[mat-footer-row]', template: CDK_ROW_TEMPLATE, host: { 'class': 'mat-footer-row', 'role': 'row' }, // See note on CdkTable for explanation on why this uses the default change detection strategy. // tslint:disable-next-line:validate-decorators changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matFooterRow', providers: [{ provide: CdkFooterRow, useExisting: MatFooterRow }] }] }], null, null); })(); /** Data row template container that contains the cell outlet. Adds the right class and role. */ class MatRow extends CdkRow { } MatRow.ɵfac = /*@__PURE__*/ function () { let ɵMatRow_BaseFactory; return function MatRow_Factory(t) { return (ɵMatRow_BaseFactory || (ɵMatRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatRow)))(t || MatRow); }; }(); MatRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatRow, selectors: [["mat-row"], ["tr", "mat-row", ""]], hostAttrs: ["role", "row", 1, "mat-row"], exportAs: ["matRow"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkRow, useExisting: MatRow }]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [["cdkCellOutlet", ""]], template: function MatRow_Template(rf, ctx) { if (rf & 1) { ɵngcc0.ɵɵelementContainer(0, 0); } }, directives: [ɵngcc1.CdkCellOutlet], encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatRow, [{ type: Component, args: [{ selector: 'mat-row, tr[mat-row]', template: CDK_ROW_TEMPLATE, host: { 'class': 'mat-row', 'role': 'row' }, // See note on CdkTable for explanation on why this uses the default change detection strategy. // tslint:disable-next-line:validate-decorators changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matRow', providers: [{ provide: CdkRow, useExisting: MatRow }] }] }], null, null); })(); /** Row that can be used to display a message when no data is shown in the table. */ class MatNoDataRow extends CdkNoDataRow { } MatNoDataRow.ɵfac = /*@__PURE__*/ function () { let ɵMatNoDataRow_BaseFactory; return function MatNoDataRow_Factory(t) { return (ɵMatNoDataRow_BaseFactory || (ɵMatNoDataRow_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatNoDataRow)))(t || MatNoDataRow); }; }(); MatNoDataRow.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatNoDataRow, selectors: [["ng-template", "matNoDataRow", ""]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CdkNoDataRow, useExisting: MatNoDataRow }]), ɵngcc0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatNoDataRow, [{ type: Directive, args: [{ selector: 'ng-template[matNoDataRow]', providers: [{ provide: CdkNoDataRow, useExisting: MatNoDataRow }] }] }], null, null); })(); /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * Column that simply shows text content for the header and row cells. Assumes that the table * is using the native table implementation (`
{{headerText}} | {{dataAccessor(data, name)}} |
---|