mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
ReactInjection
Consolidate everything we can inject in core into one place. Does not expose publicly -- this is an internal moving of shit around.
This commit is contained in:
committed by
Paul O’Shannessy
parent
c1c2dd9a89
commit
5f1d4d7c14
@@ -18,8 +18,19 @@
|
||||
|
||||
"use strict";
|
||||
|
||||
var ReactInjection = require('ReactInjection');
|
||||
|
||||
var ExecutionEnvironment = require('ExecutionEnvironment');
|
||||
|
||||
var DefaultDOMPropertyConfig = require('DefaultDOMPropertyConfig');
|
||||
|
||||
var ChangeEventPlugin = require('ChangeEventPlugin');
|
||||
var ClientReactRootIndex = require('ClientReactRootIndex');
|
||||
var CompositionEventPlugin = require('CompositionEventPlugin');
|
||||
var DefaultEventPluginOrder = require('DefaultEventPluginOrder');
|
||||
var EnterLeaveEventPlugin = require('EnterLeaveEventPlugin');
|
||||
var MobileSafariClickEventPlugin = require('MobileSafariClickEventPlugin');
|
||||
var ReactEventTopLevelCallback = require('ReactEventTopLevelCallback');
|
||||
var ReactDOM = require('ReactDOM');
|
||||
var ReactDOMButton = require('ReactDOMButton');
|
||||
var ReactDOMForm = require('ReactDOMForm');
|
||||
@@ -28,46 +39,33 @@ var ReactDOMInput = require('ReactDOMInput');
|
||||
var ReactDOMOption = require('ReactDOMOption');
|
||||
var ReactDOMSelect = require('ReactDOMSelect');
|
||||
var ReactDOMTextarea = require('ReactDOMTextarea');
|
||||
var ReactEventEmitter = require('ReactEventEmitter');
|
||||
var ReactEventTopLevelCallback = require('ReactEventTopLevelCallback');
|
||||
var ReactMount = require('ReactMount');
|
||||
var ReactPerf = require('ReactPerf');
|
||||
var ReactRootIndex = require('ReactRootIndex');
|
||||
|
||||
var DefaultDOMPropertyConfig = require('DefaultDOMPropertyConfig');
|
||||
var DOMProperty = require('DOMProperty');
|
||||
|
||||
var ChangeEventPlugin = require('ChangeEventPlugin');
|
||||
var ClientReactRootIndex = require('ClientReactRootIndex');
|
||||
var CompositionEventPlugin = require('CompositionEventPlugin');
|
||||
var DefaultEventPluginOrder = require('DefaultEventPluginOrder');
|
||||
var EnterLeaveEventPlugin = require('EnterLeaveEventPlugin');
|
||||
var EventPluginHub = require('EventPluginHub');
|
||||
var MobileSafariClickEventPlugin = require('MobileSafariClickEventPlugin');
|
||||
var ReactInstanceHandles = require('ReactInstanceHandles');
|
||||
var ReactMount = require('ReactMount');
|
||||
var SelectEventPlugin = require('SelectEventPlugin');
|
||||
var ServerReactRootIndex = require('ServerReactRootIndex');
|
||||
var SimpleEventPlugin = require('SimpleEventPlugin');
|
||||
|
||||
var ReactDefaultBatchingStrategy = require('ReactDefaultBatchingStrategy');
|
||||
var ReactUpdates = require('ReactUpdates');
|
||||
|
||||
var createFullPageComponent = require('createFullPageComponent');
|
||||
|
||||
function inject() {
|
||||
ReactEventEmitter.TopLevelCallbackCreator = ReactEventTopLevelCallback;
|
||||
ReactInjection.EventEmitter.injectTopLevelCallbackCreator(
|
||||
ReactEventTopLevelCallback
|
||||
);
|
||||
|
||||
/**
|
||||
* Inject modules for resolving DOM hierarchy and plugin ordering.
|
||||
*/
|
||||
EventPluginHub.injection.injectEventPluginOrder(DefaultEventPluginOrder);
|
||||
EventPluginHub.injection.injectInstanceHandle(ReactInstanceHandles);
|
||||
EventPluginHub.injection.injectMount(ReactMount);
|
||||
ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);
|
||||
ReactInjection.EventPluginHub.injectInstanceHandle(ReactInstanceHandles);
|
||||
ReactInjection.EventPluginHub.injectMount(ReactMount);
|
||||
|
||||
/**
|
||||
* Some important event plugins included by default (without having to require
|
||||
* them).
|
||||
*/
|
||||
EventPluginHub.injection.injectEventPluginsByName({
|
||||
ReactInjection.EventPluginHub.injectEventPluginsByName({
|
||||
SimpleEventPlugin: SimpleEventPlugin,
|
||||
EnterLeaveEventPlugin: EnterLeaveEventPlugin,
|
||||
ChangeEventPlugin: ChangeEventPlugin,
|
||||
@@ -76,7 +74,7 @@ function inject() {
|
||||
SelectEventPlugin: SelectEventPlugin
|
||||
});
|
||||
|
||||
ReactDOM.injection.injectComponentClasses({
|
||||
ReactInjection.DOM.injectComponentClasses({
|
||||
button: ReactDOMButton,
|
||||
form: ReactDOMForm,
|
||||
img: ReactDOMImg,
|
||||
@@ -91,17 +89,17 @@ function inject() {
|
||||
body: createFullPageComponent(ReactDOM.body)
|
||||
});
|
||||
|
||||
DOMProperty.injection.injectDOMPropertyConfig(DefaultDOMPropertyConfig);
|
||||
ReactInjection.DOMProperty.injectDOMPropertyConfig(DefaultDOMPropertyConfig);
|
||||
|
||||
if (__DEV__) {
|
||||
ReactPerf.injection.injectMeasure(require('ReactDefaultPerf').measure);
|
||||
ReactInjection.Perf.injectMeasure(require('ReactDefaultPerf').measure);
|
||||
}
|
||||
|
||||
ReactUpdates.injection.injectBatchingStrategy(
|
||||
ReactInjection.Updates.injectBatchingStrategy(
|
||||
ReactDefaultBatchingStrategy
|
||||
);
|
||||
|
||||
ReactRootIndex.injection.injectCreateReactRootIndex(
|
||||
ReactInjection.RootIndex.injectCreateReactRootIndex(
|
||||
ExecutionEnvironment.canUseDOM ?
|
||||
ClientReactRootIndex.createReactRootIndex :
|
||||
ServerReactRootIndex.createReactRootIndex
|
||||
|
||||
@@ -188,6 +188,15 @@ var ReactEventEmitter = merge(ReactEventEmitterMixin, {
|
||||
*/
|
||||
TopLevelCallbackCreator: null,
|
||||
|
||||
injection: {
|
||||
/**
|
||||
* @param {function} TopLevelCallbackCreator
|
||||
*/
|
||||
injectTopLevelCallbackCreator: function(TopLevelCallbackCreator) {
|
||||
ReactEventEmitter.TopLevelCallbackCreator = TopLevelCallbackCreator;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets whether or not any created callbacks should be enabled.
|
||||
*
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright 2013 Facebook, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* @providesModule ReactInjection
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
var DOMProperty = require('DOMProperty');
|
||||
var EventPluginHub = require('EventPluginHub');
|
||||
var ReactDOM = require('ReactDOM');
|
||||
var ReactEventEmitter = require('ReactEventEmitter');
|
||||
var ReactPerf = require('ReactPerf');
|
||||
var ReactRootIndex = require('ReactRootIndex');
|
||||
var ReactUpdates = require('ReactUpdates');
|
||||
|
||||
var ReactInjection = {
|
||||
DOMProperty: DOMProperty.injection,
|
||||
EventPluginHub: EventPluginHub.injection,
|
||||
DOM: ReactDOM.injection,
|
||||
EventEmitter: ReactEventEmitter.injection,
|
||||
Perf: ReactPerf.injection,
|
||||
RootIndex: ReactRootIndex.injection,
|
||||
Updates: ReactUpdates.injection
|
||||
};
|
||||
|
||||
module.exports = ReactInjection;
|
||||
Reference in New Issue
Block a user