@plusscommunities/pluss-maintenance-app 8.0.3 → 8.0.5

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.
@@ -792,7 +792,8 @@ class RequestDetail extends Component {
792
792
  onConfirm: this.onDateSelected,
793
793
  onCancel: this.onCloseDatePicker,
794
794
  mode: this.state.popUpType,
795
- headerTextIOS: `Pick a ${this.state.popUpType}`
795
+ headerTextIOS: `Pick a ${this.state.popUpType}`,
796
+ date: new Date()
796
797
  }));
797
798
  }
798
799
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","Platform","DateTimePicker","Icon","_","moment","connect","maintenanceActions","jobAdded","jobStatusesUpdate","jobHideSeenUpdate","StatusSelectorPopup","PrioritySelectorPopup","getJobStatus","getJobPriority","Services","Colours","Helper","Components","Config","values","RequestDetail","constructor","props","_defineProperty","setState","loading","res","getJob","job","site","id","data","updateJobState","error","console","log","toString","response","status","forbidden","hasPermission","getAssignees","user","assignees","Users","state","seen","Id","userID","updated","editJob","expectedDate","utc","toISOString","editJobStatus","editJobPriority","priority","navigation","goBack","showStatusPopup","updateJobStatus","showPriorityPopup","updateJobPriority","navigate","screenRequestNotes","onChange","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","permissions","includes","permissionMaintenanceTracking","permissionMaintenanceAssignment","AssigneeId","url","showFullscreenVideo","length","currentVideoUrl","options","map","a","key","name","displayName","selection","title","onSelect","onSelectAssignee","assignee","assignJob","galleryOpen","galleryImages","selectedPDF","scrollView","createRef","commentReply","commentSection","imagePopup","componentDidMount","defaultJob","find","jobs","j","newState","markSeen","openGallery","index","current","scrollTo","closeGallery","renderLoading","createElement","LoadingIndicator","visible","renderTop","statusOption","canEdit","isStaff","category","showSeen","text","style","getShadowStyle","styles","jobTitleContainer","jobId","jobIdText","color","colourBrandingMain","textEntityName","jobTitleText","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","jobTypeText","numberOfLines","type","hideSeen","jobSeenContainer","iconStyle","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","jobInfoContainer","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onPress","onOpenStatusPicker","jobStatusContainer","jobStatusText","openStaffNotes","jobStatusIcon","Notes","jobPriorityOuterContainer","onOpenPriorityPicker","label","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","renderDocument","documents","document","documentContainer","documentTypeContainer","documentTypeText","ext","documentText","uploading","uploadProgress","renderImagePopup","ImagePopup","onClose","ref","renderDocumentPopup","PDFPopup","pdfCount","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","customImage","customDocument","customLabel","rendeDetails","hasCustomFields","onToggleDetails","icon","Fragment","description","jobDescriptionText","locationText","room","isHome","homeText","requesterLabel","userProfilePic","userName","phone","phoneText","renderMessages","CommentSection","adminPermission","entityType","commentKey","entityId","entityName","location","live","refreshFrequency","placeHolder","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","hideAddComment","disableFlag","InlineButton","onLeaveMessage","touchableStyle","marginTop","height","fullWidth","renderMessagesReply","CommentReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","renderPriorityPopup","onClosePriorityPopup","onSelectPriority","render","Forbidden","behavior","container","Header","leftIcon","onPressLeft","onPressBack","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","statusTypes","jobstatuses"],"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 '@rneui/themed';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { maintenanceActions } from '../apis';\nimport { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';\nimport StatusSelectorPopup from '../components/StatusSelectorPopup';\nimport PrioritySelectorPopup from '../components/PrioritySelectorPopup';\nimport { getJobStatus, getJobPriority } 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 priority: '',\n expectedDate: null,\n expectedDateText: '',\n seen: false,\n showMore: true,\n showStatusPopup: false,\n showPriorityPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n galleryImages: [],\n showMessages: false,\n assignees: [],\n selectedPDF: null,\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n this.imagePopup = React.createRef();\n }\n\n componentDidMount() {\n this.props.jobStatusesUpdate(this.props.job.site);\n this.props.jobHideSeenUpdate(this.props.job.site);\n this.getJob();\n this.updateJobState(this.props.job);\n this.getAssignees();\n }\n\n getJob = async () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await maintenanceActions.getJob(this.props.job.site, this.props.job.id);\n // console.log('getJob', JSON.stringify(res.data, null, 2));\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 updateJobPriority = () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await maintenanceActions.editJobPriority(this.props.job.id, this.state.priority);\n this.props.jobAdded(res.data.job);\n this.getJob();\n } catch (error) {\n console.log('updateJobPriority 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 if (this.state.loading) return;\n this.setState({ status, showStatusPopup: false }, () => {\n this.updateJobStatus();\n });\n };\n\n onOpenPriorityPicker = () => {\n this.setState({ showPriorityPopup: true });\n };\n\n onClosePriorityPopup = () => {\n this.setState({ showPriorityPopup: false });\n };\n\n onSelectPriority = priority => {\n if (this.state.loading) return;\n this.setState({ priority, showPriorityPopup: false }, () => {\n this.updateJobPriority();\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.permissionMaintenanceAssignment)) {\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.imagePopup.current.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 statusOption = getJobStatus(status, this.props);\n const priority = getJobPriority(job.priority);\n const canEdit = this.hasPermission();\n const isStaff = this.props.user.category === 'staff';\n const showSeen = !status || status === getJobStatus(null, this.props).text;\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 {!this.props.hideSeen && 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.jobInfoContainer}>\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: statusOption.color }]}>\n <Text style={styles.jobStatusText}>{statusOption?.text}</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 {isStaff && (\n <View style={styles.jobPriorityOuterContainer}>\n <Text style={styles.jobStatusHeading}>PRIORITY</Text>\n <TouchableOpacity onPress={canEdit ? this.onOpenPriorityPicker : null}>\n <View style={[styles.jobStatusContainer, { backgroundColor: priority.color }]}>\n <Text style={styles.jobStatusText}>{priority.label}</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 renderDocument(documents) {\n const { colourBrandingMain } = this.props;\n\n if (!_.isNil(documents) && !_.isEmpty(documents)) {\n return documents.map((document, index) => {\n return (\n <TouchableOpacity key={index} style={styles.documentContainer} onPress={() => this.setState({ selectedPDF: document })}>\n <View style={{ ...styles.documentTypeContainer, backgroundColor: colourBrandingMain }}>\n <Text style={styles.documentTypeText}>{document.ext}</Text>\n </View>\n <Text style={styles.documentText}>{`${document.name}${document.uploading ? ` - ${document.uploadProgress}` : ''}`}</Text>\n </TouchableOpacity>\n );\n });\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={this.imagePopup}\n />\n );\n }\n\n renderDocumentPopup() {\n if (_.isEmpty(this.state.selectedPDF)) return null;\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.url}\n onClose={() => this.setState({ selectedPDF: null })}\n title={this.state.selectedPDF.name}\n pdfCount={1}\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={styles.customImage}>{this.renderImage(field.answer)}</View>;\n case 'document':\n return <View style={styles.customDocument}>{this.renderDocument(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.commentKey}\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.commentKey}\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 renderPriorityPopup() {\n if (!this.state.showPriorityPopup) return null;\n return <PrioritySelectorPopup onClose={this.onClosePriorityPopup} onSelect={this.onSelectPriority} />;\n }\n\n render() {\n if (this.state.forbidden) {\n return <Components.Forbidden />;\n }\n return (\n <KeyboardAvoidingView behavior={'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.renderPriorityPopup()}\n {this.renderImagePopup()}\n {this.renderDocumentPopup()}\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 jobInfoContainer: {\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobStatusExpectedContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\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 jobPriorityOuterContainer: {\n marginTop: 12,\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 customImage: {\n marginTop: 8,\n },\n customDocument: {\n marginTop: 8,\n marginBottom: 16,\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 documentContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingVertical: 4,\n },\n documentTypeContainer: {\n width: 50,\n height: 60,\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 5,\n marginRight: 8,\n },\n documentTypeText: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n textAlign: 'center',\n },\n documentText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: '#65686D',\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state[values.reducerKey].jobs,\n statusTypes: state[values.reducerKey].jobstatuses,\n hideSeen: state[values.reducerKey].hideSeen,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded, jobStatusesUpdate, jobHideSeenUpdate })(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","jobStatusesUpdate","jobHideSeenUpdate","StatusSelectorPopup","PrioritySelectorPopup","getJobStatus","getJobPriority","Services","Colours","Helper","Components","Config","values","RequestDetail","constructor","props","_defineProperty","setState","loading","res","getJob","job","site","id","data","updateJobState","error","console","log","toString","response","status","forbidden","hasPermission","getAssignees","user","assignees","Users","state","seen","Id","userID","updated","editJob","expectedDate","utc","toISOString","editJobStatus","editJobPriority","priority","navigation","goBack","showStatusPopup","updateJobStatus","showPriorityPopup","updateJobPriority","navigate","screenRequestNotes","onChange","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","permissions","includes","permissionMaintenanceTracking","permissionMaintenanceAssignment","AssigneeId","url","showFullscreenVideo","length","currentVideoUrl","options","map","a","key","name","displayName","selection","title","onSelect","onSelectAssignee","assignee","assignJob","galleryOpen","galleryImages","selectedPDF","scrollView","createRef","commentReply","commentSection","imagePopup","componentDidMount","defaultJob","find","jobs","j","newState","markSeen","openGallery","index","current","scrollTo","closeGallery","renderLoading","createElement","LoadingIndicator","visible","renderTop","statusOption","canEdit","isStaff","category","showSeen","text","style","getShadowStyle","styles","jobTitleContainer","jobId","jobIdText","color","colourBrandingMain","textEntityName","jobTitleText","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","jobTypeText","numberOfLines","type","hideSeen","jobSeenContainer","iconStyle","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","jobInfoContainer","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onPress","onOpenStatusPicker","jobStatusContainer","jobStatusText","openStaffNotes","jobStatusIcon","Notes","jobPriorityOuterContainer","onOpenPriorityPicker","label","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","renderDocument","documents","document","documentContainer","documentTypeContainer","documentTypeText","ext","documentText","uploading","uploadProgress","renderImagePopup","ImagePopup","onClose","ref","renderDocumentPopup","PDFPopup","pdfCount","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","customImage","customDocument","customLabel","rendeDetails","hasCustomFields","onToggleDetails","icon","Fragment","description","jobDescriptionText","locationText","room","isHome","homeText","requesterLabel","userProfilePic","userName","phone","phoneText","renderMessages","CommentSection","adminPermission","entityType","commentKey","entityId","entityName","location","live","refreshFrequency","placeHolder","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","hideAddComment","disableFlag","InlineButton","onLeaveMessage","touchableStyle","marginTop","height","fullWidth","renderMessagesReply","CommentReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","renderPriorityPopup","onClosePriorityPopup","onSelectPriority","render","Forbidden","behavior","container","Header","leftIcon","onPressLeft","onPressBack","env","strings","MAINTENANCE_REQUEST_DETAILS","contentContainerStyle","paddingBottom","innerContainer","isVisible","onConfirm","onDateSelected","onCancel","onCloseDatePicker","mode","headerTextIOS","Date","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","statusTypes","jobstatuses"],"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 '@rneui/themed';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { maintenanceActions } from '../apis';\nimport { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';\nimport StatusSelectorPopup from '../components/StatusSelectorPopup';\nimport PrioritySelectorPopup from '../components/PrioritySelectorPopup';\nimport { getJobStatus, getJobPriority } 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 priority: '',\n expectedDate: null,\n expectedDateText: '',\n seen: false,\n showMore: true,\n showStatusPopup: false,\n showPriorityPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n galleryImages: [],\n showMessages: false,\n assignees: [],\n selectedPDF: null,\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n this.imagePopup = React.createRef();\n }\n\n componentDidMount() {\n this.props.jobStatusesUpdate(this.props.job.site);\n this.props.jobHideSeenUpdate(this.props.job.site);\n this.getJob();\n this.updateJobState(this.props.job);\n this.getAssignees();\n }\n\n getJob = async () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await maintenanceActions.getJob(this.props.job.site, this.props.job.id);\n // console.log('getJob', JSON.stringify(res.data, null, 2));\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 updateJobPriority = () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await maintenanceActions.editJobPriority(this.props.job.id, this.state.priority);\n this.props.jobAdded(res.data.job);\n this.getJob();\n } catch (error) {\n console.log('updateJobPriority 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 if (this.state.loading) return;\n this.setState({ status, showStatusPopup: false }, () => {\n this.updateJobStatus();\n });\n };\n\n onOpenPriorityPicker = () => {\n this.setState({ showPriorityPopup: true });\n };\n\n onClosePriorityPopup = () => {\n this.setState({ showPriorityPopup: false });\n };\n\n onSelectPriority = priority => {\n if (this.state.loading) return;\n this.setState({ priority, showPriorityPopup: false }, () => {\n this.updateJobPriority();\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.permissionMaintenanceAssignment)) {\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.imagePopup.current.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 statusOption = getJobStatus(status, this.props);\n const priority = getJobPriority(job.priority);\n const canEdit = this.hasPermission();\n const isStaff = this.props.user.category === 'staff';\n const showSeen = !status || status === getJobStatus(null, this.props).text;\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 {!this.props.hideSeen && 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.jobInfoContainer}>\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: statusOption.color }]}>\n <Text style={styles.jobStatusText}>{statusOption?.text}</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 {isStaff && (\n <View style={styles.jobPriorityOuterContainer}>\n <Text style={styles.jobStatusHeading}>PRIORITY</Text>\n <TouchableOpacity onPress={canEdit ? this.onOpenPriorityPicker : null}>\n <View style={[styles.jobStatusContainer, { backgroundColor: priority.color }]}>\n <Text style={styles.jobStatusText}>{priority.label}</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 renderDocument(documents) {\n const { colourBrandingMain } = this.props;\n\n if (!_.isNil(documents) && !_.isEmpty(documents)) {\n return documents.map((document, index) => {\n return (\n <TouchableOpacity key={index} style={styles.documentContainer} onPress={() => this.setState({ selectedPDF: document })}>\n <View style={{ ...styles.documentTypeContainer, backgroundColor: colourBrandingMain }}>\n <Text style={styles.documentTypeText}>{document.ext}</Text>\n </View>\n <Text style={styles.documentText}>{`${document.name}${document.uploading ? ` - ${document.uploadProgress}` : ''}`}</Text>\n </TouchableOpacity>\n );\n });\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={this.imagePopup}\n />\n );\n }\n\n renderDocumentPopup() {\n if (_.isEmpty(this.state.selectedPDF)) return null;\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.url}\n onClose={() => this.setState({ selectedPDF: null })}\n title={this.state.selectedPDF.name}\n pdfCount={1}\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={styles.customImage}>{this.renderImage(field.answer)}</View>;\n case 'document':\n return <View style={styles.customDocument}>{this.renderDocument(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.commentKey}\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.commentKey}\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 renderPriorityPopup() {\n if (!this.state.showPriorityPopup) return null;\n return <PrioritySelectorPopup onClose={this.onClosePriorityPopup} onSelect={this.onSelectPriority} />;\n }\n\n render() {\n if (this.state.forbidden) {\n return <Components.Forbidden />;\n }\n return (\n <KeyboardAvoidingView behavior={'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.renderPriorityPopup()}\n {this.renderImagePopup()}\n {this.renderDocumentPopup()}\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 date={new Date()}\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 jobInfoContainer: {\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobStatusExpectedContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\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 jobPriorityOuterContainer: {\n marginTop: 12,\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 customImage: {\n marginTop: 8,\n },\n customDocument: {\n marginTop: 8,\n marginBottom: 16,\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 documentContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingVertical: 4,\n },\n documentTypeContainer: {\n width: 50,\n height: 60,\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 5,\n marginRight: 8,\n },\n documentTypeText: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n textAlign: 'center',\n },\n documentText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: '#65686D',\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state[values.reducerKey].jobs,\n statusTypes: state[values.reducerKey].jobstatuses,\n hideSeen: state[values.reducerKey].hideSeen,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded, jobStatusesUpdate, jobHideSeenUpdate })(RequestDetail);\n"],"mappings":"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","ignoreList":[]}
@@ -1318,7 +1318,8 @@ class MaintenanceRequest extends Component {
1318
1318
  isDateTimePickerVisible: false
1319
1319
  }),
1320
1320
  mode: popUpType,
1321
- headerTextIOS: `Pick a ${popUpType}`
1321
+ headerTextIOS: `Pick a ${popUpType}`,
1322
+ date: new Date()
1322
1323
  }));
1323
1324
  }
