diff --git a/package.json b/package.json
index 53d88d9..8dd8fb4 100644
--- a/package.json
+++ b/package.json
@@ -52,7 +52,7 @@
],
"dependencies": {
"prop-types": "^15.6.2",
- "react-native-easy-view-transformer": "^1.2.0"
+ "react-native-easy-view-transformer": "https://github.com/ExentriqLtd/react-native-easy-view-transformer"
},
"peerDependencies": {
"react": "*",
diff --git a/src/index.js b/src/index.js
index fb5ee43..e373f93 100644
--- a/src/index.js
+++ b/src/index.js
@@ -47,6 +47,7 @@ export default class ImageTransformer extends React.Component {
onDoubleTapConfirmed: PropTypes.func,
onSingleTapConfirmed: PropTypes.func,
imageComponent: PropTypes.func,
+ injectComponent: PropTypes.func,
resizeMode: PropTypes.string,
errorComponent: PropTypes.func,
onLayout: PropTypes.func,
@@ -59,6 +60,7 @@ export default class ImageTransformer extends React.Component {
enableTranslate: true,
enableResistance: true,
imageComponent: undefined,
+ injectComponent: undefined,
resizeMode: "contain"
};
@@ -218,13 +220,7 @@ export default class ImageTransformer extends React.Component {
this._mounted && this.setState({ error: true });
}
);
- } else {
- // eslint-disable-next-line no-console
- console.warn(
- "react-native-image-transformer",
- "Please provide dimensions for your local images."
- );
- }
+ }
}
getImageSource (image) {
@@ -237,14 +233,8 @@ export default class ImageTransformer extends React.Component {
if (source) {
this.setState({ source });
- } else {
- // eslint-disable-next-line no-console
- console.warn(
- "react-native-image-transformer",
- "Please provide a valid image field in " +
- "data images. Ex. source, uri, URI, url, URL"
- );
- }
+ }
+
}
getViewTransformerInstance () {
@@ -286,7 +276,7 @@ export default class ImageTransformer extends React.Component {
onSwipeUpReleased, onSwipeDownReleased,
onDoubleTapStartReached, onDoubleTapEndReached,
onDoubleTapConfirmed, onSingleTapConfirmed,
- index
+ index, injectComponent
} = this.props;
let resolvedMaxScale = 1;
@@ -320,20 +310,22 @@ export default class ImageTransformer extends React.Component {
onLoad: this.onLoad,
capInsets: { left: 0.1, top: 0.1, right: 0.1, bottom: 0.1 }
};
-
- const content = error
+
+ let content = error
? this.renderError()
: imageComponent
? imageComponent(imageProps, imageDimensions, index)
- : ;
-
+ :
+
+ if(injectComponent){
+ content = injectComponent(imageProps)
+ }
+
return (
(this.viewTransformer = component)}
- // when image source changes, we should use a different
- // node to avoid reusing previous transform state
+ ref={(component) => (this.viewTransformer = component)}
key={"viewTransformer#" + keyAccumulator}
- // disable transform until image is loaded
+ disable transform until image is loaded
enableTransform={enableTransform && imageLoaded}
enableScale={enableScale}
enableTranslate={enableTranslate}
@@ -376,7 +368,6 @@ function sameImage (source, nextSource) {
}
return false;
}
-
function findUri (data) {
return data.source
? data.source : data.uri
@@ -384,4 +375,4 @@ function findUri (data) {
? { uri: data.URI } : data.url
? { uri: data.url } : data.URL
? { uri: data.URL } : undefined;
-}
+}
\ No newline at end of file