enable prefer-const rule for tslint, fix issues (#4409)

* enable prefer-const rule for tslint, fix issues

* Update content-node-selector.component.spec.ts

* Update content-node-selector.component.spec.ts

* fix const

* fix lint issues

* update tests

* update tests

* update tests

* fix code

* fix page class
This commit is contained in:
Denys Vuika
2019-03-25 12:19:33 +00:00
committed by Eugenio Romano
parent 26c5982a1a
commit a7a48e8b2b
581 changed files with 5435 additions and 5402 deletions

View File

@@ -105,7 +105,7 @@ describe('DataTable', () => {
}));
it('should use the cardview style if cardview is true', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
[
{ name: '1' },
{ name: '2' }
@@ -125,7 +125,7 @@ describe('DataTable', () => {
});
it('should use the cardview style if cardview is false', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
[
{ name: '1' },
{ name: '2' }
@@ -144,7 +144,7 @@ describe('DataTable', () => {
});
it('should hide the header if showHeader is false', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
[
{ name: '1' },
{ name: '2' }
@@ -164,7 +164,7 @@ describe('DataTable', () => {
});
it('should hide the header if there are no elements inside', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
);
dataTable.ngOnChanges({
@@ -177,7 +177,7 @@ describe('DataTable', () => {
});
it('should hide the header if noPermission is true', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
);
dataTable.noPermission = true;
@@ -193,7 +193,7 @@ describe('DataTable', () => {
});
it('should show the header if showHeader is true', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
[
{ name: '1' },
{ name: '2' }
@@ -234,7 +234,7 @@ describe('DataTable', () => {
});
it('should change the rows on changing of the data', () => {
let newData = new ObjectDataTableAdapter(
const newData = new ObjectDataTableAdapter(
[
{ name: 'TEST' },
{ name: 'FAKE' }
@@ -531,7 +531,7 @@ describe('DataTable', () => {
dataTable.actions = true;
fixture.detectChanges();
let actions = element.querySelectorAll('[id^=action_menu_right]');
const actions = element.querySelectorAll('[id^=action_menu_right]');
expect(actions.length).toBe(4);
});
@@ -550,26 +550,26 @@ describe('DataTable', () => {
dataTable.actionsPosition = 'left';
fixture.detectChanges();
let actions = element.querySelectorAll('[id^=action_menu_left]');
const actions = element.querySelectorAll('[id^=action_menu_left]');
expect(actions.length).toBe(4);
});
it('should initialize default adapter', () => {
let table = new DataTableComponent(null, null);
const table = new DataTableComponent(null, null);
expect(table.data).toBeUndefined();
table.ngOnChanges({ 'data': new SimpleChange('123', {}, true) });
expect(table.data).toEqual(jasmine.any(ObjectDataTableAdapter));
});
it('should initialize with custom data', () => {
let data = new ObjectDataTableAdapter([], []);
const data = new ObjectDataTableAdapter([], []);
dataTable.data = data;
dataTable.ngAfterContentInit();
expect(dataTable.data).toBe(data);
});
it('should emit row click event', (done) => {
let row = <DataRow> {};
const row = <DataRow> {};
dataTable.rowClick.subscribe((e) => {
expect(e.value).toBe(row);
@@ -582,7 +582,7 @@ describe('DataTable', () => {
it('should emit double click if there are two single click in 250ms', (done) => {
let row = <DataRow> {};
const row = <DataRow> {};
dataTable.ngOnChanges({});
dataTable.rowDblClick.subscribe(() => {
@@ -599,7 +599,7 @@ describe('DataTable', () => {
it('should emit double click if there are more than two single click in 250ms', (done) => {
let row = <DataRow> {};
const row = <DataRow> {};
dataTable.ngOnChanges({});
dataTable.rowDblClick.subscribe(() => {
@@ -618,7 +618,7 @@ describe('DataTable', () => {
it('should emit single click if there are two single click in more than 250ms', (done) => {
let row = <DataRow> {};
const row = <DataRow> {};
let clickCount = 0;
dataTable.ngOnChanges({});
@@ -638,7 +638,7 @@ describe('DataTable', () => {
});
it('should emit row-click dom event', (done) => {
let row = <DataRow> {};
const row = <DataRow> {};
fixture.nativeElement.addEventListener('row-click', (e) => {
expect(e.detail.value).toBe(row);
@@ -650,7 +650,7 @@ describe('DataTable', () => {
});
it('should emit row-dblclick dom event', (done) => {
let row = <DataRow> {};
const row = <DataRow> {};
fixture.nativeElement.addEventListener('row-dblclick', (e) => {
expect(e.detail.value).toBe(row);
@@ -662,14 +662,14 @@ describe('DataTable', () => {
});
it('should prevent default behaviour on row click event', () => {
let e = jasmine.createSpyObj('event', ['preventDefault']);
const e = jasmine.createSpyObj('event', ['preventDefault']);
dataTable.ngAfterContentInit();
dataTable.onRowClick(null, e);
expect(e.preventDefault).toHaveBeenCalled();
});
it('should prevent default behaviour on row double-click event', () => {
let e = jasmine.createSpyObj('event', ['preventDefault']);
const e = jasmine.createSpyObj('event', ['preventDefault']);
dataTable.ngOnChanges({});
dataTable.ngAfterContentInit();
dataTable.onRowDblClick(null, e);
@@ -678,7 +678,7 @@ describe('DataTable', () => {
it('should not sort if column is missing', () => {
dataTable.ngOnChanges({ 'data': new SimpleChange('123', {}, true) });
let adapter = dataTable.data;
const adapter = dataTable.data;
spyOn(adapter, 'setSorting').and.callThrough();
dataTable.onColumnHeaderClick(null);
expect(adapter.setSorting).not.toHaveBeenCalled();
@@ -686,10 +686,10 @@ describe('DataTable', () => {
it('should not sort upon clicking non-sortable column header', () => {
dataTable.ngOnChanges({ 'data': new SimpleChange('123', {}, true) });
let adapter = dataTable.data;
const adapter = dataTable.data;
spyOn(adapter, 'setSorting').and.callThrough();
let column = new ObjectDataColumn({
const column = new ObjectDataColumn({
key: 'column_1'
});
@@ -699,10 +699,10 @@ describe('DataTable', () => {
it('should set sorting upon column header clicked', () => {
dataTable.ngOnChanges({ 'data': new SimpleChange('123', {}, true) });
let adapter = dataTable.data;
const adapter = dataTable.data;
spyOn(adapter, 'setSorting').and.callThrough();
let column = new ObjectDataColumn({
const column = new ObjectDataColumn({
key: 'column_1',
sortable: true
});
@@ -719,12 +719,12 @@ describe('DataTable', () => {
it('should invert sorting upon column header clicked', () => {
dataTable.ngOnChanges({ 'data': new SimpleChange('123', {}, true) });
let adapter = dataTable.data;
let sorting = new DataSorting('column_1', 'asc');
const adapter = dataTable.data;
const sorting = new DataSorting('column_1', 'asc');
spyOn(adapter, 'setSorting').and.callThrough();
spyOn(adapter, 'getSorting').and.returnValue(sorting);
let column = new ObjectDataColumn({
const column = new ObjectDataColumn({
key: 'column_1',
sortable: true
});
@@ -759,7 +759,7 @@ describe('DataTable', () => {
});
it('should reset selection upon data rows change', () => {
let data = new ObjectDataTableAdapter([{}, {}, {}], []);
const data = new ObjectDataTableAdapter([{}, {}, {}], []);
dataTable.data = data;
dataTable.multiselect = true;
@@ -775,8 +775,8 @@ describe('DataTable', () => {
});
it('should update rows on "select all" click', () => {
let data = new ObjectDataTableAdapter([{}, {}, {}], []);
let rows = data.getRows();
const data = new ObjectDataTableAdapter([{}, {}, {}], []);
const rows = data.getRows();
dataTable.data = data;
dataTable.multiselect = true;
@@ -804,8 +804,8 @@ describe('DataTable', () => {
});
it('should require multiselect option to toggle row state', () => {
let data = new ObjectDataTableAdapter([{}, {}, {}], []);
let rows = data.getRows();
const data = new ObjectDataTableAdapter([{}, {}, {}], []);
const rows = data.getRows();
dataTable.data = data;
dataTable.multiselect = false;
@@ -825,9 +825,9 @@ describe('DataTable', () => {
});
it('should use special material url scheme', () => {
let column = <DataColumn> {};
const column = <DataColumn> {};
let row = {
const row = {
getValue: function (key: string) {
return 'material-icons://android';
}
@@ -837,9 +837,9 @@ describe('DataTable', () => {
});
it('should not use special material url scheme', () => {
let column = <DataColumn> {};
const column = <DataColumn> {};
let row = {
const row = {
getValue: function (key: string) {
return 'http://www.google.com';
}
@@ -849,9 +849,9 @@ describe('DataTable', () => {
});
it('should parse icon value', () => {
let column = <DataColumn> {};
const column = <DataColumn> {};
let row = {
const row = {
getValue: function (key: string) {
return 'material-icons://android';
}
@@ -861,9 +861,9 @@ describe('DataTable', () => {
});
it('should not parse icon value', () => {
let column = <DataColumn> {};
const column = <DataColumn> {};
let row = {
const row = {
getValue: function (key: string) {
return 'http://www.google.com';
}
@@ -898,7 +898,7 @@ describe('DataTable', () => {
});
it('should replace image source with fallback thumbnail on error', () => {
let event = <any> {
const event = <any> {
target: {
src: 'missing-image'
}
@@ -911,7 +911,7 @@ describe('DataTable', () => {
it('should replace image source with miscellaneous icon when fallback is not available', () => {
const originalSrc = 'missing-image';
let event = <any> {
const event = <any> {
target: {
src: originalSrc
}

View File

@@ -239,7 +239,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
}
ngDoCheck() {
let changes = this.differ.diff(this.rows);
const changes = this.differ.diff(this.rows);
if (changes) {
this.setTableRows(this.rows);
}
@@ -261,7 +261,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
private initAndSubscribeClickStream() {
this.unsubscribeClickStream();
let singleClickStream = this.click$
const singleClickStream = this.click$
.pipe(
buffer(
this.click$.pipe(
@@ -273,7 +273,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
);
this.singleClickStreamSub = singleClickStream.subscribe((dataRowEvents: DataRowEvent[]) => {
let event: DataRowEvent = dataRowEvents[0];
const event: DataRowEvent = dataRowEvents[0];
this.handleRowSelection(event.value, <MouseEvent | KeyboardEvent> event.event);
this.rowClick.emit(event);
if (!event.defaultPrevented) {
@@ -286,7 +286,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
}
});
let multiClickStream = this.click$
const multiClickStream = this.click$
.pipe(
buffer(
this.click$.pipe(
@@ -298,7 +298,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
);
this.multiClickStreamSub = multiClickStream.subscribe((dataRowEvents: DataRowEvent[]) => {
let event: DataRowEvent = dataRowEvents[0];
const event: DataRowEvent = dataRowEvents[0];
this.rowDblClick.emit(event);
if (!event.defaultPrevented) {
this.elementRef.nativeElement.dispatchEvent(
@@ -428,7 +428,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
if (event) {
event.preventDefault();
}
let dataRowEvent = new DataRowEvent(row, event, this);
const dataRowEvent = new DataRowEvent(row, event, this);
this.clickObserver.next(dataRowEvent);
}
@@ -471,7 +471,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
onColumnHeaderClick(column: DataColumn) {
if (column && column.sortable) {
let current = this.data.getSorting();
const current = this.data.getSorting();
let newDirection = 'asc';
if (current && column.key === current.key) {
newDirection = current.direction === 'asc' ? 'desc' : 'asc';
@@ -485,7 +485,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
this.isSelectAllChecked = matCheckboxChange.checked;
if (this.multiselect) {
let rows = this.data.getRows();
const rows = this.data.getRows();
if (rows && rows.length > 0) {
for (let i = 0; i < rows.length; i++) {
this.selectRow(rows[i], matCheckboxChange.checked);
@@ -510,7 +510,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
onImageLoadingError(event: Event, row: DataRow) {
if (event) {
let element = <any> event.target;
const element = <any> event.target;
if (this.fallbackThumbnail) {
element.src = this.fallbackThumbnail;
@@ -522,7 +522,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
isIconValue(row: DataRow, col: DataColumn): boolean {
if (row && col) {
let value = row.getValue(col.key);
const value = row.getValue(col.key);
return value && value.startsWith('material-icons://');
}
return false;
@@ -530,7 +530,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
asIconValue(row: DataRow, col: DataColumn): string {
if (this.isIconValue(row, col)) {
let value = row.getValue(col.key) || '';
const value = row.getValue(col.key) || '';
return value.replace('material-icons://', '');
}
return null;
@@ -542,14 +542,14 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
isColumnSorted(col: DataColumn, direction: string): boolean {
if (col && direction) {
let sorting = this.data.getSorting();
const sorting = this.data.getSorting();
return sorting && sorting.key === col.key && sorting.direction === direction;
}
return false;
}
getContextMenuActions(row: DataRow, col: DataColumn): any[] {
let event = new DataCellEvent(row, col, []);
const event = new DataCellEvent(row, col, []);
this.showRowContextMenu.emit(event);
return event.value.actions;
}
@@ -558,7 +558,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
const id = row.getValue('id');
if (!this.rowMenuCache[id]) {
let event = new DataCellEvent(row, col, []);
const event = new DataCellEvent(row, col, []);
this.showRowActionsMenu.emit(event);
if (!this.rowMenuCacheEnabled) {
return event.value.actions;

View File

@@ -25,20 +25,20 @@ import { ObjectDataColumn } from './object-datacolumn.model';
describe('ObjectDataTableAdapter', () => {
it('should init with empty row collection', () => {
let adapter = new ObjectDataTableAdapter(null, []);
const adapter = new ObjectDataTableAdapter(null, []);
expect(adapter.getRows()).toBeDefined();
expect(adapter.getRows().length).toBe(0);
});
it('should init with empty column collection', () => {
let adapter = new ObjectDataTableAdapter([], null);
const adapter = new ObjectDataTableAdapter([], null);
expect(adapter.getColumns()).toBeDefined();
expect(adapter.getColumns().length).toBeDefined();
});
it('should map rows', () => {
let adapter = new ObjectDataTableAdapter([{}, {}], null);
let rows = adapter.getRows();
const adapter = new ObjectDataTableAdapter([{}, {}], null);
const rows = adapter.getRows();
expect(rows.length).toBe(2);
expect(rows[0] instanceof ObjectDataRow).toBe(true);
@@ -46,11 +46,11 @@ describe('ObjectDataTableAdapter', () => {
});
it('should map columns without rows', () => {
let adapter = new ObjectDataTableAdapter(null, [
const adapter = new ObjectDataTableAdapter(null, [
<DataColumn> {},
<DataColumn> {}
]);
let columns = adapter.getColumns();
const columns = adapter.getColumns();
expect(columns.length).toBe(2);
expect(columns[0] instanceof ObjectDataColumn).toBe(true);
@@ -58,13 +58,13 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort by first column if column is available', () => {
let adapter = new ObjectDataTableAdapter(null, null);
const adapter = new ObjectDataTableAdapter(null, null);
expect(adapter.getSorting()).toBeUndefined();
});
it('should apply new rows array', () => {
let adapter = new ObjectDataTableAdapter([], []);
let newRows = [
const adapter = new ObjectDataTableAdapter([], []);
const newRows = [
<DataRow> {},
<DataRow> {}
];
@@ -74,7 +74,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should accept null for new rows array', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
expect(adapter.getRows()).toBeDefined();
expect(adapter.getRows().length).toBe(0);
@@ -84,7 +84,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should reset rows by null value', () => {
let adapter = new ObjectDataTableAdapter([{}, {}], []);
const adapter = new ObjectDataTableAdapter([{}, {}], []);
expect(adapter.getRows()).toBeDefined();
expect(adapter.getRows().length).toBe(2);
@@ -94,15 +94,15 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort new row collection', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
spyOn(adapter, 'sort').and.callThrough();
adapter.setRows([]);
expect(adapter.sort).toHaveBeenCalled();
});
it('should apply new columns array', () => {
let adapter = new ObjectDataTableAdapter([], []);
let columns = [
const adapter = new ObjectDataTableAdapter([], []);
const columns = [
<DataColumn> {},
<DataColumn> {}
];
@@ -112,7 +112,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should accept null for new columns array', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
expect(adapter.getColumns()).toBeDefined();
expect(adapter.getColumns().length).toBe(0);
@@ -122,7 +122,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should reset columns by null value', () => {
let adapter = new ObjectDataTableAdapter([], [
const adapter = new ObjectDataTableAdapter([], [
<DataColumn> {},
<DataColumn> {}
]);
@@ -135,31 +135,31 @@ describe('ObjectDataTableAdapter', () => {
});
it('should fail getting value with row not defined', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
expect(() => { adapter.getValue(null, null); }).toThrowError('Row not found');
});
it('should fail getting value with column not defined', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
expect(() => { adapter.getValue(<DataRow> {}, null); }).toThrowError('Column not found');
});
it('should get value from row with column key', () => {
let value = 'hello world';
const value = 'hello world';
let row = jasmine.createSpyObj('row', ['getValue']);
const row = jasmine.createSpyObj('row', ['getValue']);
row.getValue.and.returnValue(value);
let adapter = new ObjectDataTableAdapter([], []);
let result = adapter.getValue(row, <DataColumn> { key: 'col1' });
const adapter = new ObjectDataTableAdapter([], []);
const result = adapter.getValue(row, <DataColumn> { key: 'col1' });
expect(row.getValue).toHaveBeenCalledWith('col1');
expect(result).toBe(value);
});
it('should set new sorting', () => {
let sorting = new DataSorting('key', 'direction');
let adapter = new ObjectDataTableAdapter([], []);
const sorting = new DataSorting('key', 'direction');
const adapter = new ObjectDataTableAdapter([], []);
adapter.setSorting(sorting);
expect(adapter.getSorting()).toBe(sorting);
@@ -169,7 +169,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort rows with new sorting value', () => {
let adapter = new ObjectDataTableAdapter([{}, {}], []);
const adapter = new ObjectDataTableAdapter([{}, {}], []);
spyOn(adapter.getRows(), 'sort').and.stub();
adapter.setSorting(new DataSorting('key', 'direction'));
@@ -177,7 +177,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort rows only when sorting key provided', () => {
let adapter = new ObjectDataTableAdapter([{}, {}], []);
const adapter = new ObjectDataTableAdapter([{}, {}], []);
spyOn(adapter.getRows(), 'sort').and.stub();
adapter.setSorting(new DataSorting());
@@ -185,7 +185,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort by first column by default', () => {
let adapter = new ObjectDataTableAdapter(
const adapter = new ObjectDataTableAdapter(
[
{ id: 2, name: 'abs' },
{ id: 1, name: 'xyz' }
@@ -195,13 +195,13 @@ describe('ObjectDataTableAdapter', () => {
]
);
let rows = adapter.getRows();
const rows = adapter.getRows();
expect(rows[0].getValue('id')).toBe(1);
expect(rows[1].getValue('id')).toBe(2);
});
it('should take first sortable column by default', () => {
let adapter = new ObjectDataTableAdapter([], [
const adapter = new ObjectDataTableAdapter([], [
<DataColumn> { key: 'icon' },
new ObjectDataColumn({ key: 'id', sortable: true })
]);
@@ -215,7 +215,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort by dates', () => {
let adapter = new ObjectDataTableAdapter(
const adapter = new ObjectDataTableAdapter(
[
{ id: 1, created: new Date(2016, 7, 6, 15, 7, 2) },
{ id: 2, created: new Date(2016, 7, 6, 15, 7, 1) }
@@ -228,13 +228,13 @@ describe('ObjectDataTableAdapter', () => {
adapter.setSorting(new DataSorting('created', 'asc'));
let rows = adapter.getRows();
const rows = adapter.getRows();
expect(rows[0].getValue('id')).toBe(2);
expect(rows[1].getValue('id')).toBe(1);
});
it('should be sorting undefined if no sortable found', () => {
let adapter = new ObjectDataTableAdapter(
const adapter = new ObjectDataTableAdapter(
[
{ id: 2, name: 'abs' },
{ id: 1, name: 'xyz' }
@@ -249,7 +249,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should sort asc and desc', () => {
let adapter = new ObjectDataTableAdapter(
const adapter = new ObjectDataTableAdapter(
[
{ id: 2, name: 'abs' },
{ id: 1, name: 'xyz' }
@@ -269,7 +269,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should use asc for sort command by default', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
adapter.setSorting(null);
expect(adapter.getSorting()).toBe(null);
@@ -283,7 +283,7 @@ describe('ObjectDataTableAdapter', () => {
});
it('should use direction for sort command', () => {
let adapter = new ObjectDataTableAdapter([], []);
const adapter = new ObjectDataTableAdapter([], []);
adapter.setSorting(null);
expect(adapter.getSorting()).toBe(null);
@@ -305,19 +305,19 @@ describe('ObjectDataRow', () => {
});
it('should get top level property value', () => {
let row = new ObjectDataRow({
const row = new ObjectDataRow({
id: 1
});
expect(row.getValue('id')).toBe(1);
});
it('should not get top level property value', () => {
let row = new ObjectDataRow({});
const row = new ObjectDataRow({});
expect(row.getValue('missing')).toBeUndefined();
});
it('should get nested property value', () => {
let row = new ObjectDataRow({
const row = new ObjectDataRow({
name: {
firstName: 'John',
lastName: 'Doe'
@@ -328,19 +328,19 @@ describe('ObjectDataRow', () => {
});
it('should not get nested property value', () => {
let row = new ObjectDataRow({});
const row = new ObjectDataRow({});
expect(row.getValue('some.missing.property')).toBeUndefined();
});
it('should check top level value exists', () => {
let row = new ObjectDataRow({ id: 1 });
const row = new ObjectDataRow({ id: 1 });
expect(row.hasValue('id')).toBeTruthy();
expect(row.hasValue('other')).toBeFalsy();
});
it('should check nested value exists', () => {
let row = new ObjectDataRow({
const row = new ObjectDataRow({
name: {
firstName: 'John',
lastName: 'Doe'
@@ -353,12 +353,12 @@ describe('ObjectDataRow', () => {
});
it('should generateSchema generate a schema from data', () => {
let data = [
const data = [
{ id: 2, name: 'abs' },
{ id: 1, name: 'xyz' }
];
let schema = ObjectDataTableAdapter.generateSchema(data);
const schema = ObjectDataTableAdapter.generateSchema(data);
expect(schema.length).toBe(2);
expect(schema[0].title).toBe('id');

View File

@@ -34,13 +34,13 @@ export class ObjectDataTableAdapter implements DataTableAdapter {
rowsChanged: Subject<Array<DataRow>>;
static generateSchema(data: any[]) {
let schema = [];
const schema = [];
if (data && data.length) {
let rowToExaminate = data[0];
const rowToExaminate = data[0];
if (typeof rowToExaminate === 'object') {
for (let key in rowToExaminate) {
for (const key in rowToExaminate) {
if (rowToExaminate.hasOwnProperty(key)) {
schema.push({
type: 'text',
@@ -72,7 +72,7 @@ export class ObjectDataTableAdapter implements DataTableAdapter {
});
// Sort by first sortable or just first column
let sortable = this._columns.filter((column) => column.sortable);
const sortable = this._columns.filter((column) => column.sortable);
if (sortable.length > 0) {
this.sort(sortable[0].key, 'asc');
}
@@ -107,7 +107,7 @@ export class ObjectDataTableAdapter implements DataTableAdapter {
throw new Error('Column not found');
}
let value = row.getValue(col.key);
const value = row.getValue(col.key);
if (col.type === 'icon') {
const icon = row.getValue(col.key);
@@ -148,7 +148,7 @@ export class ObjectDataTableAdapter implements DataTableAdapter {
}
sort(key?: string, direction?: string): void {
let sorting = this._sorting || new DataSorting();
const sorting = this._sorting || new DataSorting();
if (key) {
sorting.key = key;
sorting.direction = direction || 'asc';