1324
1325
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","DateTimePicker","Icon","_","moment","connect","jobAdded","maintenanceActions","userActions","Services","Components","Colours","Helper","Config","values","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","_defineProperty","_this$props$permissio","hasUserManagement","permissions","includes","setState","canCreateOnBehalf","loadSiteUsers","setDefaultUser","response","getSiteUsers","site","users","sortBy","data","Items","u","displayName","toLowerCase","error","console","log","userType","defaultUser","userId","uid","profilePic","selectedUser","userName","roomNumber","unit","phone","isEmpty","phoneNumber","update","state","customFields","some","title","length","navigation","navigate","screenUserPicker","currentUser","onSelectUser","bind","user","Id","fetchUser","userDetails","fieldId","answer","cloneDeep","field","isTitle","undefined","xor","join","dismiss","dateFieldId","popUpType","type","isDateTimePickerVisible","date","dateObj","format","uploadUri","imageUri","imageFieldId","imagesUpdate","getImages","splice","uploading","uploadProgress","allowRetry","setImages","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","documentUri","documentName","documentExt","documentFieldId","documentsUpdate","getDocuments","setDocuments","doc","mandatory","checkMandatory","isBoolean","imagesList","getImageUrls","documentsList","getDocumentAnswers","isArray","isNil","checkFormat","isEmail","isValid","valid","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","images","updatedCustomFields","sendMaintenanceRequest","getSite","then","res","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","id","job","getJob","every","index","isFieldValid","customFieldImages","Array","add","callback","filter","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","clearInterval","customFieldDocuments","name","ext","showFullscreenVideo","currentVideoUrl","fail","showError","loadingTypes","forceCustomFields","types","keyboardTypes","email","text","componentDidMount","checkUserPermissions","getJobTypes","componentWillUnmount","onPressBack","goBack","onPressType","screenJobTypePicker","currentType","onSelectType","pickType","onCloseConfirmationPopup","onBack","onConfirmationReset","getDefaultJob","selected","find","t","typeName","hasCustomFields","noType","jobId","defaultType","submitRequest","connected","message","validateCustomFields","submit","renderImageUploader","createElement","ImageUploader","ref","onUploadStarted","onUploadStartedImage","onUploadSuccess","onUploadSuccessImage","onUploadFailed","onUploadFailedImage","onUploadProgress","onUploadProgressImage","onLibrarySelected","onLibrarySelectedImage","size","quality","fileName","popupTitle","allowsEditing","multiple","hideLibrary","renderImage","item","isVideoUrl","isVideo","activeOpacity","onPress","style","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","iconStyle","addImageIcon","ImageUploadProgress","uploader","color","colourBrandingMain","imageBackground","source","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderDocument","key","documentContainer","documentTypeContainer","backgroundColor","documentTypeText","documentText","removeDocumentButton","removeDocument","removeDocumentIcon","renderSuccess","padding","flex","requestSuccess","renderImageList","imageListContainer","imageListContainerEmpty","keyboardShouldPersistTaps","enableEmptySections","renderItem","keyExtractor","numColumns","renderDateField","sectionStyle","displayText","placeHolder","icon","errorText","GenericInputSection","label","required","dateContainer","dateFieldButton","onOpenDatePicker","dateFieldContainer","dateText","dateIcon","dateClearButton","onClearDate","removeIcon","renderField","marginBottom","inputType","value","onChange","onChangeToggleAnswer","options","o","Label","Value","i","isActive","onChangeCheckboxAnswer","multiChoiceOption","hitSlop","top","left","bottom","right","TickIcon","tick","unticked","multiChoiceText","placeholder","onChangeText","val","onChangeAnswer","editable","squaredCorners","autoCapitalize","keyboardType","staticTitle","staticText","toParagraphed","renderCustomFields","FormCard","renderForm","_this$state$selectedU","_this$state$selectedU2","_this$state$selectedU3","Spinner","paddingBottom","LoadingIndicator","visible","FormCardSection","textValue","hasContent","hasUnderline","borderBottomWidth","borderBottomColor","LINEGREY","onPressUser","userPickerContainer","profileContainer","ProfilePic","Diameter","nameText","sectionTitle","fontSize","onChangeName","paddingHorizontal","paddingVertical","flexDirection","justifyContent","textJobType","marginRight","Fragment","autoCorrect","multiline","autoGrow","alignItems","position","env","strings","MAINTENANCE_HOME","disabled","onValueChange","trackColor","false","true","thumbColor","OS","minHeight","renderRegisterConfirmation","ConfirmationPopup","confirmText","textEntityName","repeatText","onClose","onPressAction","renderVideoPlayerPopup","VideoPopup","showFullscreenButton","renderNoType","WarningPopup","infoText","padHorizontal","render","behavior","viewContainer","container","Header","leftIcon","onPressLeft","featureKey","textFeatureTitle","rightText","onPressRight","absoluteRight","isVisible","onConfirm","onDateSelected","onCancel","mode","headerTextIOS","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","documentListContainer","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","textShadowColor","textShadowOffset","TEXT_DARKEST","lineHeight","TEXT_BLUEGREY","paddingLeft","mapStateToProps","_state$strings","connection","getMainBrandingColourFromState","config"],"sources":["ServiceRequest.js"],"sourcesContent":["import React, { Component } from 'react';\nimport {\n Dimensions,\n Platform,\n KeyboardAvoidingView,\n ScrollView,\n Text,\n TouchableOpacity,\n View,\n Switch,\n FlatList,\n ImageBackground,\n Keyboard,\n} from 'react-native';\nimport DateTimePicker from 'react-native-modal-datetime-picker';\nimport { Icon } from '@rneui/themed';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { jobAdded } from '../actions';\nimport { maintenanceActions, userActions } from '../apis';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper, Config } from '../core.config';\nimport { values } from '../values.config';\n\nconst PHOTO_SIZE = (Dimensions.get('window').width - 64) / 3;\n\nclass MaintenanceRequest extends Component {\n constructor(props) {\n super(props);\n this.state = {\n submitting: false,\n success: false,\n fail: false,\n error: null,\n showError: false,\n loadingTypes: values.forceCustomFields,\n\n userName: '',\n roomNumber: '',\n phone: '',\n title: '',\n description: '',\n times: '',\n\n type: 'General',\n\n uploadingImage: false,\n images: [\n {\n add: true,\n },\n ],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n\n isHome: false,\n\n types: [],\n\n confirmationToShow: false,\n\n customFields: [],\n customFieldImages: {},\n customFieldDocuments: {},\n isDateTimePickerVisible: false,\n popUpType: 'date',\n dateFieldId: null,\n imageFieldId: null,\n\n // PC-1255: On-behalf request fields\n canCreateOnBehalf: false,\n selectedUser: null,\n users: [],\n };\n this.checkThumb = null;\n this.keyboardTypes = {\n phone: 'phone-pad',\n email: 'email-address',\n text: 'default',\n };\n }\n\n componentDidMount() {\n this.checkUserPermissions();\n this.getJobTypes();\n }\n\n checkUserPermissions = async () => {\n // PC-1255: Check if user has userManagement permission\n const hasUserManagement = this.props.permissions?.includes('userManagement') || false;\n\n if (hasUserManagement) {\n this.setState({ canCreateOnBehalf: true });\n // Load site users for picker\n await this.loadSiteUsers();\n } else {\n // Default to logged-in user for non-staff or staff without permission\n this.setDefaultUser();\n }\n };\n\n loadSiteUsers = async () => {\n try {\n const response = await userActions.getSiteUsers(this.props.site);\n // PC-1255: Load all users (not just residents) to match web admin behavior\n const users = _.sortBy(response.data.Items || [], u => (u.displayName || '').toLowerCase());\n this.setState({ users });\n } catch (error) {\n console.log('Error loading site users:', error);\n // Fall back to default user if loading fails\n this.setDefaultUser();\n }\n };\n\n setDefaultUser = () => {\n if (this.props.userType !== 'KIOSK') {\n const defaultUser = {\n userId: this.props.uid,\n displayName: this.props.displayName,\n profilePic: this.props.profilePic,\n };\n this.setState({\n selectedUser: defaultUser,\n userName: this.props.displayName,\n roomNumber: this.props.unit,\n phone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : '',\n });\n }\n };\n\n componentWillUnmount() {\n clearInterval(this.checkThumb);\n }\n\n onChangeName = userName => {\n const update = { userName };\n if (!this.state.customFields || !_.some(this.state.customFields, 'isTitle')) {\n update.title = userName;\n }\n this.setState(update);\n };\n\n // PC-1255: Handle user picker navigation\n onPressUser = () => {\n const { users, selectedUser } = this.state;\n if (!users || users.length === 0) return;\n\n Services.navigation.navigate(values.screenUserPicker, {\n currentUser: selectedUser,\n users,\n onSelectUser: this.onSelectUser.bind(this),\n });\n };\n\n // PC-1255: Handle user selection and auto-populate contact details\n onSelectUser = async user => {\n const update = {\n selectedUser: user,\n userName: user.displayName,\n };\n\n // PC-1255: Try to fetch full user details for auto-population\n try {\n // getSiteUsers returns 'Id', but fetchUser expects 'userId'\n const userId = user.userId || user.Id;\n const response = await userActions.fetchUser(this.props.site, userId);\n if (response.data && response.data.user) {\n const userDetails = response.data.user;\n if (userDetails.phoneNumber) {\n update.phone = userDetails.phoneNumber;\n }\n if (userDetails.unit) {\n update.roomNumber = userDetails.unit;\n }\n }\n } catch (error) {\n // Permission denied (403) or other error - continue without auto-population\n // User can still manually enter contact details\n console.log('Could not fetch user details for auto-population:', error);\n }\n\n this.setState(update);\n };\n\n onChangeAnswer = (fieldId, answer) => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = answer;\n if (field.isTitle) update.title = field.answer;\n this.setState(update);\n };\n\n onChangeToggleAnswer = (fieldId, answer) => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = field.answer === answer ? undefined : answer;\n if (field.isTitle) update.title = field.answer;\n this.setState(update);\n };\n\n onChangeCheckboxAnswer = (fieldId, answer) => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = _.xor(field.answer || [], [answer]);\n if (field.isTitle) update.title = field.answer.join(', ');\n this.setState(update);\n };\n\n onOpenDatePicker = (field, fieldId) => {\n Keyboard.dismiss();\n this.setState({ dateFieldId: fieldId, popUpType: field.type, isDateTimePickerVisible: true });\n };\n\n onClearDate = fieldId => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = undefined;\n if (field.isTitle) update.title = field.answer;\n this.setState(update);\n };\n\n onDateSelected = date => {\n const { customFields, dateFieldId, popUpType } = this.state;\n const update = { customFields: _.cloneDeep(customFields), isDateTimePickerVisible: false, fieldId: null };\n const field = update.customFields[dateFieldId];\n const dateObj = moment(date);\n if (popUpType === 'date') {\n field.answer = dateObj.format('YYYY-MM-DD');\n if (field.isTitle) update.title = dateObj.format('DD MMM YYYY');\n } else {\n field.answer = dateObj.format('HH:mm');\n if (field.isTitle) update.title = dateObj.format('h:mm a');\n }\n this.setState(update);\n };\n\n onUploadStartedImage = (uploadUri, imageUri) => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.splice(imagesUpdate.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onUploadProgressImage = progress => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onUploadSuccessImage = async (uri, uploadUri) => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.map(img => {\n if (img.uploadUri === uploadUri && img.uploading) {\n img.url = uri.replace('/general/', '/general1400/');\n img.thumbNailExists = false;\n img.thumbNailUrl = Helper.getThumb300(img.url);\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, imageFieldId, () => this.waitForThumbnails());\n };\n\n onUploadFailedImage = uploadUri => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.map(img => {\n if (img.uploadUri === uploadUri) {\n img.uploading = true; // Requried for retry\n img.uploadProgress = '';\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onLibrarySelected = uri => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.splice(imagesUpdate.length - 1, 0, {\n uploading: false,\n allowRetry: false,\n url: Helper.get1400(uri),\n thumbNailExists: true,\n thumbNailUrl: Helper.getThumb300(uri),\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onUploadStartedDocument = (uploadUri, documentUri, documentName, documentExt, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.splice(documentsUpdate.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n documentUri,\n documentName,\n documentExt,\n allowRetry: true,\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onUploadProgressDocument = (progress, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.map(doc => {\n if (doc.uploadUri === progress.uri) {\n doc.uploadProgress = progress.percentage;\n doc.uploading = true;\n doc.allowRetry = true;\n }\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onUploadSuccessDocument = async (uri, uploadUri, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.map(doc => {\n if (doc.uploadUri === uploadUri && doc.uploading) {\n doc.uploading = false;\n doc.uploadProgress = '100%';\n doc.url = uri;\n doc.allowRetry = true;\n }\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onUploadFailedDocument = (uploadUri, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.map(doc => {\n if (doc.uploadUri === uploadUri) {\n doc.uploading = true; // Requried for retry\n doc.uploadProgress = '';\n doc.allowRetry = true;\n }\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onPressType() {\n Services.navigation.navigate(values.screenJobTypePicker, {\n currentType: this.state.type,\n types: this.state.types,\n onSelectType: this.pickType.bind(this),\n });\n }\n\n onCloseConfirmationPopup() {\n this.setState({\n confirmationToShow: false,\n });\n Services.navigation.goBack();\n this.props.onBack && this.props.onBack();\n }\n\n onConfirmationReset() {\n this.setState(\n {\n confirmationToShow: false,\n title: '',\n description: '',\n times: '',\n isHome: false,\n uploadingImage: false,\n images: [\n {\n add: true,\n },\n ],\n submitting: false,\n success: false,\n fail: false,\n customFields: [],\n customFieldImages: {},\n customFieldDocuments: {},\n isDateTimePickerVisible: false,\n popUpType: 'date',\n dateFieldId: null,\n imageFieldId: null,\n },\n () => this.pickType(this.state.type),\n );\n }\n\n isFieldValid = (field, fieldId) => {\n const { mandatory, type, answer } = field;\n if (['staticTitle', 'staticText'].includes(type)) return true;\n\n const checkMandatory = () => {\n if (!mandatory) return true;\n switch (type) {\n case 'yn':\n return _.isBoolean(answer);\n case 'image':\n const imagesList = this.getImageUrls(fieldId);\n return imagesList.length > 0;\n case 'document':\n const documentsList = this.getDocumentAnswers(fieldId);\n return documentsList.length > 0;\n case 'checkbox':\n return _.isArray(answer) && answer.length > 0;\n default:\n return !_.isNil(answer) && !_.isEmpty(answer);\n }\n };\n const checkFormat = () => {\n if (_.isNil(answer) || _.isEmpty(answer)) return true;\n switch (type) {\n case 'email':\n return Helper.isEmail(answer);\n case 'date':\n return moment(answer, 'YYYY-MM-DD', true).isValid();\n case 'time':\n return moment(answer, 'HH:mm', true).isValid();\n default:\n return true;\n }\n };\n\n const valid = checkMandatory() && checkFormat();\n return valid;\n };\n\n getJobTypes() {\n maintenanceActions\n .getJobTypes(Helper.getSite(this.props.site))\n .then(res => {\n this.setState({\n types: res.data,\n });\n this.getDefaultJob();\n })\n .catch(() => {});\n }\n\n pickType(type) {\n const { types } = this.state;\n const selected = types.find(t => t.typeName === type) || {};\n if (values.forceCustomFields && !selected.hasCustomFields) {\n this.setState({\n type,\n customFields: [],\n noType: true,\n });\n return;\n }\n const update = {\n type,\n customFields: selected.hasCustomFields && selected.customFields.length > 0 ? _.cloneDeep(selected.customFields) : [],\n loadingTypes: false,\n };\n\n if (!_.isEmpty(update.customFields) && !_.some(update.customFields, 'isTitle')) {\n update.title = this.state.userName;\n }\n\n this.setState(update);\n }\n\n getDefaultJob() {\n const { types, jobId } = this.state;\n if (types.length !== 0 && jobId == null) {\n const defaultType = types[0];\n this.pickType(defaultType.typeName);\n }\n }\n\n showUploadMenu = fieldId => {\n Keyboard.dismiss();\n if (this.state.uploadingImage || this.state.submitting) {\n return;\n }\n if (fieldId) this.setState({ imageFieldId: fieldId });\n this.imageUploader.showUploadMenu();\n };\n\n submit = async () => {\n this.setState({ submitting: true });\n\n let description = this.state.description;\n\n if (this.state.isHome) {\n description = description + `. -- Times Available: ${this.state.times}`;\n }\n\n setTimeout(() => {\n this.scrollContainer.scrollTo({ y: 0 });\n }, 100);\n\n const images = this.getImageUrls();\n\n // Fix custom images field answers\n const customFields = _.cloneDeep(this.state.customFields);\n const updatedCustomFields = customFields.map((field, fieldId) => {\n if (field.type === 'image') field.answer = this.getImageUrls(fieldId);\n if (field.type === 'document') field.answer = this.getDocumentAnswers(fieldId);\n return field;\n });\n\n maintenanceActions\n .sendMaintenanceRequest(\n this.props.uid,\n this.state.userName,\n this.state.phone,\n this.state.roomNumber,\n this.state.title,\n description,\n null,\n this.state.type,\n images,\n Helper.getSite(this.props.site),\n this.state.isHome,\n this.state.times,\n updatedCustomFields,\n )\n .then(res => {\n if (res.data.success) {\n this.refreshRequest(res.data.searchResult);\n if (this.props.onSubmissionSuccess) this.props.onSubmissionSuccess(res.data);\n this.setState({\n submitting: false,\n success: true,\n confirmationToShow: true,\n });\n } else {\n this.setState({\n submitting: false,\n });\n }\n })\n .catch(err => {\n console.log('maintenance submission fail.');\n console.log(err);\n this.setState({\n submitting: false,\n });\n });\n };\n\n refreshRequest = async id => {\n try {\n const job = await maintenanceActions.getJob(Helper.getSite(this.props.site), id);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('refreshRequest error', error);\n }\n };\n\n validateCustomFields = () => {\n const { customFields } = this.state;\n if (!customFields || customFields.length === 0) return true;\n\n return customFields.every((field, index) => {\n const isValid = this.isFieldValid(field, index);\n return isValid;\n });\n };\n\n submitRequest() {\n const { customFields, submitting, uploadingImage, title, roomNumber, isHome, times } = this.state;\n const hasCustomFields = customFields && customFields.length > 0;\n\n if (submitting || !this.props.connected) {\n if (!this.props.connected) {\n this.setState({ error: { message: 'No internet connection detected' } });\n }\n return;\n }\n if (uploadingImage) return;\n\n this.setState({ error: null, showError: false });\n\n // PC-1255: Validate user selection for on-behalf requests\n if (this.state.canCreateOnBehalf && !this.state.selectedUser) {\n console.log('submitRequest - no user selected for on-behalf request');\n this.setState({ showError: true });\n return;\n }\n\n if (title.length === 0 || !roomNumber || roomNumber.length === 0) {\n console.log('submitRequest - error', { title, roomNumber });\n this.setState({ showError: true });\n return;\n }\n if (hasCustomFields) {\n if (!this.validateCustomFields()) {\n console.log('submitRequest - custom fields error');\n this.setState({ showError: true });\n return;\n }\n } else {\n if (isHome && times.length < 2) {\n console.log('submitRequest - error', { isHome, times });\n this.setState({ showError: true });\n return;\n }\n }\n this.submit();\n }\n\n getImages = (fieldId = null) => {\n const { images, customFieldImages } = this.state;\n const imagesList = _.cloneDeep(fieldId ? customFieldImages[fieldId] : images);\n if (!imagesList || !Array.isArray(imagesList) || imagesList.length === 0) {\n return [{ add: true }];\n }\n return imagesList;\n };\n\n setImages = (imagesList, fieldId = null, callback = null) => {\n let update = {};\n if (fieldId) {\n const customFieldImages = _.cloneDeep(this.state.customFieldImages);\n customFieldImages[fieldId] = imagesList;\n update = { customFieldImages };\n } else {\n update = { images: imagesList };\n }\n this.setState(update, callback);\n };\n\n getImageUrls = (fieldId = null) => {\n const imagesList = this.getImages(fieldId);\n return _.filter(imagesList, img => {\n return !img.uploading && !img.add;\n }).map(img => {\n return img.url;\n });\n };\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const { imageFieldId } = this.state;\n const imagesList = this.getImages(imageFieldId);\n const imagesUpdate = [];\n await Promise.all(\n imagesList.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n imagesUpdate.push(newImage);\n if (newImage.url && !newImage.thumbNailExists) {\n newImage.uploading = false;\n newImage.allowRetry = false;\n newImage.thumbNailExists = await Helper.imageExists(newImage.thumbNailUrl);\n resolve(newImage.thumbNailExists);\n }\n resolve(true);\n });\n }),\n );\n const thumbnailsExist = imagesUpdate.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setImages(imagesUpdate, imageFieldId);\n }\n }, 2000);\n };\n\n removeImage = (index, fieldId) => {\n const imagesUpdate = this.getImages(fieldId);\n imagesUpdate.splice(index, 1);\n\n this.setImages(imagesUpdate, fieldId);\n };\n\n getDocuments = fieldId => {\n const { customFieldDocuments } = this.state;\n const documentsList = _.cloneDeep(customFieldDocuments[fieldId]) || [];\n return documentsList;\n };\n\n setDocuments = (documentsList, fieldId) => {\n let update = {};\n const customFieldDocuments = _.cloneDeep(this.state.customFieldDocuments);\n customFieldDocuments[fieldId] = documentsList;\n update = { customFieldDocuments };\n this.setState(update);\n };\n\n getDocumentAnswers = fieldId => {\n const documentsList = this.getDocuments(fieldId);\n return _.filter(documentsList, doc => {\n return !doc.uploading && doc.url;\n }).map(doc => {\n return {\n name: doc.documentName,\n ext: doc.documentExt,\n url: doc.url,\n };\n });\n };\n\n removeDocument = (index, fieldId) => {\n const documentsUpdate = this.getDocuments(fieldId);\n documentsUpdate.splice(index, 1);\n\n this.setDocuments(documentsUpdate, fieldId);\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderImageUploader() {\n return (\n <Components.ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStartedImage}\n onUploadSuccess={this.onUploadSuccessImage}\n onUploadFailed={this.onUploadFailedImage}\n onUploadProgress={this.onUploadProgressImage}\n onLibrarySelected={this.onLibrarySelectedImage}\n size={{ width: 1400 }}\n quality={0.8}\n fileName={'serviceImage'}\n popupTitle={'Upload Image'}\n userId={this.props.uid}\n allowsEditing={false}\n multiple\n hideLibrary\n />\n );\n }\n\n renderImage(item, index, fieldId = null) {\n const isVideoUrl = Helper.isVideo(item.url);\n const imagesList = this.getImages(fieldId);\n\n if (item.add) {\n return (\n <TouchableOpacity activeOpacity={0.8} onPress={() => this.showUploadMenu(fieldId)}>\n <View\n style={[\n styles.imageContainer,\n imagesList.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n <View style={styles.imageCircle}>\n <Icon name=\"camera\" type=\"font-awesome\" iconStyle={styles.addImageIcon} />\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n return (\n <View\n style={[\n styles.imageContainer,\n imagesList.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n {item.uploading ? (\n <Components.ImageUploadProgress uploader={this.imageUploader} image={item} color={this.props.colourBrandingMain} />\n ) : (\n <ImageBackground\n style={styles.imageBackground}\n source={Helper.getImageSource(item.thumbNailExists ? item.thumbNailUrl : item.url)}\n >\n {isVideoUrl && (\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, item.url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n )}\n <TouchableOpacity style={styles.removeImage} onPress={() => this.removeImage(index, fieldId)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} style={styles.removeImage} />\n </TouchableOpacity>\n </ImageBackground>\n )}\n </View>\n );\n }\n\n renderDocument(item, index, fieldId) {\n const { colourBrandingMain } = this.props;\n return (\n <View key={index} style={styles.documentContainer}>\n <View style={{ ...styles.documentTypeContainer, backgroundColor: colourBrandingMain }}>\n <Text style={styles.documentTypeText}>{item.documentExt}</Text>\n </View>\n <Text style={styles.documentText}>{`${item.documentName}${item.uploading ? ` - ${item.uploadProgress}` : ''}`}</Text>\n {!item.uploading && (\n <TouchableOpacity style={styles.removeDocumentButton} onPress={() => this.removeDocument(index, fieldId)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={{ ...styles.removeDocumentIcon, color: colourBrandingMain }} />\n </TouchableOpacity>\n )}\n </View>\n );\n }\n\n renderSuccess() {\n return (\n <View style={{ padding: 16, flex: 1, backgroundColor: '#fff' }}>\n <Text style={styles.requestSuccess}>Your request has been submitted. Thank you.</Text>\n </View>\n );\n }\n\n renderImageList(fieldId = null) {\n const imagesList = this.getImages(fieldId);\n return (\n <View style={[styles.imageListContainer, imagesList.length < 2 && styles.imageListContainerEmpty]}>\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n enableEmptySections\n data={imagesList}\n renderItem={({ item, index }) => this.renderImage(item, index, fieldId)}\n keyExtractor={(item, index) => index}\n numColumns={3}\n />\n </View>\n );\n }\n\n // renderDocumentList(fieldId) {\n // const documentsList = this.getDocuments(fieldId);\n // return (\n // <View style={styles.documentListContainer}>\n // {documentsList.length > 0 ? documentsList.map((document, index) => this.renderDocument(document, index, fieldId)) : null}\n // <Components.DocumentUploader\n // buttonTitle=\"Add Files\"\n // allowedTypes={['application/pdf']}\n // onUploadStarted={(uploadUri, uri, name, ext) => this.onUploadStartedDocument(uploadUri, uri, name, ext, fieldId)}\n // onUploadProgress={progress => this.onUploadProgressDocument(progress, fieldId)}\n // onUploadSuccess={(uri, uploadUri) => this.onUploadSuccessDocument(uri, uploadUri, fieldId)}\n // onUploadFailed={uploadUri => this.onUploadFailedDocument(uploadUri, fieldId)}\n // fileName=\"serviceDocument\"\n // userId={this.props.uid}\n // disabled={false}\n // multiple\n // />\n // </View>\n // );\n // }\n\n renderDateField(field, fieldId, sectionStyle) {\n let displayText, placeHolder, icon, errorText;\n if (field.type === 'date') {\n displayText = field.answer ? moment(field.answer, 'YYYY-MM-DD').format('DD MMM YYYY') : '';\n placeHolder = 'dd mmm yyyy';\n icon = 'calendar';\n errorText = 'Not a valid date';\n } else {\n displayText = field.answer ? moment(field.answer, 'HH:mm').format('h:mm a') : '';\n placeHolder = '--:-- --';\n icon = 'clock-o';\n errorText = 'Not a valid time';\n }\n\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n isValid={() => this.isFieldValid(field, fieldId)}\n required={field.mandatory}\n showError={this.state.showError}\n errorText={errorText}\n >\n <View style={styles.dateContainer}>\n <TouchableOpacity style={styles.dateFieldButton} onPress={() => this.onOpenDatePicker(field, fieldId)}>\n <View style={styles.dateFieldContainer}>\n <Text style={styles.dateText}>{displayText || placeHolder}</Text>\n <Icon type=\"font-awesome\" name={icon} iconStyle={styles.dateIcon} />\n </View>\n </TouchableOpacity>\n {displayText ? (\n <TouchableOpacity style={styles.dateClearButton} onPress={() => this.onClearDate(fieldId)}>\n <Icon type=\"font-awesome\" name=\"times\" iconStyle={styles.removeIcon} />\n </TouchableOpacity>\n ) : null}\n </View>\n </Components.GenericInputSection>\n );\n }\n\n renderField(field, fieldId) {\n const sectionStyle = { marginTop: fieldId === 0 ? 24 : 0, marginBottom: 24 };\n switch (field.type) {\n case 'yn':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n inputType=\"toggle\"\n value={field.answer}\n onChange={answer => this.onChangeToggleAnswer(fieldId, answer)}\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n required={field.mandatory}\n />\n );\n case 'multichoice':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n inputType=\"radio\"\n value={field.answer}\n onChange={answer => this.onChangeToggleAnswer(fieldId, answer)}\n options={field.values.map(o => {\n return {\n Label: o,\n Value: o,\n };\n })}\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n required={field.mandatory}\n />\n );\n case 'checkbox':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n required={field.mandatory}\n >\n {field.values.map((o, i) => {\n const isActive = field.answer && _.includes(field.answer, o);\n return (\n <TouchableOpacity\n onPress={() => this.onChangeCheckboxAnswer(fieldId, o)}\n key={i}\n style={styles.multiChoiceOption}\n hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n >\n {isActive ? (\n <Components.TickIcon style={styles.tick} size={20} color={this.props.colourBrandingMain} />\n ) : (\n <View style={styles.unticked} />\n )}\n <Text style={styles.multiChoiceText}>{o}</Text>\n </TouchableOpacity>\n );\n })}\n </Components.GenericInputSection>\n );\n case 'text':\n case 'email':\n case 'phone':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n placeholder={field.placeHolder}\n value={field.answer}\n onChangeText={val => this.onChangeAnswer(fieldId, val)}\n editable\n squaredCorners\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n errorText={field.type === 'email' ? 'Not a valid email' : undefined}\n required={field.mandatory}\n sectionStyle={sectionStyle}\n autoCapitalize=\"sentences\"\n keyboardType={this.keyboardTypes[field.type]}\n />\n );\n case 'staticTitle':\n return (\n <Text key={fieldId} style={[styles.staticTitle, { color: this.props.colourBrandingMain }, sectionStyle]}>\n {field.label}\n </Text>\n );\n case 'staticText':\n return (\n <View key={fieldId} style={[styles.staticText, sectionStyle]}>\n {Helper.toParagraphed(field.label, styles.staticText)}\n </View>\n );\n case 'date':\n case 'time':\n return this.renderDateField(field, fieldId, sectionStyle);\n case 'image':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n isValid={() => this.isFieldValid(field, fieldId)}\n required={field.mandatory}\n showError={this.state.showError}\n >\n {this.renderImageList(fieldId)}\n </Components.GenericInputSection>\n );\n // case 'document':\n // return (\n // <Components.GenericInputSection\n // key={fieldId}\n // label={field.label}\n // sectionStyle={sectionStyle}\n // isValid={() => this.isFieldValid(field, fieldId)}\n // required={field.mandatory}\n // showError={this.state.showError}\n // >\n // {this.renderDocumentList(fieldId)}\n // </Components.GenericInputSection>\n // );\n default:\n return null;\n }\n }\n\n renderCustomFields() {\n const { customFields } = this.state;\n if (!customFields || customFields.length === 0) return null;\n\n return (\n <Components.FormCard style={{ marginTop: 16 }}>{customFields.map((field, i) => this.renderField(field, i))}</Components.FormCard>\n );\n }\n\n renderForm() {\n const { customFields, loadingTypes } = this.state;\n const hasCustomFields = customFields && customFields.length > 0;\n\n if (loadingTypes) {\n return <Components.Spinner />;\n }\n\n return (\n <View style={{ flex: 1 }}>\n <ScrollView keyboardShouldPersistTaps=\"always\" style={{ flex: 1 }} ref={ref => (this.scrollContainer = ref)}>\n <View style={{ paddingBottom: 2 }}>\n <Components.LoadingIndicator visible={this.state.submitting} />\n {this.state.error && <Text style={styles.errorText}>{this.state.error}</Text>}\n <Components.FormCard style={{ marginTop: 16 }}>\n {/* PC-1255: User picker for on-behalf requests */}\n {this.state.canCreateOnBehalf && (\n <Components.FormCardSection\n label={'Select User'}\n textValue={this.state.selectedUser?.displayName}\n hasContent\n hasUnderline\n required\n errorText=\"Please select a user.\"\n showError={this.state.showError && !this.state.selectedUser}\n sectionStyle={{ borderBottomWidth: 1, borderBottomColor: Colours.LINEGREY }}\n >\n <TouchableOpacity onPress={this.onPressUser}>\n <View style={styles.userPickerContainer}>\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={this.state.selectedUser?.profilePic} Diameter={30} />\n <Text style={styles.nameText}>{this.state.selectedUser?.displayName || 'Select User'}</Text>\n </View>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.sectionTitle, { fontSize: 20, color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </Components.FormCardSection>\n )}\n {/* PC-1255: Hide Name field when creating on behalf - name comes from selected user */}\n {!this.state.canCreateOnBehalf && (\n <Components.FormCardSection\n label={'Name'}\n placeholder={'Enter your name'}\n textValue={this.state.userName}\n onChangeText={userName => this.onChangeName(userName)}\n editable={this.props.userType === 'KIOSK' && this.state.submitting === false}\n isValid={() => {\n return this.state.userName.length > 1;\n }}\n required\n errorText=\"Please enter your name.\"\n showError={this.state.showError && this.state.userName.length < 2}\n hasUnderline\n />\n )}\n <Components.FormCardSection\n label={'Contact number'}\n placeholder={'Enter phone number'}\n textValue={this.state.phone}\n onChangeText={phone => this.setState({ phone })}\n editable={this.state.submitting === false}\n hasUnderline\n keyboardType={'phone-pad'}\n />\n <Components.FormCardSection\n label={'Address'}\n placeholder={'Enter your address'}\n textValue={this.state.roomNumber}\n onChangeText={roomNumber => this.setState({ roomNumber })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.roomNumber && this.state.roomNumber.length > 1;\n }}\n required\n errorText=\"Please provide your address.\"\n showError={this.state.showError && (!this.state.roomNumber || this.state.roomNumber.length < 2)}\n />\n </Components.FormCard>\n <Components.FormCard\n style={{ marginTop: 16, paddingHorizontal: 24, paddingVertical: 16, flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text style={styles.sectionTitle}>{values.textJobType}</Text>\n <TouchableOpacity onPress={this.onPressType.bind(this)}>\n <View style={{ flexDirection: 'row' }}>\n <Text style={[styles.sectionTitle, { color: this.props.colourBrandingMain, marginRight: 16 }]}>{this.state.type}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.sectionTitle, { fontSize: 20, color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </Components.FormCard>\n {hasCustomFields ? (\n this.renderCustomFields()\n ) : (\n <>\n <Components.FormCard style={{ marginTop: 16 }}>\n <Components.FormCardSection\n label={'Title'}\n placeholder={'Enter a title for your request'}\n textValue={this.state.title}\n onChangeText={title => this.setState({ title })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.title.length > 1;\n }}\n required\n errorText=\"Please provide a title.\"\n showError={this.state.showError && this.state.title.length < 2}\n autoCorrect\n multiline\n autoGrow\n />\n <Components.FormCardSection\n label={'Description'}\n placeholder={'Describe your request here in detail'}\n textValue={this.state.description}\n onChangeText={description => this.setState({ description })}\n editable={this.state.submitting === false}\n hasUnderline\n autoCorrect\n multiline\n autoGrow\n />\n </Components.FormCard>\n <Components.FormCard style={{ marginTop: 16, paddingHorizontal: 24 }}>\n <View\n style={[\n {\n width: '100%',\n paddingVertical: 16,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n },\n this.state.isHome && { borderBottomWidth: 1, borderBottomColor: Colours.LINEGREY },\n ]}\n >\n <Text style={styles.sectionTitle}>{Config.env.strings.MAINTENANCE_HOME}</Text>\n <Switch\n value={this.state.isHome}\n disabled={this.state.submitting}\n onValueChange={value => this.setState({ isHome: value })}\n trackColor={{ false: '#ddd', true: this.props.colourBrandingMain }}\n thumbColor={Platform.OS === 'android' ? '#fff' : null}\n />\n </View>\n {this.state.isHome && (\n <Components.FormCardSection\n label={'Available times'}\n placeholder={'Describe your available times here in detail.'}\n textValue={this.state.times}\n onChangeText={times => this.setState({ times })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.times.length > 1;\n }}\n required\n errorText=\"Please provide available times.\"\n showError={this.state.showError && this.state.isHome && this.state.times.length < 2}\n minHeight={40}\n autoCorrect\n multiline\n autoGrow\n />\n )}\n </Components.FormCard>\n {this.renderImageList()}\n </>\n )}\n </View>\n </ScrollView>\n </View>\n );\n }\n\n renderRegisterConfirmation() {\n return (\n <Components.ConfirmationPopup\n confirmText={`${values.textEntityName} submitted`}\n repeatText={'Submit another'}\n visible={this.state.confirmationToShow}\n onClose={this.onCloseConfirmationPopup.bind(this)}\n onPressAction={this.onConfirmationReset.bind(this)}\n />\n );\n }\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return (\n <Components.VideoPopup\n uri={currentVideoUrl}\n visible={showFullscreenVideo}\n showFullscreenButton={false}\n onClose={this.toggleFullscreenVideo}\n />\n );\n }\n\n renderNoType() {\n if (!this.state.noType) {\n return null;\n }\n return (\n <Components.WarningPopup\n confirmText={'No forms are available'}\n infoText={'Check back later for forms.'}\n visible={this.state.noType}\n onClose={this.onPressBack.bind(this)}\n padHorizontal\n />\n );\n }\n\n render() {\n const { submitting, success, isDateTimePickerVisible, popUpType } = this.state;\n\n return (\n <KeyboardAvoidingView behavior={'padding'} style={styles.viewContainer}>\n {this.renderImageUploader()}\n <View style={styles.container}>\n <Components.Header\n leftIcon=\"angle-left\"\n onPressLeft={this.onPressBack.bind(this)}\n text={this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle}\n rightText={submitting || success ? null : 'Done'}\n onPressRight={this.submitRequest.bind(this)}\n absoluteRight\n />\n {this.renderForm()}\n </View>\n {this.renderRegisterConfirmation()}\n {this.renderVideoPlayerPopup()}\n {this.renderNoType()}\n <DateTimePicker\n isVisible={isDateTimePickerVisible}\n onConfirm={this.onDateSelected}\n onCancel={() => this.setState({ isDateTimePickerVisible: false })}\n mode={popUpType}\n headerTextIOS={`Pick a ${popUpType}`}\n />\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = {\n viewContainer: {\n flex: 1,\n backgroundColor: '#fff',\n },\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n errorText: {\n fontFamily: 'sf-regular',\n color: Colours.COLOUR_TANGERINE,\n fontSize: 16,\n },\n requestSuccess: {\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARK,\n fontSize: 17,\n textAlign: 'center',\n },\n sectionTitle: {\n fontFamily: 'sf-regular',\n fontSize: 17,\n color: Colours.TEXT_DARK,\n },\n imageListContainer: {\n marginTop: 8,\n padding: 8,\n flexDirection: 'row',\n backgroundColor: Colours.BOXGREY,\n minHeight: 106,\n },\n imageListContainerEmpty: {\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n },\n documentListContainer: {\n marginTop: 8,\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n imageContainer: {\n width: PHOTO_SIZE,\n height: PHOTO_SIZE,\n borderStyle: 'dashed',\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n borderRadius: 4,\n marginLeft: 8,\n },\n imageContainerNotEmpty: {\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n backgroundColor: '#fff',\n borderStyle: 'dashed',\n },\n imageBackground: {\n flex: 1,\n height: '100%',\n width: '100%',\n borderRadius: 4,\n },\n imageCircle: {\n width: 90,\n height: 90,\n borderRadius: 45,\n backgroundColor: Colours.PINKISH_GREY,\n justifyContent: 'center',\n },\n addImageIcon: {\n color: '#fff',\n fontSize: 32,\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: 20,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n removeImage: {\n position: 'absolute',\n top: 0,\n right: 0,\n padding: 4,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n },\n staticTitle: {\n fontSize: 20,\n fontFamily: 'sf-semibold',\n color: Colours.TEXT_DARKEST,\n },\n staticText: {\n fontSize: 17,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARKEST,\n lineHeight: 24,\n },\n multiChoiceOption: {\n marginTop: 16,\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 20,\n },\n multiChoiceText: {\n flex: 1,\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n tick: {\n marginRight: 10,\n borderRadius: 4,\n },\n unticked: {\n marginRight: 10,\n width: 20,\n height: 20,\n borderColor: Colours.LINEGREY,\n borderWidth: 1,\n borderRadius: 4,\n },\n dateContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n dateFieldButton: {\n flex: 1,\n },\n dateFieldContainer: {\n flexDirection: 'row',\n borderRadius: 2,\n backgroundColor: '#ebeff2',\n padding: 8,\n marginTop: 8,\n },\n dateText: {\n flex: 1,\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: '#65686D',\n },\n dateIcon: {\n fontSize: 18,\n color: Colours.TEXT_BLUEGREY,\n },\n dateClearButton: {\n paddingLeft: 12,\n },\n removeIcon: {\n fontSize: 26,\n color: Colours.TEXT_BLUEGREY,\n },\n documentContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingVertical: 4,\n },\n documentTypeContainer: {\n width: 50,\n height: 60,\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 5,\n marginRight: 8,\n },\n documentTypeText: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n textAlign: 'center',\n },\n documentText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: '#65686D',\n },\n removeDocumentButton: {\n padding: 4,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n removeDocumentIcon: {\n fontSize: 24,\n },\n // PC-1255: User picker styles\n userPickerContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n profileContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n nameText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n marginLeft: 8,\n },\n};\n\nconst mapStateToProps = state => {\n const { user, connection } = state;\n const { displayName, profilePic, uid, site, unit, phoneNumber, permissions } = user;\n return {\n connected: connection.connected,\n userType: user.type,\n displayName,\n profilePic,\n uid,\n site,\n unit,\n phoneNumber,\n permissions,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n strings: state.strings?.config || {},\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","DateTimePicker","Icon","_","moment","connect","jobAdded","maintenanceActions","userActions","Services","Components","Colours","Helper","Config","values","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","_defineProperty","_this$props$permissio","hasUserManagement","permissions","includes","setState","canCreateOnBehalf","loadSiteUsers","setDefaultUser","response","getSiteUsers","site","users","sortBy","data","Items","u","displayName","toLowerCase","error","console","log","userType","defaultUser","userId","uid","profilePic","selectedUser","userName","roomNumber","unit","phone","isEmpty","phoneNumber","update","state","customFields","some","title","length","navigation","navigate","screenUserPicker","currentUser","onSelectUser","bind","user","Id","fetchUser","userDetails","fieldId","answer","cloneDeep","field","isTitle","undefined","xor","join","dismiss","dateFieldId","popUpType","type","isDateTimePickerVisible","date","dateObj","format","uploadUri","imageUri","imageFieldId","imagesUpdate","getImages","splice","uploading","uploadProgress","allowRetry","setImages","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","documentUri","documentName","documentExt","documentFieldId","documentsUpdate","getDocuments","setDocuments","doc","mandatory","checkMandatory","isBoolean","imagesList","getImageUrls","documentsList","getDocumentAnswers","isArray","isNil","checkFormat","isEmail","isValid","valid","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","images","updatedCustomFields","sendMaintenanceRequest","getSite","then","res","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","id","job","getJob","every","index","isFieldValid","customFieldImages","Array","add","callback","filter","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","clearInterval","customFieldDocuments","name","ext","showFullscreenVideo","currentVideoUrl","fail","showError","loadingTypes","forceCustomFields","types","keyboardTypes","email","text","componentDidMount","checkUserPermissions","getJobTypes","componentWillUnmount","onPressBack","goBack","onPressType","screenJobTypePicker","currentType","onSelectType","pickType","onCloseConfirmationPopup","onBack","onConfirmationReset","getDefaultJob","selected","find","t","typeName","hasCustomFields","noType","jobId","defaultType","submitRequest","connected","message","validateCustomFields","submit","renderImageUploader","createElement","ImageUploader","ref","onUploadStarted","onUploadStartedImage","onUploadSuccess","onUploadSuccessImage","onUploadFailed","onUploadFailedImage","onUploadProgress","onUploadProgressImage","onLibrarySelected","onLibrarySelectedImage","size","quality","fileName","popupTitle","allowsEditing","multiple","hideLibrary","renderImage","item","isVideoUrl","isVideo","activeOpacity","onPress","style","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","iconStyle","addImageIcon","ImageUploadProgress","uploader","color","colourBrandingMain","imageBackground","source","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderDocument","key","documentContainer","documentTypeContainer","backgroundColor","documentTypeText","documentText","removeDocumentButton","removeDocument","removeDocumentIcon","renderSuccess","padding","flex","requestSuccess","renderImageList","imageListContainer","imageListContainerEmpty","keyboardShouldPersistTaps","enableEmptySections","renderItem","keyExtractor","numColumns","renderDateField","sectionStyle","displayText","placeHolder","icon","errorText","GenericInputSection","label","required","dateContainer","dateFieldButton","onOpenDatePicker","dateFieldContainer","dateText","dateIcon","dateClearButton","onClearDate","removeIcon","renderField","marginBottom","inputType","value","onChange","onChangeToggleAnswer","options","o","Label","Value","i","isActive","onChangeCheckboxAnswer","multiChoiceOption","hitSlop","top","left","bottom","right","TickIcon","tick","unticked","multiChoiceText","placeholder","onChangeText","val","onChangeAnswer","editable","squaredCorners","autoCapitalize","keyboardType","staticTitle","staticText","toParagraphed","renderCustomFields","FormCard","renderForm","_this$state$selectedU","_this$state$selectedU2","_this$state$selectedU3","Spinner","paddingBottom","LoadingIndicator","visible","FormCardSection","textValue","hasContent","hasUnderline","borderBottomWidth","borderBottomColor","LINEGREY","onPressUser","userPickerContainer","profileContainer","ProfilePic","Diameter","nameText","sectionTitle","fontSize","onChangeName","paddingHorizontal","paddingVertical","flexDirection","justifyContent","textJobType","marginRight","Fragment","autoCorrect","multiline","autoGrow","alignItems","position","env","strings","MAINTENANCE_HOME","disabled","onValueChange","trackColor","false","true","thumbColor","OS","minHeight","renderRegisterConfirmation","ConfirmationPopup","confirmText","textEntityName","repeatText","onClose","onPressAction","renderVideoPlayerPopup","VideoPopup","showFullscreenButton","renderNoType","WarningPopup","infoText","padHorizontal","render","behavior","viewContainer","container","Header","leftIcon","onPressLeft","featureKey","textFeatureTitle","rightText","onPressRight","absoluteRight","isVisible","onConfirm","onDateSelected","onCancel","mode","headerTextIOS","Date","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","documentListContainer","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","textShadowColor","textShadowOffset","TEXT_DARKEST","lineHeight","TEXT_BLUEGREY","paddingLeft","mapStateToProps","_state$strings","connection","getMainBrandingColourFromState","config"],"sources":["ServiceRequest.js"],"sourcesContent":["import React, { Component } from 'react';\nimport {\n Dimensions,\n Platform,\n KeyboardAvoidingView,\n ScrollView,\n Text,\n TouchableOpacity,\n View,\n Switch,\n FlatList,\n ImageBackground,\n Keyboard,\n} from 'react-native';\nimport DateTimePicker from 'react-native-modal-datetime-picker';\nimport { Icon } from '@rneui/themed';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { jobAdded } from '../actions';\nimport { maintenanceActions, userActions } from '../apis';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper, Config } from '../core.config';\nimport { values } from '../values.config';\n\nconst PHOTO_SIZE = (Dimensions.get('window').width - 64) / 3;\n\nclass MaintenanceRequest extends Component {\n constructor(props) {\n super(props);\n this.state = {\n submitting: false,\n success: false,\n fail: false,\n error: null,\n showError: false,\n loadingTypes: values.forceCustomFields,\n\n userName: '',\n roomNumber: '',\n phone: '',\n title: '',\n description: '',\n times: '',\n\n type: 'General',\n\n uploadingImage: false,\n images: [\n {\n add: true,\n },\n ],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n\n isHome: false,\n\n types: [],\n\n confirmationToShow: false,\n\n customFields: [],\n customFieldImages: {},\n customFieldDocuments: {},\n isDateTimePickerVisible: false,\n popUpType: 'date',\n dateFieldId: null,\n imageFieldId: null,\n\n // PC-1255: On-behalf request fields\n canCreateOnBehalf: false,\n selectedUser: null,\n users: [],\n };\n this.checkThumb = null;\n this.keyboardTypes = {\n phone: 'phone-pad',\n email: 'email-address',\n text: 'default',\n };\n }\n\n componentDidMount() {\n this.checkUserPermissions();\n this.getJobTypes();\n }\n\n checkUserPermissions = async () => {\n // PC-1255: Check if user has userManagement permission\n const hasUserManagement = this.props.permissions?.includes('userManagement') || false;\n\n if (hasUserManagement) {\n this.setState({ canCreateOnBehalf: true });\n // Load site users for picker\n await this.loadSiteUsers();\n } else {\n // Default to logged-in user for non-staff or staff without permission\n this.setDefaultUser();\n }\n };\n\n loadSiteUsers = async () => {\n try {\n const response = await userActions.getSiteUsers(this.props.site);\n // PC-1255: Load all users (not just residents) to match web admin behavior\n const users = _.sortBy(response.data.Items || [], u => (u.displayName || '').toLowerCase());\n this.setState({ users });\n } catch (error) {\n console.log('Error loading site users:', error);\n // Fall back to default user if loading fails\n this.setDefaultUser();\n }\n };\n\n setDefaultUser = () => {\n if (this.props.userType !== 'KIOSK') {\n const defaultUser = {\n userId: this.props.uid,\n displayName: this.props.displayName,\n profilePic: this.props.profilePic,\n };\n this.setState({\n selectedUser: defaultUser,\n userName: this.props.displayName,\n roomNumber: this.props.unit,\n phone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : '',\n });\n }\n };\n\n componentWillUnmount() {\n clearInterval(this.checkThumb);\n }\n\n onChangeName = userName => {\n const update = { userName };\n if (!this.state.customFields || !_.some(this.state.customFields, 'isTitle')) {\n update.title = userName;\n }\n this.setState(update);\n };\n\n // PC-1255: Handle user picker navigation\n onPressUser = () => {\n const { users, selectedUser } = this.state;\n if (!users || users.length === 0) return;\n\n Services.navigation.navigate(values.screenUserPicker, {\n currentUser: selectedUser,\n users,\n onSelectUser: this.onSelectUser.bind(this),\n });\n };\n\n // PC-1255: Handle user selection and auto-populate contact details\n onSelectUser = async user => {\n const update = {\n selectedUser: user,\n userName: user.displayName,\n };\n\n // PC-1255: Try to fetch full user details for auto-population\n try {\n // getSiteUsers returns 'Id', but fetchUser expects 'userId'\n const userId = user.userId || user.Id;\n const response = await userActions.fetchUser(this.props.site, userId);\n if (response.data && response.data.user) {\n const userDetails = response.data.user;\n if (userDetails.phoneNumber) {\n update.phone = userDetails.phoneNumber;\n }\n if (userDetails.unit) {\n update.roomNumber = userDetails.unit;\n }\n }\n } catch (error) {\n // Permission denied (403) or other error - continue without auto-population\n // User can still manually enter contact details\n console.log('Could not fetch user details for auto-population:', error);\n }\n\n this.setState(update);\n };\n\n onChangeAnswer = (fieldId, answer) => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = answer;\n if (field.isTitle) update.title = field.answer;\n this.setState(update);\n };\n\n onChangeToggleAnswer = (fieldId, answer) => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = field.answer === answer ? undefined : answer;\n if (field.isTitle) update.title = field.answer;\n this.setState(update);\n };\n\n onChangeCheckboxAnswer = (fieldId, answer) => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = _.xor(field.answer || [], [answer]);\n if (field.isTitle) update.title = field.answer.join(', ');\n this.setState(update);\n };\n\n onOpenDatePicker = (field, fieldId) => {\n Keyboard.dismiss();\n this.setState({ dateFieldId: fieldId, popUpType: field.type, isDateTimePickerVisible: true });\n };\n\n onClearDate = fieldId => {\n const update = { customFields: _.cloneDeep(this.state.customFields) };\n const field = update.customFields[fieldId];\n field.answer = undefined;\n if (field.isTitle) update.title = field.answer;\n this.setState(update);\n };\n\n onDateSelected = date => {\n const { customFields, dateFieldId, popUpType } = this.state;\n const update = { customFields: _.cloneDeep(customFields), isDateTimePickerVisible: false, fieldId: null };\n const field = update.customFields[dateFieldId];\n const dateObj = moment(date);\n if (popUpType === 'date') {\n field.answer = dateObj.format('YYYY-MM-DD');\n if (field.isTitle) update.title = dateObj.format('DD MMM YYYY');\n } else {\n field.answer = dateObj.format('HH:mm');\n if (field.isTitle) update.title = dateObj.format('h:mm a');\n }\n this.setState(update);\n };\n\n onUploadStartedImage = (uploadUri, imageUri) => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.splice(imagesUpdate.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onUploadProgressImage = progress => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onUploadSuccessImage = async (uri, uploadUri) => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.map(img => {\n if (img.uploadUri === uploadUri && img.uploading) {\n img.url = uri.replace('/general/', '/general1400/');\n img.thumbNailExists = false;\n img.thumbNailUrl = Helper.getThumb300(img.url);\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, imageFieldId, () => this.waitForThumbnails());\n };\n\n onUploadFailedImage = uploadUri => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.map(img => {\n if (img.uploadUri === uploadUri) {\n img.uploading = true; // Requried for retry\n img.uploadProgress = '';\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onLibrarySelected = uri => {\n const { imageFieldId } = this.state;\n const imagesUpdate = this.getImages(imageFieldId);\n imagesUpdate.splice(imagesUpdate.length - 1, 0, {\n uploading: false,\n allowRetry: false,\n url: Helper.get1400(uri),\n thumbNailExists: true,\n thumbNailUrl: Helper.getThumb300(uri),\n });\n\n this.setImages(imagesUpdate, imageFieldId);\n };\n\n onUploadStartedDocument = (uploadUri, documentUri, documentName, documentExt, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.splice(documentsUpdate.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n documentUri,\n documentName,\n documentExt,\n allowRetry: true,\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onUploadProgressDocument = (progress, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.map(doc => {\n if (doc.uploadUri === progress.uri) {\n doc.uploadProgress = progress.percentage;\n doc.uploading = true;\n doc.allowRetry = true;\n }\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onUploadSuccessDocument = async (uri, uploadUri, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.map(doc => {\n if (doc.uploadUri === uploadUri && doc.uploading) {\n doc.uploading = false;\n doc.uploadProgress = '100%';\n doc.url = uri;\n doc.allowRetry = true;\n }\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onUploadFailedDocument = (uploadUri, documentFieldId) => {\n const documentsUpdate = this.getDocuments(documentFieldId);\n documentsUpdate.map(doc => {\n if (doc.uploadUri === uploadUri) {\n doc.uploading = true; // Requried for retry\n doc.uploadProgress = '';\n doc.allowRetry = true;\n }\n });\n\n this.setDocuments(documentsUpdate, documentFieldId);\n };\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onPressType() {\n Services.navigation.navigate(values.screenJobTypePicker, {\n currentType: this.state.type,\n types: this.state.types,\n onSelectType: this.pickType.bind(this),\n });\n }\n\n onCloseConfirmationPopup() {\n this.setState({\n confirmationToShow: false,\n });\n Services.navigation.goBack();\n this.props.onBack && this.props.onBack();\n }\n\n onConfirmationReset() {\n this.setState(\n {\n confirmationToShow: false,\n title: '',\n description: '',\n times: '',\n isHome: false,\n uploadingImage: false,\n images: [\n {\n add: true,\n },\n ],\n submitting: false,\n success: false,\n fail: false,\n customFields: [],\n customFieldImages: {},\n customFieldDocuments: {},\n isDateTimePickerVisible: false,\n popUpType: 'date',\n dateFieldId: null,\n imageFieldId: null,\n },\n () => this.pickType(this.state.type),\n );\n }\n\n isFieldValid = (field, fieldId) => {\n const { mandatory, type, answer } = field;\n if (['staticTitle', 'staticText'].includes(type)) return true;\n\n const checkMandatory = () => {\n if (!mandatory) return true;\n switch (type) {\n case 'yn':\n return _.isBoolean(answer);\n case 'image':\n const imagesList = this.getImageUrls(fieldId);\n return imagesList.length > 0;\n case 'document':\n const documentsList = this.getDocumentAnswers(fieldId);\n return documentsList.length > 0;\n case 'checkbox':\n return _.isArray(answer) && answer.length > 0;\n default:\n return !_.isNil(answer) && !_.isEmpty(answer);\n }\n };\n const checkFormat = () => {\n if (_.isNil(answer) || _.isEmpty(answer)) return true;\n switch (type) {\n case 'email':\n return Helper.isEmail(answer);\n case 'date':\n return moment(answer, 'YYYY-MM-DD', true).isValid();\n case 'time':\n return moment(answer, 'HH:mm', true).isValid();\n default:\n return true;\n }\n };\n\n const valid = checkMandatory() && checkFormat();\n return valid;\n };\n\n getJobTypes() {\n maintenanceActions\n .getJobTypes(Helper.getSite(this.props.site))\n .then(res => {\n this.setState({\n types: res.data,\n });\n this.getDefaultJob();\n })\n .catch(() => {});\n }\n\n pickType(type) {\n const { types } = this.state;\n const selected = types.find(t => t.typeName === type) || {};\n if (values.forceCustomFields && !selected.hasCustomFields) {\n this.setState({\n type,\n customFields: [],\n noType: true,\n });\n return;\n }\n const update = {\n type,\n customFields: selected.hasCustomFields && selected.customFields.length > 0 ? _.cloneDeep(selected.customFields) : [],\n loadingTypes: false,\n };\n\n if (!_.isEmpty(update.customFields) && !_.some(update.customFields, 'isTitle')) {\n update.title = this.state.userName;\n }\n\n this.setState(update);\n }\n\n getDefaultJob() {\n const { types, jobId } = this.state;\n if (types.length !== 0 && jobId == null) {\n const defaultType = types[0];\n this.pickType(defaultType.typeName);\n }\n }\n\n showUploadMenu = fieldId => {\n Keyboard.dismiss();\n if (this.state.uploadingImage || this.state.submitting) {\n return;\n }\n if (fieldId) this.setState({ imageFieldId: fieldId });\n this.imageUploader.showUploadMenu();\n };\n\n submit = async () => {\n this.setState({ submitting: true });\n\n let description = this.state.description;\n\n if (this.state.isHome) {\n description = description + `. -- Times Available: ${this.state.times}`;\n }\n\n setTimeout(() => {\n this.scrollContainer.scrollTo({ y: 0 });\n }, 100);\n\n const images = this.getImageUrls();\n\n // Fix custom images field answers\n const customFields = _.cloneDeep(this.state.customFields);\n const updatedCustomFields = customFields.map((field, fieldId) => {\n if (field.type === 'image') field.answer = this.getImageUrls(fieldId);\n if (field.type === 'document') field.answer = this.getDocumentAnswers(fieldId);\n return field;\n });\n\n maintenanceActions\n .sendMaintenanceRequest(\n this.props.uid,\n this.state.userName,\n this.state.phone,\n this.state.roomNumber,\n this.state.title,\n description,\n null,\n this.state.type,\n images,\n Helper.getSite(this.props.site),\n this.state.isHome,\n this.state.times,\n updatedCustomFields,\n )\n .then(res => {\n if (res.data.success) {\n this.refreshRequest(res.data.searchResult);\n if (this.props.onSubmissionSuccess) this.props.onSubmissionSuccess(res.data);\n this.setState({\n submitting: false,\n success: true,\n confirmationToShow: true,\n });\n } else {\n this.setState({\n submitting: false,\n });\n }\n })\n .catch(err => {\n console.log('maintenance submission fail.');\n console.log(err);\n this.setState({\n submitting: false,\n });\n });\n };\n\n refreshRequest = async id => {\n try {\n const job = await maintenanceActions.getJob(Helper.getSite(this.props.site), id);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('refreshRequest error', error);\n }\n };\n\n validateCustomFields = () => {\n const { customFields } = this.state;\n if (!customFields || customFields.length === 0) return true;\n\n return customFields.every((field, index) => {\n const isValid = this.isFieldValid(field, index);\n return isValid;\n });\n };\n\n submitRequest() {\n const { customFields, submitting, uploadingImage, title, roomNumber, isHome, times } = this.state;\n const hasCustomFields = customFields && customFields.length > 0;\n\n if (submitting || !this.props.connected) {\n if (!this.props.connected) {\n this.setState({ error: { message: 'No internet connection detected' } });\n }\n return;\n }\n if (uploadingImage) return;\n\n this.setState({ error: null, showError: false });\n\n // PC-1255: Validate user selection for on-behalf requests\n if (this.state.canCreateOnBehalf && !this.state.selectedUser) {\n console.log('submitRequest - no user selected for on-behalf request');\n this.setState({ showError: true });\n return;\n }\n\n if (title.length === 0 || !roomNumber || roomNumber.length === 0) {\n console.log('submitRequest - error', { title, roomNumber });\n this.setState({ showError: true });\n return;\n }\n if (hasCustomFields) {\n if (!this.validateCustomFields()) {\n console.log('submitRequest - custom fields error');\n this.setState({ showError: true });\n return;\n }\n } else {\n if (isHome && times.length < 2) {\n console.log('submitRequest - error', { isHome, times });\n this.setState({ showError: true });\n return;\n }\n }\n this.submit();\n }\n\n getImages = (fieldId = null) => {\n const { images, customFieldImages } = this.state;\n const imagesList = _.cloneDeep(fieldId ? customFieldImages[fieldId] : images);\n if (!imagesList || !Array.isArray(imagesList) || imagesList.length === 0) {\n return [{ add: true }];\n }\n return imagesList;\n };\n\n setImages = (imagesList, fieldId = null, callback = null) => {\n let update = {};\n if (fieldId) {\n const customFieldImages = _.cloneDeep(this.state.customFieldImages);\n customFieldImages[fieldId] = imagesList;\n update = { customFieldImages };\n } else {\n update = { images: imagesList };\n }\n this.setState(update, callback);\n };\n\n getImageUrls = (fieldId = null) => {\n const imagesList = this.getImages(fieldId);\n return _.filter(imagesList, img => {\n return !img.uploading && !img.add;\n }).map(img => {\n return img.url;\n });\n };\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const { imageFieldId } = this.state;\n const imagesList = this.getImages(imageFieldId);\n const imagesUpdate = [];\n await Promise.all(\n imagesList.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n imagesUpdate.push(newImage);\n if (newImage.url && !newImage.thumbNailExists) {\n newImage.uploading = false;\n newImage.allowRetry = false;\n newImage.thumbNailExists = await Helper.imageExists(newImage.thumbNailUrl);\n resolve(newImage.thumbNailExists);\n }\n resolve(true);\n });\n }),\n );\n const thumbnailsExist = imagesUpdate.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setImages(imagesUpdate, imageFieldId);\n }\n }, 2000);\n };\n\n removeImage = (index, fieldId) => {\n const imagesUpdate = this.getImages(fieldId);\n imagesUpdate.splice(index, 1);\n\n this.setImages(imagesUpdate, fieldId);\n };\n\n getDocuments = fieldId => {\n const { customFieldDocuments } = this.state;\n const documentsList = _.cloneDeep(customFieldDocuments[fieldId]) || [];\n return documentsList;\n };\n\n setDocuments = (documentsList, fieldId) => {\n let update = {};\n const customFieldDocuments = _.cloneDeep(this.state.customFieldDocuments);\n customFieldDocuments[fieldId] = documentsList;\n update = { customFieldDocuments };\n this.setState(update);\n };\n\n getDocumentAnswers = fieldId => {\n const documentsList = this.getDocuments(fieldId);\n return _.filter(documentsList, doc => {\n return !doc.uploading && doc.url;\n }).map(doc => {\n return {\n name: doc.documentName,\n ext: doc.documentExt,\n url: doc.url,\n };\n });\n };\n\n removeDocument = (index, fieldId) => {\n const documentsUpdate = this.getDocuments(fieldId);\n documentsUpdate.splice(index, 1);\n\n this.setDocuments(documentsUpdate, fieldId);\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderImageUploader() {\n return (\n <Components.ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStartedImage}\n onUploadSuccess={this.onUploadSuccessImage}\n onUploadFailed={this.onUploadFailedImage}\n onUploadProgress={this.onUploadProgressImage}\n onLibrarySelected={this.onLibrarySelectedImage}\n size={{ width: 1400 }}\n quality={0.8}\n fileName={'serviceImage'}\n popupTitle={'Upload Image'}\n userId={this.props.uid}\n allowsEditing={false}\n multiple\n hideLibrary\n />\n );\n }\n\n renderImage(item, index, fieldId = null) {\n const isVideoUrl = Helper.isVideo(item.url);\n const imagesList = this.getImages(fieldId);\n\n if (item.add) {\n return (\n <TouchableOpacity activeOpacity={0.8} onPress={() => this.showUploadMenu(fieldId)}>\n <View\n style={[\n styles.imageContainer,\n imagesList.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n <View style={styles.imageCircle}>\n <Icon name=\"camera\" type=\"font-awesome\" iconStyle={styles.addImageIcon} />\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n return (\n <View\n style={[\n styles.imageContainer,\n imagesList.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n {item.uploading ? (\n <Components.ImageUploadProgress uploader={this.imageUploader} image={item} color={this.props.colourBrandingMain} />\n ) : (\n <ImageBackground\n style={styles.imageBackground}\n source={Helper.getImageSource(item.thumbNailExists ? item.thumbNailUrl : item.url)}\n >\n {isVideoUrl && (\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, item.url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n )}\n <TouchableOpacity style={styles.removeImage} onPress={() => this.removeImage(index, fieldId)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} style={styles.removeImage} />\n </TouchableOpacity>\n </ImageBackground>\n )}\n </View>\n );\n }\n\n renderDocument(item, index, fieldId) {\n const { colourBrandingMain } = this.props;\n return (\n <View key={index} style={styles.documentContainer}>\n <View style={{ ...styles.documentTypeContainer, backgroundColor: colourBrandingMain }}>\n <Text style={styles.documentTypeText}>{item.documentExt}</Text>\n </View>\n <Text style={styles.documentText}>{`${item.documentName}${item.uploading ? ` - ${item.uploadProgress}` : ''}`}</Text>\n {!item.uploading && (\n <TouchableOpacity style={styles.removeDocumentButton} onPress={() => this.removeDocument(index, fieldId)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={{ ...styles.removeDocumentIcon, color: colourBrandingMain }} />\n </TouchableOpacity>\n )}\n </View>\n );\n }\n\n renderSuccess() {\n return (\n <View style={{ padding: 16, flex: 1, backgroundColor: '#fff' }}>\n <Text style={styles.requestSuccess}>Your request has been submitted. Thank you.</Text>\n </View>\n );\n }\n\n renderImageList(fieldId = null) {\n const imagesList = this.getImages(fieldId);\n return (\n <View style={[styles.imageListContainer, imagesList.length < 2 && styles.imageListContainerEmpty]}>\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n enableEmptySections\n data={imagesList}\n renderItem={({ item, index }) => this.renderImage(item, index, fieldId)}\n keyExtractor={(item, index) => index}\n numColumns={3}\n />\n </View>\n );\n }\n\n // renderDocumentList(fieldId) {\n // const documentsList = this.getDocuments(fieldId);\n // return (\n // <View style={styles.documentListContainer}>\n // {documentsList.length > 0 ? documentsList.map((document, index) => this.renderDocument(document, index, fieldId)) : null}\n // <Components.DocumentUploader\n // buttonTitle=\"Add Files\"\n // allowedTypes={['application/pdf']}\n // onUploadStarted={(uploadUri, uri, name, ext) => this.onUploadStartedDocument(uploadUri, uri, name, ext, fieldId)}\n // onUploadProgress={progress => this.onUploadProgressDocument(progress, fieldId)}\n // onUploadSuccess={(uri, uploadUri) => this.onUploadSuccessDocument(uri, uploadUri, fieldId)}\n // onUploadFailed={uploadUri => this.onUploadFailedDocument(uploadUri, fieldId)}\n // fileName=\"serviceDocument\"\n // userId={this.props.uid}\n // disabled={false}\n // multiple\n // />\n // </View>\n // );\n // }\n\n renderDateField(field, fieldId, sectionStyle) {\n let displayText, placeHolder, icon, errorText;\n if (field.type === 'date') {\n displayText = field.answer ? moment(field.answer, 'YYYY-MM-DD').format('DD MMM YYYY') : '';\n placeHolder = 'dd mmm yyyy';\n icon = 'calendar';\n errorText = 'Not a valid date';\n } else {\n displayText = field.answer ? moment(field.answer, 'HH:mm').format('h:mm a') : '';\n placeHolder = '--:-- --';\n icon = 'clock-o';\n errorText = 'Not a valid time';\n }\n\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n isValid={() => this.isFieldValid(field, fieldId)}\n required={field.mandatory}\n showError={this.state.showError}\n errorText={errorText}\n >\n <View style={styles.dateContainer}>\n <TouchableOpacity style={styles.dateFieldButton} onPress={() => this.onOpenDatePicker(field, fieldId)}>\n <View style={styles.dateFieldContainer}>\n <Text style={styles.dateText}>{displayText || placeHolder}</Text>\n <Icon type=\"font-awesome\" name={icon} iconStyle={styles.dateIcon} />\n </View>\n </TouchableOpacity>\n {displayText ? (\n <TouchableOpacity style={styles.dateClearButton} onPress={() => this.onClearDate(fieldId)}>\n <Icon type=\"font-awesome\" name=\"times\" iconStyle={styles.removeIcon} />\n </TouchableOpacity>\n ) : null}\n </View>\n </Components.GenericInputSection>\n );\n }\n\n renderField(field, fieldId) {\n const sectionStyle = { marginTop: fieldId === 0 ? 24 : 0, marginBottom: 24 };\n switch (field.type) {\n case 'yn':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n inputType=\"toggle\"\n value={field.answer}\n onChange={answer => this.onChangeToggleAnswer(fieldId, answer)}\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n required={field.mandatory}\n />\n );\n case 'multichoice':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n inputType=\"radio\"\n value={field.answer}\n onChange={answer => this.onChangeToggleAnswer(fieldId, answer)}\n options={field.values.map(o => {\n return {\n Label: o,\n Value: o,\n };\n })}\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n required={field.mandatory}\n />\n );\n case 'checkbox':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n required={field.mandatory}\n >\n {field.values.map((o, i) => {\n const isActive = field.answer && _.includes(field.answer, o);\n return (\n <TouchableOpacity\n onPress={() => this.onChangeCheckboxAnswer(fieldId, o)}\n key={i}\n style={styles.multiChoiceOption}\n hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n >\n {isActive ? (\n <Components.TickIcon style={styles.tick} size={20} color={this.props.colourBrandingMain} />\n ) : (\n <View style={styles.unticked} />\n )}\n <Text style={styles.multiChoiceText}>{o}</Text>\n </TouchableOpacity>\n );\n })}\n </Components.GenericInputSection>\n );\n case 'text':\n case 'email':\n case 'phone':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n placeholder={field.placeHolder}\n value={field.answer}\n onChangeText={val => this.onChangeAnswer(fieldId, val)}\n editable\n squaredCorners\n isValid={() => this.isFieldValid(field, fieldId)}\n showError={this.state.showError}\n errorText={field.type === 'email' ? 'Not a valid email' : undefined}\n required={field.mandatory}\n sectionStyle={sectionStyle}\n autoCapitalize=\"sentences\"\n keyboardType={this.keyboardTypes[field.type]}\n />\n );\n case 'staticTitle':\n return (\n <Text key={fieldId} style={[styles.staticTitle, { color: this.props.colourBrandingMain }, sectionStyle]}>\n {field.label}\n </Text>\n );\n case 'staticText':\n return (\n <View key={fieldId} style={[styles.staticText, sectionStyle]}>\n {Helper.toParagraphed(field.label, styles.staticText)}\n </View>\n );\n case 'date':\n case 'time':\n return this.renderDateField(field, fieldId, sectionStyle);\n case 'image':\n return (\n <Components.GenericInputSection\n key={fieldId}\n label={field.label}\n sectionStyle={sectionStyle}\n isValid={() => this.isFieldValid(field, fieldId)}\n required={field.mandatory}\n showError={this.state.showError}\n >\n {this.renderImageList(fieldId)}\n </Components.GenericInputSection>\n );\n // case 'document':\n // return (\n // <Components.GenericInputSection\n // key={fieldId}\n // label={field.label}\n // sectionStyle={sectionStyle}\n // isValid={() => this.isFieldValid(field, fieldId)}\n // required={field.mandatory}\n // showError={this.state.showError}\n // >\n // {this.renderDocumentList(fieldId)}\n // </Components.GenericInputSection>\n // );\n default:\n return null;\n }\n }\n\n renderCustomFields() {\n const { customFields } = this.state;\n if (!customFields || customFields.length === 0) return null;\n\n return (\n <Components.FormCard style={{ marginTop: 16 }}>{customFields.map((field, i) => this.renderField(field, i))}</Components.FormCard>\n );\n }\n\n renderForm() {\n const { customFields, loadingTypes } = this.state;\n const hasCustomFields = customFields && customFields.length > 0;\n\n if (loadingTypes) {\n return <Components.Spinner />;\n }\n\n return (\n <View style={{ flex: 1 }}>\n <ScrollView keyboardShouldPersistTaps=\"always\" style={{ flex: 1 }} ref={ref => (this.scrollContainer = ref)}>\n <View style={{ paddingBottom: 2 }}>\n <Components.LoadingIndicator visible={this.state.submitting} />\n {this.state.error && <Text style={styles.errorText}>{this.state.error}</Text>}\n <Components.FormCard style={{ marginTop: 16 }}>\n {/* PC-1255: User picker for on-behalf requests */}\n {this.state.canCreateOnBehalf && (\n <Components.FormCardSection\n label={'Select User'}\n textValue={this.state.selectedUser?.displayName}\n hasContent\n hasUnderline\n required\n errorText=\"Please select a user.\"\n showError={this.state.showError && !this.state.selectedUser}\n sectionStyle={{ borderBottomWidth: 1, borderBottomColor: Colours.LINEGREY }}\n >\n <TouchableOpacity onPress={this.onPressUser}>\n <View style={styles.userPickerContainer}>\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={this.state.selectedUser?.profilePic} Diameter={30} />\n <Text style={styles.nameText}>{this.state.selectedUser?.displayName || 'Select User'}</Text>\n </View>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.sectionTitle, { fontSize: 20, color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </Components.FormCardSection>\n )}\n {/* PC-1255: Hide Name field when creating on behalf - name comes from selected user */}\n {!this.state.canCreateOnBehalf && (\n <Components.FormCardSection\n label={'Name'}\n placeholder={'Enter your name'}\n textValue={this.state.userName}\n onChangeText={userName => this.onChangeName(userName)}\n editable={this.props.userType === 'KIOSK' && this.state.submitting === false}\n isValid={() => {\n return this.state.userName.length > 1;\n }}\n required\n errorText=\"Please enter your name.\"\n showError={this.state.showError && this.state.userName.length < 2}\n hasUnderline\n />\n )}\n <Components.FormCardSection\n label={'Contact number'}\n placeholder={'Enter phone number'}\n textValue={this.state.phone}\n onChangeText={phone => this.setState({ phone })}\n editable={this.state.submitting === false}\n hasUnderline\n keyboardType={'phone-pad'}\n />\n <Components.FormCardSection\n label={'Address'}\n placeholder={'Enter your address'}\n textValue={this.state.roomNumber}\n onChangeText={roomNumber => this.setState({ roomNumber })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.roomNumber && this.state.roomNumber.length > 1;\n }}\n required\n errorText=\"Please provide your address.\"\n showError={this.state.showError && (!this.state.roomNumber || this.state.roomNumber.length < 2)}\n />\n </Components.FormCard>\n <Components.FormCard\n style={{ marginTop: 16, paddingHorizontal: 24, paddingVertical: 16, flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text style={styles.sectionTitle}>{values.textJobType}</Text>\n <TouchableOpacity onPress={this.onPressType.bind(this)}>\n <View style={{ flexDirection: 'row' }}>\n <Text style={[styles.sectionTitle, { color: this.props.colourBrandingMain, marginRight: 16 }]}>{this.state.type}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.sectionTitle, { fontSize: 20, color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </Components.FormCard>\n {hasCustomFields ? (\n this.renderCustomFields()\n ) : (\n <>\n <Components.FormCard style={{ marginTop: 16 }}>\n <Components.FormCardSection\n label={'Title'}\n placeholder={'Enter a title for your request'}\n textValue={this.state.title}\n onChangeText={title => this.setState({ title })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.title.length > 1;\n }}\n required\n errorText=\"Please provide a title.\"\n showError={this.state.showError && this.state.title.length < 2}\n autoCorrect\n multiline\n autoGrow\n />\n <Components.FormCardSection\n label={'Description'}\n placeholder={'Describe your request here in detail'}\n textValue={this.state.description}\n onChangeText={description => this.setState({ description })}\n editable={this.state.submitting === false}\n hasUnderline\n autoCorrect\n multiline\n autoGrow\n />\n </Components.FormCard>\n <Components.FormCard style={{ marginTop: 16, paddingHorizontal: 24 }}>\n <View\n style={[\n {\n width: '100%',\n paddingVertical: 16,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n },\n this.state.isHome && { borderBottomWidth: 1, borderBottomColor: Colours.LINEGREY },\n ]}\n >\n <Text style={styles.sectionTitle}>{Config.env.strings.MAINTENANCE_HOME}</Text>\n <Switch\n value={this.state.isHome}\n disabled={this.state.submitting}\n onValueChange={value => this.setState({ isHome: value })}\n trackColor={{ false: '#ddd', true: this.props.colourBrandingMain }}\n thumbColor={Platform.OS === 'android' ? '#fff' : null}\n />\n </View>\n {this.state.isHome && (\n <Components.FormCardSection\n label={'Available times'}\n placeholder={'Describe your available times here in detail.'}\n textValue={this.state.times}\n onChangeText={times => this.setState({ times })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.times.length > 1;\n }}\n required\n errorText=\"Please provide available times.\"\n showError={this.state.showError && this.state.isHome && this.state.times.length < 2}\n minHeight={40}\n autoCorrect\n multiline\n autoGrow\n />\n )}\n </Components.FormCard>\n {this.renderImageList()}\n </>\n )}\n </View>\n </ScrollView>\n </View>\n );\n }\n\n renderRegisterConfirmation() {\n return (\n <Components.ConfirmationPopup\n confirmText={`${values.textEntityName} submitted`}\n repeatText={'Submit another'}\n visible={this.state.confirmationToShow}\n onClose={this.onCloseConfirmationPopup.bind(this)}\n onPressAction={this.onConfirmationReset.bind(this)}\n />\n );\n }\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return (\n <Components.VideoPopup\n uri={currentVideoUrl}\n visible={showFullscreenVideo}\n showFullscreenButton={false}\n onClose={this.toggleFullscreenVideo}\n />\n );\n }\n\n renderNoType() {\n if (!this.state.noType) {\n return null;\n }\n return (\n <Components.WarningPopup\n confirmText={'No forms are available'}\n infoText={'Check back later for forms.'}\n visible={this.state.noType}\n onClose={this.onPressBack.bind(this)}\n padHorizontal\n />\n );\n }\n\n render() {\n const { submitting, success, isDateTimePickerVisible, popUpType } = this.state;\n\n return (\n <KeyboardAvoidingView behavior={'padding'} style={styles.viewContainer}>\n {this.renderImageUploader()}\n <View style={styles.container}>\n <Components.Header\n leftIcon=\"angle-left\"\n onPressLeft={this.onPressBack.bind(this)}\n text={this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle}\n rightText={submitting || success ? null : 'Done'}\n onPressRight={this.submitRequest.bind(this)}\n absoluteRight\n />\n {this.renderForm()}\n </View>\n {this.renderRegisterConfirmation()}\n {this.renderVideoPlayerPopup()}\n {this.renderNoType()}\n <DateTimePicker\n isVisible={isDateTimePickerVisible}\n onConfirm={this.onDateSelected}\n onCancel={() => this.setState({ isDateTimePickerVisible: false })}\n mode={popUpType}\n headerTextIOS={`Pick a ${popUpType}`}\n date={new Date()}\n />\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = {\n viewContainer: {\n flex: 1,\n backgroundColor: '#fff',\n },\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n errorText: {\n fontFamily: 'sf-regular',\n color: Colours.COLOUR_TANGERINE,\n fontSize: 16,\n },\n requestSuccess: {\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARK,\n fontSize: 17,\n textAlign: 'center',\n },\n sectionTitle: {\n fontFamily: 'sf-regular',\n fontSize: 17,\n color: Colours.TEXT_DARK,\n },\n imageListContainer: {\n marginTop: 8,\n padding: 8,\n flexDirection: 'row',\n backgroundColor: Colours.BOXGREY,\n minHeight: 106,\n },\n imageListContainerEmpty: {\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n },\n documentListContainer: {\n marginTop: 8,\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n imageContainer: {\n width: PHOTO_SIZE,\n height: PHOTO_SIZE,\n borderStyle: 'dashed',\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n borderRadius: 4,\n marginLeft: 8,\n },\n imageContainerNotEmpty: {\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n backgroundColor: '#fff',\n borderStyle: 'dashed',\n },\n imageBackground: {\n flex: 1,\n height: '100%',\n width: '100%',\n borderRadius: 4,\n },\n imageCircle: {\n width: 90,\n height: 90,\n borderRadius: 45,\n backgroundColor: Colours.PINKISH_GREY,\n justifyContent: 'center',\n },\n addImageIcon: {\n color: '#fff',\n fontSize: 32,\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: 20,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n removeImage: {\n position: 'absolute',\n top: 0,\n right: 0,\n padding: 4,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n },\n staticTitle: {\n fontSize: 20,\n fontFamily: 'sf-semibold',\n color: Colours.TEXT_DARKEST,\n },\n staticText: {\n fontSize: 17,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARKEST,\n lineHeight: 24,\n },\n multiChoiceOption: {\n marginTop: 16,\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 20,\n },\n multiChoiceText: {\n flex: 1,\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n tick: {\n marginRight: 10,\n borderRadius: 4,\n },\n unticked: {\n marginRight: 10,\n width: 20,\n height: 20,\n borderColor: Colours.LINEGREY,\n borderWidth: 1,\n borderRadius: 4,\n },\n dateContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n dateFieldButton: {\n flex: 1,\n },\n dateFieldContainer: {\n flexDirection: 'row',\n borderRadius: 2,\n backgroundColor: '#ebeff2',\n padding: 8,\n marginTop: 8,\n },\n dateText: {\n flex: 1,\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: '#65686D',\n },\n dateIcon: {\n fontSize: 18,\n color: Colours.TEXT_BLUEGREY,\n },\n dateClearButton: {\n paddingLeft: 12,\n },\n removeIcon: {\n fontSize: 26,\n color: Colours.TEXT_BLUEGREY,\n },\n documentContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingVertical: 4,\n },\n documentTypeContainer: {\n width: 50,\n height: 60,\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 5,\n marginRight: 8,\n },\n documentTypeText: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n textAlign: 'center',\n },\n documentText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: '#65686D',\n },\n removeDocumentButton: {\n padding: 4,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n removeDocumentIcon: {\n fontSize: 24,\n },\n // PC-1255: User picker styles\n userPickerContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n profileContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n nameText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n marginLeft: 8,\n },\n};\n\nconst mapStateToProps = state => {\n const { user, connection } = state;\n const { displayName, profilePic, uid, site, unit, phoneNumber, permissions } = user;\n return {\n connected: connection.connected,\n userType: user.type,\n displayName,\n profilePic,\n uid,\n site,\n unit,\n phoneNumber,\n permissions,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n strings: state.strings?.config || {},\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-app",
3
- "version": "8.0.3",
3
+ "version": "8.0.5",
4
4
  "description": "Extension package to enable maintenance on Pluss Communities Platform",
5
5
  "main": "dist/module/index.js",
6
6
  "module": "dist/module/index.js",
@@ -719,6 +719,7 @@ class RequestDetail extends Component {
719
719
  onCancel={this.onCloseDatePicker}
720
720
  mode={this.state.popUpType}
721
721
  headerTextIOS={`Pick a ${this.state.popUpType}`}
722
+ date={new Date()}
722
723
  />
723
724
  </KeyboardAvoidingView>
724
725
  );
@@ -1306,6 +1306,7 @@ class MaintenanceRequest extends Component {
1306
1306
  onCancel={() => this.setState({ isDateTimePickerVisible: false })}
1307
1307
  mode={popUpType}
1308
1308
  headerTextIOS={`Pick a ${popUpType}`}
1309
+ date={new Date()}
1309
1310
  />
1310
1311
  </KeyboardAvoidingView>
1311
1312
  );