From 2ff04339776199909a16b8e575126841a8fa40c4 Mon Sep 17 00:00:00 2001 From: Andrew Seguin Date: Thu, 29 Jun 2017 14:21:20 -0700 Subject: [PATCH] chore(table): remove data prefix (#5379) * chore(table): rename data table * fix demo template url * move to cdk directory * remove custom matchers * rebase * rebase * aot fix --- .pullapprove.yml | 6 +- src/cdk/public_api.ts | 1 + .../core/data-table => cdk/table}/cell.ts | 6 +- .../data-table => cdk/table}/data-source.ts | 0 .../core/data-table => cdk/table}/index.ts | 8 +- src/{lib/core/data-table => cdk/table}/row.ts | 6 +- .../table/table.spec.ts} | 120 ++++++++---------- .../data-table.ts => cdk/table/table.ts} | 10 +- src/demo-app/demo-app-module.ts | 12 +- src/demo-app/demo-app/demo-app.ts | 2 +- src/demo-app/demo-app/routes.ts | 4 +- .../{data-table => table}/people-database.ts | 0 .../person-data-source.ts | 3 +- .../table-demo.html} | 0 .../table-demo.scss} | 0 .../table-demo.ts} | 8 +- .../table-header-demo.html | 0 .../table-header-demo.scss | 0 .../table-header-demo.ts | 0 src/lib/module.ts | 4 +- src/lib/paginator/paginator.md | 2 +- src/lib/public_api.ts | 3 +- src/lib/sort/sort-header.ts | 2 +- src/lib/sort/sort.spec.ts | 4 +- src/lib/table/cell.ts | 10 +- src/lib/table/index.ts | 4 +- src/lib/table/row.ts | 10 +- src/lib/table/table.spec.ts | 7 +- src/lib/table/table.ts | 7 +- 29 files changed, 118 insertions(+), 121 deletions(-) rename src/{lib/core/data-table => cdk/table}/cell.ts (93%) rename src/{lib/core/data-table => cdk/table}/data-source.ts (100%) rename src/{lib/core/data-table => cdk/table}/index.ts (89%) rename src/{lib/core/data-table => cdk/table}/row.ts (96%) rename src/{lib/core/data-table/data-table.spec.ts => cdk/table/table.spec.ts} (90%) rename src/{lib/core/data-table/data-table.ts => cdk/table/table.ts} (97%) rename src/demo-app/{data-table => table}/people-database.ts (100%) rename src/demo-app/{data-table => table}/person-data-source.ts (94%) rename src/demo-app/{data-table/data-table-demo.html => table/table-demo.html} (100%) rename src/demo-app/{data-table/data-table-demo.scss => table/table-demo.scss} (100%) rename src/demo-app/{data-table/data-table-demo.ts => table/table-demo.ts} (93%) rename src/demo-app/{data-table => table}/table-header-demo.html (100%) rename src/demo-app/{data-table => table}/table-header-demo.scss (100%) rename src/demo-app/{data-table => table}/table-header-demo.ts (100%) diff --git a/.pullapprove.yml b/.pullapprove.yml index 92029d98219..8388cb9a851 100644 --- a/.pullapprove.yml +++ b/.pullapprove.yml @@ -117,9 +117,9 @@ groups: data-table: conditions: files: - - 'src/(demo-app|e2e-app|lib)/data-table/*' - - 'src/lib/core/data-table/*' - - 'src/material-examples/data-table-*' + - 'src/(demo-app|e2e-app|lib)/table/*' + - 'src/lib/core/table/*' + - 'src/material-examples/table-*' users: - andrewseguin # primary - jelbourn diff --git a/src/cdk/public_api.ts b/src/cdk/public_api.ts index 06df0c5c82c..d57df649726 100644 --- a/src/cdk/public_api.ts +++ b/src/cdk/public_api.ts @@ -7,3 +7,4 @@ */ export * from './coercion/index'; +export * from './table/index'; diff --git a/src/lib/core/data-table/cell.ts b/src/cdk/table/cell.ts similarity index 93% rename from src/lib/core/data-table/cell.ts rename to src/cdk/table/cell.ts index dfa733a8eaf..acbf20cd4e3 100644 --- a/src/lib/core/data-table/cell.ts +++ b/src/cdk/table/cell.ts @@ -9,7 +9,7 @@ import {ContentChild, Directive, ElementRef, Input, Renderer2, TemplateRef} from '@angular/core'; /** - * Cell definition for a CDK data-table. + * Cell definition for a CDK table. * Captures the template of a column's data row cell as well as cell-specific properties. */ @Directive({selector: '[cdkCellDef]'}) @@ -18,7 +18,7 @@ export class CdkCellDef { } /** - * Header cell definition for a CDK data-table. + * Header cell definition for a CDK table. * Captures the template of a column's header cell and as well as cell-specific properties. */ @Directive({selector: '[cdkHeaderCellDef]'}) @@ -27,7 +27,7 @@ export class CdkHeaderCellDef { } /** - * Column definition for the CDK data-table. + * Column definition for the CDK table. * Defines a set of cells available for a table column. */ @Directive({selector: '[cdkColumnDef]'}) diff --git a/src/lib/core/data-table/data-source.ts b/src/cdk/table/data-source.ts similarity index 100% rename from src/lib/core/data-table/data-source.ts rename to src/cdk/table/data-source.ts diff --git a/src/lib/core/data-table/index.ts b/src/cdk/table/index.ts similarity index 89% rename from src/lib/core/data-table/index.ts rename to src/cdk/table/index.ts index 08d486f3fc4..12d49a7f0c8 100644 --- a/src/lib/core/data-table/index.ts +++ b/src/cdk/table/index.ts @@ -8,12 +8,14 @@ import {CommonModule} from '@angular/common'; import {NgModule} from '@angular/core'; -import {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './data-table'; +import {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './table'; import {CdkCellOutlet, CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef} from './row'; import {CdkColumnDef, CdkHeaderCellDef, CdkHeaderCell, CdkCell, CdkCellDef} from './cell'; export * from './data-source'; -export * from './data-table'; +export * from './table'; +export * from './cell'; +export * from './row'; const EXPORTED_DECLARATIONS = [ CdkTable, @@ -37,4 +39,4 @@ const EXPORTED_DECLARATIONS = [ declarations: [EXPORTED_DECLARATIONS] }) -export class CdkDataTableModule { } +export class CdkTableModule { } diff --git a/src/lib/core/data-table/row.ts b/src/cdk/table/row.ts similarity index 96% rename from src/lib/core/data-table/row.ts rename to src/cdk/table/row.ts index 21f4bad30ae..c20e19a6101 100644 --- a/src/lib/core/data-table/row.ts +++ b/src/cdk/table/row.ts @@ -66,7 +66,7 @@ export abstract class BaseRowDef { } /** - * Header row definition for the CDK data-table. + * Header row definition for the CDK table. * Captures the header row's template and other header properties such as the columns to display. */ @Directive({ @@ -80,7 +80,7 @@ export class CdkHeaderRowDef extends BaseRowDef { } /** - * Data row definition for the CDK data-table. + * Data row definition for the CDK table. * Captures the header row's template and other row properties such as the columns to display. */ @Directive({ @@ -133,7 +133,7 @@ export class CdkCellOutlet { /** * Static property containing the latest constructed instance of this class. - * Used by the CDK data-table when each CdkHeaderRow and CdkRow component is created using + * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using * createEmbeddedView. After one of these components are created, this property will provide * a handle to provide that component's cells and context. After init, the CdkCellOutlet will * construct the cells with the provided context. diff --git a/src/lib/core/data-table/data-table.spec.ts b/src/cdk/table/table.spec.ts similarity index 90% rename from src/lib/core/data-table/data-table.spec.ts rename to src/cdk/table/table.spec.ts index 84144aff1bb..b69724ec3c4 100644 --- a/src/lib/core/data-table/data-table.spec.ts +++ b/src/cdk/table/table.spec.ts @@ -1,13 +1,12 @@ import {async, ComponentFixture, TestBed} from '@angular/core/testing'; import {Component, ViewChild} from '@angular/core'; -import {CdkTable} from './data-table'; +import {CdkTable} from './table'; import {CollectionViewer, DataSource} from './data-source'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {customMatchers} from '../testing/jasmine-matchers'; import {Observable} from 'rxjs/Observable'; import {combineLatest} from 'rxjs/observable/combineLatest'; -import {map} from '../rxjs/index'; -import {CdkDataTableModule} from './index'; +import {CdkTableModule} from './index'; +import {map} from 'rxjs/operator/map'; describe('CdkTable', () => { let fixture: ComponentFixture; @@ -18,11 +17,8 @@ describe('CdkTable', () => { let tableElement: HTMLElement; beforeEach(async(() => { - jasmine.addMatchers(customMatchers); - jasmine.addMatchers(tableCustomMatchers); - TestBed.configureTestingModule({ - imports: [CdkDataTableModule], + imports: [CdkTableModule], declarations: [ SimpleCdkTableApp, DynamicDataSourceCdkTableApp, @@ -82,14 +78,18 @@ describe('CdkTable', () => { }); it('with the right accessibility roles', () => { - expect(tableElement).toBeRole('grid'); + expect(tableElement.getAttribute('role')).toBe('grid'); - expect(getHeaderRow(tableElement)).toBeRole('row'); - getHeaderCells(tableElement).forEach(cell => expect(cell).toBeRole('columnheader')); + expect(getHeaderRow(tableElement).getAttribute('role')).toBe('row'); + getHeaderCells(tableElement).forEach(cell => { + expect(cell.getAttribute('role')).toBe('columnheader'); + }); getRows(tableElement).forEach(row => { - expect(row).toBeRole('row'); - getCells(row).forEach(cell => expect(cell).toBeRole('gridcell')); + expect(row.getAttribute('role')).toBe('row'); + getCells(row).forEach(cell => { + expect(cell.getAttribute('role')).toBe('gridcell'); + }); }); }); }); @@ -105,7 +105,7 @@ describe('CdkTable', () => { fixture = TestBed.createComponent(CustomRoleCdkTableApp); fixture.detectChanges(); - expect(fixture.nativeElement.querySelector('cdk-table')).toBeRole('treegrid'); + expect(fixture.nativeElement.querySelector('cdk-table').getAttribute('role')).toBe('treegrid'); }); it('should re-render the rows when the data changes', () => { @@ -271,7 +271,7 @@ describe('CdkTable', () => { expect(dataSource.data.length).toBe(3); let data = dataSource.data; - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column A', 'Column B', 'Column C'], [data[0].a, data[0].b, data[0].c], [data[1].a, data[1].b, data[1].c], @@ -284,7 +284,7 @@ describe('CdkTable', () => { fixture.detectChanges(); data = dataSource.data; - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column A', 'Column B', 'Column C'], [data[0].a, data[0].b, data[0].c], [data[1].a, data[1].b, data[1].c], @@ -303,7 +303,7 @@ describe('CdkTable', () => { // Expect that the component has no data source and the table element reflects empty data. expect(component.dataSource).toBe(undefined); - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column A'] ]); @@ -314,7 +314,7 @@ describe('CdkTable', () => { expect(dynamicDataSource.isConnected).toBe(true); let data = component.dataSource.data; - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column A'], [data[0].a], [data[1].a], @@ -327,7 +327,7 @@ describe('CdkTable', () => { // Expect that the old data source has been disconnected. expect(dynamicDataSource.isConnected).toBe(false); - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column A'] ]); }); @@ -418,7 +418,7 @@ describe('CdkTable', () => { expect(dataSource.data.length).toBe(3); let data = dataSource.data; - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column A', 'Column B', 'Column C'], [data[0].a, data[0].b, data[0].c], [data[1].a, data[1].b, data[1].c], @@ -433,7 +433,7 @@ describe('CdkTable', () => { dataSource.data.forEach(rowData => changedTableContent.push([rowData.c, rowData.b])); data = dataSource.data; - expect(tableElement).toMatchTableContent([ + expectTableToMatchContent(tableElement, [ ['Column C', 'Column B'], [data[0].c, data[0].b], [data[1].c, data[1].b], @@ -646,50 +646,36 @@ function getHeaderCells(tableElement: Element): Element[] { return getElements(getHeaderRow(tableElement), '.cdk-header-cell'); } -const tableCustomMatchers: jasmine.CustomMatcherFactories = { - toMatchTableContent: () => { - return { - compare: function (tableElement: Element, expectedTableContent: any[]) { - const missedExpectations: string[] = []; - function checkCellContent(cell: Element, expectedTextContent: string) { - const actualTextContent = cell.textContent!.trim(); - if (actualTextContent !== expectedTextContent) { - missedExpectations.push( - `Expected cell contents to be ${expectedTextContent} but was ${actualTextContent}`); - } - } - - // Check header cells - const expectedHeaderContent = expectedTableContent.shift(); - getHeaderCells(tableElement).forEach((cell, index) => { - const expected = expectedHeaderContent ? - expectedHeaderContent[index] : - null; - checkCellContent(cell, expected); - }); - - // Check data row cells - getRows(tableElement).forEach((row, rowIndex) => { - getCells(row).forEach((cell, cellIndex) => { - const expected = expectedHeaderContent ? - expectedTableContent[rowIndex][cellIndex] : - null; - checkCellContent(cell, expected); - }); - }); - - if (missedExpectations.length) { - return { - pass: false, - message: missedExpectations.join('\n') - }; - } - - return { - pass: true, - message: 'Table contained the right content' - }; - } - }; +function expectTableToMatchContent(tableElement: Element, expectedTableContent: any[]) { + const missedExpectations: string[] = []; + function checkCellContent(cell: Element, expectedTextContent: string) { + const actualTextContent = cell.textContent!.trim(); + if (actualTextContent !== expectedTextContent) { + missedExpectations.push( + `Expected cell contents to be ${expectedTextContent} but was ${actualTextContent}`); + } } -}; + + // Check header cells + const expectedHeaderContent = expectedTableContent.shift(); + getHeaderCells(tableElement).forEach((cell, index) => { + const expected = expectedHeaderContent ? + expectedHeaderContent[index] : + null; + checkCellContent(cell, expected); + }); + + // Check data row cells + getRows(tableElement).forEach((row, rowIndex) => { + getCells(row).forEach((cell, cellIndex) => { + const expected = expectedHeaderContent ? + expectedTableContent[rowIndex][cellIndex] : + null; + checkCellContent(cell, expected); + }); + }); + + if (missedExpectations.length) { + fail(missedExpectations.join('\n')); + } +} diff --git a/src/lib/core/data-table/data-table.ts b/src/cdk/table/table.ts similarity index 97% rename from src/lib/core/data-table/data-table.ts rename to src/cdk/table/table.ts index 15f61460e76..592e56d63fa 100644 --- a/src/lib/core/data-table/data-table.ts +++ b/src/cdk/table/table.ts @@ -32,7 +32,7 @@ import { import {CollectionViewer, DataSource} from './data-source'; import {CdkCellOutlet, CdkCellOutletRowContext, CdkHeaderRowDef, CdkRowDef} from './row'; import {merge} from 'rxjs/observable/merge'; -import {takeUntil} from '../rxjs/index'; +import {takeUntil} from 'rxjs/operator/takeUntil'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; import {Subscription} from 'rxjs/Subscription'; import {Subject} from 'rxjs/Subject'; @@ -43,8 +43,8 @@ import {CdkCellDef, CdkColumnDef, CdkHeaderCellDef} from './cell'; * @param id Id whose lookup failed. * @docs-private */ -export function getDataTableUnknownColumnError(id: string) { - return new Error(`md-data-table: Could not find column with id "${id}".`); +export function getTableUnknownColumnError(id: string) { + return new Error(`cdk-table: Could not find column with id "${id}".`); } /** @@ -357,7 +357,7 @@ export class CdkTable implements CollectionViewer { const column = this._columnDefinitionsByName.get(columnId); if (!column) { - throw getDataTableUnknownColumnError(columnId); + throw getTableUnknownColumnError(columnId); } return column.headerCell; @@ -374,7 +374,7 @@ export class CdkTable implements CollectionViewer { const column = this._columnDefinitionsByName.get(columnId); if (!column) { - throw getDataTableUnknownColumnError(columnId); + throw getTableUnknownColumnError(columnId); } return column.cell; diff --git a/src/demo-app/demo-app-module.ts b/src/demo-app/demo-app-module.ts index 89f5f4cbcda..98b2c3dc8b1 100644 --- a/src/demo-app/demo-app-module.ts +++ b/src/demo-app/demo-app-module.ts @@ -37,13 +37,12 @@ import {PlatformDemo} from './platform/platform-demo'; import {AutocompleteDemo} from './autocomplete/autocomplete-demo'; import {InputDemo} from './input/input-demo'; import {StyleDemo} from './style/style-demo'; -import {DataTableDemo} from './data-table/data-table-demo'; -import {PeopleDatabase} from './data-table/people-database'; +import {TableDemo} from './table/table-demo'; +import {PeopleDatabase} from './table/people-database'; import {DatepickerDemo} from './datepicker/datepicker-demo'; import {TypographyDemo} from './typography/typography-demo'; import {ExpansionDemo} from './expansion/expansion-demo'; import { - CdkDataTableModule, FullscreenOverlayContainer, MdAutocompleteModule, MdButtonModule, @@ -79,7 +78,8 @@ import { OverlayContainer, StyleModule } from '@angular/material'; -import {TableHeaderDemo} from './data-table/table-header-demo'; +import {CdkTableModule} from '@angular/cdk'; +import {TableHeaderDemo} from './table/table-header-demo'; /** * NgModule that includes all Material modules that are required to serve the demo-app. @@ -117,7 +117,7 @@ import {TableHeaderDemo} from './data-table/table-header-demo'; MdToolbarModule, MdTooltipModule, MdNativeDateModule, - CdkDataTableModule, + CdkTableModule, StyleModule ] }) @@ -142,7 +142,6 @@ export class DemoMaterialModule {} CardDemo, ChipsDemo, CheckboxDemo, - DataTableDemo, DatepickerDemo, DemoApp, DemoAppOnPush, @@ -177,6 +176,7 @@ export class DemoMaterialModule {} TableHeaderDemo, ToolbarDemo, TooltipDemo, + TableDemo, TabsDemo, SunnyTabContent, RainyTabContent, diff --git a/src/demo-app/demo-app/demo-app.ts b/src/demo-app/demo-app/demo-app.ts index ff358a37abb..3f422c3ccd5 100644 --- a/src/demo-app/demo-app/demo-app.ts +++ b/src/demo-app/demo-app/demo-app.ts @@ -40,7 +40,6 @@ export class DemoApp { {name: 'Card', route: 'card'}, {name: 'Chips', route: 'chips'}, {name: 'Checkbox', route: 'checkbox'}, - {name: 'Data Table', route: 'data-table'}, {name: 'Datepicker', route: 'datepicker'}, {name: 'Dialog', route: 'dialog'}, {name: 'Expansion Panel', route: 'expansion'}, @@ -62,6 +61,7 @@ export class DemoApp { {name: 'Slider', route: 'slider'}, {name: 'Slide Toggle', route: 'slide-toggle'}, {name: 'Snack Bar', route: 'snack-bar'}, + {name: 'Table', route: 'table'}, {name: 'Tabs', route: 'tabs'}, {name: 'Toolbar', route: 'toolbar'}, {name: 'Tooltip', route: 'tooltip'}, diff --git a/src/demo-app/demo-app/routes.ts b/src/demo-app/demo-app/routes.ts index beca55e4142..875dc907e60 100644 --- a/src/demo-app/demo-app/routes.ts +++ b/src/demo-app/demo-app/routes.ts @@ -33,7 +33,7 @@ import {AutocompleteDemo} from '../autocomplete/autocomplete-demo'; import {InputDemo} from '../input/input-demo'; import {StyleDemo} from '../style/style-demo'; import {DatepickerDemo} from '../datepicker/datepicker-demo'; -import {DataTableDemo} from '../data-table/data-table-demo'; +import {TableDemo} from '../table/table-demo'; import {TypographyDemo} from '../typography/typography-demo'; import {ExpansionDemo} from '../expansion/expansion-demo'; @@ -43,7 +43,7 @@ export const DEMO_APP_ROUTES: Routes = [ {path: 'button', component: ButtonDemo}, {path: 'card', component: CardDemo}, {path: 'chips', component: ChipsDemo}, - {path: 'data-table', component: DataTableDemo}, + {path: 'table', component: TableDemo}, {path: 'datepicker', component: DatepickerDemo}, {path: 'radio', component: RadioDemo}, {path: 'select', component: SelectDemo}, diff --git a/src/demo-app/data-table/people-database.ts b/src/demo-app/table/people-database.ts similarity index 100% rename from src/demo-app/data-table/people-database.ts rename to src/demo-app/table/people-database.ts diff --git a/src/demo-app/data-table/person-data-source.ts b/src/demo-app/table/person-data-source.ts similarity index 94% rename from src/demo-app/data-table/person-data-source.ts rename to src/demo-app/table/person-data-source.ts index 99b7604c84f..f4e775a38ef 100644 --- a/src/demo-app/data-table/person-data-source.ts +++ b/src/demo-app/table/person-data-source.ts @@ -1,4 +1,5 @@ -import {DataSource, MdPaginator, MdSort} from '@angular/material'; +import {MdPaginator, MdSort} from '@angular/material'; +import {DataSource} from '@angular/cdk'; import {Observable} from 'rxjs/Observable'; import {PeopleDatabase, UserData} from './people-database'; import 'rxjs/add/observable/merge'; diff --git a/src/demo-app/data-table/data-table-demo.html b/src/demo-app/table/table-demo.html similarity index 100% rename from src/demo-app/data-table/data-table-demo.html rename to src/demo-app/table/table-demo.html diff --git a/src/demo-app/data-table/data-table-demo.scss b/src/demo-app/table/table-demo.scss similarity index 100% rename from src/demo-app/data-table/data-table-demo.scss rename to src/demo-app/table/table-demo.scss diff --git a/src/demo-app/data-table/data-table-demo.ts b/src/demo-app/table/table-demo.ts similarity index 93% rename from src/demo-app/data-table/data-table-demo.ts rename to src/demo-app/table/table-demo.ts index 098c5b48b35..9bb1050b4fa 100644 --- a/src/demo-app/data-table/data-table-demo.ts +++ b/src/demo-app/table/table-demo.ts @@ -10,11 +10,11 @@ export type TrackByStrategy = 'id' | 'reference' | 'index'; @Component({ moduleId: module.id, - selector: 'data-table-demo', - templateUrl: 'data-table-demo.html', - styleUrls: ['data-table-demo.css'], + selector: 'table-demo', + templateUrl: 'table-demo.html', + styleUrls: ['table-demo.css'], }) -export class DataTableDemo { +export class TableDemo { dataSource: PersonDataSource | null; propertiesToDisplay: UserProperties[] = []; trackByStrategy: TrackByStrategy = 'reference'; diff --git a/src/demo-app/data-table/table-header-demo.html b/src/demo-app/table/table-header-demo.html similarity index 100% rename from src/demo-app/data-table/table-header-demo.html rename to src/demo-app/table/table-header-demo.html diff --git a/src/demo-app/data-table/table-header-demo.scss b/src/demo-app/table/table-header-demo.scss similarity index 100% rename from src/demo-app/data-table/table-header-demo.scss rename to src/demo-app/table/table-header-demo.scss diff --git a/src/demo-app/data-table/table-header-demo.ts b/src/demo-app/table/table-header-demo.ts similarity index 100% rename from src/demo-app/data-table/table-header-demo.ts rename to src/demo-app/table/table-header-demo.ts diff --git a/src/lib/module.ts b/src/lib/module.ts index ba40512768c..e5fa0671e79 100644 --- a/src/lib/module.ts +++ b/src/lib/module.ts @@ -44,7 +44,6 @@ import {PlatformModule} from './core/platform/index'; import {MdAutocompleteModule} from './autocomplete/index'; import {StyleModule} from './core/style/index'; import {MdDatepickerModule} from './datepicker/index'; -import {CdkDataTableModule} from './core/data-table/index'; import {MdExpansionModule} from './expansion/index'; import {MdTableModule} from './table/index'; import {MdSortModule} from './sort/index'; @@ -87,8 +86,7 @@ const MATERIAL_MODULES = [ A11yModule, PlatformModule, MdCommonModule, - ObserveContentModule, - CdkDataTableModule, + ObserveContentModule ]; /** @deprecated */ diff --git a/src/lib/paginator/paginator.md b/src/lib/paginator/paginator.md index 394353bdc91..b151a5ed5c5 100644 --- a/src/lib/paginator/paginator.md +++ b/src/lib/paginator/paginator.md @@ -1,4 +1,4 @@ -`` is a navigation for pages information, typically used with a data-table. +`` is a navigation for pages information, typically used with a table. diff --git a/src/lib/public_api.ts b/src/lib/public_api.ts index 0e28ac5a616..fbaf2969486 100644 --- a/src/lib/public_api.ts +++ b/src/lib/public_api.ts @@ -21,8 +21,6 @@ export * from './button-toggle/index'; export * from './card/index'; export * from './chips/index'; export * from './checkbox/index'; -export * from './core/data-table/index'; -export * from './table/index'; export * from './datepicker/index'; export * from './dialog/index'; export * from './expansion/index'; @@ -41,6 +39,7 @@ export * from './slider/index'; export * from './slide-toggle/index'; export * from './snack-bar/index'; export * from './sort/index'; +export * from './table/index'; export * from './tabs/index'; export * from './tabs/tab-nav-bar/index'; export * from './toolbar/index'; diff --git a/src/lib/sort/sort-header.ts b/src/lib/sort/sort-header.ts index c0532587c28..6b33afd5089 100644 --- a/src/lib/sort/sort-header.ts +++ b/src/lib/sort/sort-header.ts @@ -12,7 +12,7 @@ import { } from '@angular/core'; import {MdSort, MdSortable} from './sort'; import {MdSortHeaderIntl} from './sort-header-intl'; -import {CdkColumnDef} from '../core/data-table/cell'; +import {CdkColumnDef} from '@angular/cdk'; import {coerceBooleanProperty} from '../core'; import {getMdSortHeaderNotContainedWithinMdSortError} from './sort-errors'; import {Subscription} from 'rxjs/Subscription'; diff --git a/src/lib/sort/sort.spec.ts b/src/lib/sort/sort.spec.ts index 4222e4afc36..a7ce91fe68c 100644 --- a/src/lib/sort/sort.spec.ts +++ b/src/lib/sort/sort.spec.ts @@ -1,7 +1,7 @@ import {async, ComponentFixture, TestBed} from '@angular/core/testing'; import {Component, ElementRef, ViewChild} from '@angular/core'; import {MdSort, MdSortHeader, Sort, SortDirection, MdSortModule} from './index'; -import {CdkDataTableModule, DataSource, CollectionViewer} from '../core/data-table/index'; +import {CdkTableModule, DataSource, CollectionViewer} from '@angular/cdk'; import {Observable} from 'rxjs/Observable'; import {dispatchMouseEvent} from '../core/testing/dispatch-events'; import { @@ -19,7 +19,7 @@ describe('MdSort', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - imports: [MdSortModule, CdkDataTableModule], + imports: [MdSortModule, CdkTableModule], declarations: [ SimpleMdSortApp, CdkTableMdSortApp, diff --git a/src/lib/table/cell.ts b/src/lib/table/cell.ts index 6105497c45e..2769916ff55 100644 --- a/src/lib/table/cell.ts +++ b/src/lib/table/cell.ts @@ -7,7 +7,11 @@ */ import {Directive, ElementRef, Renderer2} from '@angular/core'; -import {CdkCell, CdkColumnDef, CdkHeaderCell} from '../core/data-table/cell'; +import {CdkCell, CdkColumnDef, CdkHeaderCell} from '@angular/cdk'; + +/** Workaround for https://github.com/angular/angular/issues/17849 */ +export const _MdHeaderCellBase = CdkHeaderCell; +export const _MdCell = CdkCell; /** Header cell template container that adds the right classes and role. */ @Directive({ @@ -17,7 +21,7 @@ import {CdkCell, CdkColumnDef, CdkHeaderCell} from '../core/data-table/cell'; 'role': 'columnheader', }, }) -export class MdHeaderCell extends CdkHeaderCell { +export class MdHeaderCell extends _MdHeaderCellBase { constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) { @@ -34,7 +38,7 @@ export class MdHeaderCell extends CdkHeaderCell { 'role': 'gridcell', }, }) -export class MdCell extends CdkCell { +export class MdCell extends _MdCell { constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) { diff --git a/src/lib/table/index.ts b/src/lib/table/index.ts index ed946593a09..891f7c30195 100644 --- a/src/lib/table/index.ts +++ b/src/lib/table/index.ts @@ -8,7 +8,7 @@ import {NgModule} from '@angular/core'; import {MdTable} from './table'; -import {CdkDataTableModule} from '../core/data-table/index'; +import {CdkTableModule} from '@angular/cdk'; import {MdCell, MdHeaderCell} from './cell'; import {MdHeaderRow, MdRow} from './row'; import {CommonModule} from '@angular/common'; @@ -19,7 +19,7 @@ export * from './table'; export * from './row'; @NgModule({ - imports: [CdkDataTableModule, CommonModule, MdCommonModule], + imports: [CdkTableModule, CommonModule, MdCommonModule], exports: [MdTable, MdHeaderCell, MdCell, MdHeaderRow, MdRow], declarations: [MdTable, MdHeaderCell, MdCell, MdHeaderRow, MdRow], }) diff --git a/src/lib/table/row.ts b/src/lib/table/row.ts index 348b15bbb31..9a43a49e6da 100644 --- a/src/lib/table/row.ts +++ b/src/lib/table/row.ts @@ -7,7 +7,11 @@ */ import {ChangeDetectionStrategy, Component} from '@angular/core'; -import {CdkHeaderRow, CdkRow, CDK_ROW_TEMPLATE} from '../core/data-table/row'; +import {CdkHeaderRow, CdkRow, CDK_ROW_TEMPLATE} from '@angular/cdk'; + +/** Workaround for https://github.com/angular/angular/issues/17849 */ +export const _MdHeaderRow = CdkHeaderRow; +export const _MdRow = CdkHeaderRow; /** Header template container that contains the cell outlet. Adds the right class and role. */ @Component({ @@ -19,7 +23,7 @@ import {CdkHeaderRow, CdkRow, CDK_ROW_TEMPLATE} from '../core/data-table/row'; }, changeDetection: ChangeDetectionStrategy.OnPush, }) -export class MdHeaderRow extends CdkHeaderRow { } +export class MdHeaderRow extends _MdHeaderRow { } /** Data row template container that contains the cell outlet. Adds the right class and role. */ @Component({ @@ -31,4 +35,4 @@ export class MdHeaderRow extends CdkHeaderRow { } }, changeDetection: ChangeDetectionStrategy.OnPush, }) -export class MdRow extends CdkRow { } +export class MdRow extends _MdRow { } diff --git a/src/lib/table/table.spec.ts b/src/lib/table/table.spec.ts index 047505062de..954d305f4bb 100644 --- a/src/lib/table/table.spec.ts +++ b/src/lib/table/table.spec.ts @@ -1,10 +1,9 @@ import {async, ComponentFixture, TestBed} from '@angular/core/testing'; import {Component, ViewChild} from '@angular/core'; -import {CdkTable} from '../core/data-table/data-table'; -import {DataSource} from '../core/data-table/data-source'; +import {CdkTable, DataSource, CdkTableModule} from '@angular/cdk'; +import {} from '../core/data-table/data-source'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; import {Observable} from 'rxjs/Observable'; -import {CdkDataTableModule} from '../core/data-table/index'; import {MdTableModule} from './index'; describe('MdTable', () => { @@ -12,7 +11,7 @@ describe('MdTable', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - imports: [MdTableModule, CdkDataTableModule], + imports: [MdTableModule, CdkTableModule], declarations: [SimpleMdTableApp], }).compileComponents(); })); diff --git a/src/lib/table/table.ts b/src/lib/table/table.ts index 064455c29f9..68473e395b6 100644 --- a/src/lib/table/table.ts +++ b/src/lib/table/table.ts @@ -7,7 +7,10 @@ */ import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core'; -import {CDK_TABLE_TEMPLATE, CdkTable} from '../core/data-table/data-table'; +import {CDK_TABLE_TEMPLATE, CdkTable} from '@angular/cdk'; + +/** Workaround for https://github.com/angular/angular/issues/17849 */ +export const _MdTable = CdkTable; /** * Wrapper for the CdkTable with Material design styles. @@ -23,4 +26,4 @@ import {CDK_TABLE_TEMPLATE, CdkTable} from '../core/data-table/data-table'; encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, }) -export class MdTable extends CdkTable { } +export class MdTable extends _MdTable { }