mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
react app
This commit is contained in:
69
react-app/node_modules/react/lib/ReactRef.js
generated
vendored
Normal file
69
react-app/node_modules/react/lib/ReactRef.js
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* Copyright 2013-2015, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule ReactRef
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var ReactOwner = require("./ReactOwner");
|
||||
|
||||
var ReactRef = {};
|
||||
|
||||
function attachRef(ref, component, owner) {
|
||||
if (typeof ref === 'function') {
|
||||
ref(component.getPublicInstance());
|
||||
} else {
|
||||
// Legacy ref
|
||||
ReactOwner.addComponentAsRefTo(component, ref, owner);
|
||||
}
|
||||
}
|
||||
|
||||
function detachRef(ref, component, owner) {
|
||||
if (typeof ref === 'function') {
|
||||
ref(null);
|
||||
} else {
|
||||
// Legacy ref
|
||||
ReactOwner.removeComponentAsRefFrom(component, ref, owner);
|
||||
}
|
||||
}
|
||||
|
||||
ReactRef.attachRefs = function(instance, element) {
|
||||
var ref = element.ref;
|
||||
if (ref != null) {
|
||||
attachRef(ref, instance, element._owner);
|
||||
}
|
||||
};
|
||||
|
||||
ReactRef.shouldUpdateRefs = function(prevElement, nextElement) {
|
||||
// If either the owner or a `ref` has changed, make sure the newest owner
|
||||
// has stored a reference to `this`, and the previous owner (if different)
|
||||
// has forgotten the reference to `this`. We use the element instead
|
||||
// of the public this.props because the post processing cannot determine
|
||||
// a ref. The ref conceptually lives on the element.
|
||||
|
||||
// TODO: Should this even be possible? The owner cannot change because
|
||||
// it's forbidden by shouldUpdateReactComponent. The ref can change
|
||||
// if you swap the keys of but not the refs. Reconsider where this check
|
||||
// is made. It probably belongs where the key checking and
|
||||
// instantiateReactComponent is done.
|
||||
|
||||
return (
|
||||
nextElement._owner !== prevElement._owner ||
|
||||
nextElement.ref !== prevElement.ref
|
||||
);
|
||||
};
|
||||
|
||||
ReactRef.detachRefs = function(instance, element) {
|
||||
var ref = element.ref;
|
||||
if (ref != null) {
|
||||
detachRef(ref, instance, element._owner);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = ReactRef;
|
Reference in New Issue
Block a user