Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
81152 views
1
/**
2
* Copyright 2013-2014, Facebook, Inc.
3
* All rights reserved.
4
*
5
* This source code is licensed under the BSD-style license found in the
6
* LICENSE file in the root directory of this source tree. An additional grant
7
* of patent rights can be found in the PATENTS file in the same directory.
8
*
9
* @providesModule ReactEventEmitterMixin
10
*/
11
12
"use strict";
13
14
var EventPluginHub = require('EventPluginHub');
15
16
function runEventQueueInBatch(events) {
17
EventPluginHub.enqueueEvents(events);
18
EventPluginHub.processEventQueue();
19
}
20
21
var ReactEventEmitterMixin = {
22
23
/**
24
* Streams a fired top-level event to `EventPluginHub` where plugins have the
25
* opportunity to create `ReactEvent`s to be dispatched.
26
*
27
* @param {string} topLevelType Record from `EventConstants`.
28
* @param {object} topLevelTarget The listening component root node.
29
* @param {string} topLevelTargetID ID of `topLevelTarget`.
30
* @param {object} nativeEvent Native environment event.
31
*/
32
handleTopLevel: function(
33
topLevelType,
34
topLevelTarget,
35
topLevelTargetID,
36
nativeEvent) {
37
var events = EventPluginHub.extractEvents(
38
topLevelType,
39
topLevelTarget,
40
topLevelTargetID,
41
nativeEvent
42
);
43
44
runEventQueueInBatch(events);
45
}
46
};
47
48
module.exports = ReactEventEmitterMixin;
49
50