mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
#960 fix event handling for FF
- use cross browser `event.target` instead of IE-specific `event.srcElement`
This commit is contained in:
@@ -29,7 +29,7 @@ describe('BooleanEditorComponent', () => {
|
||||
it('should update row value on change', () => {
|
||||
let row = <DynamicTableRow> { value: {} };
|
||||
let column = <DynamicTableColumn> { id: 'key' };
|
||||
let event = { srcElement: { checked: true } };
|
||||
let event = { target: { checked: true } };
|
||||
|
||||
component.onValueChanged(row, column, event);
|
||||
expect(row.value[column.id]).toBeTruthy();
|
||||
|
@@ -28,7 +28,7 @@ import { DynamicTableRow, DynamicTableColumn } from './../../../core/index';
|
||||
export class BooleanEditorComponent extends CellEditorComponent {
|
||||
|
||||
onValueChanged(row: DynamicTableRow, column: DynamicTableColumn, event: any) {
|
||||
let value: boolean = (<HTMLInputElement>event.srcElement).checked;
|
||||
let value: boolean = (<HTMLInputElement>event.target).checked;
|
||||
row.value[column.id] = value;
|
||||
}
|
||||
|
||||
|
@@ -146,7 +146,7 @@ describe('DropdownEditorComponent', () => {
|
||||
});
|
||||
|
||||
it('should update row on value change', () => {
|
||||
let event = { srcElement: { value: 'two' } };
|
||||
let event = { target: { value: 'two' } };
|
||||
component.onValueChanged(row, column, event);
|
||||
expect(row.value[column.id]).toBe(column.options[1]);
|
||||
});
|
||||
|
@@ -61,7 +61,7 @@ export class DropdownEditorComponent extends CellEditorComponent implements OnIn
|
||||
}
|
||||
|
||||
onValueChanged(row: DynamicTableRow, column: DynamicTableColumn, event: any) {
|
||||
let value: any = (<HTMLInputElement>event.srcElement).value;
|
||||
let value: any = (<HTMLInputElement>event.target).value;
|
||||
value = column.options.find(opt => opt.name === value);
|
||||
row.value[column.id] = value;
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@ describe('TextEditorComponent', () => {
|
||||
let column = <DynamicTableColumn> { id: 'key' };
|
||||
|
||||
const value = '<value>';
|
||||
let event = { srcElement: { value } };
|
||||
let event = { target: { value } };
|
||||
|
||||
editor.onValueChanged(row, column, event);
|
||||
expect(row.value[column.id]).toBe(value);
|
||||
|
@@ -28,7 +28,7 @@ import { DynamicTableRow, DynamicTableColumn } from './../../../core/index';
|
||||
export class TextEditorComponent extends CellEditorComponent {
|
||||
|
||||
onValueChanged(row: DynamicTableRow, column: DynamicTableColumn, event: any) {
|
||||
let value: any = (<HTMLInputElement>event.srcElement).value;
|
||||
let value: any = (<HTMLInputElement>event.target).value;
|
||||
row.value[column.id] = value;
|
||||
}
|
||||
|
||||
|
@@ -314,26 +314,26 @@ describe('DataTable', () => {
|
||||
|
||||
it('should replace image source with fallback thumbnail on error', () => {
|
||||
let event = <any> {
|
||||
srcElement: {
|
||||
target: {
|
||||
src: 'missing-image'
|
||||
}
|
||||
};
|
||||
|
||||
dataTable.fallbackThumbnail = '<fallback>';
|
||||
dataTable.onImageLoadingError(event);
|
||||
expect(event.srcElement.src).toBe(dataTable.fallbackThumbnail);
|
||||
expect(event.target.src).toBe(dataTable.fallbackThumbnail);
|
||||
});
|
||||
|
||||
it('should replace image source only when fallback available', () => {
|
||||
const originalSrc = 'missing-image';
|
||||
let event = <any> {
|
||||
srcElement: {
|
||||
target: {
|
||||
src: originalSrc
|
||||
}
|
||||
};
|
||||
|
||||
dataTable.fallbackThumbnail = null;
|
||||
dataTable.onImageLoadingError(event);
|
||||
expect(event.srcElement.src).toBe(originalSrc);
|
||||
expect(event.target.src).toBe(originalSrc);
|
||||
});
|
||||
});
|
||||
|
@@ -146,7 +146,7 @@ export class DataTableComponent implements OnInit, AfterViewChecked {
|
||||
|
||||
onImageLoadingError(event: Event) {
|
||||
if (event && this.fallbackThumbnail) {
|
||||
let element = <any> event.srcElement;
|
||||
let element = <any> event.target;
|
||||
element.src = this.fallbackThumbnail;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user