mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
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:
committed by
Eugenio Romano
parent
26c5982a1a
commit
a7a48e8b2b
@@ -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
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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');
|
||||
|
@@ -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';
|
||||
|
Reference in New Issue
Block a user