react / react-0.13.3 / examples / basic-commonjs / node_modules / reactify / node_modules / react-tools / src / core / ReactEventEmitterMixin.js
81152 views/**1* Copyright 2013-2014, Facebook, Inc.2* All rights reserved.3*4* This source code is licensed under the BSD-style license found in the5* LICENSE file in the root directory of this source tree. An additional grant6* of patent rights can be found in the PATENTS file in the same directory.7*8* @providesModule ReactEventEmitterMixin9*/1011"use strict";1213var EventPluginHub = require('EventPluginHub');1415function runEventQueueInBatch(events) {16EventPluginHub.enqueueEvents(events);17EventPluginHub.processEventQueue();18}1920var ReactEventEmitterMixin = {2122/**23* Streams a fired top-level event to `EventPluginHub` where plugins have the24* opportunity to create `ReactEvent`s to be dispatched.25*26* @param {string} topLevelType Record from `EventConstants`.27* @param {object} topLevelTarget The listening component root node.28* @param {string} topLevelTargetID ID of `topLevelTarget`.29* @param {object} nativeEvent Native environment event.30*/31handleTopLevel: function(32topLevelType,33topLevelTarget,34topLevelTargetID,35nativeEvent) {36var events = EventPluginHub.extractEvents(37topLevelType,38topLevelTarget,39topLevelTargetID,40nativeEvent41);4243runEventQueueInBatch(events);44}45};4647module.exports = ReactEventEmitterMixin;484950