diff --git a/README.md b/README.md index c0693c5..6c8abaa 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ $ npm install vue-event-manager ``` ### CDN -Available on [jsdelivr](https://cdn.jsdelivr.net/npm/vue-event-manager@1.0.2) or [unpkg](https://unpkg.com/vue-event-manager@1.0.2). +Available on [jsdelivr](https://cdn.jsdelivr.net/npm/vue-event-manager@1.0.3) or [unpkg](https://unpkg.com/vue-event-manager@1.0.3). ```html - + ``` ## Example diff --git a/dist/vue-event-manager.common.js b/dist/vue-event-manager.common.js index d55017d..f5fa63e 100644 --- a/dist/vue-event-manager.common.js +++ b/dist/vue-event-manager.common.js @@ -1,5 +1,5 @@ /*! - * vue-event-manager v1.0.2 + * vue-event-manager v1.0.3 * https://github.com/pagekit/vue-event-manager * Released under the MIT License. */ @@ -150,42 +150,39 @@ function plugin(Vue) { } var Events = new EventManager(); + var version = Number(Vue.version.split('.')[0]); - Vue.mixin({ - - init: function init() { - var this$1 = this; + function initEvents() { + var this$1 = this; - var ref = this.$options; - var events = ref.events; - var _events = []; + var ref = this.$options; + var events = ref.events; + var _events = []; - if (events) { + if (events) { - forEach(events, function (listeners, event) { - forEach(isArray(listeners) ? listeners : [listeners], function (listener) { + forEach(events, function (listeners, event) { + forEach(isArray(listeners) ? listeners : [listeners], function (listener) { - var priority = 0; + var priority = 0; - if (isObject(listener)) { - priority = listener.priority; - listener = listener.handler; - } + if (isObject(listener)) { + priority = listener.priority; + listener = listener.handler; + } - _events.push(Events.on(event, listener.bind(this$1), priority)); - }); + _events.push(Events.on(event, listener.bind(this$1), priority)); }); + }); - this.$on('hook:beforeDestroy', function () { return _events.forEach(function (off) { return off(); }); }); - } - + this.$on('hook:beforeDestroy', function () { return _events.forEach(function (off) { return off(); }); }); } - - }); + } Vue.prototype.$events = Events; Vue.prototype.$trigger = Events.trigger.bind(Events); + Vue.mixin(version < 2 ? {init: initEvents} : {beforeCreate: initEvents}); } if (typeof window !== 'undefined' && window.Vue) { diff --git a/dist/vue-event-manager.es2015.js b/dist/vue-event-manager.es2015.js index 0948e4b..94a717b 100644 --- a/dist/vue-event-manager.es2015.js +++ b/dist/vue-event-manager.es2015.js @@ -1,5 +1,5 @@ /*! - * vue-event-manager v1.0.2 + * vue-event-manager v1.0.3 * https://github.com/pagekit/vue-event-manager * Released under the MIT License. */ @@ -148,42 +148,39 @@ function plugin(Vue) { } var Events = new EventManager(); + var version = Number(Vue.version.split('.')[0]); - Vue.mixin({ - - init: function init() { - var this$1 = this; + function initEvents() { + var this$1 = this; - var ref = this.$options; - var events = ref.events; - var _events = []; + var ref = this.$options; + var events = ref.events; + var _events = []; - if (events) { + if (events) { - forEach(events, function (listeners, event) { - forEach(isArray(listeners) ? listeners : [listeners], function (listener) { + forEach(events, function (listeners, event) { + forEach(isArray(listeners) ? listeners : [listeners], function (listener) { - var priority = 0; + var priority = 0; - if (isObject(listener)) { - priority = listener.priority; - listener = listener.handler; - } + if (isObject(listener)) { + priority = listener.priority; + listener = listener.handler; + } - _events.push(Events.on(event, listener.bind(this$1), priority)); - }); + _events.push(Events.on(event, listener.bind(this$1), priority)); }); + }); - this.$on('hook:beforeDestroy', function () { return _events.forEach(function (off) { return off(); }); }); - } - + this.$on('hook:beforeDestroy', function () { return _events.forEach(function (off) { return off(); }); }); } - - }); + } Vue.prototype.$events = Events; Vue.prototype.$trigger = Events.trigger.bind(Events); + Vue.mixin(version < 2 ? {init: initEvents} : {beforeCreate: initEvents}); } if (typeof window !== 'undefined' && window.Vue) { diff --git a/dist/vue-event-manager.js b/dist/vue-event-manager.js index 789f90d..02eaf80 100644 --- a/dist/vue-event-manager.js +++ b/dist/vue-event-manager.js @@ -1,5 +1,5 @@ /*! - * vue-event-manager v1.0.2 + * vue-event-manager v1.0.3 * https://github.com/pagekit/vue-event-manager * Released under the MIT License. */ @@ -154,42 +154,39 @@ function plugin(Vue) { } var Events = new EventManager(); + var version = Number(Vue.version.split('.')[0]); - Vue.mixin({ - - init: function init() { - var this$1 = this; + function initEvents() { + var this$1 = this; - var ref = this.$options; - var events = ref.events; - var _events = []; + var ref = this.$options; + var events = ref.events; + var _events = []; - if (events) { + if (events) { - forEach(events, function (listeners, event) { - forEach(isArray(listeners) ? listeners : [listeners], function (listener) { + forEach(events, function (listeners, event) { + forEach(isArray(listeners) ? listeners : [listeners], function (listener) { - var priority = 0; + var priority = 0; - if (isObject(listener)) { - priority = listener.priority; - listener = listener.handler; - } + if (isObject(listener)) { + priority = listener.priority; + listener = listener.handler; + } - _events.push(Events.on(event, listener.bind(this$1), priority)); - }); + _events.push(Events.on(event, listener.bind(this$1), priority)); }); + }); - this.$on('hook:beforeDestroy', function () { return _events.forEach(function (off) { return off(); }); }); - } - + this.$on('hook:beforeDestroy', function () { return _events.forEach(function (off) { return off(); }); }); } - - }); + } Vue.prototype.$events = Events; Vue.prototype.$trigger = Events.trigger.bind(Events); + Vue.mixin(version < 2 ? {init: initEvents} : {beforeCreate: initEvents}); } if (typeof window !== 'undefined' && window.Vue) { diff --git a/dist/vue-event-manager.min.js b/dist/vue-event-manager.min.js index ddd92ef..2dc7e5e 100644 --- a/dist/vue-event-manager.min.js +++ b/dist/vue-event-manager.min.js @@ -1,7 +1,7 @@ /*! - * vue-event-manager v1.0.2 + * vue-event-manager v1.0.3 * https://github.com/pagekit/vue-event-manager * Released under the MIT License. */ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.VueEventManager=t()}(this,function(){"use strict";function n(n){return null!==n&&"object"==typeof n}function t(n,t){Object.keys(n||{}).forEach(function(e){t.call(null,n[e],e)})}function e(o){if(!e.installed){var u=new i;o.mixin({init:function(){var e=this,i=this.$options,o=i.events,f=[];o&&(t(o,function(i,o){t(r(i)?i:[i],function(t){var r=0;n(t)&&(r=t.priority,t=t.handler),f.push(u.on(o,t.bind(e),r))})}),this.$on("hook:beforeDestroy",function(){return f.forEach(function(n){return n()})}))}}),o.prototype.$events=u,o.prototype.$trigger=u.trigger.bind(u)}}var r=Array.isArray;Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(n){if(null==this)throw new TypeError('"this" is null or not defined');if("function"!=typeof n)throw new TypeError("predicate must be a function");for(var t=Object(this),e=t.length>>>0,r=arguments[1],i=0;i>>0,r=arguments[1],i=0;i