Skip to content

Commit 2ff0433

Browse files
andrewseguintinayuangao
authored andcommitted
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
1 parent e3a2f30 commit 2ff0433

29 files changed

+116
-119
lines changed

.pullapprove.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,9 @@ groups:
117117
data-table:
118118
conditions:
119119
files:
120-
- 'src/(demo-app|e2e-app|lib)/data-table/*'
121-
- 'src/lib/core/data-table/*'
122-
- 'src/material-examples/data-table-*'
120+
- 'src/(demo-app|e2e-app|lib)/table/*'
121+
- 'src/lib/core/table/*'
122+
- 'src/material-examples/table-*'
123123
users:
124124
- andrewseguin # primary
125125
- jelbourn

src/cdk/public_api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
*/
88

99
export * from './coercion/index';
10+
export * from './table/index';

src/lib/core/data-table/cell.ts renamed to src/cdk/table/cell.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import {ContentChild, Directive, ElementRef, Input, Renderer2, TemplateRef} from '@angular/core';
1010

1111
/**
12-
* Cell definition for a CDK data-table.
12+
* Cell definition for a CDK table.
1313
* Captures the template of a column's data row cell as well as cell-specific properties.
1414
*/
1515
@Directive({selector: '[cdkCellDef]'})
@@ -18,7 +18,7 @@ export class CdkCellDef {
1818
}
1919

2020
/**
21-
* Header cell definition for a CDK data-table.
21+
* Header cell definition for a CDK table.
2222
* Captures the template of a column's header cell and as well as cell-specific properties.
2323
*/
2424
@Directive({selector: '[cdkHeaderCellDef]'})
@@ -27,7 +27,7 @@ export class CdkHeaderCellDef {
2727
}
2828

2929
/**
30-
* Column definition for the CDK data-table.
30+
* Column definition for the CDK table.
3131
* Defines a set of cells available for a table column.
3232
*/
3333
@Directive({selector: '[cdkColumnDef]'})
File renamed without changes.

src/lib/core/data-table/index.ts renamed to src/cdk/table/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88

