@plusscommunities/pluss-maintenance-app 6.0.7-beta.0 → 6.0.8

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,"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","Platform","DateTimePicker","Icon","_","moment","connect","maintenanceActions","jobAdded","StatusSelectorPopup","jobStatusOptions","getJobStatusProps","Services","Colours","Helper","Components","Config","values","RequestDetail","constructor","props","_defineProperty","console","log","setState","loading","res","getJob","job","site","id","data","updateJobState","error","toString","response","status","forbidden","hasPermission","getAssignees","user","assignees","Users","state","seen","Id","userID","updated","editJob","expectedDate","utc","toISOString","editJobStatus","navigation","goBack","showStatusPopup","updateJobStatus","navigate","screenRequestNotes","onChange","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","permissions","includes","permissionMaintenanceTracking","permissionMaintenanceAssign","AssigneeId","url","showFullscreenVideo","length","currentVideoUrl","options","map","a","key","name","displayName","selection","title","onSelect","onSelectAssignee","assignee","assignJob","galleryOpen","galleryImages","scrollView","createRef","commentReply","commentSection","componentDidMount","defaultJob","find","jobs","j","newState","markSeen","openGallery","index","refs","imagePopup","scrollTo","closeGallery","renderLoading","createElement","LoadingIndicator","visible","renderTop","statusText","statusColor","canEdit","showSeen","style","getShadowStyle","styles","jobTitleContainer","jobId","jobIdText","color","colourBrandingMain","textEntityName","jobTitleText","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","jobTypeText","numberOfLines","type","jobSeenContainer","iconStyle","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onPress","onOpenStatusPicker","jobStatusContainer","jobStatusText","openStaffNotes","jobStatusIcon","Notes","renderPlayableImageUrl","images","containerStyle","thumbUrl","getThumb300","isVideo","flex","source","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","renderPlayableImage","renderImage","image","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","renderImagePopup","ImagePopup","onClose","ref","renderAssignee","Assignee","content","locationLabel","profileContainer","ProfilePic","profilePic","Diameter","nameContainer","nameText","FormCardSectionOptionLauncher","onOpenAssigneePicker","value","textStyle","detailsText","sectionStyle","detailsSection","renderCustomFields","customFields","renderAnswer","field","customText","answer","Array","isArray","join","marginTop","customLabel","label","rendeDetails","hasCustomFields","onToggleDetails","icon","Fragment","description","jobDescriptionText","locationText","room","isHome","homeText","requesterLabel","userProfilePic","userName","phone","phoneText","renderMessages","CommentSection","adminPermission","entityType","featureKey","entityId","entityName","location","live","refreshFrequency","placeHolder","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","hideAddComment","disableFlag","InlineButton","onLeaveMessage","touchableStyle","height","fullWidth","renderMessagesReply","CommentReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","render","Forbidden","behavior","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","marginBottom","TEXT_DARKEST","flexDirection","alignItems","padding","minWidth","maxWidth","borderRadius","justifyContent","textAlign","marginLeft","jobStatusDateText","TEXT_LIGHT","borderTopWidth","borderTopColor","LINEGREY","letterSpacing","TEXT_DARK","width","marginRight","jobExpectedDateContainer","BOXGREY","paddingLeft","jobExpectedDate","overflow","position","top","left","right","bottom","textShadowColor","textShadowOffset","textShadowRadius","lineHeight","textSectionAngleRight","customStaticTitle","customStaticText","mapStateToProps","getMainBrandingColourFromState","reducerKey"],"sources":["RequestDetail.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } 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 { maintenanceActions } 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';\nimport { values } from '../values.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: true,\n showStatusPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n galleryImages: [],\n showMessages: false,\n assignees: [],\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n }\n\n componentDidMount() {\n this.getJob();\n this.updateJobState(this.props.job);\n this.getAssignees();\n }\n\n getJob = async () => {\n console.log('getting job');\n this.setState({ loading: true }, async () => {\n try {\n const res = await maintenanceActions.getJob(this.props.job.site, this.props.job.id);\n this.props.jobAdded(res.data);\n this.updateJobState(res.data);\n } catch (error) {\n console.log('getJob error', error.toString());\n // check for 403 or 404 error\n if (error.response.status === 403 || error.response.status === 404) {\n this.setState({\n forbidden: true,\n });\n }\n console.log('getJob error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n getAssignees = async () => {\n if (!this.hasPermission()) return;\n try {\n const res = await maintenanceActions.getAssignees(this.props.user.site);\n this.setState({ assignees: res.data.Users });\n } catch (error) {\n console.log('getAssignees error', error);\n }\n };\n\n updateJobState(defaultJob) {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || defaultJob;\n if (!job) {\n this.getJob();\n return;\n }\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 maintenanceActions.editJob(updated, user.site);\n // console.log('markSeen updated');\n this.props.jobAdded(res.data.job);\n this.getJob();\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 maintenanceActions.editJob(updated, user.site);\n this.props.jobAdded(res.data.job);\n this.getJob();\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 maintenanceActions.editJobStatus(this.props.job.id, this.state.status);\n this.props.jobAdded(res.data.job);\n this.getJob();\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(values.screenRequestNotes, { job: this.state.job, onChange: this.getJob });\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 maintenanceActions.getJob(this.props.user.site, this.props.job.id);\n // console.log('onCommentAdded', job?.data);\n this.props.jobAdded(job.data);\n this.getJob();\n } catch (error) {\n console.log('onCommentAdded error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n hasPermission = () => {\n const { job } = this.state;\n const { permissions } = this.props.user;\n if (_.includes(permissions, values.permissionMaintenanceTracking)) {\n return true;\n }\n if (_.includes(permissions, values.permissionMaintenanceAssign)) {\n return job.AssigneeId === this.props.user.Id;\n }\n return false;\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(galleryImages, index) {\n this.setState({\n galleryOpen: true,\n galleryImages,\n });\n this.refs.imagePopup.scrollTo(index);\n }\n\n closeGallery() {\n this.setState({\n galleryOpen: false,\n });\n }\n\n onOpenAssigneePicker = () => {\n const options = this.state.assignees.map(a => {\n return { key: a.id, name: a.displayName };\n });\n Services.navigation.navigate('optionSelector', {\n options,\n selection: this.state.job.AssigneeId,\n title: 'Assign request',\n onSelect: this.onSelectAssignee,\n });\n };\n\n onSelectAssignee = assignee => {\n this.setState({ loading: true }, async () => {\n try {\n console.log('onSelectAssignee', this.props.job.id, assignee.key);\n const res = await maintenanceActions.assignJob(this.props.job.id, assignee.key);\n this.props.jobAdded(res.data.job);\n this.getJob();\n } catch (error) {\n console.log('onSelectAssignee error', error);\n } finally {\n this.setState({ loading: false });\n }\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 {job.jobId ? (\n <Text style={[styles.jobIdText, { color: this.props.colourBrandingMain }]}>{`${values.textEntityName} #${job.jobId}`}</Text>\n ) : null}\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 }]} numberOfLines={2}>\n {job.type}\n </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 <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(images, index, containerStyle, showMore) {\n const url = images[index || 0];\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, images, 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(images, index, containerStyle, showMore) {\n return this.renderPlayableImageUrl(images, index, containerStyle, showMore);\n }\n\n renderImage(images, image = null) {\n if (!_.isNil(images) && !_.isEmpty(images)) {\n if (images.length >= 2) {\n return (\n <View style={styles.sideBySideImages}>\n {this.renderPlayableImage(images, 0, styles.sideBySideImageContainer)}\n {this.renderPlayableImage(images, 1, styles.sideBySideImageContainer, images.length > 2)}\n </View>\n );\n } else {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImage(images, 0)}</View>;\n }\n } else if (!_.isNil(image)) {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImageUrl([image], 0)}</View>;\n }\n return null;\n }\n\n renderImagePopup() {\n return (\n <Components.ImagePopup\n visible={this.state.galleryOpen}\n images={this.state.galleryImages}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n renderAssignee() {\n const { job } = this.state;\n if (!this.hasPermission() && !job.Assignee) return null;\n\n const content = (\n <View>\n <Text style={styles.locationLabel}>Assigned To</Text>\n <View>\n {job.Assignee && (\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={job.Assignee.profilePic} Diameter={40} />\n <View style={styles.nameContainer}>\n <Text style={styles.nameText}>{job.Assignee.displayName}</Text>\n </View>\n </View>\n )}\n </View>\n </View>\n );\n\n if (this.hasPermission()) {\n return (\n <Components.FormCardSectionOptionLauncher\n onPress={this.onOpenAssigneePicker}\n title=\"Assigned To\"\n value={job.Assignee ? job.Assignee.displayName : 'Unassigned'}\n textStyle={styles.detailsText}\n sectionStyle={styles.detailsSection}\n >\n {content}\n </Components.FormCardSectionOptionLauncher>\n );\n }\n return content;\n }\n\n renderCustomFields() {\n const { job } = this.state;\n const { customFields } = job;\n\n const renderAnswer = field => {\n switch (field.type) {\n case 'date':\n return <Text style={styles.customText}>{field.answer ? moment(field.answer, 'YYYY-MM-DD').format('DD MMM YYYY') : ''}</Text>;\n case 'time':\n return <Text style={styles.customText}>{field.answer ? moment(field.answer, 'HH:mm').format('h:mm a') : ''}</Text>;\n case 'yn':\n return <Text style={styles.customText}>{field.answer ? 'Yes' : 'No'}</Text>;\n case 'checkbox':\n return <Text style={styles.customText}>{field.answer && Array.isArray(field.answer) ? field.answer.join(', ') : ''}</Text>;\n case 'image':\n return <View style={{ marginTop: 8 }}>{this.renderImage(field.answer)}</View>;\n default:\n return <Text style={styles.customText}>{field.answer}</Text>;\n }\n };\n\n return customFields.map((field, index) => {\n if (['staticTitle', 'staticText'].includes(field.type)) return null;\n if (_.isNil(field.answer) || field.answer === '' || (Array.isArray(field.answer) && field.answer.length === 0)) return null;\n return (\n <View key={index}>\n <Text style={styles.customLabel}>{field.label}</Text>\n {renderAnswer(field)}\n </View>\n );\n });\n }\n\n rendeDetails() {\n const { job } = this.state;\n const { customFields } = job;\n const hasCustomFields = customFields && customFields.length > 0;\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 {hasCustomFields ? this.renderCustomFields() : null}\n {!hasCustomFields ? (\n <>\n {this.renderImage(job.images, job.image)}\n {!_.isEmpty(job.description) && (\n <Text numberOfLines={10} style={styles.jobDescriptionText}>\n {job.description}\n </Text>\n )}\n </>\n ) : null}\n <Text style={styles.locationLabel}>Address</Text>\n <Text style={styles.locationText}>{job.room}</Text>\n {!hasCustomFields && job.isHome ? (\n <View style={styles.detailsSection}>\n <Text style={styles.locationLabel}>Must be home</Text>\n <Text style={styles.locationText}>{job.homeText}</Text>\n </View>\n ) : null}\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={values.permissionMaintenanceTracking}\n entityType={values.featureKey}\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={values.featureKey}\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 if (this.state.forbidden) {\n return <Components.Forbidden />;\n }\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.renderAssignee()}\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 jobIdText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n marginBottom: 4,\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 padding: 4,\n minWidth: 80,\n maxWidth: 140,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n maxWidth: '100%',\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 customLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n },\n customText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 8,\n },\n customStaticTitle: {\n fontSize: 20,\n fontFamily: 'sf-semibold',\n color: Colours.TEXT_DARKEST,\n marginBottom: 10,\n },\n customStaticText: {\n fontSize: 17,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARKEST,\n lineHeight: 24,\n marginBottom: 10,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state[values.reducerKey].jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestDetail);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","Platform","DateTimePicker","Icon","_","moment","connect","maintenanceActions","jobAdded","StatusSelectorPopup","jobStatusOptions","getJobStatusProps","Services","Colours","Helper","Components","Config","values","RequestDetail","constructor","props","_defineProperty","console","log","setState","loading","res","getJob","job","site","id","data","updateJobState","error","toString","response","status","forbidden","hasPermission","getAssignees","user","assignees","Users","state","seen","Id","userID","updated","editJob","expectedDate","utc","toISOString","editJobStatus","navigation","goBack","showStatusPopup","updateJobStatus","navigate","screenRequestNotes","onChange","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","permissions","includes","permissionMaintenanceTracking","permissionMaintenanceAssign","AssigneeId","url","showFullscreenVideo","length","currentVideoUrl","options","map","a","key","name","displayName","selection","title","onSelect","onSelectAssignee","assignee","assignJob","galleryOpen","galleryImages","scrollView","createRef","commentReply","commentSection","componentDidMount","defaultJob","find","jobs","j","newState","markSeen","openGallery","index","refs","imagePopup","scrollTo","closeGallery","renderLoading","createElement","LoadingIndicator","visible","renderTop","statusText","statusColor","canEdit","showSeen","style","getShadowStyle","styles","jobTitleContainer","jobId","jobIdText","color","colourBrandingMain","textEntityName","jobTitleText","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","jobTypeText","numberOfLines","type","jobSeenContainer","iconStyle","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onPress","onOpenStatusPicker","jobStatusContainer","jobStatusText","openStaffNotes","jobStatusIcon","Notes","renderPlayableImageUrl","images","containerStyle","thumbUrl","getThumb300","isVideo","flex","source","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","renderPlayableImage","renderImage","image","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","renderImagePopup","ImagePopup","onClose","ref","renderAssignee","Assignee","content","locationLabel","profileContainer","ProfilePic","profilePic","Diameter","nameContainer","nameText","FormCardSectionOptionLauncher","onOpenAssigneePicker","value","textStyle","detailsText","sectionStyle","detailsSection","renderCustomFields","customFields","renderAnswer","field","customText","answer","Array","isArray","join","marginTop","customLabel","label","rendeDetails","hasCustomFields","onToggleDetails","icon","Fragment","description","jobDescriptionText","locationText","room","isHome","homeText","requesterLabel","userProfilePic","userName","phone","phoneText","renderMessages","CommentSection","adminPermission","entityType","featureKey","entityId","entityName","location","live","refreshFrequency","placeHolder","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","hideAddComment","disableFlag","InlineButton","onLeaveMessage","touchableStyle","height","fullWidth","renderMessagesReply","CommentReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","render","Forbidden","behavior","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","marginBottom","TEXT_DARKEST","flexDirection","alignItems","padding","minWidth","maxWidth","borderRadius","justifyContent","textAlign","marginLeft","jobStatusDateText","TEXT_LIGHT","borderTopWidth","borderTopColor","LINEGREY","letterSpacing","TEXT_DARK","width","marginRight","jobExpectedDateContainer","BOXGREY","paddingLeft","jobExpectedDate","overflow","position","top","left","right","bottom","textShadowColor","textShadowOffset","textShadowRadius","lineHeight","textSectionAngleRight","customStaticTitle","customStaticText","mapStateToProps","getMainBrandingColourFromState","reducerKey"],"sources":["RequestDetail.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } 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 { maintenanceActions } 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';\nimport { values } from '../values.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: true,\n showStatusPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n galleryImages: [],\n showMessages: false,\n assignees: [],\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n }\n\n componentDidMount() {\n this.getJob();\n this.updateJobState(this.props.job);\n this.getAssignees();\n }\n\n getJob = async () => {\n console.log('getting job');\n this.setState({ loading: true }, async () => {\n try {\n const res = await maintenanceActions.getJob(this.props.job.site, this.props.job.id);\n this.props.jobAdded(res.data);\n this.updateJobState(res.data);\n } catch (error) {\n console.log('getJob error', error.toString());\n // check for 403 or 404 error\n if (error.response.status === 403 || error.response.status === 404) {\n this.setState({\n forbidden: true,\n });\n }\n console.log('getJob error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n getAssignees = async () => {\n if (!this.hasPermission()) return;\n try {\n const res = await maintenanceActions.getAssignees(this.props.user.site);\n this.setState({ assignees: res.data.Users });\n } catch (error) {\n console.log('getAssignees error', error);\n }\n };\n\n updateJobState(defaultJob) {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || defaultJob;\n if (!job) {\n this.getJob();\n return;\n }\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 maintenanceActions.editJob(updated, user.site);\n // console.log('markSeen updated');\n this.props.jobAdded(res.data.job);\n this.getJob();\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 maintenanceActions.editJob(updated, user.site);\n this.props.jobAdded(res.data.job);\n this.getJob();\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 maintenanceActions.editJobStatus(this.props.job.id, this.state.status);\n this.props.jobAdded(res.data.job);\n this.getJob();\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(values.screenRequestNotes, { job: this.state.job, onChange: this.getJob });\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 maintenanceActions.getJob(this.props.user.site, this.props.job.id);\n // console.log('onCommentAdded', job?.data);\n this.props.jobAdded(job.data);\n this.getJob();\n } catch (error) {\n console.log('onCommentAdded error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n hasPermission = () => {\n const { job } = this.state;\n const { permissions } = this.props.user;\n if (_.includes(permissions, values.permissionMaintenanceTracking)) {\n return true;\n }\n if (_.includes(permissions, values.permissionMaintenanceAssign)) {\n return job.AssigneeId === this.props.user.Id;\n }\n return false;\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(galleryImages, index) {\n this.setState({\n galleryOpen: true,\n galleryImages,\n });\n this.refs.imagePopup.scrollTo(index);\n }\n\n closeGallery() {\n this.setState({\n galleryOpen: false,\n });\n }\n\n onOpenAssigneePicker = () => {\n const options = this.state.assignees.map(a => {\n return { key: a.id, name: a.displayName };\n });\n Services.navigation.navigate('optionSelector', {\n options,\n selection: this.state.job.AssigneeId,\n title: 'Assign request',\n onSelect: this.onSelectAssignee,\n });\n };\n\n onSelectAssignee = assignee => {\n this.setState({ loading: true }, async () => {\n try {\n console.log('onSelectAssignee', this.props.job.id, assignee.key);\n const res = await maintenanceActions.assignJob(this.props.job.id, assignee.key);\n this.props.jobAdded(res.data.job);\n this.getJob();\n } catch (error) {\n console.log('onSelectAssignee error', error);\n } finally {\n this.setState({ loading: false });\n }\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 {job.jobId ? (\n <Text style={[styles.jobIdText, { color: this.props.colourBrandingMain }]}>{`${values.textEntityName} #${job.jobId}`}</Text>\n ) : null}\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 }]} numberOfLines={2}>\n {job.type}\n </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 <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(images, index, containerStyle, showMore) {\n const url = images[index || 0];\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, images, 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(images, index, containerStyle, showMore) {\n return this.renderPlayableImageUrl(images, index, containerStyle, showMore);\n }\n\n renderImage(images, image = null) {\n if (!_.isNil(images) && !_.isEmpty(images)) {\n if (images.length >= 2) {\n return (\n <View style={styles.sideBySideImages}>\n {this.renderPlayableImage(images, 0, styles.sideBySideImageContainer)}\n {this.renderPlayableImage(images, 1, styles.sideBySideImageContainer, images.length > 2)}\n </View>\n );\n } else {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImage(images, 0)}</View>;\n }\n } else if (!_.isNil(image)) {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImageUrl([image], 0)}</View>;\n }\n return null;\n }\n\n renderImagePopup() {\n return (\n <Components.ImagePopup\n visible={this.state.galleryOpen}\n images={this.state.galleryImages}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n renderAssignee() {\n const { job } = this.state;\n if (!this.hasPermission() && !job.Assignee) return null;\n\n const content = (\n <View>\n <Text style={styles.locationLabel}>Assigned To</Text>\n <View>\n {job.Assignee && (\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={job.Assignee.profilePic} Diameter={40} />\n <View style={styles.nameContainer}>\n <Text style={styles.nameText}>{job.Assignee.displayName}</Text>\n </View>\n </View>\n )}\n </View>\n </View>\n );\n\n if (this.hasPermission()) {\n return (\n <Components.FormCardSectionOptionLauncher\n onPress={this.onOpenAssigneePicker}\n title=\"Assigned To\"\n value={job.Assignee ? job.Assignee.displayName : 'Unassigned'}\n textStyle={styles.detailsText}\n sectionStyle={styles.detailsSection}\n >\n {content}\n </Components.FormCardSectionOptionLauncher>\n );\n }\n return content;\n }\n\n renderCustomFields() {\n const { job } = this.state;\n const { customFields } = job;\n\n const renderAnswer = field => {\n switch (field.type) {\n case 'date':\n return <Text style={styles.customText}>{field.answer ? moment(field.answer, 'YYYY-MM-DD').format('DD MMM YYYY') : ''}</Text>;\n case 'time':\n return <Text style={styles.customText}>{field.answer ? moment(field.answer, 'HH:mm').format('h:mm a') : ''}</Text>;\n case 'yn':\n return <Text style={styles.customText}>{field.answer ? 'Yes' : 'No'}</Text>;\n case 'checkbox':\n return <Text style={styles.customText}>{field.answer && Array.isArray(field.answer) ? field.answer.join(', ') : ''}</Text>;\n case 'image':\n return <View style={{ marginTop: 8 }}>{this.renderImage(field.answer)}</View>;\n default:\n return <Text style={styles.customText}>{field.answer}</Text>;\n }\n };\n\n return customFields.map((field, index) => {\n if (['staticTitle', 'staticText'].includes(field.type)) return null;\n if (_.isNil(field.answer) || field.answer === '' || (Array.isArray(field.answer) && field.answer.length === 0)) return null;\n return (\n <View key={index}>\n <Text style={styles.customLabel}>{field.label}</Text>\n {renderAnswer(field)}\n </View>\n );\n });\n }\n\n rendeDetails() {\n const { job } = this.state;\n const { customFields } = job;\n const hasCustomFields = customFields && customFields.length > 0;\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 {hasCustomFields ? this.renderCustomFields() : null}\n {!hasCustomFields ? (\n <>\n {this.renderImage(job.images, job.image)}\n {!_.isEmpty(job.description) && (\n <Text numberOfLines={10} style={styles.jobDescriptionText}>\n {job.description}\n </Text>\n )}\n </>\n ) : null}\n <Text style={styles.locationLabel}>Address</Text>\n <Text style={styles.locationText}>{job.room}</Text>\n {!hasCustomFields && job.isHome ? (\n <View style={styles.detailsSection}>\n <Text style={styles.locationLabel}>Must be home</Text>\n <Text style={styles.locationText}>{job.homeText}</Text>\n </View>\n ) : null}\n <Text style={styles.requesterLabel}>Submitted By</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={values.permissionMaintenanceTracking}\n entityType={values.featureKey}\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={values.featureKey}\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 if (this.state.forbidden) {\n return <Components.Forbidden />;\n }\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.renderAssignee()}\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 jobIdText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n marginBottom: 4,\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 padding: 4,\n minWidth: 80,\n maxWidth: 140,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n maxWidth: '100%',\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 customLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n },\n customText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 8,\n },\n customStaticTitle: {\n fontSize: 20,\n fontFamily: 'sf-semibold',\n color: Colours.TEXT_DARKEST,\n marginBottom: 10,\n },\n customStaticText: {\n fontSize: 17,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARKEST,\n lineHeight: 24,\n marginBottom: 10,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state[values.reducerKey].jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestDetail);\n"],"mappings":"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","ignoreList":[]}
@@ -347,6 +347,7 @@ class MaintenanceRequest extends Component {
347
347
  fail: false,
348
348
  error: null,
349
349
  showError: false,
350
+ loadingTypes: values.forceCustomFields,
350
351
  userName: '',
351
352
  roomNumber: '',
352
353
  phone: '',
@@ -430,12 +431,12 @@ class MaintenanceRequest extends Component {
430
431
  }, () => this.pickType(this.state.type));
