Skip to content

Commit

Permalink
fix: Fixed Datepicker error on IE11
Browse files Browse the repository at this point in the history
  • Loading branch information
rubyboy committed Jul 11, 2016
1 parent af50029 commit fe0309c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
9 changes: 9 additions & 0 deletions src/custom-event-polyfill.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export function CustomEvent ( type, params = { bubbles: false, cancelable: false, detail: undefined } ) {
var event = document.createEvent( 'CustomEvent' );
event.initCustomEvent( type, params.bubbles, params.cancelable, params.detail );
return event;
}
if ("Event" in window) {
CustomEvent.prototype = (window as any).Event.prototype;
}

16 changes: 15 additions & 1 deletion src/materialize-directive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
OnDestroy,
AfterViewInit
} from '@angular/core';
import {CustomEvent} from "./custom-event-polyfill"

declare var $:any;
declare var Materialize:any;
Expand Down Expand Up @@ -109,7 +110,9 @@ export class MaterializeDirective implements AfterViewInit,DoCheck,OnChanges,OnD
const enablebtns = this.enableDPButtons;

jQueryElement[this._functionName](...this._params);
jQueryElement.on("change", e => nativeElement.dispatchEvent(new Event("input")));
jQueryElement.on("change", e => nativeElement.dispatchEvent(new CustomEvent("input")));
//jQueryElement.on("change", e => nativeElement.dispatchEvent(new Event("input")));
// jQueryElement.on("change", e => dispatchEventOnTarget(nativeElement,"input"));

const datePickerPopUp = jQueryElement.siblings(".picker").first();

Expand Down Expand Up @@ -191,3 +194,14 @@ export class MaterializeDirective implements AfterViewInit,DoCheck,OnChanges,OnD
$('.picker__select--month').removeAttr("disabled");
}
}

/*function dispatchEventOnTarget(target, eventType) {
let event;
try {
event = new Event(eventType);
} catch (e) {
event = document.createEvent('HTMLEvents');
event.initEvent(eventType, true, true);
}
target.dispatchEvent(event);
};*/

0 comments on commit fe0309c

Please sign in to comment.