@plusscommunities/pluss-core-app 6.1.2-beta.0 → 6.1.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/actions/FollowerActions.js.map +1 -1
- package/dist/module/actions/MediaActions.js.map +1 -1
- package/dist/module/actions/ResidentActions.js.map +1 -1
- package/dist/module/actions/UserActions.js.map +1 -1
- package/dist/module/actions/UserSettingsActions.js.map +1 -1
- package/dist/module/actions/index.js.map +1 -1
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/analyticsActions.js.map +1 -1
- package/dist/module/apis/contactActions.js.map +1 -1
- package/dist/module/apis/eventActions.js.map +1 -1
- package/dist/module/apis/fileActions.js.map +1 -1
- package/dist/module/apis/followerActions.js.map +1 -1
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/apis/notificationActions.js.map +1 -1
- package/dist/module/apis/profileActions.js.map +1 -1
- package/dist/module/apis/reactionActions.js.map +1 -1
- package/dist/module/apis/stringActions.js.map +1 -1
- package/dist/module/apis/typeActions.js.map +1 -1
- package/dist/module/apis/userActions.js.map +1 -1
- package/dist/module/colours.js.map +1 -1
- package/dist/module/components/AddButton.js.map +1 -1
- package/dist/module/components/AddToCalendarButton.js +4 -5
- package/dist/module/components/AddToCalendarButton.js.map +1 -1
- package/dist/module/components/Attachment.js.map +1 -1
- package/dist/module/components/AudienceSelectorLauncher.js +3 -3
- package/dist/module/components/AudienceSelectorLauncher.js.map +1 -1
- package/dist/module/components/AudienceSelectorPage.js +3 -3
- package/dist/module/components/AudienceSelectorPage.js.map +1 -1
- package/dist/module/components/AutoOffsetImage.js +3 -5
- package/dist/module/components/AutoOffsetImage.js.map +1 -1
- package/dist/module/components/BackButton.js.map +1 -1
- package/dist/module/components/CategoryTabs.js.map +1 -1
- package/dist/module/components/CommentReply.js +3 -3
- package/dist/module/components/CommentReply.js.map +1 -1
- package/dist/module/components/CommentSection.js +3 -3
- package/dist/module/components/CommentSection.js.map +1 -1
- package/dist/module/components/ConfirmPopup.js.map +1 -1
- package/dist/module/components/ConfirmationPopup.js.map +1 -1
- package/dist/module/components/DropDownItem.js +3 -3
- package/dist/module/components/DropDownItem.js.map +1 -1
- package/dist/module/components/DropDownMenu.js +3 -3
- package/dist/module/components/DropDownMenu.js.map +1 -1
- package/dist/module/components/EmptyStateMain.js.map +1 -1
- package/dist/module/components/EmptyStateWidget.js.map +1 -1
- package/dist/module/components/FontScaleButton.js.map +1 -1
- package/dist/module/components/FontScalePopup.js.map +1 -1
- package/dist/module/components/Forbidden.js.map +1 -1
- package/dist/module/components/FormCard.js.map +1 -1
- package/dist/module/components/FormCardSection.js.map +1 -1
- package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -1
- package/dist/module/components/FormattedText.js +3 -3
- package/dist/module/components/FormattedText.js.map +1 -1
- package/dist/module/components/GenericInput.js.map +1 -1
- package/dist/module/components/GenericInputSection.js +16 -2
- package/dist/module/components/GenericInputSection.js.map +1 -1
- package/dist/module/components/Header.js.map +1 -1
- package/dist/module/components/ImagePopup.js +3 -3
- package/dist/module/components/ImagePopup.js.map +1 -1
- package/dist/module/components/ImageUploadProgress.js +3 -3
- package/dist/module/components/ImageUploadProgress.js.map +1 -1
- package/dist/module/components/ImageUploader.js +3 -3
- package/dist/module/components/ImageUploader.js.map +1 -1
- package/dist/module/components/InlineButton.js.map +1 -1
- package/dist/module/components/Input.js +3 -3
- package/dist/module/components/Input.js.map +1 -1
- package/dist/module/components/LoadingCircles.js +3 -4
- package/dist/module/components/LoadingCircles.js.map +1 -1
- package/dist/module/components/LoadingIndicator.js +3 -3
- package/dist/module/components/LoadingIndicator.js.map +1 -1
- package/dist/module/components/LoadingStateWidget.js.map +1 -1
- package/dist/module/components/MediaPlayer.js +5 -4
- package/dist/module/components/MediaPlayer.js.map +1 -1
- package/dist/module/components/MiddlePopup.js.map +1 -1
- package/dist/module/components/PDFPopup.js +3 -4
- package/dist/module/components/PDFPopup.js.map +1 -1
- package/dist/module/components/PlussChat.js +4 -5
- package/dist/module/components/PlussChat.js.map +1 -1
- package/dist/module/components/PlussChatMessage.js +1 -1
- package/dist/module/components/PlussChatMessage.js.map +1 -1
- package/dist/module/components/PlussChatTime.js.map +1 -1
- package/dist/module/components/Popup.js.map +1 -1
- package/dist/module/components/PopupMenu.js.map +1 -1
- package/dist/module/components/PositionedImage.js +4 -4
- package/dist/module/components/PositionedImage.js.map +1 -1
- package/dist/module/components/ProfilePic.js +0 -1
- package/dist/module/components/ProfilePic.js.map +1 -1
- package/dist/module/components/RadioButton.js.map +1 -1
- package/dist/module/components/Reaction.js +3 -3
- package/dist/module/components/Reaction.js.map +1 -1
- package/dist/module/components/Reactions.js +3 -3
- package/dist/module/components/Reactions.js.map +1 -1
- package/dist/module/components/SharingTools.js +3 -3
- package/dist/module/components/SharingTools.js.map +1 -1
- package/dist/module/components/Spinner.js.map +1 -1
- package/dist/module/components/StickyFooter.js.map +1 -1
- package/dist/module/components/TextStyle.js +1 -1
- package/dist/module/components/TextStyle.js.map +1 -1
- package/dist/module/components/TickIcon.js +24 -0
- package/dist/module/components/TickIcon.js.map +1 -0
- package/dist/module/components/Toggle.js.map +1 -1
- package/dist/module/components/TouchableSearchBar.js +3 -3
- package/dist/module/components/TouchableSearchBar.js.map +1 -1
- package/dist/module/components/UserListPopup.js.map +1 -1
- package/dist/module/components/UserListing.js.map +1 -1
- package/dist/module/components/VideoPopup.js +3 -3
- package/dist/module/components/VideoPopup.js.map +1 -1
- package/dist/module/components/WarningPopup.js +3 -1
- package/dist/module/components/WarningPopup.js.map +1 -1
- package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +3 -3
- package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -1
- package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -1
- package/dist/module/components/index.js +1 -1
- package/dist/module/components/index.js.map +1 -1
- package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +3 -4
- package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -1
- package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +4 -4
- package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -1
- package/dist/module/config.js.map +1 -1
- package/dist/module/constants.js.map +1 -1
- package/dist/module/fonts/index.js.map +1 -1
- package/dist/module/fonts/pluss60-icons.js.map +1 -1
- package/dist/module/helper.js +26 -3
- package/dist/module/helper.js.map +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/js/images/detectFaces.js.map +1 -1
- package/dist/module/js/images/findLandmarkRange.js.map +1 -1
- package/dist/module/js/images/getScaledOffset.js.map +1 -1
- package/dist/module/js/site/getSiteLevelFromState.js.map +1 -1
- package/dist/module/js/site/isTVEnabled.js.map +1 -1
- package/dist/module/session.js.map +1 -1
- package/dist/module/styles.js.map +1 -1
- package/package.json +1 -2
- package/src/components/GenericInputSection.js +14 -0
- package/src/components/TickIcon.js +25 -0
- package/src/components/WarningPopup.js +5 -1
- package/src/components/index.js +1 -1
- package/src/helper.js +30 -1
- package/dist/module/components/CalendarPopup.js +0 -124
- package/dist/module/components/CalendarPopup.js.map +0 -1
- package/src/components/CalendarPopup.js +0 -109
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","_","moment","Dimensions","Modal","TouchableOpacity","StyleSheet","View","ImageBackground","Text","ImageViewer","Icon","TEXT_DARK","StatusBarHeight","isVideo","get1400","Pl60Icon","SharingTools","VideoPopup","ProfilePic","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","ImagePopup","constructor","props","_defineProperty","images","map","image","url","original","uri","date","user","setState","index","state","showFullscreenVideo","length","currentVideoUrl","_media$user","_media$user2","media","find","source","isNil","dateText","timeText","imageDate","format","createElement","style","styles","videoOverlay","onPress","toggleFullscreenVideo","bind","name","type","iconStyle","videoPlayIcon","imageInfoContainer","Diameter","profilePic","imageTextContainer","imageTextName","displayName","numberOfLines","iamgeTextDate","componentDidMount","setupUrls","componentDidUpdate","prevProps","visible","scrollTo","renderClose","menuIconContainer","onClose","activeOpacity","menuIcon","renderVideoPlayerPopup","render","isEmpty","animationType","onRequestClose","modal","scrollable","onChange","onSwipeDown","enableSwipeDown","imageUrls","saveToLocalByLongPress","renderImage","create","backgroundColor","position","top","right","zIndex","fontSize","padding","textAlign","color","left","bottom","alignItems","justifyContent","textShadowColor","textShadowOffset","flexDirection","paddingHorizontal","marginLeft","flex","fontFamily"],"sources":["ImagePopup.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { Dimensions, Modal, TouchableOpacity, StyleSheet, View, ImageBackground, Text } from 'react-native';\nimport ImageViewer from 'react-native-image-zoom-viewer';\nimport { Icon } from 'react-native-elements';\nimport { TEXT_DARK } from '../colours';\nimport { StatusBarHeight, isVideo, get1400 } from '../helper';\nimport { Pl60Icon } from '../fonts';\nimport { SharingTools } from './SharingTools';\nimport { VideoPopup } from './VideoPopup';\nimport { ProfilePic } from './ProfilePic';\n\nconst SCREEN_WIDTH = Dimensions.get('window').width;\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass ImagePopup extends Component {\n constructor(props) {\n super(props);\n this.state = {\n index: 0,\n images: [],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n };\n }\n\n componentDidMount() {\n this.setupUrls();\n }\n\n componentDidUpdate(prevProps) {\n const { visible, index } = this.props;\n if (!prevProps.visible && visible) this.setupUrls();\n if (prevProps.index !== index) this.setState({ index });\n }\n\n setupUrls = () => {\n if (!this.props.images) return;\n\n const images = this.props.images.map(image => {\n if (typeof image === 'string') {\n return { url: get1400(image), original: image, isVideo: isVideo(image) };\n }\n return { url: get1400(image?.uri), original: image?.uri, isVideo: isVideo(image?.uri), date: image?.date, user: image?.user };\n });\n\n this.setState({ images, index: this.state.index || this.props.index || 0 });\n };\n\n onChange = index => {\n this.setState({ index });\n };\n\n scrollTo(index) {\n this.setState({\n index,\n });\n }\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderClose() {\n return (\n <TouchableOpacity style={styles.menuIconContainer} onPress={this.props.onClose} activeOpacity={0.6}>\n <Pl60Icon name=\"close\" style={[styles.menuIcon]} />\n </TouchableOpacity>\n );\n }\n\n renderImage = props => {\n const media = this.state.images.find(image => image.url === props.source.uri);\n const isVideo = !_.isNil(media) && media.isVideo;\n\n let dateText, timeText;\n if (!_.isNil(media.date)) {\n const imageDate = moment(media.date);\n dateText = imageDate.format('MMMM D, YYYY');\n timeText = imageDate.format('hh:mm A');\n }\n\n return (\n <View>\n <ImageBackground {...props}>\n {isVideo && (\n <View style={styles.videoOverlay}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, media.original)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.videoPlayIcon} />\n </TouchableOpacity>\n </View>\n )}\n </ImageBackground>\n {(!_.isNil(media.user) || !_.isNil(media.date)) && (\n <View style={styles.imageInfoContainer}>\n <ProfilePic Diameter={42} ProfilePic={media?.user?.profilePic} />\n <View style={styles.imageTextContainer}>\n <Text style={styles.imageTextName}>{media?.user?.displayName}</Text>\n <Text numberOfLines={2} style={styles.iamgeTextDate}>{`Uploaded ${dateText} • ${timeText}`}</Text>\n </View>\n </View>\n )}\n </View>\n );\n };\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return <VideoPopup uri={currentVideoUrl} visible={showFullscreenVideo} onClose={this.toggleFullscreenVideo} />;\n }\n\n render() {\n const { visible, onClose } = this.props;\n const { index, images } = this.state;\n\n if (_.isEmpty(images)) {\n return null;\n }\n return (\n <Modal visible={visible} animationType=\"slide\" onRequestClose={onClose} style={styles.modal}>\n <ImageViewer\n style={styles.scrollable}\n index={index}\n onChange={this.onChange}\n onSwipeDown={onClose}\n enableSwipeDown\n imageUrls={images}\n saveToLocalByLongPress={false}\n renderImage={this.renderImage}\n />\n {this.renderClose()}\n <SharingTools uri={images[index].original} />\n {this.renderVideoPlayerPopup()}\n </Modal>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n modal: {\n backgroundColor: '#000',\n },\n scrollable: {\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n backgroundColor: '#000',\n },\n image: {\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n backgroundColor: '#000',\n },\n menuIconContainer: {\n position: 'absolute',\n top: StatusBarHeight(0),\n right: 0,\n width: 55,\n height: 55,\n zIndex: 3,\n },\n menuIcon: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: '#fff',\n zIndex: 3,\n },\n videoOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n videoPlayIcon: {\n color: '#fff',\n fontSize: 30,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n imageInfoContainer: {\n flexDirection: 'row',\n paddingHorizontal: 12,\n height: 70,\n backgroundColor: '#fff',\n alignItems: 'center',\n },\n imageTextContainer: {\n marginLeft: 12,\n flexDirection: 'column',\n flex: 1,\n height: 42,\n justifyContent: 'space-around',\n },\n imageTextName: {\n fontFamily: 'sf-semibold',\n fontSize: 14,\n color: TEXT_DARK,\n },\n iamgeTextDate: {\n fontFamily: 'sf-regular',\n fontSize: 12,\n color: TEXT_DARK,\n },\n});\n\nexport { ImagePopup };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Component","_","moment","Dimensions","Modal","TouchableOpacity","StyleSheet","View","ImageBackground","Text","ImageViewer","Icon","TEXT_DARK","StatusBarHeight","isVideo","get1400","Pl60Icon","SharingTools","VideoPopup","ProfilePic","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","ImagePopup","constructor","props","_defineProperty","images","map","image","url","original","uri","date","user","setState","index","state","showFullscreenVideo","length","currentVideoUrl","_media$user","_media$user2","media","find","source","isNil","dateText","timeText","imageDate","format","createElement","style","styles","videoOverlay","onPress","toggleFullscreenVideo","bind","name","type","iconStyle","videoPlayIcon","imageInfoContainer","Diameter","profilePic","imageTextContainer","imageTextName","displayName","numberOfLines","iamgeTextDate","componentDidMount","setupUrls","componentDidUpdate","prevProps","visible","scrollTo","renderClose","menuIconContainer","onClose","activeOpacity","menuIcon","renderVideoPlayerPopup","render","isEmpty","animationType","onRequestClose","modal","scrollable","onChange","onSwipeDown","enableSwipeDown","imageUrls","saveToLocalByLongPress","renderImage","create","backgroundColor","position","top","right","zIndex","fontSize","padding","textAlign","color","left","bottom","alignItems","justifyContent","textShadowColor","textShadowOffset","flexDirection","paddingHorizontal","marginLeft","flex","fontFamily"],"sources":["ImagePopup.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { Dimensions, Modal, TouchableOpacity, StyleSheet, View, ImageBackground, Text } from 'react-native';\nimport ImageViewer from 'react-native-image-zoom-viewer';\nimport { Icon } from 'react-native-elements';\nimport { TEXT_DARK } from '../colours';\nimport { StatusBarHeight, isVideo, get1400 } from '../helper';\nimport { Pl60Icon } from '../fonts';\nimport { SharingTools } from './SharingTools';\nimport { VideoPopup } from './VideoPopup';\nimport { ProfilePic } from './ProfilePic';\n\nconst SCREEN_WIDTH = Dimensions.get('window').width;\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass ImagePopup extends Component {\n constructor(props) {\n super(props);\n this.state = {\n index: 0,\n images: [],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n };\n }\n\n componentDidMount() {\n this.setupUrls();\n }\n\n componentDidUpdate(prevProps) {\n const { visible, index } = this.props;\n if (!prevProps.visible && visible) this.setupUrls();\n if (prevProps.index !== index) this.setState({ index });\n }\n\n setupUrls = () => {\n if (!this.props.images) return;\n\n const images = this.props.images.map(image => {\n if (typeof image === 'string') {\n return { url: get1400(image), original: image, isVideo: isVideo(image) };\n }\n return { url: get1400(image?.uri), original: image?.uri, isVideo: isVideo(image?.uri), date: image?.date, user: image?.user };\n });\n\n this.setState({ images, index: this.state.index || this.props.index || 0 });\n };\n\n onChange = index => {\n this.setState({ index });\n };\n\n scrollTo(index) {\n this.setState({\n index,\n });\n }\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderClose() {\n return (\n <TouchableOpacity style={styles.menuIconContainer} onPress={this.props.onClose} activeOpacity={0.6}>\n <Pl60Icon name=\"close\" style={[styles.menuIcon]} />\n </TouchableOpacity>\n );\n }\n\n renderImage = props => {\n const media = this.state.images.find(image => image.url === props.source.uri);\n const isVideo = !_.isNil(media) && media.isVideo;\n\n let dateText, timeText;\n if (!_.isNil(media.date)) {\n const imageDate = moment(media.date);\n dateText = imageDate.format('MMMM D, YYYY');\n timeText = imageDate.format('hh:mm A');\n }\n\n return (\n <View>\n <ImageBackground {...props}>\n {isVideo && (\n <View style={styles.videoOverlay}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, media.original)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.videoPlayIcon} />\n </TouchableOpacity>\n </View>\n )}\n </ImageBackground>\n {(!_.isNil(media.user) || !_.isNil(media.date)) && (\n <View style={styles.imageInfoContainer}>\n <ProfilePic Diameter={42} ProfilePic={media?.user?.profilePic} />\n <View style={styles.imageTextContainer}>\n <Text style={styles.imageTextName}>{media?.user?.displayName}</Text>\n <Text numberOfLines={2} style={styles.iamgeTextDate}>{`Uploaded ${dateText} • ${timeText}`}</Text>\n </View>\n </View>\n )}\n </View>\n );\n };\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return <VideoPopup uri={currentVideoUrl} visible={showFullscreenVideo} onClose={this.toggleFullscreenVideo} />;\n }\n\n render() {\n const { visible, onClose } = this.props;\n const { index, images } = this.state;\n\n if (_.isEmpty(images)) {\n return null;\n }\n return (\n <Modal visible={visible} animationType=\"slide\" onRequestClose={onClose} style={styles.modal}>\n <ImageViewer\n style={styles.scrollable}\n index={index}\n onChange={this.onChange}\n onSwipeDown={onClose}\n enableSwipeDown\n imageUrls={images}\n saveToLocalByLongPress={false}\n renderImage={this.renderImage}\n />\n {this.renderClose()}\n <SharingTools uri={images[index].original} />\n {this.renderVideoPlayerPopup()}\n </Modal>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n modal: {\n backgroundColor: '#000',\n },\n scrollable: {\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n backgroundColor: '#000',\n },\n image: {\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n backgroundColor: '#000',\n },\n menuIconContainer: {\n position: 'absolute',\n top: StatusBarHeight(0),\n right: 0,\n width: 55,\n height: 55,\n zIndex: 3,\n },\n menuIcon: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: '#fff',\n zIndex: 3,\n },\n videoOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n videoPlayIcon: {\n color: '#fff',\n fontSize: 30,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n imageInfoContainer: {\n flexDirection: 'row',\n paddingHorizontal: 12,\n height: 70,\n backgroundColor: '#fff',\n alignItems: 'center',\n },\n imageTextContainer: {\n marginLeft: 12,\n flexDirection: 'column',\n flex: 1,\n height: 42,\n justifyContent: 'space-around',\n },\n imageTextName: {\n fontFamily: 'sf-semibold',\n fontSize: 14,\n color: TEXT_DARK,\n },\n iamgeTextDate: {\n fontFamily: 'sf-regular',\n fontSize: 12,\n color: TEXT_DARK,\n },\n});\n\nexport { ImagePopup };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function _defineProperty(
|
|
2
|
-
function _toPropertyKey(
|
|
3
|
-
function _toPrimitive(
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import { View, Text, StyleSheet } from 'react-native';
|
|
6
6
|
import { InlineButton } from './InlineButton';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","Text","StyleSheet","InlineButton","Spinner","ImageUploadProgress","constructor","args","_defineProperty","imageUri","uploadUri","props","uploader","retryUpload","render","color","image","style","progressTextStyle","retryTextStyle","uploadProgress","allowRetry","createElement","styles","container","spinner","uploadProgressText","onPress","onRetryUpload","touchableStyle","retryButton","retryText","create","alignItems","justifyContent","flex","textAlign","fontFamily","fontSize","marginTop"],"sources":["ImageUploadProgress.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport { InlineButton } from './InlineButton';\nimport { Spinner } from './Spinner';\n\nclass ImageUploadProgress extends Component {\n onRetryUpload = (imageUri, uploadUri) => {\n this.props.uploader.retryUpload(imageUri, uploadUri);\n };\n\n render() {\n const { color, image, style, progressTextStyle, retryTextStyle } = this.props;\n const { imageUri, uploadUri, uploadProgress, allowRetry } = image;\n\n return (\n <View style={[styles.container, style]}>\n <Spinner style={styles.spinner} />\n <Text style={[styles.uploadProgressText, progressTextStyle, { color }]}>{uploadProgress}</Text>\n {allowRetry && (\n <InlineButton color={color} onPress={() => this.onRetryUpload(imageUri, uploadUri)} touchableStyle={styles.retryButton}>\n <Text style={[styles.retryText, retryTextStyle]}>Retry</Text>\n </InlineButton>\n )}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n spinner: {\n flex: 0,\n },\n uploadProgressText: {\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 12,\n },\n retryButton: {\n marginTop: 10,\n },\n retryText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n },\n});\n\nexport default ImageUploadProgress;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,WAAW;AAEnC,MAAMC,mBAAmB,SAASN,SAAS,CAAC;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,wBAC1B,CAACC,QAAQ,EAAEC,SAAS,KAAK;MACvC,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,WAAW,CAACJ,QAAQ,EAAEC,SAAS,CAAC;IACtD,CAAC;EAAA;EAEDI,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,KAAK;MAAEC,KAAK;MAAEC,iBAAiB;MAAEC;IAAe,CAAC,GAAG,IAAI,CAACR,KAAK;IAC7E,MAAM;MAAEF,QAAQ;MAAEC,SAAS;MAAEU,cAAc;MAAEC;IAAW,CAAC,GAAGL,KAAK;IAEjE,oBACElB,KAAA,CAAAwB,aAAA,CAACtB,IAAI;MAACiB,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAEP,KAAK;IAAE,gBACrCnB,KAAA,CAAAwB,aAAA,CAAClB,OAAO;MAACa,KAAK,EAAEM,MAAM,CAACE;IAAQ,CAAE,CAAC,eAClC3B,KAAA,CAAAwB,aAAA,CAACrB,IAAI;MAACgB,KAAK,EAAE,CAACM,MAAM,CAACG,kBAAkB,EAAER,iBAAiB,EAAE;QAAEH;MAAM,CAAC;IAAE,GAAEK,cAAqB,CAAC,EAC9FC,UAAU,iBACTvB,KAAA,CAAAwB,aAAA,CAACnB,YAAY;MAACY,KAAK,EAAEA,KAAM;MAACY,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACC,aAAa,CAACnB,QAAQ,EAAEC,SAAS,CAAE;MAACmB,cAAc,EAAEN,MAAM,CAACO;IAAY,gBACrHhC,KAAA,CAAAwB,aAAA,CAACrB,IAAI;MAACgB,KAAK,EAAE,CAACM,MAAM,CAACQ,SAAS,EAAEZ,cAAc;IAAE,GAAC,OAAW,CAChD,CAEZ,CAAC;EAEX;AACF;AAEA,MAAMI,MAAM,GAAGrB,UAAU,CAAC8B,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDT,OAAO,EAAE;IACPU,IAAI,EAAE;EACR,CAAC;EACDT,kBAAkB,EAAE;IAClBU,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ,CAAC;EACDR,WAAW,EAAE;IACXS,SAAS,EAAE;EACb,CAAC;EACDR,SAAS,EAAE;IACTM,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAejC,mBAAmB"}
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","StyleSheet","InlineButton","Spinner","ImageUploadProgress","constructor","args","_defineProperty","imageUri","uploadUri","props","uploader","retryUpload","render","color","image","style","progressTextStyle","retryTextStyle","uploadProgress","allowRetry","createElement","styles","container","spinner","uploadProgressText","onPress","onRetryUpload","touchableStyle","retryButton","retryText","create","alignItems","justifyContent","flex","textAlign","fontFamily","fontSize","marginTop"],"sources":["ImageUploadProgress.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport { InlineButton } from './InlineButton';\nimport { Spinner } from './Spinner';\n\nclass ImageUploadProgress extends Component {\n onRetryUpload = (imageUri, uploadUri) => {\n this.props.uploader.retryUpload(imageUri, uploadUri);\n };\n\n render() {\n const { color, image, style, progressTextStyle, retryTextStyle } = this.props;\n const { imageUri, uploadUri, uploadProgress, allowRetry } = image;\n\n return (\n <View style={[styles.container, style]}>\n <Spinner style={styles.spinner} />\n <Text style={[styles.uploadProgressText, progressTextStyle, { color }]}>{uploadProgress}</Text>\n {allowRetry && (\n <InlineButton color={color} onPress={() => this.onRetryUpload(imageUri, uploadUri)} touchableStyle={styles.retryButton}>\n <Text style={[styles.retryText, retryTextStyle]}>Retry</Text>\n </InlineButton>\n )}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n spinner: {\n flex: 0,\n },\n uploadProgressText: {\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 12,\n },\n retryButton: {\n marginTop: 10,\n },\n retryText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n },\n});\n\nexport default ImageUploadProgress;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,WAAW;AAEnC,MAAMC,mBAAmB,SAASN,SAAS,CAAC;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,wBAC1B,CAACC,QAAQ,EAAEC,SAAS,KAAK;MACvC,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,WAAW,CAACJ,QAAQ,EAAEC,SAAS,CAAC;IACtD,CAAC;EAAA;EAEDI,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,KAAK;MAAEC,KAAK;MAAEC,iBAAiB;MAAEC;IAAe,CAAC,GAAG,IAAI,CAACR,KAAK;IAC7E,MAAM;MAAEF,QAAQ;MAAEC,SAAS;MAAEU,cAAc;MAAEC;IAAW,CAAC,GAAGL,KAAK;IAEjE,oBACElB,KAAA,CAAAwB,aAAA,CAACtB,IAAI;MAACiB,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAEP,KAAK;IAAE,gBACrCnB,KAAA,CAAAwB,aAAA,CAAClB,OAAO;MAACa,KAAK,EAAEM,MAAM,CAACE;IAAQ,CAAE,CAAC,eAClC3B,KAAA,CAAAwB,aAAA,CAACrB,IAAI;MAACgB,KAAK,EAAE,CAACM,MAAM,CAACG,kBAAkB,EAAER,iBAAiB,EAAE;QAAEH;MAAM,CAAC;IAAE,GAAEK,cAAqB,CAAC,EAC9FC,UAAU,iBACTvB,KAAA,CAAAwB,aAAA,CAACnB,YAAY;MAACY,KAAK,EAAEA,KAAM;MAACY,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACC,aAAa,CAACnB,QAAQ,EAAEC,SAAS,CAAE;MAACmB,cAAc,EAAEN,MAAM,CAACO;IAAY,gBACrHhC,KAAA,CAAAwB,aAAA,CAACrB,IAAI;MAACgB,KAAK,EAAE,CAACM,MAAM,CAACQ,SAAS,EAAEZ,cAAc;IAAE,GAAC,OAAW,CAChD,CAEZ,CAAC;EAEX;AACF;AAEA,MAAMI,MAAM,GAAGrB,UAAU,CAAC8B,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDT,OAAO,EAAE;IACPU,IAAI,EAAE;EACR,CAAC;EACDT,kBAAkB,EAAE;IAClBU,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ,CAAC;EACDR,WAAW,EAAE;IACXS,SAAS,EAAE;EACb,CAAC;EACDR,SAAS,EAAE;IACTM,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAejC,mBAAmB","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function _defineProperty(
|
|
2
|
-
function _toPropertyKey(
|
|
3
|
-
function _toPrimitive(
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import { View, ScrollView, TouchableOpacity, Text, Platform, Linking, Modal, Dimensions, StyleSheet, ImageBackground } from 'react-native';
|
|
6
6
|
import { connect } from 'react-redux';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","ScrollView","TouchableOpacity","Text","Platform","Linking","Modal","Dimensions","StyleSheet","ImageBackground","connect","Icon","_","Camera","MediaLibrary","ImageManipulator","ImagePicker","ImageBrowser","ExpoImageManipulator","Header","Popup","PopupMenu","InlineButton","getValueOrDefault","getThumb300","isVideo","getMainBrandingColourFromState","BOXGREY","INACTIVE_BUTTON","TEXT_BLUEGREY","TEXT_DARK","LINEGREY","Config","fileActions","stockImagesLoaded","imageLibraryLoaded","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","DEFAULT_ASPECT","DEFAULT_ALLOWS_EDITING","DEFAULT_ALLOWS_IOS_CAMERA_EDITING","DEFAULT_EXIF","DEFULAT_IMAGE_TYPE","DEFAULT_IMAGE_NAME","DEFAULT_VIDEO_NAME","DEFAULT_SIZE","DEFAULT_COMPRESSION","ImageUploader","constructor","props","_defineProperty","hasPermission","getPermissionsAsync","granted","setState","loadingLocalFolders","localAlbums","getAlbumsAsync","includeSmartAlbums","title","id","error","console","log","loadingRemoteFolders","stockImages","getStockPhotos","libraryRes","getMediaFolders","user","site","data","mediaUri","uploadUri","uri","resizeImageAsync","res","uploadUserMediaWithProgress","progress","onUploadProgress","onUploadSuccess","env","baseUploadsUrl","key","e","onUploadFailed","actions","resize","size","saveOptions","format","compress","quality","base64","manipulateAsync","imageUri","fileName","getUploadUrl","userId","onUploadStarted","hideUploadMenu","resized","onlySelectImage","onImageSelected","imagesSelected","imagesUploaded","map","image","i","length","fileType","substring","lastIndexOf","_this$state$localAlbu","cameraPermission","requestCameraPermissionsAsync","rollPermission","requestPermissionsAsync","status","OS","showWarningPopup","state","loadLocalAlbums","multiple","allowVideo","allowsEditing","askPermissionsAsync","editingAllowed","isEditingEnabled","allowsEditingIOSCamera","result","launchCameraAsync","aspect","exif","canceled","isEmpty","assets","handleImagePicked","mediaTypes","MediaTypeOptions","Videos","showUploadMenu","showPhotos","selected","showRemote","selectedAlbumId","launchImageLibraryAsync","All","Images","cancelled","type","handleVideoPicked","handleMultiImagePicked","showCropper","showSelectAlbum","videoSelected","onAttach","selectedType","callback","openCropper","mediaSelected","onLibrarySelected","media","mediaType","MediaType","video","localUri","hidePhotos","deleteIndex","indexOf","splice","options","text","onPress","openCamera","push","openVideoCamera","openPhotos","hideLibrary","openLibrary","selectedItemNumber","createElement","style","styles","selectedItemContainer","selectedMarkerContainer","backgroundColor","colourBrandingMain","selectedItemText","name","iconStyle","selectedItemIcon","warning","componentDidMount","loadRemoteAlbums","camera","roll","innerWarning","closeWarningPopup","goToPermissionSettings","openURL","renderSelectionPreview","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","selectionPreviewContainer","previewItemContainer","previewItemImage","source","previewItemRemoveButton","onRemoveImage","previewItemRemoveContainer","previewItemRemoveIcon","renderSelectedAlbum","selectedAlbum","imageLibrary","find","album","selectedAlbumText","onSelectAlbum","selectAlbumButton","selectAlbumButtonText","selectAlbumButtonIcon","renderBrowser","imagesLimit","max","loadCount","onChange","onSelectionChange","renderSelectedComponent","onSelected","browserContainer","itemStyle","itemContainer","itemWidth","itemHeight","remoteAlbums","renderAttachButton","canAttach","attachText","buttonContainer","color","fillTouchable","large","disabled","renderSelectAlbumPopup","visible","transparent","animationType","onRequestClose","onSelectAlbumClosed","selectAlbumModal","selectAlbumContainer","selectAlbumTitleContainer","selectAlbumTitle","index","onAlbumSelected","albumOptionContainer","borderTopWidth","albumOptionText","marginHorizontal","renderPhotos","leftIcon","onPressLeft","popupTitle","contentContainer","render","action","bind","bold","buildOptions","onClose","cancelText","photo","onToggleModal","toggleCropper","isVisible","onPictureChoosed","create","flex","padding","position","top","right","borderRadius","alignItems","justifyContent","fontFamily","fontSize","marginBottom","paddingHorizontal","paddingTop","flexDirection","marginRight","bottom","left","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","borderColor","borderBottomWidth","textAlign","paddingVertical","paddingRight","paddingLeft","overflow","borderWidth","mapStateToProps","filter","folder","Public","Name","RowId","images","forwardRef"],"sources":["ImageUploader.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, ScrollView, TouchableOpacity, Text, Platform, Linking, Modal, Dimensions, StyleSheet, ImageBackground } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport { Camera } from 'expo-camera';\nimport * as MediaLibrary from 'expo-media-library';\nimport * as ImageManipulator from 'expo-image-manipulator';\nimport * as ImagePicker from 'expo-image-picker';\nimport ImageBrowser from './expo-image-picker-multiple/ImageBrowser';\nimport ExpoImageManipulator from './react-native-expo-image-cropper/ExpoImageManipulator';\nimport Header from './Header';\nimport { Popup } from './Popup';\nimport { PopupMenu } from './PopupMenu';\nimport { InlineButton } from './InlineButton';\nimport { getValueOrDefault, getThumb300, isVideo } from '../helper';\nimport { getMainBrandingColourFromState, BOXGREY, INACTIVE_BUTTON, TEXT_BLUEGREY, TEXT_DARK, LINEGREY } from '../colours';\nimport Config from '../config';\nimport { fileActions } from '../apis';\nimport { stockImagesLoaded, imageLibraryLoaded } from '../actions';\n\nconst SCREEN_WIDTH = Dimensions.get('window').width;\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\nconst DEFAULT_ASPECT = [1, 1];\nconst DEFAULT_ALLOWS_EDITING = true;\nconst DEFAULT_ALLOWS_IOS_CAMERA_EDITING = false;\nconst DEFAULT_EXIF = true;\nconst DEFULAT_IMAGE_TYPE = 'jpeg';\nconst DEFAULT_IMAGE_NAME = 'image';\nconst DEFAULT_VIDEO_NAME = 'video';\nconst DEFAULT_SIZE = {\n width: 1400,\n};\nconst DEFAULT_COMPRESSION = 0.8;\n\nclass ImageUploader extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showUploadMenu: false,\n warning: null,\n showPhotos: false,\n showRemote: false,\n selected: [],\n selectedType: '',\n onAttach: null,\n selectedAlbumId: '',\n showSelectAlbum: false,\n showCropper: false,\n localAlbums: [],\n loadingLocalFolders: false,\n loadingRemoteFolders: false,\n };\n }\n\n componentDidMount() {\n this.loadLocalAlbums();\n this.loadRemoteAlbums();\n }\n\n loadLocalAlbums = async () => {\n const hasPermission = await MediaLibrary.getPermissionsAsync();\n if (!hasPermission.granted) return;\n\n this.setState({ loadingLocalFolders: true }, async () => {\n try {\n const localAlbums = await MediaLibrary.getAlbumsAsync({ includeSmartAlbums: true });\n this.setState({\n loadingLocalFolders: false,\n localAlbums: [\n {\n title: 'All Photos',\n id: '',\n },\n ...localAlbums,\n ],\n });\n } catch (error) {\n console.log('loadLocalAlbums - error', error);\n this.setState({ loadingLocalFolders: false });\n }\n });\n };\n\n loadRemoteAlbums = () => {\n this.setState({ loadingRemoteFolders: true }, async () => {\n try {\n const stockImages = await fileActions.getStockPhotos();\n this.props.stockImagesLoaded(stockImages);\n const libraryRes = await fileActions.getMediaFolders(this.props.user.site);\n this.props.imageLibraryLoaded(libraryRes.data);\n } catch (error) {\n console.log('loadRemoteAlbums - error', error);\n } finally {\n this.setState({ loadingRemoteFolders: false });\n }\n });\n };\n\n showUploadMenu() {\n this.setState({\n showUploadMenu: true,\n });\n }\n\n hideUploadMenu() {\n this.setState({\n showUploadMenu: false,\n });\n }\n\n retryUpload = async (mediaUri, uploadUri) => {\n try {\n const uri = isVideo(uploadUri) ? mediaUri : (await this.resizeImageAsync(mediaUri)).uri;\n const res = await fileActions.uploadUserMediaWithProgress(uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload(retry) success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('retryUpload error', e);\n this.props.onUploadFailed(uploadUri);\n }\n };\n\n resizeImageAsync = async uri => {\n const actions = [\n {\n resize: getValueOrDefault(this.props.size, DEFAULT_SIZE),\n },\n ];\n const saveOptions = {\n format: DEFULAT_IMAGE_TYPE,\n compress: getValueOrDefault(this.props.quality, DEFAULT_COMPRESSION),\n base64: true,\n };\n return await ImageManipulator.manipulateAsync(uri, actions, saveOptions);\n };\n\n handleImagePicked = async imageUri => {\n let uploadUri;\n try {\n const fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n this.props.onUploadStarted(uploadUri, imageUri);\n this.hideUploadMenu();\n\n const resized = await this.resizeImageAsync(imageUri);\n if (this.props.onlySelectImage) {\n this.props.onImageSelected(resized, fileName);\n return;\n }\n\n const res = await fileActions.uploadUserMediaWithProgress(resized.uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('handleImagePicked error', e);\n this.props.onUploadFailed(uploadUri);\n }\n };\n\n handleMultiImagePicked = async imagesSelected => {\n // Signal start of all images selected\n const imagesUploaded = imagesSelected.map(image => {\n const fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n const uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n if (!this.props.onlySelectImage) this.props.onUploadStarted(uploadUri, image.uri);\n return { imageUri: image.uri, uploadUri, fileName };\n });\n this.hideUploadMenu();\n\n // Sequentially upload all imagesUploaded\n for (let i = 0; i < imagesUploaded.length; i++) {\n const image = imagesUploaded[i];\n const { imageUri, uploadUri, fileName } = image;\n try {\n const resized = await this.resizeImageAsync(imageUri);\n if (this.props.onlySelectImage) {\n this.props.onImageSelected(resized, fileName);\n return;\n }\n\n const res = await fileActions.uploadUserMediaWithProgress(resized.uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('handleMultiImagePicked error', e);\n this.props.onUploadFailed(uploadUri);\n }\n }\n };\n\n handleVideoPicked = async uri => {\n let uploadUri;\n try {\n const fileType = uri.substring(uri.lastIndexOf('.') + 1);\n const fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_VIDEO_NAME)}.${fileType}`;\n uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n this.props.onUploadStarted(uploadUri, uri);\n this.hideUploadMenu();\n\n const res = await fileActions.uploadUserMediaWithProgress(uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('handleVideoPicked error', e);\n this.props.onUploadFailed(uploadUri);\n }\n };\n\n showWarningPopup(camera, roll) {\n if (Platform.OS !== 'ios') {\n return;\n }\n let innerWarning = '';\n if (camera && roll) {\n innerWarning = 'both your camera and photo library';\n } else if (camera) {\n innerWarning = 'your camera';\n } else if (roll) {\n innerWarning = 'your photo library';\n } else {\n // nothing to warn about\n return;\n }\n this.setState({\n warning: `You must grant access to ${innerWarning}. Tap Go to settings to change your permission settings.`,\n });\n }\n\n closeWarningPopup() {\n this.setState({\n warning: null,\n });\n }\n\n goToPermissionSettings() {\n Linking.openURL('app-settings:');\n this.setState({\n warning: null,\n });\n }\n\n askPermissionsAsync = async () => {\n const cameraPermission = await Camera.requestCameraPermissionsAsync();\n const rollPermission = await MediaLibrary.requestPermissionsAsync();\n if (cameraPermission.status !== 'granted' || (Platform.OS === 'ios' && rollPermission.status !== 'granted')) {\n this.showWarningPopup(cameraPermission.status !== 'granted', rollPermission.status !== 'granted');\n return false;\n }\n if (this.state.localAlbums?.length <= 0) this.loadLocalAlbums();\n\n return true;\n };\n\n isEditingEnabled = () => {\n return !this.props.multiple && !this.props.allowVideo && getValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_EDITING);\n };\n\n openCamera = async () => {\n if (!(await this.askPermissionsAsync())) return;\n\n let editingAllowed = this.isEditingEnabled();\n if (Platform.OS === 'ios') {\n editingAllowed = getValueOrDefault(\n this.props.allowsEditingIOSCamera,\n getValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_IOS_CAMERA_EDITING),\n );\n }\n const result = await ImagePicker.launchCameraAsync({\n allowsEditing: editingAllowed,\n aspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n exif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n });\n\n if (!result.canceled && !_.isEmpty(result.assets)) {\n this.handleImagePicked(result.assets[0].uri);\n }\n };\n\n openVideoCamera = async () => {\n if (!(await this.askPermissionsAsync())) return;\n\n const result = await ImagePicker.launchCameraAsync({\n allowsEditing: this.isEditingEnabled(),\n mediaTypes: ImagePicker.MediaTypeOptions.Videos,\n });\n\n if (!result.canceled && !_.isEmpty(result.assets)) {\n this.handleImagePicked(result.assets[0].uri);\n }\n };\n\n openLibrary = async () => {\n this.setState({\n showUploadMenu: false,\n showPhotos: true,\n selected: [],\n showRemote: true,\n selectedAlbumId: '',\n });\n };\n\n openPhotos = async () => {\n if (Platform.OS === 'android') {\n const result = await ImagePicker.launchImageLibraryAsync({\n allowsEditing: this.isEditingEnabled(),\n aspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n exif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n mediaTypes: this.props.allowVideo ? ImagePicker.MediaTypeOptions.All : ImagePicker.MediaTypeOptions.Images,\n });\n if (!result.cancelled) {\n if (result.assets.length === 1 && result.assets[0].type === 'video') {\n this.handleVideoPicked(result.assets[0].uri);\n } else {\n this.handleMultiImagePicked(result.assets);\n }\n }\n return;\n }\n\n // iOS behaviour\n if (!(await this.askPermissionsAsync())) return;\n\n this.setState({\n showUploadMenu: false,\n showPhotos: true,\n selected: [],\n showRemote: false,\n selectedAlbumId: '',\n });\n };\n\n hidePhotos = () => {\n this.setState({ showPhotos: false });\n };\n\n openCropper = () => {\n this.setState({ showPhotos: false, showCropper: true });\n };\n\n toggleCropper = () => {\n this.setState({ showCropper: !this.state.showCropper });\n };\n\n onSelectAlbum = () => {\n this.setState({ showSelectAlbum: true });\n };\n\n onSelectAlbumClosed = () => {\n this.setState({ showSelectAlbum: false });\n };\n\n onAlbumSelected = selectedAlbumId => {\n this.setState({ showSelectAlbum: false, selectedAlbumId });\n };\n\n onSelectionChange = (selected, videoSelected, onAttach) => {\n this.setState({\n selected,\n selectedType: videoSelected ? 'video' : 'image',\n onAttach,\n });\n };\n\n onSelected = async callback => {\n if (this.isEditingEnabled()) {\n this.openCropper();\n } else {\n const mediaSelected = await callback;\n // console.log('mediaSelected', mediaSelected);\n if (this.state.showRemote) {\n if (this.props.onLibrarySelected) {\n mediaSelected.map(media => {\n this.props.onLibrarySelected(media.uri);\n });\n }\n } else {\n if (mediaSelected[0].mediaType === MediaLibrary.MediaType.video) {\n const uri = mediaSelected[0].localUri || mediaSelected[0].uri;\n this.handleVideoPicked(uri);\n } else {\n this.handleMultiImagePicked(mediaSelected);\n }\n }\n\n this.hidePhotos();\n }\n };\n\n onRemoveImage = uri => {\n const selected = [...this.state.selected];\n const deleteIndex = selected.indexOf(uri);\n selected.splice(deleteIndex, 1);\n this.setState({ selected });\n };\n\n buildOptions = () => {\n const options = [\n {\n text: 'Take photo',\n onPress: this.openCamera,\n },\n ];\n if (this.props.allowVideo)\n options.push({\n text: 'Record video',\n onPress: this.openVideoCamera,\n });\n options.push({\n text: 'Camera Roll',\n onPress: this.openPhotos,\n });\n if (!this.props.hideLibrary)\n options.push({\n text: 'Image Library',\n onPress: this.openLibrary,\n });\n\n return options;\n };\n\n renderSelectionPreview() {\n const { selected, showRemote } = this.state;\n\n return (\n <View>\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.selectionPreviewContainer}>\n {selected &&\n selected.map(uri => {\n const imageUri = showRemote ? getThumb300(uri) : uri;\n return (\n <View key={uri} style={styles.previewItemContainer}>\n <ImageBackground style={styles.previewItemImage} source={{ uri: imageUri }} />\n <TouchableOpacity style={styles.previewItemRemoveButton} onPress={() => this.onRemoveImage(uri)}>\n <View style={[styles.previewItemRemoveContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"times\" type=\"font-awesome\" iconStyle={styles.previewItemRemoveIcon} />\n </View>\n </TouchableOpacity>\n </View>\n );\n })}\n </ScrollView>\n </View>\n );\n }\n\n renderSelectedAlbum() {\n const { localAlbums, selectedAlbumId, showRemote } = this.state;\n const selectedAlbum = (showRemote ? this.props.imageLibrary : localAlbums).find(album => album.id === selectedAlbumId);\n const selectedAlbumText = selectedAlbum ? selectedAlbum.title : '';\n\n return (\n <TouchableOpacity onPress={this.onSelectAlbum}>\n <View style={styles.selectAlbumButton}>\n <Text style={styles.selectAlbumButtonText}>{selectedAlbumText}</Text>\n <Icon name=\"angle-down\" type=\"font-awesome\" iconStyle={styles.selectAlbumButtonIcon} />\n </View>\n </TouchableOpacity>\n );\n }\n\n renderSelectedComponent = selectedItemNumber => {\n return (\n <View style={styles.selectedItemContainer}>\n <View style={[styles.selectedMarkerContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n {this.props.multiple ? (\n <Text style={styles.selectedItemText}>{selectedItemNumber}</Text>\n ) : (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={styles.selectedItemIcon} />\n )}\n </View>\n </View>\n );\n };\n\n renderBrowser() {\n const { selected, selectedAlbumId, showRemote } = this.state;\n const { imagesLimit, multiple, allowVideo, imageLibrary } = this.props;\n const width = (SCREEN_WIDTH - 10 * 2) / 4;\n\n return (\n <ImageBrowser\n max={!multiple ? 1 : imagesLimit}\n loadCount={30}\n onChange={this.onSelectionChange}\n renderSelectedComponent={this.renderSelectedComponent}\n callback={this.onSelected}\n selected={selected}\n allowVideo={allowVideo}\n style={styles.browserContainer}\n itemStyle={styles.itemContainer}\n itemWidth={width}\n itemHeight={width}\n album={selectedAlbumId}\n remoteAlbums={showRemote ? imageLibrary : null}\n />\n );\n }\n\n renderAttachButton() {\n const { selected, selectedType } = this.state;\n const canAttach = selected.length > 0 && !_.isEmpty(selectedType);\n const attachText = `Attach ${canAttach ? selected.length : ''} ${canAttach ? selectedType : ''}${selected.length > 1 ? 's' : ''}`;\n\n return (\n <View style={styles.buttonContainer}>\n <InlineButton\n color={canAttach ? this.props.colourBrandingMain : INACTIVE_BUTTON}\n onPress={this.state.onAttach}\n fillTouchable\n large\n disabled={!canAttach}\n >\n {attachText}\n </InlineButton>\n </View>\n );\n }\n\n renderSelectAlbumPopup() {\n const { showSelectAlbum, localAlbums, showRemote } = this.state;\n if (!showSelectAlbum) return null;\n\n return (\n <Modal visible transparent animationType=\"slide\" onRequestClose={this.onSelectAlbumClosed}>\n <View style={styles.selectAlbumModal}>\n <View style={styles.selectAlbumContainer}>\n <View style={styles.selectAlbumTitleContainer}>\n <Text style={styles.selectAlbumTitle}>Select Album</Text>\n </View>\n <ScrollView>\n {(showRemote ? this.props.imageLibrary : localAlbums).map((album, index) => {\n return (\n <TouchableOpacity key={album.id} onPress={() => this.onAlbumSelected(album.id)}>\n <View style={[styles.albumOptionContainer, index === 0 && { borderTopWidth: 0 }]}>\n <Text style={styles.albumOptionText}>{album.title}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n <TouchableOpacity onPress={this.onSelectAlbumClosed}>\n <View style={[styles.albumOptionContainer, { marginHorizontal: 0 }]}>\n <Text style={[styles.albumOptionText, { color: this.props.colourBrandingMain }]}>Cancel</Text>\n </View>\n </TouchableOpacity>\n </View>\n </View>\n </Modal>\n );\n }\n\n renderPhotos() {\n return (\n <Modal visible transparent animationType=\"slide\" onRequestClose={this.hidePhotos}>\n <Header leftIcon=\"angle-left\" onPressLeft={this.hidePhotos} text={this.props.popupTitle || 'Attach image'} />\n <View style={styles.contentContainer}>\n {this.renderSelectionPreview()}\n {this.renderSelectedAlbum()}\n {this.renderBrowser()}\n </View>\n {this.renderAttachButton()}\n {this.renderSelectAlbumPopup()}\n </Modal>\n );\n }\n\n render() {\n const { warning, showUploadMenu, showPhotos, showCropper, selected } = this.state;\n\n if (warning != null) {\n return (\n <Popup\n title=\"Permissions missing\"\n text={warning}\n options={[\n {\n text: 'Go to settings',\n action: this.goToPermissionSettings.bind(this),\n bold: true,\n },\n {\n text: 'Ignore',\n action: this.closeWarningPopup.bind(this),\n },\n ]}\n />\n );\n }\n\n if (showUploadMenu) {\n const options = this.buildOptions();\n return <PopupMenu onClose={this.hideUploadMenu.bind(this)} options={options} title={this.props.popupTitle} cancelText=\"Cancel\" />;\n }\n\n if (showPhotos) return this.renderPhotos();\n\n if (showCropper) {\n return (\n <ExpoImageManipulator\n photo={{ uri: selected[0] }}\n onToggleModal={this.toggleCropper}\n isVisible={showCropper}\n onPictureChoosed={data => {\n this.handleImagePicked(data.uri);\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nconst styles = StyleSheet.create({\n contentContainer: {\n flex: 1,\n backgroundColor: BOXGREY,\n },\n browserContainer: {\n padding: 10,\n },\n itemContainer: {\n padding: 4,\n },\n selectedItemContainer: {\n flex: 1,\n backgroundColor: '#0008',\n },\n selectedMarkerContainer: {\n position: 'absolute',\n top: 6,\n right: 6,\n width: 20,\n height: 20,\n borderRadius: 10,\n alignItems: 'center',\n justifyContent: 'center',\n },\n selectedItemText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: '#fff',\n marginBottom: 1,\n },\n selectedItemIcon: {\n fontSize: 12,\n color: '#fff',\n marginBottom: 1,\n },\n buttonContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n height: 60,\n paddingHorizontal: 14,\n backgroundColor: '#fff',\n },\n selectAlbumButton: {\n paddingTop: 13,\n paddingHorizontal: 14,\n flexDirection: 'row',\n alignItems: 'center',\n },\n selectAlbumButtonText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: TEXT_BLUEGREY,\n marginRight: 6,\n },\n selectAlbumButtonIcon: {\n fontSize: 20,\n color: TEXT_BLUEGREY,\n },\n selectAlbumModal: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: 1000,\n },\n selectAlbumContainer: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: '#fff',\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n maxHeight: SCREEN_HEIGHT / 2,\n },\n selectAlbumTitleContainer: {\n padding: 16,\n borderColor: LINEGREY,\n borderBottomWidth: 1,\n },\n selectAlbumTitle: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n textAlign: 'center',\n color: TEXT_DARK,\n },\n albumOptionContainer: {\n marginHorizontal: 16,\n paddingVertical: 16,\n borderColor: LINEGREY,\n borderTopWidth: 1,\n },\n albumOptionText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n textAlign: 'center',\n color: TEXT_DARK,\n },\n selectionPreviewContainer: {\n paddingTop: 14,\n paddingRight: 2,\n paddingLeft: 14,\n },\n previewItemContainer: {\n marginRight: 12,\n },\n previewItemImage: {\n width: 50,\n height: 50,\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 4,\n overflow: 'hidden',\n },\n previewItemRemoveButton: {\n position: 'absolute',\n top: -8,\n right: -8,\n },\n previewItemRemoveContainer: {\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#fff',\n },\n previewItemRemoveIcon: {\n fontSize: 10,\n color: '#fff',\n marginBottom: 1,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, media } = state;\n const imageLibrary = media.imageLibrary\n .filter(folder => !folder.Public)\n .map(album => {\n return {\n title: album.Name,\n id: album.RowId || '',\n images: album.RowId ? album.Images : media.stockImages,\n };\n });\n\n return {\n user,\n imageLibrary,\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, { stockImagesLoaded, imageLibraryLoaded }, null, { forwardRef: true })(ImageUploader);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Component","View","ScrollView","TouchableOpacity","Text","Platform","Linking","Modal","Dimensions","StyleSheet","ImageBackground","connect","Icon","_","Camera","MediaLibrary","ImageManipulator","ImagePicker","ImageBrowser","ExpoImageManipulator","Header","Popup","PopupMenu","InlineButton","getValueOrDefault","getThumb300","isVideo","getMainBrandingColourFromState","BOXGREY","INACTIVE_BUTTON","TEXT_BLUEGREY","TEXT_DARK","LINEGREY","Config","fileActions","stockImagesLoaded","imageLibraryLoaded","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","DEFAULT_ASPECT","DEFAULT_ALLOWS_EDITING","DEFAULT_ALLOWS_IOS_CAMERA_EDITING","DEFAULT_EXIF","DEFULAT_IMAGE_TYPE","DEFAULT_IMAGE_NAME","DEFAULT_VIDEO_NAME","DEFAULT_SIZE","DEFAULT_COMPRESSION","ImageUploader","constructor","props","_defineProperty","hasPermission","getPermissionsAsync","granted","setState","loadingLocalFolders","localAlbums","getAlbumsAsync","includeSmartAlbums","title","id","error","console","log","loadingRemoteFolders","stockImages","getStockPhotos","libraryRes","getMediaFolders","user","site","data","mediaUri","uploadUri","uri","resizeImageAsync","res","uploadUserMediaWithProgress","progress","onUploadProgress","onUploadSuccess","env","baseUploadsUrl","key","e","onUploadFailed","actions","resize","size","saveOptions","format","compress","quality","base64","manipulateAsync","imageUri","fileName","getUploadUrl","userId","onUploadStarted","hideUploadMenu","resized","onlySelectImage","onImageSelected","imagesSelected","imagesUploaded","map","image","i","length","fileType","substring","lastIndexOf","_this$state$localAlbu","cameraPermission","requestCameraPermissionsAsync","rollPermission","requestPermissionsAsync","status","OS","showWarningPopup","state","loadLocalAlbums","multiple","allowVideo","allowsEditing","askPermissionsAsync","editingAllowed","isEditingEnabled","allowsEditingIOSCamera","result","launchCameraAsync","aspect","exif","canceled","isEmpty","assets","handleImagePicked","mediaTypes","MediaTypeOptions","Videos","showUploadMenu","showPhotos","selected","showRemote","selectedAlbumId","launchImageLibraryAsync","All","Images","cancelled","type","handleVideoPicked","handleMultiImagePicked","showCropper","showSelectAlbum","videoSelected","onAttach","selectedType","callback","openCropper","mediaSelected","onLibrarySelected","media","mediaType","MediaType","video","localUri","hidePhotos","deleteIndex","indexOf","splice","options","text","onPress","openCamera","push","openVideoCamera","openPhotos","hideLibrary","openLibrary","selectedItemNumber","createElement","style","styles","selectedItemContainer","selectedMarkerContainer","backgroundColor","colourBrandingMain","selectedItemText","name","iconStyle","selectedItemIcon","warning","componentDidMount","loadRemoteAlbums","camera","roll","innerWarning","closeWarningPopup","goToPermissionSettings","openURL","renderSelectionPreview","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","selectionPreviewContainer","previewItemContainer","previewItemImage","source","previewItemRemoveButton","onRemoveImage","previewItemRemoveContainer","previewItemRemoveIcon","renderSelectedAlbum","selectedAlbum","imageLibrary","find","album","selectedAlbumText","onSelectAlbum","selectAlbumButton","selectAlbumButtonText","selectAlbumButtonIcon","renderBrowser","imagesLimit","max","loadCount","onChange","onSelectionChange","renderSelectedComponent","onSelected","browserContainer","itemStyle","itemContainer","itemWidth","itemHeight","remoteAlbums","renderAttachButton","canAttach","attachText","buttonContainer","color","fillTouchable","large","disabled","renderSelectAlbumPopup","visible","transparent","animationType","onRequestClose","onSelectAlbumClosed","selectAlbumModal","selectAlbumContainer","selectAlbumTitleContainer","selectAlbumTitle","index","onAlbumSelected","albumOptionContainer","borderTopWidth","albumOptionText","marginHorizontal","renderPhotos","leftIcon","onPressLeft","popupTitle","contentContainer","render","action","bind","bold","buildOptions","onClose","cancelText","photo","onToggleModal","toggleCropper","isVisible","onPictureChoosed","create","flex","padding","position","top","right","borderRadius","alignItems","justifyContent","fontFamily","fontSize","marginBottom","paddingHorizontal","paddingTop","flexDirection","marginRight","bottom","left","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","borderColor","borderBottomWidth","textAlign","paddingVertical","paddingRight","paddingLeft","overflow","borderWidth","mapStateToProps","filter","folder","Public","Name","RowId","images","forwardRef"],"sources":["ImageUploader.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, ScrollView, TouchableOpacity, Text, Platform, Linking, Modal, Dimensions, StyleSheet, ImageBackground } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport { Camera } from 'expo-camera';\nimport * as MediaLibrary from 'expo-media-library';\nimport * as ImageManipulator from 'expo-image-manipulator';\nimport * as ImagePicker from 'expo-image-picker';\nimport ImageBrowser from './expo-image-picker-multiple/ImageBrowser';\nimport ExpoImageManipulator from './react-native-expo-image-cropper/ExpoImageManipulator';\nimport Header from './Header';\nimport { Popup } from './Popup';\nimport { PopupMenu } from './PopupMenu';\nimport { InlineButton } from './InlineButton';\nimport { getValueOrDefault, getThumb300, isVideo } from '../helper';\nimport { getMainBrandingColourFromState, BOXGREY, INACTIVE_BUTTON, TEXT_BLUEGREY, TEXT_DARK, LINEGREY } from '../colours';\nimport Config from '../config';\nimport { fileActions } from '../apis';\nimport { stockImagesLoaded, imageLibraryLoaded } from '../actions';\n\nconst SCREEN_WIDTH = Dimensions.get('window').width;\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\nconst DEFAULT_ASPECT = [1, 1];\nconst DEFAULT_ALLOWS_EDITING = true;\nconst DEFAULT_ALLOWS_IOS_CAMERA_EDITING = false;\nconst DEFAULT_EXIF = true;\nconst DEFULAT_IMAGE_TYPE = 'jpeg';\nconst DEFAULT_IMAGE_NAME = 'image';\nconst DEFAULT_VIDEO_NAME = 'video';\nconst DEFAULT_SIZE = {\n width: 1400,\n};\nconst DEFAULT_COMPRESSION = 0.8;\n\nclass ImageUploader extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showUploadMenu: false,\n warning: null,\n showPhotos: false,\n showRemote: false,\n selected: [],\n selectedType: '',\n onAttach: null,\n selectedAlbumId: '',\n showSelectAlbum: false,\n showCropper: false,\n localAlbums: [],\n loadingLocalFolders: false,\n loadingRemoteFolders: false,\n };\n }\n\n componentDidMount() {\n this.loadLocalAlbums();\n this.loadRemoteAlbums();\n }\n\n loadLocalAlbums = async () => {\n const hasPermission = await MediaLibrary.getPermissionsAsync();\n if (!hasPermission.granted) return;\n\n this.setState({ loadingLocalFolders: true }, async () => {\n try {\n const localAlbums = await MediaLibrary.getAlbumsAsync({ includeSmartAlbums: true });\n this.setState({\n loadingLocalFolders: false,\n localAlbums: [\n {\n title: 'All Photos',\n id: '',\n },\n ...localAlbums,\n ],\n });\n } catch (error) {\n console.log('loadLocalAlbums - error', error);\n this.setState({ loadingLocalFolders: false });\n }\n });\n };\n\n loadRemoteAlbums = () => {\n this.setState({ loadingRemoteFolders: true }, async () => {\n try {\n const stockImages = await fileActions.getStockPhotos();\n this.props.stockImagesLoaded(stockImages);\n const libraryRes = await fileActions.getMediaFolders(this.props.user.site);\n this.props.imageLibraryLoaded(libraryRes.data);\n } catch (error) {\n console.log('loadRemoteAlbums - error', error);\n } finally {\n this.setState({ loadingRemoteFolders: false });\n }\n });\n };\n\n showUploadMenu() {\n this.setState({\n showUploadMenu: true,\n });\n }\n\n hideUploadMenu() {\n this.setState({\n showUploadMenu: false,\n });\n }\n\n retryUpload = async (mediaUri, uploadUri) => {\n try {\n const uri = isVideo(uploadUri) ? mediaUri : (await this.resizeImageAsync(mediaUri)).uri;\n const res = await fileActions.uploadUserMediaWithProgress(uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload(retry) success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('retryUpload error', e);\n this.props.onUploadFailed(uploadUri);\n }\n };\n\n resizeImageAsync = async uri => {\n const actions = [\n {\n resize: getValueOrDefault(this.props.size, DEFAULT_SIZE),\n },\n ];\n const saveOptions = {\n format: DEFULAT_IMAGE_TYPE,\n compress: getValueOrDefault(this.props.quality, DEFAULT_COMPRESSION),\n base64: true,\n };\n return await ImageManipulator.manipulateAsync(uri, actions, saveOptions);\n };\n\n handleImagePicked = async imageUri => {\n let uploadUri;\n try {\n const fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n this.props.onUploadStarted(uploadUri, imageUri);\n this.hideUploadMenu();\n\n const resized = await this.resizeImageAsync(imageUri);\n if (this.props.onlySelectImage) {\n this.props.onImageSelected(resized, fileName);\n return;\n }\n\n const res = await fileActions.uploadUserMediaWithProgress(resized.uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('handleImagePicked error', e);\n this.props.onUploadFailed(uploadUri);\n }\n };\n\n handleMultiImagePicked = async imagesSelected => {\n // Signal start of all images selected\n const imagesUploaded = imagesSelected.map(image => {\n const fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n const uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n if (!this.props.onlySelectImage) this.props.onUploadStarted(uploadUri, image.uri);\n return { imageUri: image.uri, uploadUri, fileName };\n });\n this.hideUploadMenu();\n\n // Sequentially upload all imagesUploaded\n for (let i = 0; i < imagesUploaded.length; i++) {\n const image = imagesUploaded[i];\n const { imageUri, uploadUri, fileName } = image;\n try {\n const resized = await this.resizeImageAsync(imageUri);\n if (this.props.onlySelectImage) {\n this.props.onImageSelected(resized, fileName);\n return;\n }\n\n const res = await fileActions.uploadUserMediaWithProgress(resized.uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('handleMultiImagePicked error', e);\n this.props.onUploadFailed(uploadUri);\n }\n }\n };\n\n handleVideoPicked = async uri => {\n let uploadUri;\n try {\n const fileType = uri.substring(uri.lastIndexOf('.') + 1);\n const fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_VIDEO_NAME)}.${fileType}`;\n uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n this.props.onUploadStarted(uploadUri, uri);\n this.hideUploadMenu();\n\n const res = await fileActions.uploadUserMediaWithProgress(uri, uploadUri, progress => {\n if (this.props.onUploadProgress) this.props.onUploadProgress(progress);\n });\n\n this.props.onUploadSuccess(Config.env.baseUploadsUrl + res.key, uploadUri);\n console.log('upload success', Config.env.baseUploadsUrl + res.key);\n } catch (e) {\n console.log('handleVideoPicked error', e);\n this.props.onUploadFailed(uploadUri);\n }\n };\n\n showWarningPopup(camera, roll) {\n if (Platform.OS !== 'ios') {\n return;\n }\n let innerWarning = '';\n if (camera && roll) {\n innerWarning = 'both your camera and photo library';\n } else if (camera) {\n innerWarning = 'your camera';\n } else if (roll) {\n innerWarning = 'your photo library';\n } else {\n // nothing to warn about\n return;\n }\n this.setState({\n warning: `You must grant access to ${innerWarning}. Tap Go to settings to change your permission settings.`,\n });\n }\n\n closeWarningPopup() {\n this.setState({\n warning: null,\n });\n }\n\n goToPermissionSettings() {\n Linking.openURL('app-settings:');\n this.setState({\n warning: null,\n });\n }\n\n askPermissionsAsync = async () => {\n const cameraPermission = await Camera.requestCameraPermissionsAsync();\n const rollPermission = await MediaLibrary.requestPermissionsAsync();\n if (cameraPermission.status !== 'granted' || (Platform.OS === 'ios' && rollPermission.status !== 'granted')) {\n this.showWarningPopup(cameraPermission.status !== 'granted', rollPermission.status !== 'granted');\n return false;\n }\n if (this.state.localAlbums?.length <= 0) this.loadLocalAlbums();\n\n return true;\n };\n\n isEditingEnabled = () => {\n return !this.props.multiple && !this.props.allowVideo && getValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_EDITING);\n };\n\n openCamera = async () => {\n if (!(await this.askPermissionsAsync())) return;\n\n let editingAllowed = this.isEditingEnabled();\n if (Platform.OS === 'ios') {\n editingAllowed = getValueOrDefault(\n this.props.allowsEditingIOSCamera,\n getValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_IOS_CAMERA_EDITING),\n );\n }\n const result = await ImagePicker.launchCameraAsync({\n allowsEditing: editingAllowed,\n aspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n exif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n });\n\n if (!result.canceled && !_.isEmpty(result.assets)) {\n this.handleImagePicked(result.assets[0].uri);\n }\n };\n\n openVideoCamera = async () => {\n if (!(await this.askPermissionsAsync())) return;\n\n const result = await ImagePicker.launchCameraAsync({\n allowsEditing: this.isEditingEnabled(),\n mediaTypes: ImagePicker.MediaTypeOptions.Videos,\n });\n\n if (!result.canceled && !_.isEmpty(result.assets)) {\n this.handleImagePicked(result.assets[0].uri);\n }\n };\n\n openLibrary = async () => {\n this.setState({\n showUploadMenu: false,\n showPhotos: true,\n selected: [],\n showRemote: true,\n selectedAlbumId: '',\n });\n };\n\n openPhotos = async () => {\n if (Platform.OS === 'android') {\n const result = await ImagePicker.launchImageLibraryAsync({\n allowsEditing: this.isEditingEnabled(),\n aspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n exif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n mediaTypes: this.props.allowVideo ? ImagePicker.MediaTypeOptions.All : ImagePicker.MediaTypeOptions.Images,\n });\n if (!result.cancelled) {\n if (result.assets.length === 1 && result.assets[0].type === 'video') {\n this.handleVideoPicked(result.assets[0].uri);\n } else {\n this.handleMultiImagePicked(result.assets);\n }\n }\n return;\n }\n\n // iOS behaviour\n if (!(await this.askPermissionsAsync())) return;\n\n this.setState({\n showUploadMenu: false,\n showPhotos: true,\n selected: [],\n showRemote: false,\n selectedAlbumId: '',\n });\n };\n\n hidePhotos = () => {\n this.setState({ showPhotos: false });\n };\n\n openCropper = () => {\n this.setState({ showPhotos: false, showCropper: true });\n };\n\n toggleCropper = () => {\n this.setState({ showCropper: !this.state.showCropper });\n };\n\n onSelectAlbum = () => {\n this.setState({ showSelectAlbum: true });\n };\n\n onSelectAlbumClosed = () => {\n this.setState({ showSelectAlbum: false });\n };\n\n onAlbumSelected = selectedAlbumId => {\n this.setState({ showSelectAlbum: false, selectedAlbumId });\n };\n\n onSelectionChange = (selected, videoSelected, onAttach) => {\n this.setState({\n selected,\n selectedType: videoSelected ? 'video' : 'image',\n onAttach,\n });\n };\n\n onSelected = async callback => {\n if (this.isEditingEnabled()) {\n this.openCropper();\n } else {\n const mediaSelected = await callback;\n // console.log('mediaSelected', mediaSelected);\n if (this.state.showRemote) {\n if (this.props.onLibrarySelected) {\n mediaSelected.map(media => {\n this.props.onLibrarySelected(media.uri);\n });\n }\n } else {\n if (mediaSelected[0].mediaType === MediaLibrary.MediaType.video) {\n const uri = mediaSelected[0].localUri || mediaSelected[0].uri;\n this.handleVideoPicked(uri);\n } else {\n this.handleMultiImagePicked(mediaSelected);\n }\n }\n\n this.hidePhotos();\n }\n };\n\n onRemoveImage = uri => {\n const selected = [...this.state.selected];\n const deleteIndex = selected.indexOf(uri);\n selected.splice(deleteIndex, 1);\n this.setState({ selected });\n };\n\n buildOptions = () => {\n const options = [\n {\n text: 'Take photo',\n onPress: this.openCamera,\n },\n ];\n if (this.props.allowVideo)\n options.push({\n text: 'Record video',\n onPress: this.openVideoCamera,\n });\n options.push({\n text: 'Camera Roll',\n onPress: this.openPhotos,\n });\n if (!this.props.hideLibrary)\n options.push({\n text: 'Image Library',\n onPress: this.openLibrary,\n });\n\n return options;\n };\n\n renderSelectionPreview() {\n const { selected, showRemote } = this.state;\n\n return (\n <View>\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.selectionPreviewContainer}>\n {selected &&\n selected.map(uri => {\n const imageUri = showRemote ? getThumb300(uri) : uri;\n return (\n <View key={uri} style={styles.previewItemContainer}>\n <ImageBackground style={styles.previewItemImage} source={{ uri: imageUri }} />\n <TouchableOpacity style={styles.previewItemRemoveButton} onPress={() => this.onRemoveImage(uri)}>\n <View style={[styles.previewItemRemoveContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"times\" type=\"font-awesome\" iconStyle={styles.previewItemRemoveIcon} />\n </View>\n </TouchableOpacity>\n </View>\n );\n })}\n </ScrollView>\n </View>\n );\n }\n\n renderSelectedAlbum() {\n const { localAlbums, selectedAlbumId, showRemote } = this.state;\n const selectedAlbum = (showRemote ? this.props.imageLibrary : localAlbums).find(album => album.id === selectedAlbumId);\n const selectedAlbumText = selectedAlbum ? selectedAlbum.title : '';\n\n return (\n <TouchableOpacity onPress={this.onSelectAlbum}>\n <View style={styles.selectAlbumButton}>\n <Text style={styles.selectAlbumButtonText}>{selectedAlbumText}</Text>\n <Icon name=\"angle-down\" type=\"font-awesome\" iconStyle={styles.selectAlbumButtonIcon} />\n </View>\n </TouchableOpacity>\n );\n }\n\n renderSelectedComponent = selectedItemNumber => {\n return (\n <View style={styles.selectedItemContainer}>\n <View style={[styles.selectedMarkerContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n {this.props.multiple ? (\n <Text style={styles.selectedItemText}>{selectedItemNumber}</Text>\n ) : (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={styles.selectedItemIcon} />\n )}\n </View>\n </View>\n );\n };\n\n renderBrowser() {\n const { selected, selectedAlbumId, showRemote } = this.state;\n const { imagesLimit, multiple, allowVideo, imageLibrary } = this.props;\n const width = (SCREEN_WIDTH - 10 * 2) / 4;\n\n return (\n <ImageBrowser\n max={!multiple ? 1 : imagesLimit}\n loadCount={30}\n onChange={this.onSelectionChange}\n renderSelectedComponent={this.renderSelectedComponent}\n callback={this.onSelected}\n selected={selected}\n allowVideo={allowVideo}\n style={styles.browserContainer}\n itemStyle={styles.itemContainer}\n itemWidth={width}\n itemHeight={width}\n album={selectedAlbumId}\n remoteAlbums={showRemote ? imageLibrary : null}\n />\n );\n }\n\n renderAttachButton() {\n const { selected, selectedType } = this.state;\n const canAttach = selected.length > 0 && !_.isEmpty(selectedType);\n const attachText = `Attach ${canAttach ? selected.length : ''} ${canAttach ? selectedType : ''}${selected.length > 1 ? 's' : ''}`;\n\n return (\n <View style={styles.buttonContainer}>\n <InlineButton\n color={canAttach ? this.props.colourBrandingMain : INACTIVE_BUTTON}\n onPress={this.state.onAttach}\n fillTouchable\n large\n disabled={!canAttach}\n >\n {attachText}\n </InlineButton>\n </View>\n );\n }\n\n renderSelectAlbumPopup() {\n const { showSelectAlbum, localAlbums, showRemote } = this.state;\n if (!showSelectAlbum) return null;\n\n return (\n <Modal visible transparent animationType=\"slide\" onRequestClose={this.onSelectAlbumClosed}>\n <View style={styles.selectAlbumModal}>\n <View style={styles.selectAlbumContainer}>\n <View style={styles.selectAlbumTitleContainer}>\n <Text style={styles.selectAlbumTitle}>Select Album</Text>\n </View>\n <ScrollView>\n {(showRemote ? this.props.imageLibrary : localAlbums).map((album, index) => {\n return (\n <TouchableOpacity key={album.id} onPress={() => this.onAlbumSelected(album.id)}>\n <View style={[styles.albumOptionContainer, index === 0 && { borderTopWidth: 0 }]}>\n <Text style={styles.albumOptionText}>{album.title}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n <TouchableOpacity onPress={this.onSelectAlbumClosed}>\n <View style={[styles.albumOptionContainer, { marginHorizontal: 0 }]}>\n <Text style={[styles.albumOptionText, { color: this.props.colourBrandingMain }]}>Cancel</Text>\n </View>\n </TouchableOpacity>\n </View>\n </View>\n </Modal>\n );\n }\n\n renderPhotos() {\n return (\n <Modal visible transparent animationType=\"slide\" onRequestClose={this.hidePhotos}>\n <Header leftIcon=\"angle-left\" onPressLeft={this.hidePhotos} text={this.props.popupTitle || 'Attach image'} />\n <View style={styles.contentContainer}>\n {this.renderSelectionPreview()}\n {this.renderSelectedAlbum()}\n {this.renderBrowser()}\n </View>\n {this.renderAttachButton()}\n {this.renderSelectAlbumPopup()}\n </Modal>\n );\n }\n\n render() {\n const { warning, showUploadMenu, showPhotos, showCropper, selected } = this.state;\n\n if (warning != null) {\n return (\n <Popup\n title=\"Permissions missing\"\n text={warning}\n options={[\n {\n text: 'Go to settings',\n action: this.goToPermissionSettings.bind(this),\n bold: true,\n },\n {\n text: 'Ignore',\n action: this.closeWarningPopup.bind(this),\n },\n ]}\n />\n );\n }\n\n if (showUploadMenu) {\n const options = this.buildOptions();\n return <PopupMenu onClose={this.hideUploadMenu.bind(this)} options={options} title={this.props.popupTitle} cancelText=\"Cancel\" />;\n }\n\n if (showPhotos) return this.renderPhotos();\n\n if (showCropper) {\n return (\n <ExpoImageManipulator\n photo={{ uri: selected[0] }}\n onToggleModal={this.toggleCropper}\n isVisible={showCropper}\n onPictureChoosed={data => {\n this.handleImagePicked(data.uri);\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nconst styles = StyleSheet.create({\n contentContainer: {\n flex: 1,\n backgroundColor: BOXGREY,\n },\n browserContainer: {\n padding: 10,\n },\n itemContainer: {\n padding: 4,\n },\n selectedItemContainer: {\n flex: 1,\n backgroundColor: '#0008',\n },\n selectedMarkerContainer: {\n position: 'absolute',\n top: 6,\n right: 6,\n width: 20,\n height: 20,\n borderRadius: 10,\n alignItems: 'center',\n justifyContent: 'center',\n },\n selectedItemText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: '#fff',\n marginBottom: 1,\n },\n selectedItemIcon: {\n fontSize: 12,\n color: '#fff',\n marginBottom: 1,\n },\n buttonContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n height: 60,\n paddingHorizontal: 14,\n backgroundColor: '#fff',\n },\n selectAlbumButton: {\n paddingTop: 13,\n paddingHorizontal: 14,\n flexDirection: 'row',\n alignItems: 'center',\n },\n selectAlbumButtonText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: TEXT_BLUEGREY,\n marginRight: 6,\n },\n selectAlbumButtonIcon: {\n fontSize: 20,\n color: TEXT_BLUEGREY,\n },\n selectAlbumModal: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: 1000,\n },\n selectAlbumContainer: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: '#fff',\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n maxHeight: SCREEN_HEIGHT / 2,\n },\n selectAlbumTitleContainer: {\n padding: 16,\n borderColor: LINEGREY,\n borderBottomWidth: 1,\n },\n selectAlbumTitle: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n textAlign: 'center',\n color: TEXT_DARK,\n },\n albumOptionContainer: {\n marginHorizontal: 16,\n paddingVertical: 16,\n borderColor: LINEGREY,\n borderTopWidth: 1,\n },\n albumOptionText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n textAlign: 'center',\n color: TEXT_DARK,\n },\n selectionPreviewContainer: {\n paddingTop: 14,\n paddingRight: 2,\n paddingLeft: 14,\n },\n previewItemContainer: {\n marginRight: 12,\n },\n previewItemImage: {\n width: 50,\n height: 50,\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 4,\n overflow: 'hidden',\n },\n previewItemRemoveButton: {\n position: 'absolute',\n top: -8,\n right: -8,\n },\n previewItemRemoveContainer: {\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#fff',\n },\n previewItemRemoveIcon: {\n fontSize: 10,\n color: '#fff',\n marginBottom: 1,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, media } = state;\n const imageLibrary = media.imageLibrary\n .filter(folder => !folder.Public)\n .map(album => {\n return {\n title: album.Name,\n id: album.RowId || '',\n images: album.RowId ? album.Images : media.stockImages,\n };\n });\n\n return {\n user,\n imageLibrary,\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, { stockImagesLoaded, imageLibraryLoaded }, null, { forwardRef: true })(ImageUploader);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","InlineButton","renderContent","props","noText","children","createElement","style","styles","text","large","fullWidth","textLarge","textStyle","numberOfLines","renderExtra","extraContent","render","fillTouchable","flexDirection","flex","disabled","disabledOpacity","opacity","touchableStyle","onPress","container","containerLarge","border","borderColor","borderWidth","backgroundColor","color","alignItems","justifyContent","paddingHorizontal","height","borderRadius","alignSelf","fontFamily","fontSize","paddingBottom"],"sources":["InlineButton.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\n\nclass InlineButton extends Component {\n renderContent() {\n if (this.props.noText) {\n return this.props.children;\n }\n return (\n <Text\n style={[styles.text, (this.props.large || this.props.fullWidth) && styles.textLarge, this.props.textStyle]}\n numberOfLines={this.props.numberOfLines || 1}\n >\n {this.props.children}\n </Text>\n );\n }\n\n renderExtra() {\n if (this.props.extraContent) {\n return this.props.extraContent;\n }\n return null;\n }\n\n render() {\n return (\n <TouchableOpacity\n style={[\n (this.props.fillTouchable || this.props.fullWidth) && { flexDirection: 'row' },\n this.props.fullWidth && { flex: 1 },\n this.props.disabled && this.props.disabledOpacity && { opacity: 0.4 },\n this.props.touchableStyle,\n ]}\n onPress={this.props.onPress}\n disabled={this.props.disabled}\n >\n <View\n style={[\n styles.container,\n (this.props.large || this.props.fullWidth) && styles.containerLarge,\n (this.props.fillTouchable || this.props.fullWidth) && { flex: 1 },\n this.props.border && { borderColor: this.props.border, borderWidth: 1 },\n this.props.style,\n { backgroundColor: this.props.color },\n ]}\n >\n {this.renderContent()}\n </View>\n {this.renderExtra()}\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = {\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 16,\n height: 28,\n borderRadius: 4,\n alignSelf: 'flex-start',\n },\n containerLarge: {\n height: 36,\n },\n text: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n fontSize: 14,\n paddingBottom: 1,\n },\n textLarge: {\n fontSize: 15,\n },\n};\n\nexport { InlineButton };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AAE3D,MAAMC,YAAY,SAASJ,SAAS,CAAC;EACnCK,aAAaA,CAAA,EAAG;IACd,IAAI,IAAI,CAACC,KAAK,CAACC,MAAM,EAAE;MACrB,OAAO,IAAI,CAACD,KAAK,CAACE,QAAQ;IAC5B;IACA,oBACET,KAAA,CAAAU,aAAA,CAACP,IAAI;MACHQ,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE,CAAC,IAAI,CAACN,KAAK,CAACO,KAAK,IAAI,IAAI,CAACP,KAAK,CAACQ,SAAS,KAAKH,MAAM,CAACI,SAAS,EAAE,IAAI,CAACT,KAAK,CAACU,SAAS,CAAE;MAC3GC,aAAa,EAAE,IAAI,CAACX,KAAK,CAACW,aAAa,IAAI;IAAE,GAE5C,IAAI,CAACX,KAAK,CAACE,QACR,CAAC;EAEX;EAEAU,WAAWA,CAAA,EAAG;IACZ,IAAI,IAAI,CAACZ,KAAK,CAACa,YAAY,EAAE;MAC3B,OAAO,IAAI,CAACb,KAAK,CAACa,YAAY;IAChC;IACA,OAAO,IAAI;EACb;EAEAC,MAAMA,CAAA,EAAG;IACP,oBACErB,KAAA,CAAAU,aAAA,CAACN,gBAAgB;MACfO,KAAK,EAAE,CACL,CAAC,IAAI,CAACJ,KAAK,CAACe,aAAa,IAAI,IAAI,CAACf,KAAK,CAACQ,SAAS,KAAK;QAAEQ,aAAa,EAAE;MAAM,CAAC,EAC9E,IAAI,CAAChB,KAAK,CAACQ,SAAS,IAAI;QAAES,IAAI,EAAE;MAAE,CAAC,EACnC,IAAI,CAACjB,KAAK,CAACkB,QAAQ,IAAI,IAAI,CAAClB,KAAK,CAACmB,eAAe,IAAI;QAAEC,OAAO,EAAE;MAAI,CAAC,EACrE,IAAI,CAACpB,KAAK,CAACqB,cAAc,CACzB;MACFC,OAAO,EAAE,IAAI,CAACtB,KAAK,CAACsB,OAAQ;MAC5BJ,QAAQ,EAAE,IAAI,CAAClB,KAAK,CAACkB;IAAS,gBAE9BzB,KAAA,CAAAU,aAAA,CAACR,IAAI;MACHS,KAAK,EAAE,CACLC,MAAM,CAACkB,SAAS,EAChB,CAAC,IAAI,CAACvB,KAAK,CAACO,KAAK,IAAI,IAAI,CAACP,KAAK,CAACQ,SAAS,KAAKH,MAAM,CAACmB,cAAc,EACnE,CAAC,IAAI,CAACxB,KAAK,CAACe,aAAa,IAAI,IAAI,CAACf,KAAK,CAACQ,SAAS,KAAK;QAAES,IAAI,EAAE;MAAE,CAAC,EACjE,IAAI,CAACjB,KAAK,CAACyB,MAAM,IAAI;QAAEC,WAAW,EAAE,IAAI,CAAC1B,KAAK,CAACyB,MAAM;QAAEE,WAAW,EAAE;MAAE,CAAC,EACvE,IAAI,CAAC3B,KAAK,CAACI,KAAK,EAChB;QAAEwB,eAAe,EAAE,IAAI,CAAC5B,KAAK,CAAC6B;MAAM,CAAC;IACrC,GAED,IAAI,CAAC9B,aAAa,CAAC,CAChB,CAAC,EACN,IAAI,CAACa,WAAW,CAAC,CACF,CAAC;EAEvB;AACF;AAEA,MAAMP,MAAM,GAAG;EACbkB,SAAS,EAAE;IACTO,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAE,EAAE;IACrBC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDX,cAAc,EAAE;IACdS,MAAM,EAAE;EACV,CAAC;EACD3B,IAAI,EAAE;IACJuB,KAAK,EAAE,MAAM;IACbO,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZC,aAAa,EAAE;EACjB,CAAC;EACD7B,SAAS,EAAE;IACT4B,QAAQ,EAAE;EACZ;AACF,CAAC;AAED,SAASvC,YAAY"}
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","InlineButton","renderContent","props","noText","children","createElement","style","styles","text","large","fullWidth","textLarge","textStyle","numberOfLines","renderExtra","extraContent","render","fillTouchable","flexDirection","flex","disabled","disabledOpacity","opacity","touchableStyle","onPress","container","containerLarge","border","borderColor","borderWidth","backgroundColor","color","alignItems","justifyContent","paddingHorizontal","height","borderRadius","alignSelf","fontFamily","fontSize","paddingBottom"],"sources":["InlineButton.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\n\nclass InlineButton extends Component {\n renderContent() {\n if (this.props.noText) {\n return this.props.children;\n }\n return (\n <Text\n style={[styles.text, (this.props.large || this.props.fullWidth) && styles.textLarge, this.props.textStyle]}\n numberOfLines={this.props.numberOfLines || 1}\n >\n {this.props.children}\n </Text>\n );\n }\n\n renderExtra() {\n if (this.props.extraContent) {\n return this.props.extraContent;\n }\n return null;\n }\n\n render() {\n return (\n <TouchableOpacity\n style={[\n (this.props.fillTouchable || this.props.fullWidth) && { flexDirection: 'row' },\n this.props.fullWidth && { flex: 1 },\n this.props.disabled && this.props.disabledOpacity && { opacity: 0.4 },\n this.props.touchableStyle,\n ]}\n onPress={this.props.onPress}\n disabled={this.props.disabled}\n >\n <View\n style={[\n styles.container,\n (this.props.large || this.props.fullWidth) && styles.containerLarge,\n (this.props.fillTouchable || this.props.fullWidth) && { flex: 1 },\n this.props.border && { borderColor: this.props.border, borderWidth: 1 },\n this.props.style,\n { backgroundColor: this.props.color },\n ]}\n >\n {this.renderContent()}\n </View>\n {this.renderExtra()}\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = {\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 16,\n height: 28,\n borderRadius: 4,\n alignSelf: 'flex-start',\n },\n containerLarge: {\n height: 36,\n },\n text: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n fontSize: 14,\n paddingBottom: 1,\n },\n textLarge: {\n fontSize: 15,\n },\n};\n\nexport { InlineButton };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AAE3D,MAAMC,YAAY,SAASJ,SAAS,CAAC;EACnCK,aAAaA,CAAA,EAAG;IACd,IAAI,IAAI,CAACC,KAAK,CAACC,MAAM,EAAE;MACrB,OAAO,IAAI,CAACD,KAAK,CAACE,QAAQ;IAC5B;IACA,oBACET,KAAA,CAAAU,aAAA,CAACP,IAAI;MACHQ,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE,CAAC,IAAI,CAACN,KAAK,CAACO,KAAK,IAAI,IAAI,CAACP,KAAK,CAACQ,SAAS,KAAKH,MAAM,CAACI,SAAS,EAAE,IAAI,CAACT,KAAK,CAACU,SAAS,CAAE;MAC3GC,aAAa,EAAE,IAAI,CAACX,KAAK,CAACW,aAAa,IAAI;IAAE,GAE5C,IAAI,CAACX,KAAK,CAACE,QACR,CAAC;EAEX;EAEAU,WAAWA,CAAA,EAAG;IACZ,IAAI,IAAI,CAACZ,KAAK,CAACa,YAAY,EAAE;MAC3B,OAAO,IAAI,CAACb,KAAK,CAACa,YAAY;IAChC;IACA,OAAO,IAAI;EACb;EAEAC,MAAMA,CAAA,EAAG;IACP,oBACErB,KAAA,CAAAU,aAAA,CAACN,gBAAgB;MACfO,KAAK,EAAE,CACL,CAAC,IAAI,CAACJ,KAAK,CAACe,aAAa,IAAI,IAAI,CAACf,KAAK,CAACQ,SAAS,KAAK;QAAEQ,aAAa,EAAE;MAAM,CAAC,EAC9E,IAAI,CAAChB,KAAK,CAACQ,SAAS,IAAI;QAAES,IAAI,EAAE;MAAE,CAAC,EACnC,IAAI,CAACjB,KAAK,CAACkB,QAAQ,IAAI,IAAI,CAAClB,KAAK,CAACmB,eAAe,IAAI;QAAEC,OAAO,EAAE;MAAI,CAAC,EACrE,IAAI,CAACpB,KAAK,CAACqB,cAAc,CACzB;MACFC,OAAO,EAAE,IAAI,CAACtB,KAAK,CAACsB,OAAQ;MAC5BJ,QAAQ,EAAE,IAAI,CAAClB,KAAK,CAACkB;IAAS,gBAE9BzB,KAAA,CAAAU,aAAA,CAACR,IAAI;MACHS,KAAK,EAAE,CACLC,MAAM,CAACkB,SAAS,EAChB,CAAC,IAAI,CAACvB,KAAK,CAACO,KAAK,IAAI,IAAI,CAACP,KAAK,CAACQ,SAAS,KAAKH,MAAM,CAACmB,cAAc,EACnE,CAAC,IAAI,CAACxB,KAAK,CAACe,aAAa,IAAI,IAAI,CAACf,KAAK,CAACQ,SAAS,KAAK;QAAES,IAAI,EAAE;MAAE,CAAC,EACjE,IAAI,CAACjB,KAAK,CAACyB,MAAM,IAAI;QAAEC,WAAW,EAAE,IAAI,CAAC1B,KAAK,CAACyB,MAAM;QAAEE,WAAW,EAAE;MAAE,CAAC,EACvE,IAAI,CAAC3B,KAAK,CAACI,KAAK,EAChB;QAAEwB,eAAe,EAAE,IAAI,CAAC5B,KAAK,CAAC6B;MAAM,CAAC;IACrC,GAED,IAAI,CAAC9B,aAAa,CAAC,CAChB,CAAC,EACN,IAAI,CAACa,WAAW,CAAC,CACF,CAAC;EAEvB;AACF;AAEA,MAAMP,MAAM,GAAG;EACbkB,SAAS,EAAE;IACTO,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAE,EAAE;IACrBC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDX,cAAc,EAAE;IACdS,MAAM,EAAE;EACV,CAAC;EACD3B,IAAI,EAAE;IACJuB,KAAK,EAAE,MAAM;IACbO,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZC,aAAa,EAAE;EACjB,CAAC;EACD7B,SAAS,EAAE;IACT4B,QAAQ,EAAE;EACZ;AACF,CAAC;AAED,SAASvC,YAAY","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function _defineProperty(
|
|
2
|
-
function _toPropertyKey(
|
|
3
|
-
function _toPrimitive(
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import { TextInput, View, Text, TouchableOpacity } from 'react-native';
|
|
6
6
|
import { connect } from 'react-redux';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","TextInput","View","Text","TouchableOpacity","connect","COLOUR_TEAL","COLOUR_TANGERINE","TEXT_DARK","TEXT_LIGHT","TEXT_MID","getMainBrandingColourFromState","getDarkBrandingColourFromState","Input","constructor","args","_defineProperty","height","renderInputChage","props","toggleInput","createElement","activeOpacity","onPress","bind","style","fontFamily","color","textAlign","backgroundColor","textDecorationLine","toggleInputStyle","toggleInputText","renderLabel","label","flexDirection","justifyContent","styles","labelStyle","hasLabelError","labelError","colourBrandingMain","width","borderRadius","alignSelf","renderErrorField","hasError","errorStyle","errorText","render","containerStyle","secureTextEntry","placeholder","placeholderTextColor","autoCorrect","multiline","autoGrow","inputStyle","textAlignVertical","textColour","borderBottomColor","borderBottomColour","value","length","forceBottomBorder","borderBottomWidth","Math","max","state","textStyle","onChangeText","keyboardType","selectionColor","colourBrandingDark","underlineColorAndroid","editable","autoCapitalize","autoFocus","onContentSizeChange","event","setState","nativeEvent","contentSize","fontSize","flex","marginBottom","paddingTop","marginTop","mapStateToProps","input"],"sources":["Input.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { TextInput, View, Text, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport {\n COLOUR_TEAL,\n COLOUR_TANGERINE,\n TEXT_DARK,\n TEXT_LIGHT,\n TEXT_MID,\n getMainBrandingColourFromState,\n getDarkBrandingColourFromState,\n} from '../colours';\n\n/*\nClass Breakdown ------ \n - label: Description tag above the text input\n - value: Users input\n - onChangeText: Sets parent state to users input -- example input: onChangeText={emailLogin => this.setState({ emailLogin })}\n - placeholder: placeholder text when no user input\n - secureTextEntry: used for password input -- hides on front end\n - textColour: define color of user input\n - keyboardType: changes device keyboard exmaples == 'email-address', 'phone-pad' \n - underlineColorAndroid: Android inputs have an underline.. define color here-- defaults to grey\n - editable: locks user input.. use with loading states\n - hasError: renders space for error feedback below input\n - errorText: displays desired text within above view\n*/\n\nclass Input extends Component {\n state = {\n height: 'auto',\n };\n\n renderInputChage() {\n if (this.props.toggleInput != null) {\n return (\n <View>\n <TouchableOpacity activeOpacity={0.9} onPress={this.props.toggleInput.bind(this)}>\n <Text\n style={[\n {\n fontFamily: 'sf-regular',\n color: COLOUR_TEAL,\n textAlign: 'right',\n backgroundColor: 'transparent',\n textDecorationLine: 'underline',\n },\n this.props.toggleInputStyle,\n ]}\n >\n {this.props.toggleInputText}\n </Text>\n </TouchableOpacity>\n </View>\n );\n }\n return null;\n }\n\n renderLabel() {\n if (this.props.label) {\n return (\n <View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <Text\n style={[\n styles.labelStyle,\n this.props.labelStyle,\n this.props.hasLabelError && this.props.labelError && { color: this.props.colourBrandingMain },\n ]}\n >\n {this.props.label}\n </Text>\n {this.props.hasLabelError && (\n <View\n style={[\n {\n height: 5,\n width: 5,\n borderRadius: 3,\n backgroundColor: COLOUR_TEAL,\n alignSelf: 'center',\n },\n this.props.labelError && { backgroundColor: this.props.colourBrandingMain },\n ]}\n />\n )}\n </View>\n );\n }\n return null;\n }\n\n renderErrorField() {\n if (this.props.hasError) {\n return (\n <View style={[{ justifyContent: 'center' }, this.props.errorStyle && this.props.errorText !== ' ' && this.props.errorStyle]}>\n <Text style={[styles.errorText]}>{this.props.errorText}</Text>\n </View>\n );\n }\n return null;\n }\n\n render() {\n return (\n <View style={[styles.containerStyle, this.props.containerStyle]}>\n {this.renderLabel()}\n <TextInput\n secureTextEntry={this.props.secureTextEntry}\n placeholder={this.props.placeholder}\n placeholderTextColor={this.props.placeholderTextColor}\n autoCorrect={this.props.autoCorrect != null ? this.props.autoCorrect : false}\n multiline={this.props.multiline != null ? this.props.multiline : false}\n autoGrow={this.props.autoGrow != null ? this.props.autoGrow : false}\n style={[\n styles.inputStyle,\n {\n textAlignVertical: this.props.autoGrow != null ? 'top' : 'center',\n color: this.props.textColour,\n borderBottomColor:\n this.props.borderBottomColour != null\n ? this.props.value.length > 0 || this.props.errorText !== ' ' || this.props.forceBottomBorder\n ? this.props.borderBottomColour\n : TEXT_MID\n : 'rgba(0,0,0,0)',\n borderBottomWidth: this.props.borderBottomColour != null ? 1 : 0,\n height: this.props.autoGrow != null ? Math.max(30, this.state.height) : 'auto',\n },\n this.props.textStyle,\n ]}\n value={this.props.value}\n onChangeText={this.props.onChangeText}\n keyboardType={this.props.keyboardType}\n selectionColor={this.props.colourBrandingDark}\n underlineColorAndroid={this.props.underlineColorAndroid != null ? this.props.underlineColorAndroid : 'rgba(0,0,0,0)'}\n editable={this.props.editable != null ? this.props.editable : true}\n autoCapitalize={this.props.autoCapitalize != null ? this.props.autoCapitalize : 'sentences'}\n autoFocus={this.props.autoFocus}\n onContentSizeChange={event => {\n this.setState({ height: event.nativeEvent.contentSize.height });\n }}\n />\n {this.renderInputChage()}\n {this.renderErrorField()}\n </View>\n );\n }\n}\n\nconst styles = {\n labelStyle: {\n fontSize: 15,\n backgroundColor: 'transparent',\n fontFamily: 'sf-semibold',\n color: TEXT_DARK,\n },\n inputStyle: {\n flex: 1,\n marginBottom: 2,\n paddingTop: 0,\n fontSize: 18,\n color: TEXT_DARK,\n fontFamily: 'sf-regular',\n borderBottomColor: TEXT_LIGHT,\n },\n containerStyle: {\n width: '100%',\n flexDirection: 'column',\n },\n errorText: {\n backgroundColor: 'transparent',\n color: COLOUR_TANGERINE,\n fontSize: 13,\n fontFamily: 'sf-semibold',\n marginTop: 0,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n colourBrandingDark: getDarkBrandingColourFromState(state),\n };\n};\n\nconst input = connect(mapStateToProps, {})(Input);\nexport { input as Input };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Component","TextInput","View","Text","TouchableOpacity","connect","COLOUR_TEAL","COLOUR_TANGERINE","TEXT_DARK","TEXT_LIGHT","TEXT_MID","getMainBrandingColourFromState","getDarkBrandingColourFromState","Input","constructor","args","_defineProperty","height","renderInputChage","props","toggleInput","createElement","activeOpacity","onPress","bind","style","fontFamily","color","textAlign","backgroundColor","textDecorationLine","toggleInputStyle","toggleInputText","renderLabel","label","flexDirection","justifyContent","styles","labelStyle","hasLabelError","labelError","colourBrandingMain","width","borderRadius","alignSelf","renderErrorField","hasError","errorStyle","errorText","render","containerStyle","secureTextEntry","placeholder","placeholderTextColor","autoCorrect","multiline","autoGrow","inputStyle","textAlignVertical","textColour","borderBottomColor","borderBottomColour","value","length","forceBottomBorder","borderBottomWidth","Math","max","state","textStyle","onChangeText","keyboardType","selectionColor","colourBrandingDark","underlineColorAndroid","editable","autoCapitalize","autoFocus","onContentSizeChange","event","setState","nativeEvent","contentSize","fontSize","flex","marginBottom","paddingTop","marginTop","mapStateToProps","input"],"sources":["Input.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { TextInput, View, Text, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport {\n COLOUR_TEAL,\n COLOUR_TANGERINE,\n TEXT_DARK,\n TEXT_LIGHT,\n TEXT_MID,\n getMainBrandingColourFromState,\n getDarkBrandingColourFromState,\n} from '../colours';\n\n/*\nClass Breakdown ------ \n - label: Description tag above the text input\n - value: Users input\n - onChangeText: Sets parent state to users input -- example input: onChangeText={emailLogin => this.setState({ emailLogin })}\n - placeholder: placeholder text when no user input\n - secureTextEntry: used for password input -- hides on front end\n - textColour: define color of user input\n - keyboardType: changes device keyboard exmaples == 'email-address', 'phone-pad' \n - underlineColorAndroid: Android inputs have an underline.. define color here-- defaults to grey\n - editable: locks user input.. use with loading states\n - hasError: renders space for error feedback below input\n - errorText: displays desired text within above view\n*/\n\nclass Input extends Component {\n state = {\n height: 'auto',\n };\n\n renderInputChage() {\n if (this.props.toggleInput != null) {\n return (\n <View>\n <TouchableOpacity activeOpacity={0.9} onPress={this.props.toggleInput.bind(this)}>\n <Text\n style={[\n {\n fontFamily: 'sf-regular',\n color: COLOUR_TEAL,\n textAlign: 'right',\n backgroundColor: 'transparent',\n textDecorationLine: 'underline',\n },\n this.props.toggleInputStyle,\n ]}\n >\n {this.props.toggleInputText}\n </Text>\n </TouchableOpacity>\n </View>\n );\n }\n return null;\n }\n\n renderLabel() {\n if (this.props.label) {\n return (\n <View style={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <Text\n style={[\n styles.labelStyle,\n this.props.labelStyle,\n this.props.hasLabelError && this.props.labelError && { color: this.props.colourBrandingMain },\n ]}\n >\n {this.props.label}\n </Text>\n {this.props.hasLabelError && (\n <View\n style={[\n {\n height: 5,\n width: 5,\n borderRadius: 3,\n backgroundColor: COLOUR_TEAL,\n alignSelf: 'center',\n },\n this.props.labelError && { backgroundColor: this.props.colourBrandingMain },\n ]}\n />\n )}\n </View>\n );\n }\n return null;\n }\n\n renderErrorField() {\n if (this.props.hasError) {\n return (\n <View style={[{ justifyContent: 'center' }, this.props.errorStyle && this.props.errorText !== ' ' && this.props.errorStyle]}>\n <Text style={[styles.errorText]}>{this.props.errorText}</Text>\n </View>\n );\n }\n return null;\n }\n\n render() {\n return (\n <View style={[styles.containerStyle, this.props.containerStyle]}>\n {this.renderLabel()}\n <TextInput\n secureTextEntry={this.props.secureTextEntry}\n placeholder={this.props.placeholder}\n placeholderTextColor={this.props.placeholderTextColor}\n autoCorrect={this.props.autoCorrect != null ? this.props.autoCorrect : false}\n multiline={this.props.multiline != null ? this.props.multiline : false}\n autoGrow={this.props.autoGrow != null ? this.props.autoGrow : false}\n style={[\n styles.inputStyle,\n {\n textAlignVertical: this.props.autoGrow != null ? 'top' : 'center',\n color: this.props.textColour,\n borderBottomColor:\n this.props.borderBottomColour != null\n ? this.props.value.length > 0 || this.props.errorText !== ' ' || this.props.forceBottomBorder\n ? this.props.borderBottomColour\n : TEXT_MID\n : 'rgba(0,0,0,0)',\n borderBottomWidth: this.props.borderBottomColour != null ? 1 : 0,\n height: this.props.autoGrow != null ? Math.max(30, this.state.height) : 'auto',\n },\n this.props.textStyle,\n ]}\n value={this.props.value}\n onChangeText={this.props.onChangeText}\n keyboardType={this.props.keyboardType}\n selectionColor={this.props.colourBrandingDark}\n underlineColorAndroid={this.props.underlineColorAndroid != null ? this.props.underlineColorAndroid : 'rgba(0,0,0,0)'}\n editable={this.props.editable != null ? this.props.editable : true}\n autoCapitalize={this.props.autoCapitalize != null ? this.props.autoCapitalize : 'sentences'}\n autoFocus={this.props.autoFocus}\n onContentSizeChange={event => {\n this.setState({ height: event.nativeEvent.contentSize.height });\n }}\n />\n {this.renderInputChage()}\n {this.renderErrorField()}\n </View>\n );\n }\n}\n\nconst styles = {\n labelStyle: {\n fontSize: 15,\n backgroundColor: 'transparent',\n fontFamily: 'sf-semibold',\n color: TEXT_DARK,\n },\n inputStyle: {\n flex: 1,\n marginBottom: 2,\n paddingTop: 0,\n fontSize: 18,\n color: TEXT_DARK,\n fontFamily: 'sf-regular',\n borderBottomColor: TEXT_LIGHT,\n },\n containerStyle: {\n width: '100%',\n flexDirection: 'column',\n },\n errorText: {\n backgroundColor: 'transparent',\n color: COLOUR_TANGERINE,\n fontSize: 13,\n fontFamily: 'sf-semibold',\n marginTop: 0,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n colourBrandingDark: getDarkBrandingColourFromState(state),\n };\n};\n\nconst input = connect(mapStateToProps, {})(Input);\nexport { input as Input };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function _defineProperty(
|
|
2
|
-
function _toPropertyKey(
|
|
3
|
-
function _toPrimitive(
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import { View, Animated } from 'react-native';
|
|
6
6
|
import { connect } from 'react-redux';
|
|
@@ -46,7 +46,6 @@ class LoadingCircles extends Component {
|
|
|
46
46
|
this.animate3();
|
|
47
47
|
}, 300); */
|
|
48
48
|
}
|
|
49
|
-
|
|
50
49
|
animate() {
|
|
51
50
|
Animated.sequence([Animated.parallel([Animated.timing(this.state.animatedSize, {
|
|
52
51
|
toValue: 20,
|