ReactInjection
Consolidate everything we can inject in core into one place. Does not expose publicly -- this is an internal moving of shit around.
Pete Hunt committed
Feb 10, 2014 at 11:13 UTC
5f1d4d7c144347da1bb85f7e0e281b618bfffd55
3 files changed
+73
-27
src/browser/ReactDefaultInjection.js
+25
-27
@@ -18,56 +18,54 @@
18
19
"use strict";
20
21
-var ExecutionEnvironment = require('ExecutionEnvironment');
21
+var ReactInjection = require('ReactInjection');
22
23
-var ReactDOM = require('ReactDOM');
24
-var ReactDOMButton = require('ReactDOMButton');
25
-var ReactDOMForm = require('ReactDOMForm');
26
-var ReactDOMImg = require('ReactDOMImg');
27
-var ReactDOMInput = require('ReactDOMInput');
28
-var ReactDOMOption = require('ReactDOMOption');
29
-var ReactDOMSelect = require('ReactDOMSelect');
30
-var ReactDOMTextarea = require('ReactDOMTextarea');
31
-var ReactEventEmitter = require('ReactEventEmitter');
32
-var ReactEventTopLevelCallback = require('ReactEventTopLevelCallback');
33
-var ReactMount = require('ReactMount');
34
-var ReactPerf = require('ReactPerf');
35
-var ReactRootIndex = require('ReactRootIndex');
23
+var ExecutionEnvironment = require('ExecutionEnvironment');
24
25
var DefaultDOMPropertyConfig = require('DefaultDOMPropertyConfig');
38
-var DOMProperty = require('DOMProperty');
26
27
var ChangeEventPlugin = require('ChangeEventPlugin');
28
var ClientReactRootIndex = require('ClientReactRootIndex');
29
var CompositionEventPlugin = require('CompositionEventPlugin');
30
var DefaultEventPluginOrder = require('DefaultEventPluginOrder');
31
var EnterLeaveEventPlugin = require('EnterLeaveEventPlugin');
45
-var EventPluginHub = require('EventPluginHub');
32
var MobileSafariClickEventPlugin = require('MobileSafariClickEventPlugin');
33
+var ReactEventTopLevelCallback = require('ReactEventTopLevelCallback');
34
+var ReactDOM = require('ReactDOM');
35
+var ReactDOMButton = require('ReactDOMButton');
36
+var ReactDOMForm = require('ReactDOMForm');
37
+var ReactDOMImg = require('ReactDOMImg');
38
+var ReactDOMInput = require('ReactDOMInput');
39
+var ReactDOMOption = require('ReactDOMOption');
40
+var ReactDOMSelect = require('ReactDOMSelect');
41
+var ReactDOMTextarea = require('ReactDOMTextarea');
42
var ReactInstanceHandles = require('ReactInstanceHandles');
43
+var ReactMount = require('ReactMount');
44
var SelectEventPlugin = require('SelectEventPlugin');
45
var ServerReactRootIndex = require('ServerReactRootIndex');
46
var SimpleEventPlugin = require('SimpleEventPlugin');
47
48
var ReactDefaultBatchingStrategy = require('ReactDefaultBatchingStrategy');
53
-var ReactUpdates = require('ReactUpdates');
49
50
var createFullPageComponent = require('createFullPageComponent');
51
52
function inject() {
58
- ReactEventEmitter.TopLevelCallbackCreator = ReactEventTopLevelCallback;
53
+ ReactInjection.EventEmitter.injectTopLevelCallbackCreator(
54
+ ReactEventTopLevelCallback
55
+ );
56
+
57
/**
58
* Inject modules for resolving DOM hierarchy and plugin ordering.
59
*/
62
- EventPluginHub.injection.injectEventPluginOrder(DefaultEventPluginOrder);
63
- EventPluginHub.injection.injectInstanceHandle(ReactInstanceHandles);
64
- EventPluginHub.injection.injectMount(ReactMount);
60
+ ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);
61
+ ReactInjection.EventPluginHub.injectInstanceHandle(ReactInstanceHandles);
62
+ ReactInjection.EventPluginHub.injectMount(ReactMount);
63
64
/**
65
* Some important event plugins included by default (without having to require
66
* them).
67
*/
70
- EventPluginHub.injection.injectEventPluginsByName({
68
+ ReactInjection.EventPluginHub.injectEventPluginsByName({
69
SimpleEventPlugin: SimpleEventPlugin,
70
EnterLeaveEventPlugin: EnterLeaveEventPlugin,
71
ChangeEventPlugin: ChangeEventPlugin,
@@ -76,7 +74,7 @@ function inject() {
74
SelectEventPlugin: SelectEventPlugin
75
});
76
79
- ReactDOM.injection.injectComponentClasses({
77
+ ReactInjection.DOM.injectComponentClasses({
78
button: ReactDOMButton,
79
form: ReactDOMForm,
80
img: ReactDOMImg,
@@ -91,17 +89,17 @@ function inject() {
89
body: createFullPageComponent(ReactDOM.body)
90
});
91
94
- DOMProperty.injection.injectDOMPropertyConfig(DefaultDOMPropertyConfig);
92
+ ReactInjection.DOMProperty.injectDOMPropertyConfig(DefaultDOMPropertyConfig);
93
94
if (__DEV__) {
97
- ReactPerf.injection.injectMeasure(require('ReactDefaultPerf').measure);
95
+ ReactInjection.Perf.injectMeasure(require('ReactDefaultPerf').measure);
96
}
97
100
- ReactUpdates.injection.injectBatchingStrategy(
98
+ ReactInjection.Updates.injectBatchingStrategy(
99
ReactDefaultBatchingStrategy
100
);
101
104
- ReactRootIndex.injection.injectCreateReactRootIndex(
102
+ ReactInjection.RootIndex.injectCreateReactRootIndex(
103
ExecutionEnvironment.canUseDOM ?
104
ClientReactRootIndex.createReactRootIndex :
105
ServerReactRootIndex.createReactRootIndex
src/browser/ReactEventEmitter.js
+9
@@ -188,6 +188,15 @@ var ReactEventEmitter = merge(ReactEventEmitterMixin, {
188
*/
189
TopLevelCallbackCreator: null,
190
191
+ injection: {
192
+ /**
193
+ * @param {function} TopLevelCallbackCreator
194
+ */
195
+ injectTopLevelCallbackCreator: function(TopLevelCallbackCreator) {
196
+ ReactEventEmitter.TopLevelCallbackCreator = TopLevelCallbackCreator;
197
+ }
198
+ },
199
+
200
/**
201
* Sets whether or not any created callbacks should be enabled.
202
*
src/core/ReactInjection.js
new
+39
@@ -0,0 +1,39 @@
1
+/**
2
+ * Copyright 2013 Facebook, Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ * @providesModule ReactInjection
17
+ */
18
+
19
+"use strict";
20
+
21
+var DOMProperty = require('DOMProperty');
22
+var EventPluginHub = require('EventPluginHub');
23
+var ReactDOM = require('ReactDOM');
24
+var ReactEventEmitter = require('ReactEventEmitter');
25
+var ReactPerf = require('ReactPerf');
26
+var ReactRootIndex = require('ReactRootIndex');
27
+var ReactUpdates = require('ReactUpdates');
28
+
29
+var ReactInjection = {
30
+ DOMProperty: DOMProperty.injection,
31
+ EventPluginHub: EventPluginHub.injection,
32
+ DOM: ReactDOM.injection,
33
+ EventEmitter: ReactEventEmitter.injection,
34
+ Perf: ReactPerf.injection,
35
+ RootIndex: ReactRootIndex.injection,
36
+ Updates: ReactUpdates.injection
37
+};
38
+
39
+module.exports = ReactInjection;