mirror of
https://github.com/status-im/react-native.git
synced 2025-01-17 21:11:45 +00:00
c1aff6b116
Summary: Creating a view instance just to get the default view size is quite expensive, and affects startup time for the bridge as it must be done on the main thread. I've removed these cases and simply hard-coded the sizes in the JS file. This will need to be updated if the view sizes ever change, but in practice that's very unlikely. Reviewed By: javache Differential Revision: D3218917 fb-gh-sync-id: 91a21dabb6046c5d4d5d0bec0845415cb3628ec3 fbshipit-source-id: 91a21dabb6046c5d4d5d0bec0845415cb3628ec3
84 lines
1.8 KiB
JavaScript
84 lines
1.8 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 ProgressViewIOS
|
|
* @flow
|
|
*/
|
|
'use strict';
|
|
|
|
var Image = require('Image');
|
|
var NativeMethodsMixin = require('NativeMethodsMixin');
|
|
var PropTypes = require('ReactPropTypes');
|
|
var React = require('React');
|
|
var StyleSheet = require('StyleSheet');
|
|
var View = require('View');
|
|
|
|
var requireNativeComponent = require('requireNativeComponent');
|
|
|
|
/**
|
|
* Use `ProgressViewIOS` to render a UIProgressView on iOS.
|
|
*/
|
|
var ProgressViewIOS = React.createClass({
|
|
mixins: [NativeMethodsMixin],
|
|
|
|
propTypes: {
|
|
...View.propTypes,
|
|
/**
|
|
* The progress bar style.
|
|
*/
|
|
progressViewStyle: PropTypes.oneOf(['default', 'bar']),
|
|
|
|
/**
|
|
* The progress value (between 0 and 1).
|
|
*/
|
|
progress: PropTypes.number,
|
|
|
|
/**
|
|
* The tint color of the progress bar itself.
|
|
*/
|
|
progressTintColor: PropTypes.string,
|
|
|
|
/**
|
|
* The tint color of the progress bar track.
|
|
*/
|
|
trackTintColor: PropTypes.string,
|
|
|
|
/**
|
|
* A stretchable image to display as the progress bar.
|
|
*/
|
|
progressImage: Image.propTypes.source,
|
|
|
|
/**
|
|
* A stretchable image to display behind the progress bar.
|
|
*/
|
|
trackImage: Image.propTypes.source,
|
|
},
|
|
|
|
render: function() {
|
|
return (
|
|
<RCTProgressView
|
|
{...this.props}
|
|
style={[styles.progressView, this.props.style]}
|
|
/>
|
|
);
|
|
}
|
|
});
|
|
|
|
var styles = StyleSheet.create({
|
|
progressView: {
|
|
height: 2,
|
|
},
|
|
});
|
|
|
|
var RCTProgressView = requireNativeComponent(
|
|
'RCTProgressView',
|
|
ProgressViewIOS
|
|
);
|
|
|
|
module.exports = ProgressViewIOS;
|