69 lines
1.8 KiB
JavaScript
69 lines
1.8 KiB
JavaScript
/**
|
|
* Copyright 2004-present Facebook. All Rights Reserved.
|
|
*
|
|
* @providesModule ReactIOSComponentEnvironment
|
|
*/
|
|
'use strict';
|
|
var RKUIManager = require('NativeModulesDeprecated').RKUIManager;
|
|
|
|
var ReactIOSDOMIDOperations = require('ReactIOSDOMIDOperations');
|
|
var ReactIOSReconcileTransaction = require('ReactIOSReconcileTransaction');
|
|
var ReactIOSTagHandles = require('ReactIOSTagHandles');
|
|
var ReactPerf = require('ReactPerf');
|
|
|
|
var ReactIOSComponentEnvironment = {
|
|
|
|
/**
|
|
* Will need to supply something that implements this.
|
|
*/
|
|
BackendIDOperations: ReactIOSDOMIDOperations,
|
|
|
|
/**
|
|
* Nothing to do for UIKit bridge.
|
|
*
|
|
* @private
|
|
*/
|
|
unmountIDFromEnvironment: function(/*rootNodeID*/) {
|
|
|
|
},
|
|
|
|
/**
|
|
* @param {DOMElement} Element to clear.
|
|
*/
|
|
clearNode: function(/*containerView*/) {
|
|
|
|
},
|
|
|
|
/**
|
|
* @param {View} view View tree image.
|
|
* @param {number} containerViewID View to insert sub-view into.
|
|
*/
|
|
mountImageIntoNode: ReactPerf.measure(
|
|
// FIXME(frantic): #4441289 Hack to avoid modifying react-tools
|
|
'ReactComponentBrowserEnvironment',
|
|
'mountImageIntoNode',
|
|
function(mountImage, containerID) {
|
|
// Since we now know that the `mountImage` has been mounted, we can
|
|
// mark it as such.
|
|
ReactIOSTagHandles.associateRootNodeIDWithMountedNodeHandle(
|
|
mountImage.rootNodeID,
|
|
mountImage.tag
|
|
);
|
|
var addChildTags = [mountImage.tag];
|
|
var addAtIndices = [0];
|
|
RKUIManager.manageChildren(
|
|
ReactIOSTagHandles.mostRecentMountedNodeHandleForRootNodeID(containerID),
|
|
null, // moveFromIndices
|
|
null, // moveToIndices
|
|
addChildTags,
|
|
addAtIndices,
|
|
null // removeAtIndices
|
|
);
|
|
}
|
|
),
|
|
|
|
ReactReconcileTransaction: ReactIOSReconcileTransaction,
|
|
};
|
|
|
|
module.exports = ReactIOSComponentEnvironment;
|