@plusscommunities/pluss-maintenance-app 3.0.1 → 3.0.3-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/JobActions.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/generalActions.js +32 -2
- package/dist/module/apis/generalActions.js.map +1 -1
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/components/FilterPopupMenu.js +5 -19
- package/dist/module/components/FilterPopupMenu.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +15 -51
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +7 -21
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +3 -12
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/StatusSelectorPopup.js +0 -5
- package/dist/module/components/StatusSelectorPopup.js.map +1 -1
- package/dist/module/components/WidgetLarge.js +0 -3
- package/dist/module/components/WidgetLarge.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +6 -23
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/core.config.js.map +1 -1
- package/dist/module/feature.config.js +2 -3
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/helper.js +0 -3
- package/dist/module/helper.js.map +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/reducers/JobsReducer.js +6 -14
- package/dist/module/reducers/JobsReducer.js.map +1 -1
- package/dist/module/screens/JobTypePicker.js +5 -14
- package/dist/module/screens/JobTypePicker.js.map +1 -1
- package/dist/module/screens/MaintenancePage.js +3 -14
- package/dist/module/screens/MaintenancePage.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +15 -59
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +7 -40
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +7 -59
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/package.json +4 -4
- package/src/apis/generalActions.js +27 -0
- package/src/components/MaintenanceList.js +3 -3
- package/src/components/WidgetSmall.js +2 -2
@@ -1 +1 @@
|
|
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
|
+
{"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","_defineProperty","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","createElement","LoadingIndicator","visible","renderTop","statusText","statusColor","canEdit","showSeen","name","style","getShadowStyle","styles","jobTitleContainer","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","jobSeenContainer","iconStyle","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","onPress","onOpenDatePicker","textSectionAngleRight","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onOpenStatusPicker","jobStatusContainer","jobStatusIcon","jobStatusText","openStaffNotes","Notes","renderPlayableImageUrl","containerStyle","thumbUrl","getThumb300","isVideo","flex","source","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","images","renderPlayableImage","renderImage","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","image","renderImagePopup","ImagePopup","onClose","ref","rendeDetails","FormCardSectionOptionLauncher","onToggleDetails","icon","textStyle","detailsText","sectionStyle","detailsSection","description","numberOfLines","jobDescriptionText","locationLabel","locationText","room","requesterLabel","profileContainer","ProfilePic","userProfilePic","Diameter","nameContainer","nameText","userName","phone","phoneText","renderMessages","CommentSection","adminPermission","entityType","entityId","entityName","location","live","refreshFrequency","placeHolder","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","hideAddComment","disableFlag","InlineButton","onLeaveMessage","touchableStyle","marginTop","height","fullWidth","renderMessagesReply","CommentReply","renderStatusPopup","onCloseStatusPopup","onSelect","onSelectStatus","render","behavior","Platform","OS","container","Header","leftIcon","onPressLeft","onPressBack","text","env","strings","MAINTENANCE_REQUEST_DETAILS","contentContainerStyle","paddingBottom","innerContainer","isVisible","onConfirm","onDateSelected","onCancel","onCloseDatePicker","mode","headerTextIOS","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,5 +1,6 @@
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
|
-
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
3
4
|
import React, { Component } from 'react';
|
4
5
|
import { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';
|
5
6
|
import { connect } from 'react-redux';
|
@@ -11,41 +12,34 @@ import { generalActions } from '../apis';
|
|
11
12
|
import { getBottomSpace } from 'react-native-iphone-x-helper';
|
12
13
|
import { Services } from '../feature.config';
|
13
14
|
import { Components, Colours, Helper } from '../core.config';
|
14
|
-
|
15
15
|
class RequestNotes extends Component {
|
16
16
|
constructor(props) {
|
17
17
|
super(props);
|
18
|
-
|
19
18
|
_defineProperty(this, "onPressBack", () => {
|
20
19
|
Services.navigation.goBack();
|
21
20
|
});
|
22
|
-
|
23
21
|
_defineProperty(this, "onOpenAttachment", a => {
|
24
22
|
this.setState({
|
25
23
|
selectedPDF: a
|
26
24
|
});
|
27
25
|
});
|
28
|
-
|
29
26
|
_defineProperty(this, "onCloseAttachment", () => {
|
30
27
|
this.setState({
|
31
28
|
selectedPDF: null
|
32
29
|
});
|
33
30
|
});
|
34
|
-
|
35
31
|
_defineProperty(this, "onPressDeleteNote", n => {
|
36
32
|
this.setState({
|
37
33
|
noteToDelete: n
|
38
34
|
});
|
39
35
|
});
|
40
|
-
|
41
36
|
_defineProperty(this, "onPressConfirmDelete", () => {
|
42
37
|
generalActions.deleteNote(this.props.job.id, this.state.noteToDelete.Id);
|
43
|
-
|
44
38
|
const newNotes = _.filter(this.state.job.Notes, note => {
|
45
39
|
return note.Id !== this.state.noteToDelete.Id;
|
46
40
|
});
|
47
|
-
|
48
|
-
|
41
|
+
const newJob = {
|
42
|
+
...this.props.job
|
49
43
|
};
|
50
44
|
newJob.Notes = newNotes;
|
51
45
|
this.props.jobAdded(newJob);
|
@@ -54,44 +48,36 @@ class RequestNotes extends Component {
|
|
54
48
|
noteToDelete: null
|
55
49
|
});
|
56
50
|
});
|
57
|
-
|
58
51
|
_defineProperty(this, "onPressCancelDelete", () => {
|
59
52
|
this.setState({
|
60
53
|
noteToDelete: null
|
61
54
|
});
|
62
55
|
});
|
63
|
-
|
64
56
|
_defineProperty(this, "isReadyToSaveNote", () => {
|
65
57
|
if (_.some(this.state.noteAttachments, n => {
|
66
58
|
return n.Uploading;
|
67
59
|
})) {
|
68
60
|
return false;
|
69
61
|
}
|
70
|
-
|
71
62
|
return !_.isEmpty(this.state.noteInput) || !_.isEmpty(this.state.noteAttachments);
|
72
63
|
});
|
73
|
-
|
74
64
|
_defineProperty(this, "openAddNote", () => {
|
75
65
|
this.setState({
|
76
66
|
addNoteOpen: true,
|
77
67
|
editingNote: null
|
78
68
|
});
|
79
69
|
});
|
80
|
-
|
81
70
|
_defineProperty(this, "closeAddNote", () => {
|
82
71
|
const newState = {
|
83
72
|
addNoteOpen: false,
|
84
73
|
editingNote: null
|
85
74
|
};
|
86
|
-
|
87
75
|
if (!!this.state.editingNote) {
|
88
76
|
newState.noteInput = '';
|
89
77
|
newState.noteAttachments = [];
|
90
78
|
}
|
91
|
-
|
92
79
|
this.setState(newState);
|
93
80
|
});
|
94
|
-
|
95
81
|
_defineProperty(this, "openEditNote", n => {
|
96
82
|
this.setState({
|
97
83
|
noteAttachments: n.Attachments || [],
|
@@ -101,12 +87,10 @@ class RequestNotes extends Component {
|
|
101
87
|
noteMenuOpen: null
|
102
88
|
});
|
103
89
|
});
|
104
|
-
|
105
90
|
_defineProperty(this, "confirmAddNote", async () => {
|
106
91
|
if (!this.isReadyToSaveNote()) {
|
107
92
|
return;
|
108
93
|
}
|
109
|
-
|
110
94
|
try {
|
111
95
|
this.setState({
|
112
96
|
submittingNote: true
|
@@ -140,7 +124,6 @@ class RequestNotes extends Component {
|
|
140
124
|
});
|
141
125
|
}
|
142
126
|
});
|
143
|
-
|
144
127
|
this.state = {
|
145
128
|
job: {},
|
146
129
|
selectedPDF: null,
|
@@ -149,24 +132,20 @@ class RequestNotes extends Component {
|
|
149
132
|
addNoteOpen: false
|
150
133
|
};
|
151
134
|
}
|
152
|
-
|
153
135
|
componentDidMount() {
|
154
136
|
this.updateJobState();
|
155
137
|
}
|
156
|
-
|
157
138
|
componentDidUpdate(prevProps) {
|
158
139
|
if (prevProps.jobs !== this.props.jobs) {
|
159
140
|
this.updateJobState();
|
160
141
|
}
|
161
142
|
}
|
162
|
-
|
163
143
|
updateJobState() {
|
164
144
|
const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;
|
165
145
|
this.setState({
|
166
146
|
job
|
167
147
|
});
|
168
148
|
}
|
169
|
-
|
170
149
|
renderAttachment(a, i) {
|
171
150
|
return /*#__PURE__*/React.createElement(Components.Attachment, {
|
172
151
|
onPress: () => {
|
@@ -176,7 +155,6 @@ class RequestNotes extends Component {
|
|
176
155
|
title: a.Title
|
177
156
|
});
|
178
157
|
}
|
179
|
-
|
180
158
|
renderNote(n) {
|
181
159
|
return /*#__PURE__*/React.createElement(View, {
|
182
160
|
style: styles.noteContainer,
|
@@ -223,18 +201,15 @@ class RequestNotes extends Component {
|
|
223
201
|
style: styles.noteTimestamp
|
224
202
|
}, moment.utc(n.Timestamp).local().format(Helper.TIMESTAMP_FORMAT)));
|
225
203
|
}
|
226
|
-
|
227
204
|
renderNotes() {
|
228
205
|
return (this.state.job.Notes || []).map((n, i) => {
|
229
206
|
return this.renderNote(n, i);
|
230
207
|
});
|
231
208
|
}
|
232
|
-
|
233
209
|
renderPDF() {
|
234
210
|
if (_.isEmpty(this.state.selectedPDF)) {
|
235
211
|
return null;
|
236
212
|
}
|
237
|
-
|
238
213
|
return /*#__PURE__*/React.createElement(Components.PDFPopup, {
|
239
214
|
source: this.state.selectedPDF.Source,
|
240
215
|
onClose: this.onCloseAttachment,
|
@@ -242,7 +217,6 @@ class RequestNotes extends Component {
|
|
242
217
|
pdfCount: 1
|
243
218
|
});
|
244
219
|
}
|
245
|
-
|
246
220
|
renderNoteDeleteConfirm() {
|
247
221
|
return /*#__PURE__*/React.createElement(Components.ConfirmPopup, {
|
248
222
|
visible: !!this.state.noteToDelete,
|
@@ -252,12 +226,10 @@ class RequestNotes extends Component {
|
|
252
226
|
text: "Are you sure you want to delete this note?"
|
253
227
|
});
|
254
228
|
}
|
255
|
-
|
256
229
|
renderFooterContent() {
|
257
230
|
if (this.state.submittingNote) {
|
258
231
|
return /*#__PURE__*/React.createElement(Components.Spinner, null);
|
259
232
|
}
|
260
|
-
|
261
233
|
return /*#__PURE__*/React.createElement(Components.InlineButton, {
|
262
234
|
color: this.props.colourBrandingMain,
|
263
235
|
onPress: this.confirmAddNote,
|
@@ -265,7 +237,6 @@ class RequestNotes extends Component {
|
|
265
237
|
large: true
|
266
238
|
}, "Save");
|
267
239
|
}
|
268
|
-
|
269
240
|
renderAdd() {
|
270
241
|
return /*#__PURE__*/React.createElement(Modal, {
|
271
242
|
animationType: "slide",
|
@@ -310,7 +281,6 @@ class RequestNotes extends Component {
|
|
310
281
|
style: styles.popupFooter
|
311
282
|
}, this.renderFooterContent())));
|
312
283
|
}
|
313
|
-
|
314
284
|
render() {
|
315
285
|
return /*#__PURE__*/React.createElement(View, {
|
316
286
|
style: styles.container
|
@@ -325,9 +295,7 @@ class RequestNotes extends Component {
|
|
325
295
|
onPress: this.openAddNote
|
326
296
|
}));
|
327
297
|
}
|
328
|
-
|
329
298
|
}
|
330
|
-
|
331
299
|
const styles = {
|
332
300
|
container: {
|
333
301
|
flex: 1,
|
@@ -344,7 +312,8 @@ const styles = {
|
|
344
312
|
paddingHorizontal: 16,
|
345
313
|
paddingBottom: getBottomSpace() + 16
|
346
314
|
},
|
347
|
-
noteContainer: {
|
315
|
+
noteContainer: {
|
316
|
+
...Helper.getShadowStyle(),
|
348
317
|
padding: 8,
|
349
318
|
marginBottom: 16
|
350
319
|
},
|
@@ -404,7 +373,6 @@ const styles = {
|
|
404
373
|
marginTop: 8
|
405
374
|
}
|
406
375
|
};
|
407
|
-
|
408
376
|
const mapStateToProps = state => {
|
409
377
|
return {
|
410
378
|
user: state.user,
|
@@ -413,7 +381,6 @@ const mapStateToProps = state => {
|
|
413
381
|
jobs: state.jobs.jobs
|
414
382
|
};
|
415
383
|
};
|
416
|
-
|
417
384
|
export default connect(mapStateToProps, {
|
418
385
|
jobAdded
|
419
386
|
})(RequestNotes);
|
@@ -1 +1 @@
|
|
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":";;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,SAASC,UAAT,EAAqBC,IAArB,EAA2BC,IAA3B,EAAiCC,gBAAjC,EAAmDC,KAAnD,EAA0DC,oBAA1D,QAAsF,cAAtF;AACA,SAASC,OAAT,QAAwB,aAAxB;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,OAAOC,CAAP,MAAc,QAAd;AACA,OAAOC,MAAP,MAAmB,QAAnB;AACA,SAASC,QAAT,QAAyB,YAAzB;AACA,SAASC,cAAT,QAA+B,SAA/B;AACA,SAASC,cAAT,QAA+B,8BAA/B;AACA,SAASC,QAAT,QAAyB,mBAAzB;AACA,SAASC,UAAT,EAAqBC,OAArB,EAA8BC,MAA9B,QAA4C,gBAA5C;;AAEA,MAAMC,YAAN,SAA2BlB,SAA3B,CAAqC;EACnCmB,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;;IADiB,qCA2BL,MAAM;MAClBN,QAAQ,CAACO,UAAT,CAAoBC,MAApB;IACD,CA7BkB;;IAAA,0CA+BAC,CAAC,IAAI;MACtB,KAAKC,QAAL,CAAc;QACZC,WAAW,EAAEF;MADD,CAAd;IAGD,CAnCkB;;IAAA,2CAqCC,MAAM;MACxB,KAAKC,QAAL,CAAc;QACZC,WAAW,EAAE;MADD,CAAd;IAGD,CAzCkB;;IAAA,2CA2CCC,CAAC,IAAI;MACvB,KAAKF,QAAL,CAAc;QACZG,YAAY,EAAED;MADF,CAAd;IAGD,CA/CkB;;IAAA,8CAiDI,MAAM;MAC3Bd,cAAc,CAACgB,UAAf,CAA0B,KAAKR,KAAL,CAAWS,GAAX,CAAeC,EAAzC,EAA6C,KAAKC,KAAL,CAAWJ,YAAX,CAAwBK,EAArE;;MACA,MAAMC,QAAQ,GAAGxB,CAAC,CAACyB,MAAF,CAAS,KAAKH,KAAL,CAAWF,GAAX,CAAeM,KAAxB,EAA+BC,IAAI,IAAI;QACtD,OAAOA,IAAI,CAACJ,EAAL,KAAY,KAAKD,KAAL,CAAWJ,YAAX,CAAwBK,EAA3C;MACD,CAFgB,CAAjB;;MAGA,MAAMK,MAAM,GAAG,EAAE,GAAG,KAAKjB,KAAL,CAAWS;MAAhB,CAAf;MACAQ,MAAM,CAACF,KAAP,GAAeF,QAAf;MACA,KAAKb,KAAL,CAAWT,QAAX,CAAoB0B,MAApB;MACA,KAAKb,QAAL,CAAc;QACZK,GAAG,EAAEQ,MADO;QAEZV,YAAY,EAAE;MAFF,CAAd;IAID,CA7DkB;;IAAA,6CA+DG,MAAM;MAC1B,KAAKH,QAAL,CAAc;QAAEG,YAAY,EAAE;MAAhB,CAAd;IACD,CAjEkB;;IAAA,2CAmEC,MAAM;MACxB,IACElB,CAAC,CAAC6B,IAAF,CAAO,KAAKP,KAAL,CAAWQ,eAAlB,EAAmCb,CAAC,IAAI;QACtC,OAAOA,CAAC,CAACc,SAAT;MACD,CAFD,CADF,EAIE;QACA,OAAO,KAAP;MACD;;MACD,OAAO,CAAC/B,CAAC,CAACgC,OAAF,CAAU,KAAKV,KAAL,CAAWW,SAArB,CAAD,IAAoC,CAACjC,CAAC,CAACgC,OAAF,CAAU,KAAKV,KAAL,CAAWQ,eAArB,CAA5C;IACD,CA5EkB;;IAAA,qCA8EL,MAAM;MAClB,KAAKf,QAAL,CAAc;QACZmB,WAAW,EAAE,IADD;QAEZC,WAAW,EAAE;MAFD,CAAd;IAID,CAnFkB;;IAAA,sCAqFJ,MAAM;MACnB,MAAMC,QAAQ,GAAG;QACfF,WAAW,EAAE,KADE;QAEfC,WAAW,EAAE;MAFE,CAAjB;;MAIA,IAAI,CAAC,CAAC,KAAKb,KAAL,CAAWa,WAAjB,EAA8B;QAC5BC,QAAQ,CAACH,SAAT,GAAqB,EAArB;QACAG,QAAQ,CAACN,eAAT,GAA2B,EAA3B;MACD;;MACD,KAAKf,QAAL,CAAcqB,QAAd;IACD,CA/FkB;;IAAA,sCAiGJnB,CAAC,IAAI;MAClB,KAAKF,QAAL,CAAc;QACZe,eAAe,EAAEb,CAAC,CAACoB,WAAF,IAAiB,EADtB;QAEZJ,SAAS,EAAEhB,CAAC,CAACqB,IAAF,IAAU,EAFT;QAGZJ,WAAW,EAAE,IAHD;QAIZC,WAAW,EAAElB,CAAC,CAACM,EAJH;QAKZgB,YAAY,EAAE;MALF,CAAd;IAOD,CAzGkB;;IAAA,wCA2GF,YAAY;MAC3B,IAAI,CAAC,KAAKC,iBAAL,EAAL,EAA+B;QAC7B;MACD;;MAED,IAAI;QACF,KAAKzB,QAAL,CAAc;UAAE0B,cAAc,EAAE;QAAlB,CAAd;QACA,MAAMC,GAAG,GAAG,OAAO,KAAKpB,KAAL,CAAWa,WAAX,GACfhC,cAAc,CAACwC,QAAf,CACE,KAAKhC,KAAL,CAAWS,GAAX,CAAeC,EADjB,EAEE,KAAKC,KAAL,CAAWa,WAFb,EAGE,KAAKb,KAAL,CAAWW,SAHb,EAIE,KAAKX,KAAL,CAAWQ,eAAX,CAA2Bc,GAA3B,CAA+B9B,CAAC,IAAI;UAClC,OAAO;YACL+B,KAAK,EAAE/B,CAAC,CAAC+B,KADJ;YAELC,MAAM,EAAEhC,CAAC,CAACgC;UAFL,CAAP;QAID,CALD,CAJF,CADe,GAYf3C,cAAc,CAAC4C,OAAf,CACE,KAAKpC,KAAL,CAAWS,GAAX,CAAeC,EADjB,EAEE,KAAKC,KAAL,CAAWW,SAFb,EAGE,KAAKX,KAAL,CAAWQ,eAAX,CAA2Bc,GAA3B,CAA+B9B,CAAC,IAAI;UAClC,OAAO;YACL+B,KAAK,EAAE/B,CAAC,CAAC+B,KADJ;YAELC,MAAM,EAAEhC,CAAC,CAACgC;UAFL,CAAP;QAID,CALD,CAHF,CAZQ,CAAZ;QAsBA,KAAK/B,QAAL,CACE;UACEK,GAAG,EAAEsB,GAAG,CAACM,IAAJ,CAAS5B,GADhB;UAEEqB,cAAc,EAAE,KAFlB;UAGEP,WAAW,EAAE,KAHf;UAIED,SAAS,EAAE,EAJb;UAKEH,eAAe,EAAE,EALnB;UAMEK,WAAW,EAAE;QANf,CADF,EASE,MAAM;UACJ,KAAKxB,KAAL,CAAWT,QAAX,CAAoBwC,GAAG,CAACM,IAAJ,CAAS5B,GAA7B;QACD,CAXH;MAaD,CArCD,CAqCE,OAAO6B,GAAP,EAAY;QACZC,OAAO,CAACC,GAAR,CAAY,OAAZ;QACAD,OAAO,CAACC,GAAR,CAAYF,GAAZ;QACA,KAAKlC,QAAL,CAAc;UACZ0B,cAAc,EAAE;QADJ,CAAd;MAGD;IACF,CA5JkB;;IAGjB,KAAKnB,KAAL,GAAa;MACXF,GAAG,EAAE,EADM;MAEXJ,WAAW,EAAE,IAFF;MAGXc,eAAe,EAAE,EAHN;MAIXG,SAAS,EAAE,EAJA;MAKXC,WAAW,EAAE;IALF,CAAb;EAOD;;EAEDkB,iBAAiB,GAAG;IAClB,KAAKC,cAAL;EACD;;EAEDC,kBAAkB,CAACC,SAAD,EAAY;IAC5B,IAAIA,SAAS,CAACC,IAAV,KAAmB,KAAK7C,KAAL,CAAW6C,IAAlC,EAAwC;MACtC,KAAKH,cAAL;IACD;EACF;;EAEDA,cAAc,GAAG;IACf,MAAMjC,GAAG,GAAGpB,CAAC,CAACyD,IAAF,CAAO,KAAK9C,KAAL,CAAW6C,IAAlB,EAAwBE,CAAC,IAAIA,CAAC,CAACrC,EAAF,KAAS,KAAKV,KAAL,CAAWS,GAAX,CAAeC,EAArD,KAA4D,KAAKV,KAAL,CAAWS,GAAnF;IACA,KAAKL,QAAL,CAAc;MAAEK;IAAF,CAAd;EACD;;EAqIDuC,gBAAgB,CAAC7C,CAAD,EAAI8C,CAAJ,EAAO;IACrB,oBACE,oBAAC,UAAD,CAAY,UAAZ;MACE,OAAO,EAAE,MAAM;QACb,KAAKC,gBAAL,CAAsB/C,CAAtB;MACD,CAHH;MAIE,GAAG,EAAE8C,CAJP;MAKE,KAAK,EAAE9C,CAAC,CAAC+B;IALX,EADF;EASD;;EAEDiB,UAAU,CAAC7C,CAAD,EAAI;IACZ,oBACE,oBAAC,IAAD;MAAM,KAAK,EAAE8C,MAAM,CAACC,aAApB;MAAmC,GAAG,EAAE/C,CAAC,CAACM;IAA1C,gBACE,oBAAC,IAAD;MAAM,KAAK,EAAEwC,MAAM,CAACE;IAApB,gBACE,oBAAC,UAAD,CAAY,UAAZ;MAAuB,QAAQ,EAAE,EAAjC;MAAqC,UAAU,EAAEhD,CAAC,CAACiD,IAAF,CAAOC,UAAxD;MAAoE,KAAK,EAAEJ,MAAM,CAACI;IAAlF,EADF,eAEE,oBAAC,IAAD;MAAM,KAAK,EAAEJ,MAAM,CAACK;IAApB,GACG,KAAKzD,KAAL,CAAW0D,IAAX,CAAgBC,GAAhB,KAAwBrD,CAAC,CAACiD,IAAF,CAAO7C,EAA/B,iBACC,oBAAC,gBAAD;MACE,OAAO,EAAE,MAAM;QACb,KAAKkD,iBAAL,CAAuBtD,CAAvB;MACD;IAHH,gBAKE,oBAAC,IAAD;MAAM,KAAK,EAAE,CAAC8C,MAAM,CAACS,4BAAR,EAAsC;QAAEC,eAAe,EAAE,KAAK9D,KAAL,CAAW+D;MAA9B,CAAtC;IAAb,gBACE,oBAAC,IAAD;MAAM,IAAI,EAAC,OAAX;MAAmB,IAAI,EAAC,cAAxB;MAAuC,SAAS,EAAEX,MAAM,CAACY;IAAzD,EADF,CALF,CAFJ,EAYG,KAAKhE,KAAL,CAAW0D,IAAX,CAAgBC,GAAhB,KAAwBrD,CAAC,CAACiD,IAAF,CAAO7C,EAA/B,iBACC,oBAAC,gBAAD;MACE,OAAO,EAAE,MAAM;QACb,KAAKuD,YAAL,CAAkB3D,CAAlB;MACD;IAHH,gBAKE,oBAAC,IAAD;MAAM,KAAK,EAAE,CAAC8C,MAAM,CAACS,4BAAR,EAAsC;QAAEC,eAAe,EAAE,KAAK9D,KAAL,CAAW+D;MAA9B,CAAtC;IAAb,gBACE,oBAAC,IAAD;MAAM,IAAI,EAAC,QAAX;MAAoB,IAAI,EAAC,cAAzB;MAAwC,SAAS,EAAEX,MAAM,CAACY;IAA1D,EADF,CALF,CAbJ,eAuBE,oBAAC,IAAD;MAAM,KAAK,EAAEZ,MAAM,CAACc;IAApB,gBACE,oBAAC,IAAD;MAAM,KAAK,EAAEd,MAAM,CAACe;IAApB,GAAwC7D,CAAC,CAACiD,IAAF,CAAOa,WAA/C,CADF,CAvBF,CAFF,CADF,eA+BE,oBAAC,IAAD;MAAM,KAAK,EAAEhB,MAAM,CAACiB;IAApB,GAAwC/D,CAAC,CAACqB,IAA1C,CA/BF,EAgCG,CAACrB,CAAC,CAACoB,WAAF,IAAiB,EAAlB,EAAsBO,GAAtB,CAA0B,CAAC9B,CAAD,EAAI8C,CAAJ,KAAU,KAAKD,gBAAL,CAAsB7C,CAAtB,EAAyB8C,CAAzB,CAApC,CAhCH,eAiCE,oBAAC,IAAD;MAAM,KAAK,EAAEG,MAAM,CAACkB;IAApB,GACGhF,MAAM,CACJiF,GADF,CACMjE,CAAC,CAACkE,SADR,EAEEC,KAFF,GAGEC,MAHF,CAGS7E,MAAM,CAAC8E,gBAHhB,CADH,CAjCF,CADF;EA0CD;;EAEDC,WAAW,GAAG;IACZ,OAAO,CAAC,KAAKjE,KAAL,CAAWF,GAAX,CAAeM,KAAf,IAAwB,EAAzB,EAA6BkB,GAA7B,CAAiC,CAAC3B,CAAD,EAAI2C,CAAJ,KAAU;MAChD,OAAO,KAAKE,UAAL,CAAgB7C,CAAhB,EAAmB2C,CAAnB,CAAP;IACD,CAFM,CAAP;EAGD;;EAED4B,SAAS,GAAG;IACV,IAAIxF,CAAC,CAACgC,OAAF,CAAU,KAAKV,KAAL,CAAWN,WAArB,CAAJ,EAAuC;MACrC,OAAO,IAAP;IACD;;IACD,oBACE,oBAAC,UAAD,CAAY,QAAZ;MACE,MAAM,EAAE,KAAKM,KAAL,CAAWN,WAAX,CAAuB8B,MADjC;MAEE,OAAO,EAAE,KAAK2C,iBAFhB;MAGE,KAAK,EAAE,KAAKnE,KAAL,CAAWN,WAAX,CAAuB6B,KAHhC;MAIE,QAAQ,EAAE;IAJZ,EADF;EAQD;;EAED6C,uBAAuB,GAAG;IACxB,oBACE,oBAAC,UAAD,CAAY,YAAZ;MACE,OAAO,EAAE,CAAC,CAAC,KAAKpE,KAAL,CAAWJ,YADxB;MAEE,SAAS,EAAE,KAAKyE,oBAFlB;MAGE,QAAQ,EAAE,KAAKC,mBAHjB;MAIE,OAAO,EAAE,KAAKA,mBAJhB;MAKE,IAAI,EAAC;IALP,EADF;EASD;;EAEDC,mBAAmB,GAAG;IACpB,IAAI,KAAKvE,KAAL,CAAWmB,cAAf,EAA+B;MAC7B,oBAAO,oBAAC,UAAD,CAAY,OAAZ,OAAP;IACD;;IACD,oBACE,oBAAC,UAAD,CAAY,YAAZ;MAAyB,KAAK,EAAE,KAAK9B,KAAL,CAAW+D,kBAA3C;MAA+D,OAAO,EAAE,KAAKoB,cAA7E;MAA6F,aAAa,MAA1G;MAA2G,KAAK;IAAhH,UADF;EAKD;;EAEDC,SAAS,GAAG;IACV,oBACE,oBAAC,KAAD;MAAO,aAAa,EAAC,OAArB;MAA6B,OAAO,EAAE,KAAKzE,KAAL,CAAWY;IAAjD,gBACE,oBAAC,oBAAD;MAAsB,KAAK,EAAE6B,MAAM,CAACiC,SAApC;MAA+C,QAAQ,EAAEC,QAAQ,CAACC,EAAT,KAAgB,KAAhB,IAAyB;IAAlF,gBACE,oBAAC,UAAD,CAAY,MAAZ;MAAmB,QAAQ,EAAC,QAA5B;MAAqC,WAAW,EAAE,KAAKC,YAAvD;MAAqE,IAAI,EAAC;IAA1E,EADF,eAEE,oBAAC,UAAD;MAAY,KAAK,EAAEpC,MAAM,CAACqC,eAA1B;MAA2C,qBAAqB,EAAErC,MAAM,CAACsC;IAAzE,gBACE,oBAAC,UAAD,CAAY,SAAZ;MAAsB,IAAI,EAAC;IAA3B,oBADF,eAEE,oBAAC,UAAD,CAAY,mBAAZ;MACE,KAAK,EAAC,SADR;MAEE,WAAW,EAAC,2BAFd;MAGE,KAAK,EAAE,KAAK/E,KAAL,CAAWW,SAHpB;MAIE,YAAY,EAAEA,SAAS,IAAI,KAAKlB,QAAL,CAAc;QAAEkB;MAAF,CAAd,CAJ7B;MAKE,OAAO,EAAE,MAAM;QACb,OAAO,CAACjC,CAAC,CAACgC,OAAF,CAAU,KAAKV,KAAL,CAAWW,SAArB,CAAR;MACD,CAPH;MAQE,cAAc,EAAC,WARjB;MASE,SAAS,EAAE,GATb;MAUE,WAAW,MAVb;MAWE,SAAS,MAXX;MAYE,QAAQ,MAZV;MAaE,QAAQ,MAbV;MAcE,cAAc,MAdhB;MAeE,YAAY,EAAE8B,MAAM,CAACuC;IAfvB,EAFF,eAmBE,oBAAC,UAAD,CAAY,mBAAZ;MAAgC,KAAK,EAAC,aAAtC;MAAoD,YAAY,EAAEvC,MAAM,CAACuC;IAAzE,GACG,KAAKhF,KAAL,CAAWa,WAAX,GACC,CAAC,KAAKb,KAAL,CAAWQ,eAAX,IAA8B,EAA/B,EAAmCc,GAAnC,CAAuC,CAAC9B,CAAD,EAAI8C,CAAJ,KAAU,KAAKD,gBAAL,CAAsB7C,CAAtB,EAAyB8C,CAAzB,CAAjD,CADD,gBAGC,oBAAC,UAAD,CAAY,SAAZ;MAAsB,IAAI,EAAC,MAA3B;MAAkC,KAAK,EAAEG,MAAM,CAACwC;IAAhD,oEAJJ,CAnBF,CAFF,eA+BE,oBAAC,IAAD;MAAM,KAAK,EAAExC,MAAM,CAACyC;IAApB,GAAkC,KAAKX,mBAAL,EAAlC,CA/BF,CADF,CADF;EAqCD;;EAEDY,MAAM,GAAG;IACP,oBACE,oBAAC,IAAD;MAAM,KAAK,EAAE1C,MAAM,CAACiC;IAApB,GACG,KAAKR,SAAL,EADH,EAEG,KAAKE,uBAAL,EAFH,EAGG,KAAKK,SAAL,EAHH,eAIE,oBAAC,UAAD,CAAY,MAAZ;MAAmB,QAAQ,EAAC,YAA5B;MAAyC,WAAW,EAAE,KAAKW,WAA3D;MAAwE,IAAI,EAAC;IAA7E,EAJF,eAKE,oBAAC,UAAD;MAAY,KAAK,EAAE3C,MAAM,CAACqC,eAA1B;MAA2C,qBAAqB,EAAErC,MAAM,CAACsC;IAAzE,GACG,KAAKd,WAAL,EADH,CALF,eAQE,oBAAC,UAAD,CAAY,SAAZ;MAAsB,OAAO,EAAE,KAAKoB;IAApC,EARF,CADF;EAYD;;AAxTkC;;AA2TrC,MAAM5C,MAAM,GAAG;EACbiC,SAAS,EAAE;IACTY,IAAI,EAAE,CADG;IAETC,QAAQ,EAAE,UAFD;IAGTpC,eAAe,EAAE;EAHR,CADE;EAMb2B,eAAe,EAAE;IACfQ,IAAI,EAAE;EADS,CANJ;EASbP,cAAc,EAAE;IACdS,OAAO,EAAE;EADK,CATH;EAYbN,WAAW,EAAE;IACXO,iBAAiB,EAAE,EADR;IAEXC,aAAa,EAAE5G,cAAc,KAAK;EAFvB,CAZA;EAgBb4D,aAAa,EAAE,EACb,GAAGxD,MAAM,CAACyG,cAAP,EADU;IAEbH,OAAO,EAAE,CAFI;IAGbI,YAAY,EAAE;EAHD,CAhBF;EAqBbjD,gBAAgB,EAAE;IAChBkD,aAAa,EAAE,KADC;IAEhBC,UAAU,EAAE;EAFI,CArBL;EAyBbjD,UAAU,EAAE;IACVkD,WAAW,EAAE;EADH,CAzBC;EA4BbxC,oBAAoB,EAAE;IACpB+B,IAAI,EAAE;EADc,CA5BT;EA+Bb9B,iBAAiB,EAAE;IACjBwC,UAAU,EAAE,aADK;IAEjBC,QAAQ,EAAE,EAFO;IAGjBC,KAAK,EAAEjH,OAAO,CAACkH;EAHE,CA/BN;EAoCbzC,iBAAiB,EAAE;IACjB0C,SAAS,EAAE,CADM;IAEjBJ,UAAU,EAAE,YAFK;IAGjBC,QAAQ,EAAE,EAHO;IAIjBC,KAAK,EAAEjH,OAAO,CAACkH;EAJE,CApCN;EA0CbxC,aAAa,EAAE;IACbyC,SAAS,EAAE,CADE;IAEbJ,UAAU,EAAE,aAFC;IAGbC,QAAQ,EAAE,EAHG;IAIbC,KAAK,EAAEjH,OAAO,CAACoH;EAJF,CA1CF;EAgDbvD,qBAAqB,EAAE;IACrBwC,IAAI,EAAE,CADe;IAErBO,aAAa,EAAE,aAFM;IAGrBC,UAAU,EAAE;EAHS,CAhDV;EAqDb5C,4BAA4B,EAAE;IAC5BoD,KAAK,EAAE,EADqB;IAE5BC,MAAM,EAAE,EAFoB;IAG5BC,YAAY,EAAE,EAHc;IAI5BV,UAAU,EAAE,QAJgB;IAK5BW,cAAc,EAAE,QALY;IAM5BC,UAAU,EAAE;EANgB,CArDjB;EA6DbrD,uBAAuB,EAAE;IACvB4C,QAAQ,EAAE,EADa;IAEvBC,KAAK,EAAE;EAFgB,CA7DZ;EAiEblB,YAAY,EAAE;IACZoB,SAAS,EAAE;EADC,CAjED;EAoEbO,cAAc,EAAE;IACdX,UAAU,EAAE,SADE;IAEdC,QAAQ,EAAE,EAFI;IAGdC,KAAK,EAAEjH,OAAO,CAACkH;EAHD,CApEH;EAyEblB,cAAc,EAAE;IACdmB,SAAS,EAAE;EADG;AAzEH,CAAf;;AA8EA,MAAMQ,eAAe,GAAG5G,KAAK,IAAI;EAC/B,OAAO;IACL+C,IAAI,EAAE/C,KAAK,CAAC+C,IADP;IAELK,kBAAkB,EAAEnE,OAAO,CAAC4H,8BAAR,CAAuC7G,KAAvC,CAFf;IAGL8G,mBAAmB,EAAE7H,OAAO,CAAC8H,+BAAR,CAAwC/G,KAAxC,CAHhB;IAILkC,IAAI,EAAElC,KAAK,CAACkC,IAAN,CAAWA;EAJZ,CAAP;AAMD,CAPD;;AASA,eAAe1D,OAAO,CAACoI,eAAD,EAAkB;EAAEhI;AAAF,CAAlB,CAAP,CAAuCO,YAAvC,CAAf"}
|
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","_defineProperty","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","createElement","Attachment","onPress","onOpenAttachment","key","title","renderNote","style","styles","noteContainer","noteContainerTop","ProfilePic","Diameter","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","name","type","iconStyle","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","PDFPopup","source","onClose","onCloseAttachment","pdfCount","renderNoteDeleteConfirm","ConfirmPopup","visible","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","text","renderFooterContent","Spinner","InlineButton","color","confirmAddNote","fillTouchable","large","renderAdd","animationType","container","behavior","Platform","OS","Header","leftText","onPressLeft","closeAddNote","scrollContainer","contentContainerStyle","innerContainer","TextStyle","GenericInputSection","label","placeholder","value","onChangeText","isValid","autoCapitalize","minHeight","autoCorrect","multiline","autoGrow","required","squaredCorners","sectionStyle","inputSection","attachmentInfo","popupFooter","render","leftIcon","onPressBack","AddButton","openAddNote","flex","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","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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"}
|