431
432
  }
432
433
  getJobTypes() {
433
- const self = this;
434
434
  maintenanceActions.getJobTypes(Helper.getSite(this.props.site)).then(res => {
435
- self.setState({
435
+ this.setState({
436
436
  types: res.data
437
437
  });
438
- self.getDefaultJob();
438
+ console.log(res.data);
439
+ this.getDefaultJob();
439
440
  }).catch(() => {});
440
441
  }
441
442
  pickType(type) {
@@ -443,9 +444,19 @@ class MaintenanceRequest extends Component {
443
444
  types
444
445
  } = this.state;
445
446
  const selected = types.find(t => t.typeName === type) || {};
447
+ if (values.forceCustomFields && !selected.hasCustomFields) {
448
+ console.log(selected);
449
+ this.setState({
450
+ type,
451
+ customFields: [],
452
+ noType: true
453
+ });
454
+ return;
455
+ }
446
456
  this.setState({
447
457
  type,
448
- customFields: selected.hasCustomFields && selected.customFields.length > 0 ? _.cloneDeep(selected.customFields) : []
458
+ customFields: selected.hasCustomFields && selected.customFields.length > 0 ? _.cloneDeep(selected.customFields) : [],
459
+ loadingTypes: false
449
460
  });
450
461
  }
451
462
  getDefaultJob() {
@@ -786,9 +797,13 @@ class MaintenanceRequest extends Component {
786
797
  }
787
798
  renderForm() {
788
799
  const {
789
- customFields
800
+ customFields,
801
+ loadingTypes
790
802
  } = this.state;
791
803
  const hasCustomFields = customFields && customFields.length > 0;
804
+ if (loadingTypes) {
805
+ return /*#__PURE__*/React.createElement(Components.Spinner, null);
806
+ }
792
807
  return /*#__PURE__*/React.createElement(View, {
793
808
  style: {
794
809
  flex: 1
@@ -966,7 +981,7 @@ class MaintenanceRequest extends Component {
966
981
  }
967
982
  renderRegisterConfirmation() {
968
983
  return /*#__PURE__*/React.createElement(Components.ConfirmationPopup, {
969
- confirmText: 'Request submitted',
984
+ confirmText: `${values.textEntityName} submitted`,
970
985
  repeatText: 'Submit another',
971
986
  visible: this.state.confirmationToShow,
972
987
  onClose: this.onCloseConfirmationPopup.bind(this),
@@ -986,6 +1001,18 @@ class MaintenanceRequest extends Component {
986
1001
  onClose: this.toggleFullscreenVideo
987
1002
  });
988
1003
  }
1004
+ renderNoType() {
1005
+ if (!this.state.noType) {
1006
+ return null;
1007
+ }
1008
+ return /*#__PURE__*/React.createElement(Components.WarningPopup, {
1009
+ confirmText: 'No forms are available',
1010
+ infoText: 'Check back later for forms.',
1011
+ visible: this.state.noType,
1012
+ onClose: this.onPressBack.bind(this),
1013
+ padHorizontal: true
1014
+ });
1015
+ }
989
1016
  render() {
990
1017
  const {
991
1018
  submitting,
@@ -1005,7 +1032,7 @@ class MaintenanceRequest extends Component {
1005
1032
  rightText: submitting || success ? null : 'Done',
1006
1033
  onPressRight: this.submitRequest.bind(this),
1007
1034
  absoluteRight: true
1008
- }), this.renderForm()), this.renderRegisterConfirmation(), this.renderVideoPlayerPopup(), /*#__PURE__*/React.createElement(DateTimePicker, {
1035
+ }), this.renderForm()), this.renderRegisterConfirmation(), this.renderVideoPlayerPopup(), this.renderNoType(), /*#__PURE__*/React.createElement(DateTimePicker, {
1009
1036
  isVisible: isDateTimePickerVisible,
1010
1037
  onConfirm: this.onDateSelected,
1011
1038
  onCancel: () => this.setState({