99
import {CommonModule} from '@angular/common';
1010
import {NgModule} from '@angular/core';
11-
import {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './data-table';
11+
import {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './table';
1212
import {CdkCellOutlet, CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef} from './row';
1313
import {CdkColumnDef, CdkHeaderCellDef, CdkHeaderCell, CdkCell, CdkCellDef} from './cell';
1414

1515
export * from './data-source';
16-
export * from './data-table';
16+
export * from './table';
17+
export * from './cell';
18+
export * from './row';
1719

1820
const EXPORTED_DECLARATIONS = [
1921
CdkTable,
@@ -37,4 +39,4 @@ const EXPORTED_DECLARATIONS = [
3739
declarations: [EXPORTED_DECLARATIONS]
3840

3941
})
40-
export class CdkDataTableModule { }
42+
export class CdkTableModule { }

src/lib/core/data-table/row.ts renamed to src/cdk/table/row.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export abstract class BaseRowDef {
6666
}
6767

6868
/**
69-
* Header row definition for the CDK data-table.
69+
* Header row definition for the CDK table.
7070
* Captures the header row's template and other header properties such as the columns to display.
7171
*/
7272
@Directive({
@@ -80,7 +80,7 @@ export class CdkHeaderRowDef extends BaseRowDef {
8080
}
8181

8282
/**
83-
* Data row definition for the CDK data-table.
83+
* Data row definition for the CDK table.
8484
* Captures the header row's template and other row properties such as the columns to display.
8585
*/
8686
@Directive({
@@ -133,7 +133,7 @@ export class CdkCellOutlet {
133133

134134
/**
135135
* Static property containing the latest constructed instance of this class.
136-
* Used by the CDK data-table when each CdkHeaderRow and CdkRow component is created using
136+
* Used by the CDK table when each CdkHeaderRow and CdkRow component is created using
137137
* createEmbeddedView. After one of these components are created, this property will provide
138138
* a handle to provide that component's cells and context. After init, the CdkCellOutlet will
139139
* construct the cells with the provided context.

src/lib/core/data-table/data-table.spec.ts renamed to src/cdk/table/table.spec.ts

Lines changed: 51 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
22
import {Component, ViewChild} from '@angular/core';
3-
import {CdkTable} from './data-table';
3+
import {CdkTable} from './table';
44
import {CollectionViewer, DataSource} from './data-source';
55
import {BehaviorSubject} from 'rxjs/BehaviorSubject';
6-
import {customMatchers} from '../testing/jasmine-matchers';
76
import {Observable} from 'rxjs/Observable';
87
import {combineLatest} from 'rxjs/observable/combineLatest';
9-
import {map} from '../rxjs/index';
10-
import {CdkDataTableModule} from './index';
8+
import {CdkTableModule} from './index';
9+
import {map} from 'rxjs/operator/map';
1110

1211
describe('CdkTable', () => {
1312
let fixture: ComponentFixture<SimpleCdkTableApp>;
@@ -18,11 +17,8 @@ describe('CdkTable', () => {
1817
let tableElement: HTMLElement;
1918

2019
beforeEach(async(() => {
21-
jasmine.addMatchers(customMatchers);
22-
jasmine.addMatchers(tableCustomMatchers);
23-
2420
TestBed.configureTestingModule({
25-
imports: [CdkDataTableModule],
21+
imports: [CdkTableModule],
2622
declarations: [
2723
SimpleCdkTableApp,
2824
DynamicDataSourceCdkTableApp,
@@ -82,14 +78,18 @@ describe('CdkTable', () => {
8278
});
8379

8480
it('with the right accessibility roles', () => {
85-
expect(tableElement).toBeRole('grid');
81+
expect(tableElement.getAttribute('role')).toBe('grid');
8682

87-
expect(getHeaderRow(tableElement)).toBeRole('row');
88-
getHeaderCells(tableElement).forEach(cell => expect(cell).toBeRole('columnheader'));
83+
expect(getHeaderRow(tableElement).getAttribute('role')).toBe('row');
84+
getHeaderCells(tableElement).forEach(cell => {
85+
expect(cell.getAttribute('role')).toBe('columnheader');
86+
});
8987

9088
getRows(tableElement).forEach(row => {
91-
expect(row).toBeRole('row');
92-
getCells(row).forEach(cell => expect(cell).toBeRole('gridcell'));
89+
expect(row.getAttribute('role')).toBe('row');
90+
getCells(row).forEach(cell => {
91+
expect(cell.getAttribute('role')).toBe('gridcell');
92+
});
9393
});
9494
});
9595
});
@@ -105,7 +105,7 @@ describe('CdkTable', () => {
105105
fixture = TestBed.createComponent(CustomRoleCdkTableApp);
106106
fixture.detectChanges();
107107

108-
expect(fixture.nativeElement.querySelector('cdk-table')).toBeRole('treegrid');
108+
expect(fixture.nativeElement.querySelector('cdk-table').getAttribute('role')).toBe('treegrid');
109109
});
110110

111111
it('should re-render the rows when the data changes', () => {
@@ -271,7 +271,7 @@ describe('CdkTable', () => {
271271
expect(dataSource.data.length).toBe(3);
272272

273273
let data = dataSource.data;
274-
expect(tableElement).toMatchTableContent([
274+
expectTableToMatchContent(tableElement, [
275275
['Column A', 'Column B', 'Column C'],
276276
[data[0].a, data[0].b, data[0].c],
277277
[data[1].a, data[1].b, data[1].c],
@@ -284,7 +284,7 @@ describe('CdkTable', () => {
284284
fixture.detectChanges();
285285

286286
data = dataSource.data;
287-
expect(tableElement).toMatchTableContent([
287+
expectTableToMatchContent(tableElement, [
288288
['Column A', 'Column B', 'Column C'],
289289
[data[0].a, data[0].b, data[0].c],
290290
[data[1].a, data[1].b, data[1].c],
@@ -303,7 +303,7 @@ describe('CdkTable', () => {
303303

304304
// Expect that the component has no data source and the table element reflects empty data.
305305
expect(component.dataSource).toBe(undefined);
306-
expect(tableElement).toMatchTableContent([
306+
expectTableToMatchContent(tableElement, [
307307
['Column A']
308308
]);
309309

@@ -314,7 +314,7 @@ describe('CdkTable', () => {
314314
expect(dynamicDataSource.isConnected).toBe(true);
315315

316316
let data = component.dataSource.data;
317-
expect(tableElement).toMatchTableContent([
317+
expectTableToMatchContent(tableElement, [
318318
['Column A'],
319319
[data[0].a],
320320
[data[1].a],
@@ -327,7 +327,7 @@ describe('CdkTable', () => {
327327

328328
// Expect that the old data source has been disconnected.
329329
expect(dynamicDataSource.isConnected).toBe(false);
330-
expect(tableElement).toMatchTableContent([
330+
expectTableToMatchContent(tableElement, [
331331
['Column A']
332332
]);
333333
});
@@ -418,7 +418,7 @@ describe('CdkTable', () => {
418418
expect(dataSource.data.length).toBe(3);
419419

420420
let data = dataSource.data;
421-
expect(tableElement).toMatchTableContent([
421+
expectTableToMatchContent(tableElement, [
422422
['Column A', 'Column B', 'Column C'],
423423
[data[0].a, data[0].b, data[0].c],
424424
[data[1].a, data[1].b, data[1].c],
@@ -433,7 +433,7 @@ describe('CdkTable', () => {
433433
dataSource.data.forEach(rowData => changedTableContent.push([rowData.c, rowData.b]));
434434

435435
data = dataSource.data;
436-
expect(tableElement).toMatchTableContent([
436+
expectTableToMatchContent(tableElement, [
437437
['Column C', 'Column B'],
438438
[data[0].c, data[0].b],
439439
[data[1].c, data[1].b],
@@ -646,50 +646,36 @@ function getHeaderCells(tableElement: Element): Element[] {
646646
return getElements(getHeaderRow(tableElement), '.cdk-header-cell');
647647
}
648648

649-
const tableCustomMatchers: jasmine.CustomMatcherFactories = {
650-
toMatchTableContent: () => {
651-
return {
652-
compare: function (tableElement: Element, expectedTableContent: any[]) {
653-
const missedExpectations: string[] = [];
654-
function checkCellContent(cell: Element, expectedTextContent: string) {
655-
const actualTextContent = cell.textContent!.trim();
656-
if (actualTextContent !== expectedTextContent) {
657-
missedExpectations.push(
658-
`Expected cell contents to be ${expectedTextContent} but was ${actualTextContent}`);
659-
}
660-
}
661-
662-
// Check header cells
663-
const expectedHeaderContent = expectedTableContent.shift();
664-
getHeaderCells(tableElement).forEach((cell, index) => {
665-
const expected = expectedHeaderContent ?
666-
expectedHeaderContent[index] :
667-
null;
668-
checkCellContent(cell, expected);
669-
});
649+
function expectTableToMatchContent(tableElement: Element, expectedTableContent: any[]) {
650+
const missedExpectations: string[] = [];
651+
function checkCellContent(cell: Element, expectedTextContent: string) {
652+
const actualTextContent = cell.textContent!.trim();
653+
if (actualTextContent !== expectedTextContent) {
654+
missedExpectations.push(
655+
`Expected cell contents to be ${expectedTextContent} but was ${actualTextContent}`);
656+
}
657+
}
670658

671-
// Check data row cells
672-
getRows(tableElement).forEach((row, rowIndex) => {
673-
getCells(row).forEach((cell, cellIndex) => {
674-
const expected = expectedHeaderContent ?
675-
expectedTableContent[rowIndex][cellIndex] :
676-
null;
677-
checkCellContent(cell, expected);
678-
});
679-
});
659+
// Check header cells
660+
const expectedHeaderContent = expectedTableContent.shift();
661+
getHeaderCells(tableElement).forEach((cell, index) => {
662+
const expected = expectedHeaderContent ?
663+
expectedHeaderContent[index] :
664+
null;
665+
checkCellContent(cell, expected);
666+
});
680667

681-
if (missedExpectations.length) {
682-
return {
683-
pass: false,
684-
message: missedExpectations.join('\n')
685-
};
686-
}
687-
688-
return {
689-
pass: true,
690-
message: 'Table contained the right content'
691-
};
692-
}
693-
};
668+
// Check data row cells
669+
getRows(tableElement).forEach((row, rowIndex) => {
670+
getCells(row).forEach((cell, cellIndex) => {
671+
const expected = expectedHeaderContent ?
672+
expectedTableContent[rowIndex][cellIndex] :
673+
null;
674+
checkCellContent(cell, expected);
675+
});
676+
});
677+
678+
if (missedExpectations.length) {
679+
fail(missedExpectations.join('\n'));
694680
}
695-
};
681+
}

src/lib/core/data-table/data-table.ts renamed to src/cdk/table/table.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
import {CollectionViewer, DataSource} from './data-source';
3333
import {CdkCellOutlet, CdkCellOutletRowContext, CdkHeaderRowDef, CdkRowDef} from './row';
3434
import {merge} from 'rxjs/observable/merge';
35-
import {takeUntil} from '../rxjs/index';
35+
import {takeUntil} from 'rxjs/operator/takeUntil';
3636
import {BehaviorSubject} from 'rxjs/BehaviorSubject';
3737
import {Subscription} from 'rxjs/Subscription';
3838
import {Subject} from 'rxjs/Subject';
@@ -43,8 +43,8 @@ import {CdkCellDef, CdkColumnDef, CdkHeaderCellDef} from './cell';
4343
* @param id Id whose lookup failed.
4444
* @docs-private
4545
*/
46-
export function getDataTableUnknownColumnError(id: string) {
47-
return new Error(`md-data-table: Could not find column with id "${id}".`);
46+
export function getTableUnknownColumnError(id: string) {
47+
return new Error(`cdk-table: Could not find column with id "${id}".`);
4848
}
4949

5050
/**
@@ -357,7 +357,7 @@ export class CdkTable<T> implements CollectionViewer {
357357
const column = this._columnDefinitionsByName.get(columnId);
358358

359359
if (!column) {
360-
throw getDataTableUnknownColumnError(columnId);
360+
throw getTableUnknownColumnError(columnId);
361361
}
362362

363363
return column.headerCell;
@@ -374,7 +374,7 @@ export class CdkTable<T> implements CollectionViewer {
374374
const column = this._columnDefinitionsByName.get(columnId);
375375

376376
if (!column) {
377-
throw getDataTableUnknownColumnError(columnId);
377+
throw getTableUnknownColumnError(columnId);
378378
}
379379

380380
return column.cell;

src/demo-app/demo-app-module.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,12 @@ import {PlatformDemo} from './platform/platform-demo';
3737
import {AutocompleteDemo} from './autocomplete/autocomplete-demo';
3838
import {InputDemo} from './input/input-demo';
3939
import {StyleDemo} from './style/style-demo';
40-
import {DataTableDemo} from './data-table/data-table-demo';
41-
import {PeopleDatabase} from './data-table/people-database';
40+
import {TableDemo} from './table/table-demo';
41+
import {PeopleDatabase} from './table/people-database';
4242
import {DatepickerDemo} from './datepicker/datepicker-demo';
4343
import {TypographyDemo} from './typography/typography-demo';
4444
import {ExpansionDemo} from './expansion/expansion-demo';
4545
import {
46-
CdkDataTableModule,
4746
FullscreenOverlayContainer,
4847
MdAutocompleteModule,
4948
MdButtonModule,
@@ -79,7 +78,8 @@ import {
7978
OverlayContainer,
8079
StyleModule
8180
} from '@angular/material';
82-
import {TableHeaderDemo} from './data-table/table-header-demo';
81+
import {CdkTableModule} from '@angular/cdk';
82+
import {TableHeaderDemo} from './table/table-header-demo';
8383

8484
/**
8585
* 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';
117117
MdToolbarModule,
118118
MdTooltipModule,
119119
MdNativeDateModule,
120-
CdkDataTableModule,
120+
CdkTableModule,
121121
StyleModule
122122
]
123123
})
@@ -142,7 +142,6 @@ export class DemoMaterialModule {}
142142
CardDemo,
143143
ChipsDemo,
144144
CheckboxDemo,
145-
DataTableDemo,
146145
DatepickerDemo,
147146
DemoApp,
148147
DemoAppOnPush,
@@ -177,6 +176,7 @@ export class DemoMaterialModule {}
177176
TableHeaderDemo,
178177
ToolbarDemo,
179178
TooltipDemo,
179+
TableDemo,
180180
TabsDemo,
181181
SunnyTabContent,
182182
RainyTabContent,

0 commit comments

Comments
 (0)