jw-ng-forward
Version:
Temporary package. The default solution for those that want to write Angular 2.x style code in Angular 1.x
42 lines (41 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var NativeCustomEvent = window.CustomEvent;
function useNative() {
try {
var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
return 'cat' === p.type && 'bar' === p.detail.foo;
}
catch (e) {
return false;
}
}
function fromCreateEvent(type, params) {
if (params === void 0) { params = { bubbles: false, cancelable: false, detail: {} }; }
var e = document.createEvent('CustomEvent');
e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
return e;
}
function fromCreateEventObject(type, params) {
if (params === void 0) { params = { bubbles: false, cancelable: false, detail: {} }; }
var doc = document;
var e = doc.createEventObject();
e.type = type;
e.bubbles = params.bubbles;
e.cancelable = params.cancelable;
e.detail = params.detail;
return e;
}
var eventExport;
if (useNative()) {
eventExport = NativeCustomEvent;
}
else if (typeof document.createEvent === 'function') {
eventExport = fromCreateEvent;
window.CustomEvent = fromCreateEvent;
}
else {
eventExport = fromCreateEventObject;
window.CustomEvent = fromCreateEventObject;
}
exports.default = eventExport;