@plusscommunities/pluss-maintenance-app 2.1.0 → 2.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["MaintenancePage.js"],"names":["React","Component","View","StyleSheet","connect","_","MaintenanceList","Services","BaseComponents","Components","Helper","Styles","Config","MaintenancePage","constructor","props","navigation","goBack","loading","setState","state","isHomeTab","componentDidMount","getParentRoute","renderHeader","title","env","strings","MAINTENANCE","includes","user","hidden","styles","notificationContainer","colourBrandingHeader","notificationBell","onPressBack","render","container","maintenanceList","onLoadingChanged","options","create","flex","position","top","bottom","right","paddingTop","StatusBarHeight","marginTop","mapStateToProps"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport MaintenanceList from '../components/MaintenanceList';\nimport { Services, BaseComponents } from '../feature.config';\nimport { Components, Helper, Styles, Config } from '../core.config';\n\nclass MaintenancePage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isHomeTab: false,\n loading: false,\n };\n }\n\n componentDidMount() {\n // console.log('!Services.navigation.getParentRoute()', !Services.navigation.getParentRoute());\n this.setState({ isHomeTab: !Services.navigation.getParentRoute() });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onLoadingChanged = loading => {\n this.setState({ loading });\n };\n\n renderHeader() {\n if (this.state.isHomeTab) {\n return (\n <Components.Header\n text={this.props.title || Config.env.strings.MAINTENANCE}\n rightContent={\n _.includes(this.props.user.hidden, 'notifications') ? null : (\n <View style={styles.notificationContainer}>\n <BaseComponents.NotificationBell\n colourBrandingHeader={this.props.colourBrandingHeader}\n containerStyle={Styles.notificationBell}\n />\n </View>\n )\n }\n />\n );\n }\n return (\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={this.props.title || Config.env.strings.MAINTENANCE} />\n );\n }\n\n render() {\n const { isHomeTab } = this.state;\n\n return (\n <View style={styles.container}>\n {this.renderHeader()}\n <Components.LoadingIndicator visible={this.state.loading} />\n <MaintenanceList\n style={styles.maintenanceList}\n onLoadingChanged={this.onLoadingChanged}\n enableAdd={!isHomeTab}\n options={this.props.options}\n />\n {/* {isHomeTab && <Components.AddContentButton />} */}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n notificationContainer: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n paddingTop: Helper.StatusBarHeight(0),\n },\n maintenanceList: {\n marginTop: 12,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenancePage);\n"]}
1
+ {"version":3,"names":["React","Component","View","StyleSheet","connect","_","MaintenanceList","Services","BaseComponents","Components","Helper","Styles","Config","MaintenancePage","constructor","props","navigation","goBack","loading","setState","state","isHomeTab","componentDidMount","getParentRoute","renderHeader","title","env","strings","MAINTENANCE","includes","user","hidden","styles","notificationContainer","colourBrandingHeader","notificationBell","onPressBack","render","container","maintenanceList","onLoadingChanged","options","create","flex","position","top","bottom","right","paddingTop","StatusBarHeight","marginTop","mapStateToProps"],"sources":["MaintenancePage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport MaintenanceList from '../components/MaintenanceList';\nimport { Services, BaseComponents } from '../feature.config';\nimport { Components, Helper, Styles, Config } from '../core.config';\n\nclass MaintenancePage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isHomeTab: false,\n loading: false,\n };\n }\n\n componentDidMount() {\n // console.log('!Services.navigation.getParentRoute()', !Services.navigation.getParentRoute());\n this.setState({ isHomeTab: !Services.navigation.getParentRoute() });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onLoadingChanged = loading => {\n this.setState({ loading });\n };\n\n renderHeader() {\n if (this.state.isHomeTab) {\n return (\n <Components.Header\n text={this.props.title || Config.env.strings.MAINTENANCE}\n rightContent={\n _.includes(this.props.user.hidden, 'notifications') ? null : (\n <View style={styles.notificationContainer}>\n <BaseComponents.NotificationBell\n colourBrandingHeader={this.props.colourBrandingHeader}\n containerStyle={Styles.notificationBell}\n />\n </View>\n )\n }\n />\n );\n }\n return (\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={this.props.title || Config.env.strings.MAINTENANCE} />\n );\n }\n\n render() {\n const { isHomeTab } = this.state;\n\n return (\n <View style={styles.container}>\n {this.renderHeader()}\n <Components.LoadingIndicator visible={this.state.loading} />\n <MaintenanceList\n style={styles.maintenanceList}\n onLoadingChanged={this.onLoadingChanged}\n enableAdd={!isHomeTab}\n options={this.props.options}\n />\n {/* {isHomeTab && <Components.AddContentButton />} */}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n notificationContainer: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n paddingTop: Helper.StatusBarHeight(0),\n },\n maintenanceList: {\n marginTop: 12,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenancePage);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["RequestDetail.js"],"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","DateTimePicker","Icon","_","moment","connect","generalActions","jobAdded","StatusSelectorPopup","jobStatusOptions","getJobStatusProps","Services","Colours","Helper","Components","Config","RequestDetail","constructor","props","user","job","state","seen","hasPermission","Id","userID","setState","loading","updated","id","status","res","editJob","site","data","error","console","log","expectedDate","utc","toISOString","editJobStatus","navigation","goBack","showStatusPopup","updateJobStatus","navigate","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","getJob","permissions","includes","url","showFullscreenVideo","length","currentVideoUrl","galleryOpen","scrollView","createRef","commentReply","commentSection","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","newState","markSeen","openGallery","index","refs","imagePopup","scrollTo","closeGallery","renderLoading","renderTop","statusText","statusColor","canEdit","showSeen","name","getShadowStyle","styles","jobTitleContainer","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","jobSeenContainer","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","onOpenDatePicker","textSectionAngleRight","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onOpenStatusPicker","jobStatusContainer","jobStatusIcon","jobStatusText","openStaffNotes","Notes","renderPlayableImageUrl","containerStyle","thumbUrl","getThumb300","isVideo","flex","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","images","renderPlayableImage","renderImage","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","image","renderImagePopup","rendeDetails","onToggleDetails","detailsText","detailsSection","description","jobDescriptionText","locationLabel","locationText","room","requesterLabel","profileContainer","userProfilePic","nameContainer","nameText","userName","phone","phoneText","renderMessages","location","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","onLeaveMessage","marginTop","height","renderMessagesReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","render","Platform","OS","container","onPressBack","env","strings","MAINTENANCE_REQUEST_DETAILS","paddingBottom","innerContainer","onDateSelected","onCloseDatePicker","create","paddingVertical","fontFamily","fontSize","TEXT_DARKEST","marginBottom","flexDirection","alignItems","width","borderRadius","justifyContent","textAlign","marginLeft","jobStatusDateText","TEXT_LIGHT","borderTopWidth","borderTopColor","LINEGREY","letterSpacing","TEXT_DARK","marginRight","jobExpectedDateContainer","BOXGREY","paddingLeft","jobExpectedDate","overflow","position","top","left","right","bottom","textShadowColor","textShadowOffset","textShadowRadius","lineHeight","mapStateToProps","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground } from 'react-native';\nimport DateTimePicker from 'react-native-modal-datetime-picker';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../apis';\nimport { jobAdded } from '../actions';\nimport StatusSelectorPopup from '../components/StatusSelectorPopup';\nimport { jobStatusOptions, getJobStatusProps } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper, Components, Config } from '../core.config';\n\nclass RequestDetail extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n isDateTimePickerVisible: false,\n popUpType: '',\n status: '',\n expectedDate: null,\n expectedDateText: '',\n seen: false,\n showMore: false,\n showStatusPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n showMessages: false,\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n const newState = { job, status: job.status };\n if (job.expectedDate) {\n newState.expectedDate = moment(job.expectedDate);\n newState.expectedDateText = newState.expectedDate.format('DD/MM/YYYY');\n }\n if (job.seen) newState.seen = job.seen;\n this.setState(newState, () => {\n this.markSeen();\n });\n }\n\n markSeen = () => {\n const { user } = this.props;\n const { job } = this.state;\n // Must have maintenance permission and not the requester\n // console.log('markSeen check', job.userID, user.Id);\n if (job.seen === true) return;\n if (!this.hasPermission()) return;\n if (user.Id === job.userID) return;\n\n this.setState({ loading: true }, async () => {\n try {\n const updated = { id: job.id, seen: true, status: job.status || 'Unassigned' };\n const res = await generalActions.editJob(updated, user.site);\n // console.log('markSeen updated');\n this.props.jobAdded(res.data.job);\n this.setState({ loading: false, seen: true });\n } catch (error) {\n console.log('markSeen error', error);\n this.setState({ loading: false });\n }\n });\n };\n\n updateJob = () => {\n this.setState({ loading: true }, async () => {\n const { user } = this.props;\n const { job } = this.state;\n try {\n const updated = { id: job.id };\n if (this.state.expectedDate) {\n updated.expectedDate = moment(this.state.expectedDate)\n .utc()\n .toISOString();\n }\n const res = await generalActions.editJob(updated, user.site);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJob error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n updateJobStatus = () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await generalActions.editJobStatus(this.props.job.id, this.state.status);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJobStatus error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenStatusPicker = () => {\n this.setState({ showStatusPopup: true });\n };\n\n onCloseStatusPopup = () => {\n this.setState({ showStatusPopup: false });\n };\n\n onSelectStatus = status => {\n this.setState({ status, showStatusPopup: false }, () => {\n this.updateJobStatus();\n });\n };\n\n openStaffNotes = () => {\n Services.navigation.navigate('requestNotes', { job: this.state.job });\n };\n\n onOpenDatePicker = () => {\n this.setState({ popUpType: 'date', isDateTimePickerVisible: true });\n };\n\n onCloseDatePicker = () => {\n this.setState({ isDateTimePickerVisible: false });\n };\n\n onDateSelected = date => {\n if (this.state.popUpType === 'date') {\n date = moment(date);\n this.setState(\n {\n expectedDate: date,\n expectedDateText: date.format('DD/MM/YYYY'),\n isDateTimePickerVisible: false,\n },\n () => {\n this.updateJob();\n },\n );\n }\n };\n\n onToggleDetails = () => {\n this.setState({ showMore: !this.state.showMore });\n };\n\n onLeaveMessage = () => {\n this.setState({ showMessages: true });\n };\n\n onCommentsLoaded = count => {\n if (count > 0) {\n this.setState({ showMessages: true });\n }\n };\n\n onCommentAdded = () => {\n this.setState({ loading: true }, async () => {\n try {\n const job = await generalActions.getJob(this.props.user.site, this.props.job.id);\n // console.log('onCommentAdded', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('onCommentAdded error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n hasPermission = () => {\n const { permissions } = this.props.user;\n return _.includes(permissions, 'maintenanceTracking');\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(index) {\n this.setState({\n galleryOpen: true,\n });\n this.refs.imagePopup.scrollTo(index);\n }\n\n closeGallery() {\n this.setState({\n galleryOpen: false,\n });\n }\n\n renderLoading() {\n return <Components.LoadingIndicator visible={this.state.loading} />;\n }\n\n renderTop() {\n const { status, job } = this.state;\n const { statusText, statusColor } = getJobStatusProps(status);\n const canEdit = this.hasPermission();\n const showSeen = !status || status === jobStatusOptions[0].name;\n\n return (\n <View style={{ ...Helper.getShadowStyle() }}>\n <View style={styles.jobTitleContainer}>\n <Text style={styles.jobTitleText}>{job.title}</Text>\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]}>{job.type}</Text>\n </View>\n {showSeen && this.state.seen && (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n )}\n </View>\n\n {job.lastActivityUnix && (\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Last Updated On</Text>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{moment(job.lastActivityUnix).format('ddd D MMMM, h:mm A')}</Text>\n </View>\n </View>\n )}\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Expected Date</Text>\n <TouchableOpacity onPress={this.onOpenDatePicker}>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{this.state.expectedDateText || 'Select Date'}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.textSectionAngleRight, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </View>\n </View>\n <View style={styles.jobStatusExpectedContainer}>\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STATUS</Text>\n <TouchableOpacity onPress={canEdit ? this.onOpenStatusPicker : null}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </TouchableOpacity>\n </View>\n {this.hasPermission() && (\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STAFF NOTES</Text>\n <TouchableOpacity onPress={this.openStaffNotes}>\n <View style={[styles.jobStatusContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil-square-o\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>Notes ({(job.Notes || []).length})</Text>\n </View>\n </TouchableOpacity>\n </View>\n )}\n </View>\n </View>\n );\n }\n\n renderPlayableImageUrl(url, index, containerStyle, showMore) {\n const thumbUrl = Helper.getThumb300(url);\n\n if (Helper.isVideo(url)) {\n return (\n <ImageBackground style={[{ flex: 1 }, containerStyle]} source={{ uri: thumbUrl }}>\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n </ImageBackground>\n );\n }\n\n const imageUrl = Helper.get1400(url);\n return (\n <TouchableOpacity style={containerStyle} onPress={this.openGallery.bind(this, index || 0)}>\n <ImageBackground style={styles.imageContainer} source={{ uri: imageUrl }}>\n {showMore && <Text style={styles.plusImages}>+{this.state.job.images.length - 2}</Text>}\n </ImageBackground>\n </TouchableOpacity>\n );\n }\n\n renderPlayableImage(index, containerStyle, showMore) {\n const url = this.state.job.images[index];\n return this.renderPlayableImageUrl(url, index, containerStyle, showMore);\n }\n\n renderImage() {\n const { job } = this.state;\n if (!_.isNil(job.images) && !_.isEmpty(job.images)) {\n if (job.images.length >= 2) {\n return (\n <View style={styles.sideBySideImages}>\n {this.renderPlayableImage(0, styles.sideBySideImageContainer)}\n {this.renderPlayableImage(1, styles.sideBySideImageContainer, job.images.length > 2)}\n </View>\n );\n } else {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImage(0)}</View>;\n }\n } else if (!_.isNil(job.image)) {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImageUrl(job.image)}</View>;\n }\n return null;\n }\n\n renderImagePopup() {\n return (\n <Components.ImagePopup\n visible={this.state.galleryOpen}\n images={this.state.job.images || [this.state.job.image]}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n rendeDetails() {\n const { job } = this.state;\n\n return (\n <View>\n <Components.FormCardSectionOptionLauncher\n onPress={this.onToggleDetails}\n title=\"Details\"\n icon={this.state.showMore ? 'angle-up' : 'angle-down'}\n textStyle={styles.detailsText}\n sectionStyle={styles.detailsSection}\n />\n {this.state.showMore && (\n <View>\n {this.renderImage()}\n {!_.isEmpty(job.description) && (\n <Text numberOfLines={10} style={styles.jobDescriptionText}>\n {job.description}\n </Text>\n )}\n <Text style={styles.locationLabel}>Location</Text>\n <Text style={styles.locationText}>{job.room}</Text>\n <Text style={styles.requesterLabel}>Person Requesting</Text>\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={job.userProfilePic} Diameter={40} />\n <View style={styles.nameContainer}>\n <Text style={styles.nameText}>{job.userName}</Text>\n {!_.isEmpty(job.phone) && <Text style={styles.phoneText}>{job.phone}</Text>}\n </View>\n </View>\n </View>\n )}\n </View>\n );\n }\n\n renderMessages() {\n return (\n <View>\n <Components.CommentSection\n ref={this.commentSection}\n commentReply={this.commentReply}\n scrollView={this.scrollView}\n adminPermission=\"maintenanceTracking\"\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n live\n refreshFrequency={10000}\n placeHolder={''}\n style={{ flex: 1, paddingHorizontal: 0, paddingTop: 16 }}\n onCommentsLoaded={this.onCommentsLoaded}\n onCommentAdded={this.onCommentAdded}\n hideAddComment\n disableFlag\n />\n {!this.state.showMessages && (\n <Components.InlineButton\n onPress={this.onLeaveMessage}\n color={this.props.colourBrandingMain}\n touchableStyle={{ marginTop: 10 }}\n style={{ height: 36 }}\n textStyle={{ color: '#fff' }}\n fullWidth\n >\n Leave Message\n </Components.InlineButton>\n )}\n </View>\n );\n }\n\n renderMessagesReply() {\n if (!this.state.showMessages) return null;\n\n return (\n <Components.CommentReply\n ref={this.commentReply}\n commentSection={this.commentSection}\n scrollView={this.scrollView}\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n // noScroll={true}\n // style={{ position: 'absolute', bottom: 0, left: 0, right: 0 }}\n />\n );\n }\n\n renderStatusPopup() {\n if (!this.state.showStatusPopup) return null;\n return <StatusSelectorPopup onClose={this.onCloseStatusPopup} onSelect={this.onSelectStatus} />;\n }\n\n render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={Config.env.strings.MAINTENANCE_REQUEST_DETAILS} />\n {this.renderLoading()}\n <ScrollView ref={this.scrollView} contentContainerStyle={{ paddingBottom: 26 }} style={{ height: '100%' }}>\n <View style={styles.innerContainer}>\n {this.renderTop()}\n {this.rendeDetails()}\n {this.renderMessages()}\n </View>\n </ScrollView>\n {this.renderMessagesReply()}\n {this.renderStatusPopup()}\n {this.renderImagePopup()}\n <DateTimePicker\n isVisible={this.state.isDateTimePickerVisible}\n onConfirm={this.onDateSelected}\n onCancel={this.onCloseDatePicker}\n mode={this.state.popUpType}\n headerTextIOS={`Pick a ${this.state.popUpType}`}\n />\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n innerContainer: {\n paddingTop: 23,\n paddingHorizontal: 16,\n },\n jobTitleContainer: {\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 20,\n color: Colours.TEXT_DARKEST,\n marginBottom: 8,\n },\n jobTypeSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n height: 20,\n width: 80,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobStatusDateText: {\n marginTop: 8,\n fontFamily: 'sf-medium',\n fontSize: 13,\n color: Colours.TEXT_LIGHT,\n },\n jobStatusExpectedContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobStatusOuterContainer: {\n // marginRight: 50,\n },\n jobStatusHeading: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: Colours.TEXT_DARK,\n marginBottom: 6,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n width: 120,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n marginRight: 8,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n textAlign: 'center',\n },\n jobExpectedDateContainer: {\n backgroundColor: Colours.BOXGREY,\n flexDirection: 'row',\n width: 115,\n height: 30,\n borderRadius: 4,\n alignItems: 'center',\n paddingLeft: 8,\n },\n jobExpectedDate: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.hexToRGBAstring(Colours.TEXT_DARKEST, 0.5),\n },\n detailsText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n },\n detailsSection: {\n marginTop: 8,\n paddingHorizontal: 0,\n paddingBottom: 12,\n },\n sideBySideImages: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginBottom: 16,\n },\n sideBySideImageContainer: {\n backgroundColor: '#fff',\n width: '48%',\n height: 150,\n borderRadius: 2,\n overflow: 'hidden',\n },\n singleImageContainer: {\n backgroundColor: '#fff',\n width: '100%',\n height: 150,\n flex: 1,\n borderRadius: 2,\n overflow: 'hidden',\n marginBottom: 16,\n },\n imageContainer: {\n height: 150,\n width: 'auto',\n justifyContent: 'center',\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 30,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n plusImages: {\n fontFamily: 'sf-bold',\n fontSize: 32,\n textAlign: 'center',\n color: '#fff',\n textShadowColor: 'rgba(0, 0, 0, 0.5)',\n textShadowOffset: { width: 0, height: 2 },\n textShadowRadius: 8,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n paddingBottom: 16,\n },\n locationLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n },\n locationText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 8,\n },\n requesterLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 10,\n },\n profileContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n nameContainer: {\n marginLeft: 18,\n },\n nameText: {\n fontSize: 'sf-semibold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n marginBottom: 4,\n },\n phoneText: {\n fontSize: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n },\n textSectionInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginTop: 8,\n },\n textSectionLabel: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n lineHeight: 24,\n color: Colours.TEXT_DARKEST,\n },\n textSectionTextContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n textSectionText: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n lineHeight: 24,\n color: Colours.TEXT_LIGHT,\n },\n textSectionAngleRight: {\n fontSize: 24,\n marginLeft: 10,\n lineHeight: 24,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestDetail);\n"]}
1
+ {"version":3,"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","DateTimePicker","Icon","_","moment","connect","generalActions","jobAdded","StatusSelectorPopup","jobStatusOptions","getJobStatusProps","Services","Colours","Helper","Components","Config","RequestDetail","constructor","props","user","job","state","seen","hasPermission","Id","userID","setState","loading","updated","id","status","res","editJob","site","data","error","console","log","expectedDate","utc","toISOString","editJobStatus","navigation","goBack","showStatusPopup","updateJobStatus","navigate","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","getJob","permissions","includes","url","showFullscreenVideo","length","currentVideoUrl","galleryOpen","scrollView","createRef","commentReply","commentSection","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","newState","markSeen","openGallery","index","refs","imagePopup","scrollTo","closeGallery","renderLoading","renderTop","statusText","statusColor","canEdit","showSeen","name","getShadowStyle","styles","jobTitleContainer","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","jobSeenContainer","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","onOpenDatePicker","textSectionAngleRight","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onOpenStatusPicker","jobStatusContainer","jobStatusIcon","jobStatusText","openStaffNotes","Notes","renderPlayableImageUrl","containerStyle","thumbUrl","getThumb300","isVideo","flex","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","images","renderPlayableImage","renderImage","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","image","renderImagePopup","rendeDetails","onToggleDetails","detailsText","detailsSection","description","jobDescriptionText","locationLabel","locationText","room","requesterLabel","profileContainer","userProfilePic","nameContainer","nameText","userName","phone","phoneText","renderMessages","location","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","onLeaveMessage","marginTop","height","renderMessagesReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","render","Platform","OS","container","onPressBack","env","strings","MAINTENANCE_REQUEST_DETAILS","paddingBottom","innerContainer","onDateSelected","onCloseDatePicker","create","paddingVertical","fontFamily","fontSize","TEXT_DARKEST","marginBottom","flexDirection","alignItems","width","borderRadius","justifyContent","textAlign","marginLeft","jobStatusDateText","TEXT_LIGHT","borderTopWidth","borderTopColor","LINEGREY","letterSpacing","TEXT_DARK","marginRight","jobExpectedDateContainer","BOXGREY","paddingLeft","jobExpectedDate","overflow","position","top","left","right","bottom","textShadowColor","textShadowOffset","textShadowRadius","lineHeight","mapStateToProps","getMainBrandingColourFromState"],"sources":["RequestDetail.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground } from 'react-native';\nimport DateTimePicker from 'react-native-modal-datetime-picker';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../apis';\nimport { jobAdded } from '../actions';\nimport StatusSelectorPopup from '../components/StatusSelectorPopup';\nimport { jobStatusOptions, getJobStatusProps } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper, Components, Config } from '../core.config';\n\nclass RequestDetail extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n isDateTimePickerVisible: false,\n popUpType: '',\n status: '',\n expectedDate: null,\n expectedDateText: '',\n seen: false,\n showMore: false,\n showStatusPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n showMessages: false,\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n const newState = { job, status: job.status };\n if (job.expectedDate) {\n newState.expectedDate = moment(job.expectedDate);\n newState.expectedDateText = newState.expectedDate.format('DD/MM/YYYY');\n }\n if (job.seen) newState.seen = job.seen;\n this.setState(newState, () => {\n this.markSeen();\n });\n }\n\n markSeen = () => {\n const { user } = this.props;\n const { job } = this.state;\n // Must have maintenance permission and not the requester\n // console.log('markSeen check', job.userID, user.Id);\n if (job.seen === true) return;\n if (!this.hasPermission()) return;\n if (user.Id === job.userID) return;\n\n this.setState({ loading: true }, async () => {\n try {\n const updated = { id: job.id, seen: true, status: job.status || 'Unassigned' };\n const res = await generalActions.editJob(updated, user.site);\n // console.log('markSeen updated');\n this.props.jobAdded(res.data.job);\n this.setState({ loading: false, seen: true });\n } catch (error) {\n console.log('markSeen error', error);\n this.setState({ loading: false });\n }\n });\n };\n\n updateJob = () => {\n this.setState({ loading: true }, async () => {\n const { user } = this.props;\n const { job } = this.state;\n try {\n const updated = { id: job.id };\n if (this.state.expectedDate) {\n updated.expectedDate = moment(this.state.expectedDate)\n .utc()\n .toISOString();\n }\n const res = await generalActions.editJob(updated, user.site);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJob error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n updateJobStatus = () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await generalActions.editJobStatus(this.props.job.id, this.state.status);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJobStatus error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenStatusPicker = () => {\n this.setState({ showStatusPopup: true });\n };\n\n onCloseStatusPopup = () => {\n this.setState({ showStatusPopup: false });\n };\n\n onSelectStatus = status => {\n this.setState({ status, showStatusPopup: false }, () => {\n this.updateJobStatus();\n });\n };\n\n openStaffNotes = () => {\n Services.navigation.navigate('requestNotes', { job: this.state.job });\n };\n\n onOpenDatePicker = () => {\n this.setState({ popUpType: 'date', isDateTimePickerVisible: true });\n };\n\n onCloseDatePicker = () => {\n this.setState({ isDateTimePickerVisible: false });\n };\n\n onDateSelected = date => {\n if (this.state.popUpType === 'date') {\n date = moment(date);\n this.setState(\n {\n expectedDate: date,\n expectedDateText: date.format('DD/MM/YYYY'),\n isDateTimePickerVisible: false,\n },\n () => {\n this.updateJob();\n },\n );\n }\n };\n\n onToggleDetails = () => {\n this.setState({ showMore: !this.state.showMore });\n };\n\n onLeaveMessage = () => {\n this.setState({ showMessages: true });\n };\n\n onCommentsLoaded = count => {\n if (count > 0) {\n this.setState({ showMessages: true });\n }\n };\n\n onCommentAdded = () => {\n this.setState({ loading: true }, async () => {\n try {\n const job = await generalActions.getJob(this.props.user.site, this.props.job.id);\n // console.log('onCommentAdded', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('onCommentAdded error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n hasPermission = () => {\n const { permissions } = this.props.user;\n return _.includes(permissions, 'maintenanceTracking');\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(index) {\n this.setState({\n galleryOpen: true,\n });\n this.refs.imagePopup.scrollTo(index);\n }\n\n closeGallery() {\n this.setState({\n galleryOpen: false,\n });\n }\n\n renderLoading() {\n return <Components.LoadingIndicator visible={this.state.loading} />;\n }\n\n renderTop() {\n const { status, job } = this.state;\n const { statusText, statusColor } = getJobStatusProps(status);\n const canEdit = this.hasPermission();\n const showSeen = !status || status === jobStatusOptions[0].name;\n\n return (\n <View style={{ ...Helper.getShadowStyle() }}>\n <View style={styles.jobTitleContainer}>\n <Text style={styles.jobTitleText}>{job.title}</Text>\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]}>{job.type}</Text>\n </View>\n {showSeen && this.state.seen && (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n )}\n </View>\n\n {job.lastActivityUnix && (\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Last Updated On</Text>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{moment(job.lastActivityUnix).format('ddd D MMMM, h:mm A')}</Text>\n </View>\n </View>\n )}\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Expected Date</Text>\n <TouchableOpacity onPress={this.onOpenDatePicker}>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{this.state.expectedDateText || 'Select Date'}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.textSectionAngleRight, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </View>\n </View>\n <View style={styles.jobStatusExpectedContainer}>\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STATUS</Text>\n <TouchableOpacity onPress={canEdit ? this.onOpenStatusPicker : null}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </TouchableOpacity>\n </View>\n {this.hasPermission() && (\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STAFF NOTES</Text>\n <TouchableOpacity onPress={this.openStaffNotes}>\n <View style={[styles.jobStatusContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil-square-o\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>Notes ({(job.Notes || []).length})</Text>\n </View>\n </TouchableOpacity>\n </View>\n )}\n </View>\n </View>\n );\n }\n\n renderPlayableImageUrl(url, index, containerStyle, showMore) {\n const thumbUrl = Helper.getThumb300(url);\n\n if (Helper.isVideo(url)) {\n return (\n <ImageBackground style={[{ flex: 1 }, containerStyle]} source={{ uri: thumbUrl }}>\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n </ImageBackground>\n );\n }\n\n const imageUrl = Helper.get1400(url);\n return (\n <TouchableOpacity style={containerStyle} onPress={this.openGallery.bind(this, index || 0)}>\n <ImageBackground style={styles.imageContainer} source={{ uri: imageUrl }}>\n {showMore && <Text style={styles.plusImages}>+{this.state.job.images.length - 2}</Text>}\n </ImageBackground>\n </TouchableOpacity>\n );\n }\n\n renderPlayableImage(index, containerStyle, showMore) {\n const url = this.state.job.images[index];\n return this.renderPlayableImageUrl(url, index, containerStyle, showMore);\n }\n\n renderImage() {\n const { job } = this.state;\n if (!_.isNil(job.images) && !_.isEmpty(job.images)) {\n if (job.images.length >= 2) {\n return (\n <View style={styles.sideBySideImages}>\n {this.renderPlayableImage(0, styles.sideBySideImageContainer)}\n {this.renderPlayableImage(1, styles.sideBySideImageContainer, job.images.length > 2)}\n </View>\n );\n } else {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImage(0)}</View>;\n }\n } else if (!_.isNil(job.image)) {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImageUrl(job.image)}</View>;\n }\n return null;\n }\n\n renderImagePopup() {\n return (\n <Components.ImagePopup\n visible={this.state.galleryOpen}\n images={this.state.job.images || [this.state.job.image]}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n rendeDetails() {\n const { job } = this.state;\n\n return (\n <View>\n <Components.FormCardSectionOptionLauncher\n onPress={this.onToggleDetails}\n title=\"Details\"\n icon={this.state.showMore ? 'angle-up' : 'angle-down'}\n textStyle={styles.detailsText}\n sectionStyle={styles.detailsSection}\n />\n {this.state.showMore && (\n <View>\n {this.renderImage()}\n {!_.isEmpty(job.description) && (\n <Text numberOfLines={10} style={styles.jobDescriptionText}>\n {job.description}\n </Text>\n )}\n <Text style={styles.locationLabel}>Location</Text>\n <Text style={styles.locationText}>{job.room}</Text>\n <Text style={styles.requesterLabel}>Person Requesting</Text>\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={job.userProfilePic} Diameter={40} />\n <View style={styles.nameContainer}>\n <Text style={styles.nameText}>{job.userName}</Text>\n {!_.isEmpty(job.phone) && <Text style={styles.phoneText}>{job.phone}</Text>}\n </View>\n </View>\n </View>\n )}\n </View>\n );\n }\n\n renderMessages() {\n return (\n <View>\n <Components.CommentSection\n ref={this.commentSection}\n commentReply={this.commentReply}\n scrollView={this.scrollView}\n adminPermission=\"maintenanceTracking\"\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n live\n refreshFrequency={10000}\n placeHolder={''}\n style={{ flex: 1, paddingHorizontal: 0, paddingTop: 16 }}\n onCommentsLoaded={this.onCommentsLoaded}\n onCommentAdded={this.onCommentAdded}\n hideAddComment\n disableFlag\n />\n {!this.state.showMessages && (\n <Components.InlineButton\n onPress={this.onLeaveMessage}\n color={this.props.colourBrandingMain}\n touchableStyle={{ marginTop: 10 }}\n style={{ height: 36 }}\n textStyle={{ color: '#fff' }}\n fullWidth\n >\n Leave Message\n </Components.InlineButton>\n )}\n </View>\n );\n }\n\n renderMessagesReply() {\n if (!this.state.showMessages) return null;\n\n return (\n <Components.CommentReply\n ref={this.commentReply}\n commentSection={this.commentSection}\n scrollView={this.scrollView}\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n // noScroll={true}\n // style={{ position: 'absolute', bottom: 0, left: 0, right: 0 }}\n />\n );\n }\n\n renderStatusPopup() {\n if (!this.state.showStatusPopup) return null;\n return <StatusSelectorPopup onClose={this.onCloseStatusPopup} onSelect={this.onSelectStatus} />;\n }\n\n render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={Config.env.strings.MAINTENANCE_REQUEST_DETAILS} />\n {this.renderLoading()}\n <ScrollView ref={this.scrollView} contentContainerStyle={{ paddingBottom: 26 }} style={{ height: '100%' }}>\n <View style={styles.innerContainer}>\n {this.renderTop()}\n {this.rendeDetails()}\n {this.renderMessages()}\n </View>\n </ScrollView>\n {this.renderMessagesReply()}\n {this.renderStatusPopup()}\n {this.renderImagePopup()}\n <DateTimePicker\n isVisible={this.state.isDateTimePickerVisible}\n onConfirm={this.onDateSelected}\n onCancel={this.onCloseDatePicker}\n mode={this.state.popUpType}\n headerTextIOS={`Pick a ${this.state.popUpType}`}\n />\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n innerContainer: {\n paddingTop: 23,\n paddingHorizontal: 16,\n },\n jobTitleContainer: {\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 20,\n color: Colours.TEXT_DARKEST,\n marginBottom: 8,\n },\n jobTypeSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n height: 20,\n width: 80,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobStatusDateText: {\n marginTop: 8,\n fontFamily: 'sf-medium',\n fontSize: 13,\n color: Colours.TEXT_LIGHT,\n },\n jobStatusExpectedContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobStatusOuterContainer: {\n // marginRight: 50,\n },\n jobStatusHeading: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: Colours.TEXT_DARK,\n marginBottom: 6,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n width: 120,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n marginRight: 8,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n textAlign: 'center',\n },\n jobExpectedDateContainer: {\n backgroundColor: Colours.BOXGREY,\n flexDirection: 'row',\n width: 115,\n height: 30,\n borderRadius: 4,\n alignItems: 'center',\n paddingLeft: 8,\n },\n jobExpectedDate: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.hexToRGBAstring(Colours.TEXT_DARKEST, 0.5),\n },\n detailsText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n },\n detailsSection: {\n marginTop: 8,\n paddingHorizontal: 0,\n paddingBottom: 12,\n },\n sideBySideImages: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginBottom: 16,\n },\n sideBySideImageContainer: {\n backgroundColor: '#fff',\n width: '48%',\n height: 150,\n borderRadius: 2,\n overflow: 'hidden',\n },\n singleImageContainer: {\n backgroundColor: '#fff',\n width: '100%',\n height: 150,\n flex: 1,\n borderRadius: 2,\n overflow: 'hidden',\n marginBottom: 16,\n },\n imageContainer: {\n height: 150,\n width: 'auto',\n justifyContent: 'center',\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 30,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n plusImages: {\n fontFamily: 'sf-bold',\n fontSize: 32,\n textAlign: 'center',\n color: '#fff',\n textShadowColor: 'rgba(0, 0, 0, 0.5)',\n textShadowOffset: { width: 0, height: 2 },\n textShadowRadius: 8,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n paddingBottom: 16,\n },\n locationLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n },\n locationText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 8,\n },\n requesterLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 10,\n },\n profileContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n nameContainer: {\n marginLeft: 18,\n },\n nameText: {\n fontSize: 'sf-semibold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n marginBottom: 4,\n },\n phoneText: {\n fontSize: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n },\n textSectionInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginTop: 8,\n },\n textSectionLabel: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n lineHeight: 24,\n color: Colours.TEXT_DARKEST,\n },\n textSectionTextContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n textSectionText: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n lineHeight: 24,\n color: Colours.TEXT_LIGHT,\n },\n textSectionAngleRight: {\n fontSize: 24,\n marginLeft: 10,\n lineHeight: 24,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestDetail);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["RequestNotes.js"],"names":["React","Component","ScrollView","View","Text","TouchableOpacity","Modal","KeyboardAvoidingView","connect","Icon","_","moment","jobAdded","generalActions","getBottomSpace","Services","Components","Colours","Helper","RequestNotes","constructor","props","navigation","goBack","a","setState","selectedPDF","n","noteToDelete","deleteNote","job","id","state","Id","newNotes","filter","Notes","note","newJob","some","noteAttachments","Uploading","isEmpty","noteInput","addNoteOpen","editingNote","newState","Attachments","Note","noteMenuOpen","isReadyToSaveNote","submittingNote","res","editNote","map","Title","Source","addNote","data","err","console","log","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","renderAttachment","i","onOpenAttachment","renderNote","styles","noteContainer","noteContainerTop","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","onCloseAttachment","renderNoteDeleteConfirm","onPressConfirmDelete","onPressCancelDelete","renderFooterContent","confirmAddNote","renderAdd","container","Platform","OS","closeAddNote","scrollContainer","innerContainer","inputSection","attachmentInfo","popupFooter","render","onPressBack","openAddNote","flex","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","color","TEXT_DARKEST","marginTop","TEXT_LIGHT","width","height","borderRadius","justifyContent","marginLeft","sectionHeading","mapStateToProps","getMainBrandingColourFromState","colourBrandingLight","getLightBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper } from '../core.config';\n\nclass RequestNotes extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n selectedPDF: null,\n noteAttachments: [],\n noteInput: '',\n addNoteOpen: false,\n };\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n this.setState({ job });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n onPressDeleteNote = n => {\n this.setState({\n noteToDelete: n,\n });\n };\n\n onPressConfirmDelete = () => {\n generalActions.deleteNote(this.props.job.id, this.state.noteToDelete.Id);\n const newNotes = _.filter(this.state.job.Notes, note => {\n return note.Id !== this.state.noteToDelete.Id;\n });\n const newJob = { ...this.props.job };\n newJob.Notes = newNotes;\n this.props.jobAdded(newJob);\n this.setState({\n job: newJob,\n noteToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ noteToDelete: null });\n };\n\n isReadyToSaveNote = () => {\n if (\n _.some(this.state.noteAttachments, n => {\n return n.Uploading;\n })\n ) {\n return false;\n }\n return !_.isEmpty(this.state.noteInput) || !_.isEmpty(this.state.noteAttachments);\n };\n\n openAddNote = () => {\n this.setState({\n addNoteOpen: true,\n editingNote: null,\n });\n };\n\n closeAddNote = () => {\n const newState = {\n addNoteOpen: false,\n editingNote: null,\n };\n if (!!this.state.editingNote) {\n newState.noteInput = '';\n newState.noteAttachments = [];\n }\n this.setState(newState);\n };\n\n openEditNote = n => {\n this.setState({\n noteAttachments: n.Attachments || [],\n noteInput: n.Note || '',\n addNoteOpen: true,\n editingNote: n.Id,\n noteMenuOpen: null,\n });\n };\n\n confirmAddNote = async () => {\n if (!this.isReadyToSaveNote()) {\n return;\n }\n\n try {\n this.setState({ submittingNote: true });\n const res = await (this.state.editingNote\n ? generalActions.editNote(\n this.props.job.id,\n this.state.editingNote,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n )\n : generalActions.addNote(\n this.props.job.id,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n ));\n this.setState(\n {\n job: res.data.job,\n submittingNote: false,\n addNoteOpen: false,\n noteInput: '',\n noteAttachments: [],\n editingNote: null,\n },\n () => {\n this.props.jobAdded(res.data.job);\n },\n );\n } catch (err) {\n console.log('error');\n console.log(err);\n this.setState({\n submittingNote: false,\n });\n }\n };\n\n renderAttachment(a, i) {\n return (\n <Components.Attachment\n onPress={() => {\n this.onOpenAttachment(a);\n }}\n key={i}\n title={a.Title}\n />\n );\n }\n\n renderNote(n) {\n return (\n <View style={styles.noteContainer} key={n.Id}>\n <View style={styles.noteContainerTop}>\n <Components.ProfilePic Diameter={30} ProfilePic={n.User.profilePic} style={styles.profilePic} />\n <View style={styles.noteContainerTopRight}>\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.onPressDeleteNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.openEditNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n <View style={styles.noteContainerTopFill}>\n <Text style={styles.noteContainerName}>{n.User.displayName}</Text>\n </View>\n </View>\n </View>\n <Text style={styles.noteContainerText}>{n.Note}</Text>\n {(n.Attachments || []).map((a, i) => this.renderAttachment(a, i))}\n <Text style={styles.noteTimestamp}>\n {moment\n .utc(n.Timestamp)\n .local()\n .format(Helper.TIMESTAMP_FORMAT)}\n </Text>\n </View>\n );\n }\n\n renderNotes() {\n return (this.state.job.Notes || []).map((n, i) => {\n return this.renderNote(n, i);\n });\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.Source}\n onClose={this.onCloseAttachment}\n title={this.state.selectedPDF.Title}\n pdfCount={1}\n />\n );\n }\n\n renderNoteDeleteConfirm() {\n return (\n <Components.ConfirmPopup\n visible={!!this.state.noteToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this note?\"\n />\n );\n }\n\n renderFooterContent() {\n if (this.state.submittingNote) {\n return <Components.Spinner />;\n }\n return (\n <Components.InlineButton color={this.props.colourBrandingMain} onPress={this.confirmAddNote} fillTouchable large>\n Save\n </Components.InlineButton>\n );\n }\n\n renderAdd() {\n return (\n <Modal animationType=\"slide\" visible={this.state.addNoteOpen}>\n <KeyboardAvoidingView style={styles.container} behavior={Platform.OS === 'ios' && 'padding'}>\n <Components.Header leftText=\"Cancel\" onPressLeft={this.closeAddNote} text=\"\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n <Components.TextStyle type=\"pageHeading\">Add Staff Note</Components.TextStyle>\n <Components.GenericInputSection\n label=\"Content\"\n placeholder=\"Insert your notes here...\"\n value={this.state.noteInput}\n onChangeText={noteInput => this.setState({ noteInput })}\n isValid={() => {\n return !_.isEmpty(this.state.noteInput);\n }}\n autoCapitalize=\"sentences\"\n minHeight={135}\n autoCorrect\n multiline\n autoGrow\n required\n squaredCorners\n sectionStyle={styles.inputSection}\n />\n <Components.GenericInputSection label=\"Attachments\" sectionStyle={styles.inputSection}>\n {this.state.editingNote ? (\n (this.state.noteAttachments || []).map((a, i) => this.renderAttachment(a, i))\n ) : (\n <Components.TextStyle type=\"body\" style={styles.attachmentInfo}>\n PDFs can only be attached to notes from the Community Manager.\n </Components.TextStyle>\n )}\n </Components.GenericInputSection>\n </ScrollView>\n <View style={styles.popupFooter}>{this.renderFooterContent()}</View>\n </KeyboardAvoidingView>\n </Modal>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n {this.renderPDF()}\n {this.renderNoteDeleteConfirm()}\n {this.renderAdd()}\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text=\"Staff Notes\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n {this.renderNotes()}\n </ScrollView>\n <Components.AddButton onPress={this.openAddNote} />\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#fff',\n },\n scrollContainer: {\n flex: 1,\n },\n innerContainer: {\n padding: 16,\n },\n popupFooter: {\n paddingHorizontal: 16,\n paddingBottom: getBottomSpace() + 16,\n },\n noteContainer: {\n ...Helper.getShadowStyle(),\n padding: 8,\n marginBottom: 16,\n },\n noteContainerTop: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n profilePic: {\n marginRight: 8,\n },\n noteContainerTopFill: {\n flex: 1,\n },\n noteContainerName: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteContainerText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteTimestamp: {\n marginTop: 8,\n fontFamily: 'sf-semibold',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n },\n noteContainerTopRight: {\n flex: 1,\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n noteContainerButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n noteContainerButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n inputSection: {\n marginTop: 24,\n },\n sectionHeading: {\n fontFamily: 'qs-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n attachmentInfo: {\n marginTop: 8,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n colourBrandingLight: Colours.getLightBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestNotes);\n"]}
1
+ {"version":3,"names":["React","Component","ScrollView","View","Text","TouchableOpacity","Modal","KeyboardAvoidingView","connect","Icon","_","moment","jobAdded","generalActions","getBottomSpace","Services","Components","Colours","Helper","RequestNotes","constructor","props","navigation","goBack","a","setState","selectedPDF","n","noteToDelete","deleteNote","job","id","state","Id","newNotes","filter","Notes","note","newJob","some","noteAttachments","Uploading","isEmpty","noteInput","addNoteOpen","editingNote","newState","Attachments","Note","noteMenuOpen","isReadyToSaveNote","submittingNote","res","editNote","map","Title","Source","addNote","data","err","console","log","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","renderAttachment","i","onOpenAttachment","renderNote","styles","noteContainer","noteContainerTop","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","onCloseAttachment","renderNoteDeleteConfirm","onPressConfirmDelete","onPressCancelDelete","renderFooterContent","confirmAddNote","renderAdd","container","Platform","OS","closeAddNote","scrollContainer","innerContainer","inputSection","attachmentInfo","popupFooter","render","onPressBack","openAddNote","flex","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","color","TEXT_DARKEST","marginTop","TEXT_LIGHT","width","height","borderRadius","justifyContent","marginLeft","sectionHeading","mapStateToProps","getMainBrandingColourFromState","colourBrandingLight","getLightBrandingColourFromState"],"sources":["RequestNotes.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper } from '../core.config';\n\nclass RequestNotes extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n selectedPDF: null,\n noteAttachments: [],\n noteInput: '',\n addNoteOpen: false,\n };\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n this.setState({ job });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n onPressDeleteNote = n => {\n this.setState({\n noteToDelete: n,\n });\n };\n\n onPressConfirmDelete = () => {\n generalActions.deleteNote(this.props.job.id, this.state.noteToDelete.Id);\n const newNotes = _.filter(this.state.job.Notes, note => {\n return note.Id !== this.state.noteToDelete.Id;\n });\n const newJob = { ...this.props.job };\n newJob.Notes = newNotes;\n this.props.jobAdded(newJob);\n this.setState({\n job: newJob,\n noteToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ noteToDelete: null });\n };\n\n isReadyToSaveNote = () => {\n if (\n _.some(this.state.noteAttachments, n => {\n return n.Uploading;\n })\n ) {\n return false;\n }\n return !_.isEmpty(this.state.noteInput) || !_.isEmpty(this.state.noteAttachments);\n };\n\n openAddNote = () => {\n this.setState({\n addNoteOpen: true,\n editingNote: null,\n });\n };\n\n closeAddNote = () => {\n const newState = {\n addNoteOpen: false,\n editingNote: null,\n };\n if (!!this.state.editingNote) {\n newState.noteInput = '';\n newState.noteAttachments = [];\n }\n this.setState(newState);\n };\n\n openEditNote = n => {\n this.setState({\n noteAttachments: n.Attachments || [],\n noteInput: n.Note || '',\n addNoteOpen: true,\n editingNote: n.Id,\n noteMenuOpen: null,\n });\n };\n\n confirmAddNote = async () => {\n if (!this.isReadyToSaveNote()) {\n return;\n }\n\n try {\n this.setState({ submittingNote: true });\n const res = await (this.state.editingNote\n ? generalActions.editNote(\n this.props.job.id,\n this.state.editingNote,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n )\n : generalActions.addNote(\n this.props.job.id,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n ));\n this.setState(\n {\n job: res.data.job,\n submittingNote: false,\n addNoteOpen: false,\n noteInput: '',\n noteAttachments: [],\n editingNote: null,\n },\n () => {\n this.props.jobAdded(res.data.job);\n },\n );\n } catch (err) {\n console.log('error');\n console.log(err);\n this.setState({\n submittingNote: false,\n });\n }\n };\n\n renderAttachment(a, i) {\n return (\n <Components.Attachment\n onPress={() => {\n this.onOpenAttachment(a);\n }}\n key={i}\n title={a.Title}\n />\n );\n }\n\n renderNote(n) {\n return (\n <View style={styles.noteContainer} key={n.Id}>\n <View style={styles.noteContainerTop}>\n <Components.ProfilePic Diameter={30} ProfilePic={n.User.profilePic} style={styles.profilePic} />\n <View style={styles.noteContainerTopRight}>\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.onPressDeleteNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.openEditNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n <View style={styles.noteContainerTopFill}>\n <Text style={styles.noteContainerName}>{n.User.displayName}</Text>\n </View>\n </View>\n </View>\n <Text style={styles.noteContainerText}>{n.Note}</Text>\n {(n.Attachments || []).map((a, i) => this.renderAttachment(a, i))}\n <Text style={styles.noteTimestamp}>\n {moment\n .utc(n.Timestamp)\n .local()\n .format(Helper.TIMESTAMP_FORMAT)}\n </Text>\n </View>\n );\n }\n\n renderNotes() {\n return (this.state.job.Notes || []).map((n, i) => {\n return this.renderNote(n, i);\n });\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.Source}\n onClose={this.onCloseAttachment}\n title={this.state.selectedPDF.Title}\n pdfCount={1}\n />\n );\n }\n\n renderNoteDeleteConfirm() {\n return (\n <Components.ConfirmPopup\n visible={!!this.state.noteToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this note?\"\n />\n );\n }\n\n renderFooterContent() {\n if (this.state.submittingNote) {\n return <Components.Spinner />;\n }\n return (\n <Components.InlineButton color={this.props.colourBrandingMain} onPress={this.confirmAddNote} fillTouchable large>\n Save\n </Components.InlineButton>\n );\n }\n\n renderAdd() {\n return (\n <Modal animationType=\"slide\" visible={this.state.addNoteOpen}>\n <KeyboardAvoidingView style={styles.container} behavior={Platform.OS === 'ios' && 'padding'}>\n <Components.Header leftText=\"Cancel\" onPressLeft={this.closeAddNote} text=\"\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n <Components.TextStyle type=\"pageHeading\">Add Staff Note</Components.TextStyle>\n <Components.GenericInputSection\n label=\"Content\"\n placeholder=\"Insert your notes here...\"\n value={this.state.noteInput}\n onChangeText={noteInput => this.setState({ noteInput })}\n isValid={() => {\n return !_.isEmpty(this.state.noteInput);\n }}\n autoCapitalize=\"sentences\"\n minHeight={135}\n autoCorrect\n multiline\n autoGrow\n required\n squaredCorners\n sectionStyle={styles.inputSection}\n />\n <Components.GenericInputSection label=\"Attachments\" sectionStyle={styles.inputSection}>\n {this.state.editingNote ? (\n (this.state.noteAttachments || []).map((a, i) => this.renderAttachment(a, i))\n ) : (\n <Components.TextStyle type=\"body\" style={styles.attachmentInfo}>\n PDFs can only be attached to notes from the Community Manager.\n </Components.TextStyle>\n )}\n </Components.GenericInputSection>\n </ScrollView>\n <View style={styles.popupFooter}>{this.renderFooterContent()}</View>\n </KeyboardAvoidingView>\n </Modal>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n {this.renderPDF()}\n {this.renderNoteDeleteConfirm()}\n {this.renderAdd()}\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text=\"Staff Notes\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n {this.renderNotes()}\n </ScrollView>\n <Components.AddButton onPress={this.openAddNote} />\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#fff',\n },\n scrollContainer: {\n flex: 1,\n },\n innerContainer: {\n padding: 16,\n },\n popupFooter: {\n paddingHorizontal: 16,\n paddingBottom: getBottomSpace() + 16,\n },\n noteContainer: {\n ...Helper.getShadowStyle(),\n padding: 8,\n marginBottom: 16,\n },\n noteContainerTop: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n profilePic: {\n marginRight: 8,\n },\n noteContainerTopFill: {\n flex: 1,\n },\n noteContainerName: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteContainerText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteTimestamp: {\n marginTop: 8,\n fontFamily: 'sf-semibold',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n },\n noteContainerTopRight: {\n flex: 1,\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n noteContainerButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n noteContainerButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n inputSection: {\n marginTop: 24,\n },\n sectionHeading: {\n fontFamily: 'qs-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n attachmentInfo: {\n marginTop: 8,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n colourBrandingLight: Colours.getLightBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestNotes);\n"],"mappings":"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"}