Managed assets support for RCTConvert

Reviewed By: @nicklockwood

Differential Revision: D2443130
This commit is contained in:
Alex Kotliarskyi
2015-09-28 12:22:26 -07:00
committed by facebook-github-bot-4
parent e15035f30b
commit f07dd70051
6 changed files with 18 additions and 2 deletions

View File

@@ -15,6 +15,7 @@ var React = require('React');
var StaticContainer = require('StaticContainer.react');
var StyleSheet = require('StyleSheet');
var View = require('View');
var resolveAssetSource = require('resolveAssetSource');
var requireNativeComponent = require('requireNativeComponent');
@@ -114,7 +115,8 @@ var TabBarItemIOS = React.createClass({
return (
<RCTTabBarItem
{...this.props}
icon={this.props.systemIcon || this.props.icon}
icon={this.props.systemIcon || resolveAssetSource(this.props.icon)}
selectedIcon={resolveAssetSource(this.props.selectedIcon)}
badge={badge}
style={[styles.tab, this.props.style]}>
{tabContents}

View File

@@ -77,10 +77,12 @@ describe('resolveAssetSource', () => {
name: 'logo',
type: 'png',
}, {
__packager_asset: true,
isStatic: false,
width: 100,
height: 200,
uri: 'http://10.0.0.1:8081/assets/module/a/logo.png?platform=ios&hash=5b6f00f',
scale: 1,
});
});
@@ -96,10 +98,12 @@ describe('resolveAssetSource', () => {
name: 'logo',
type: 'png',
}, {
__packager_asset: true,
isStatic: false,
width: 100,
height: 200,
uri: 'http://10.0.0.1:8081/assets/module/a/logo@2x.png?platform=ios&hash=5b6f00f',
scale: 2,
});
});
@@ -125,6 +129,7 @@ describe('resolveAssetSource', () => {
name: 'logo',
type: 'png',
}, {
__packager_asset: true,
isStatic: true,
width: 100,
height: 200,
@@ -153,6 +158,7 @@ describe('resolveAssetSource', () => {
name: '!@Logo#1_€', // Invalid chars shouldn't get passed to native
type: 'png',
}, {
__packager_asset: true,
isStatic: true,
width: 100,
height: 200,

View File

@@ -121,13 +121,16 @@ function assetToImageSource(asset) {
var devServerURL = getDevServerURL();
if (devServerURL) {
return {
__packager_asset: true,
width: asset.width,
height: asset.height,
uri: getPathOnDevserver(devServerURL, asset),
isStatic: false,
scale: pickScale(asset.scales, PixelRatio.get()),
};
} else {
return {
__packager_asset: true,
width: asset.width,
height: asset.height,
uri: getPathInArchive(asset),