mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 17:15:54 +00:00
47a470a97c
Summary:Adding the react native renderer dependency and various fixes to support React 15. Don't use dispatchID for touchableHandleResponderGrant This callback argument was removed because "IDs" no longer exist. Instead, we'll use the tag from the event target. The corresponding PR on React Core is: https://github.com/facebook/react/pull/6338 Reviewed By: spicyj Differential Revision: D3159788 fb-gh-sync-id: 60e5cd2aa0af69d83fcdac3dfde0a85a748cb7b9 fbshipit-source-id: 60e5cd2aa0af69d83fcdac3dfde0a85a748cb7b9
63 lines
1.7 KiB
JavaScript
63 lines
1.7 KiB
JavaScript
/**
|
|
* Copyright (c) 2015-present, 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 queryLayoutByID
|
|
* @flow
|
|
*/
|
|
'use strict';
|
|
|
|
var UIManager = require('UIManager');
|
|
|
|
type OnSuccessCallback = (
|
|
left: number,
|
|
top: number,
|
|
width: number,
|
|
height: number,
|
|
pageX: number,
|
|
pageY: number
|
|
) => void
|
|
|
|
// I don't know what type error is...
|
|
type OnErrorCallback = (error: any) => void
|
|
|
|
/**
|
|
* Queries the layout of a view. The layout does not reflect the element as
|
|
* seen by the user, rather it reflects the position within the layout system,
|
|
* before any transforms are applied.
|
|
*
|
|
* The only other requirement is that the `pageX, pageY` values be in the same
|
|
* coordinate system that events' `pageX/Y` are reported. That means that for
|
|
* the web, `pageXOffset/pageYOffset` should be added to to
|
|
* getBoundingClientRect to make consistent with touches.
|
|
*
|
|
* var pageXOffset = window.pageXOffset;
|
|
* var pageYOffset = window.pageYOffset;
|
|
*
|
|
* This is an IOS specific implementation.
|
|
*
|
|
* @param {number} tag ID of the platform specific node to be measured.
|
|
* @param {function} onError `func(error)`
|
|
* @param {function} onSuccess `func(left, top, width, height, pageX, pageY)`
|
|
*/
|
|
var queryLayoutByID = function(
|
|
tag: ?number,
|
|
onError: OnErrorCallback,
|
|
onSuccess: OnSuccessCallback
|
|
): void {
|
|
if (tag == null) {
|
|
return;
|
|
}
|
|
// Native bridge doesn't *yet* surface errors.
|
|
UIManager.measure(
|
|
tag,
|
|
onSuccess
|
|
);
|
|
};
|
|
|
|
module.exports = queryLayoutByID;
|