Author: ygrego Date: 2015-06-09 15:43:19 +0000 (Tue, 09 Jun 2015) New Revision: 1670 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1670 Log: Refactoring of the class EventManager in an ES6 class. Modified: oipf/lib/js/utils/EventManager.js Modified: oipf/lib/js/utils/EventManager.js =================================================================== --- oipf/lib/js/utils/EventManager.js 2015-06-09 15:42:18 UTC (rev 1669) +++ oipf/lib/js/utils/EventManager.js 2015-06-09 15:43:19 UTC (rev 1670) @@ -1,48 +1,51 @@ -/* +/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ -var EventManager = Class.extend({ - - addEventListener: function(type, listener, target) { +class EventManager { + constructor() { + } + + addEventListener(type, listener, target) { var listenersList = target._listeners[type]; - + if (listenersList) { listenersList.push(listener); } else { target._listeners[type] = [listener]; } - }, + } - fireEvent: function(event, target) { + fireEvent(event, target) { var listeners = target._listeners[event.type]; - - listeners && listeners.forEach(function(listener){ - console.log(">>fireEvent") + + listeners && listeners.forEach(function(listener) { + console.log(">>fireEvent"); + oipf.utils.timeout(0) - .then(listener.apply.bind(listener, target, event.detail)); + .then(listener.apply.bind(listener, target, event.detail)); }); - + var callback = target._callbacks[event.type]; - - callback && callback.apply(target, event.detail); - }, - removeEventListener: function(type, listener, target){ + callback && callback.apply(target, event.detail); + } + + removeEventListener(type, listener, target) { var listeners = target._listeners[type]; - + if (listeners) { - target._listeners[type] = listeners.filter(function(currentListener){ + target._listeners[type] = listeners.filter(function(currentListener) { return currentListener != listener; }); } - }, - - createCustomEvent: function(type, param) { - return new CustomEvent(type, {detail :param}); } -}); + createCustomEvent(type, param) { + return new CustomEvent(type, {detail: param}); + } +} +
participants (1)
-
ygregoï¼ users.nuiton.org