UNPKG

nscomponentsreact

Version:

React Wrapper Components for NSComponents

130 lines (123 loc) 2.95 kB
var nsModuleExport = function(root,name,prototype) { if(typeof exports === 'object' && typeof module === 'object') { module.exports[name] = prototype; } else if (typeof define === "function" && define.amd) { define(name,[], function () {return prototype;}); } else if(typeof exports === 'object') { exports[name] = prototype; } else { root[name] = prototype; } };var nsIsWeb = function(root) { if(typeof exports === 'object' && typeof module === 'object') { return false; } else if (typeof define === "function" && define.amd) { return false; } else if(typeof exports === 'object') { return false; } else { return true; } };if(!nsIsWeb()) { var nsutilRef = require('./nsUtil.min.js'); var NSUtil = nsutilRef.NSUtil; } "use strict"; var NSEvent = (function() { function NSEvent() { var self = this; var objEvents = {}; var addListener = function(event, callback) { if (typeof callback !== 'function') { console.error("The listener callback must be a function"); return false; } if (typeof event !== 'string') { console.error("The event name must be a string"); return false; } if (!objEvents[event]) { objEvents[event] = {listeners: []}; } objEvents[event].listeners.push(callback); return true; }; var removeListener = function(event, callback) { if (!objEvents[event]) { console.error("The event: " + event + " does not exist"); return false; } var filter = function(listener) { return listener.toString() !== callback.toString(); }; objEvents[event].listeners = objEvents[event].listeners.filter(filter); return true; }; var hasListener = function(event, callback) { if (!objEvents[event]) { return false; } var filter = function(listener) { return listener.toString() == callback.toString(); }; var tempListener = objEvents[event].listeners.filter(filter); return !(!tempListener); }; var dispatch = function(event, details) { var retValue = true; if (objEvents[event]) { for(var index = 0;index < objEvents[event].listeners.length;index++) { var listener = objEvents[event].listeners[index]; retValue = listener({type: event,details: details},details); if(retValue !== undefined && retValue !== null && retValue == false) { return false; } } } else { console.log("The event: " + event + " does not exist"); } return true; }; self.addListener = addListener; self.removeListener = removeListener; self.hasListener = hasListener; self.dispatch = dispatch; }; return NSEvent; })(); nsModuleExport(this,"NSEvent",NSEvent);