@plusscommunities/pluss-maintenance-app 7.0.1 → 7.0.2-auth.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -751,23 +751,28 @@ class MaintenanceRequest extends Component {
|
|
751
751
|
numColumns: 3
|
752
752
|
}));
|
753
753
|
}
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
754
|
+
|
755
|
+
// renderDocumentList(fieldId) {
|
756
|
+
// const documentsList = this.getDocuments(fieldId);
|
757
|
+
// return (
|
758
|
+
// <View style={styles.documentListContainer}>
|
759
|
+
// {documentsList.length > 0 ? documentsList.map((document, index) => this.renderDocument(document, index, fieldId)) : null}
|
760
|
+
// <Components.DocumentUploader
|
761
|
+
// buttonTitle="Add Files"
|
762
|
+
// allowedTypes={['application/pdf']}
|
763
|
+
// onUploadStarted={(uploadUri, uri, name, ext) => this.onUploadStartedDocument(uploadUri, uri, name, ext, fieldId)}
|
764
|
+
// onUploadProgress={progress => this.onUploadProgressDocument(progress, fieldId)}
|
765
|
+
// onUploadSuccess={(uri, uploadUri) => this.onUploadSuccessDocument(uri, uploadUri, fieldId)}
|
766
|
+
// onUploadFailed={uploadUri => this.onUploadFailedDocument(uploadUri, fieldId)}
|
767
|
+
// fileName="serviceDocument"
|
768
|
+
// userId={this.props.uid}
|
769
|
+
// disabled={false}
|
770
|
+
// multiple
|
771
|
+
// />
|
772
|
+
// </View>
|
773
|
+
// );
|
774
|
+
// }
|
775
|
+
|
771
776
|
renderDateField(field, fieldId, sectionStyle) {
|
772
777
|
let displayText, placeHolder, icon, errorText;
|
773
778
|
if (field.type === 'date') {
|
@@ -920,15 +925,19 @@ class MaintenanceRequest extends Component {
|
|
920
925
|
required: field.mandatory,
|
921
926
|
showError: this.state.showError
|
922
927
|
}, this.renderImageList(fieldId));
|
923
|
-
case 'document':
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
928
|
+
// case 'document':
|
929
|
+
// return (
|
930
|
+
// <Components.GenericInputSection
|
931
|
+
// key={fieldId}
|
932
|
+
// label={field.label}
|
933
|
+
// sectionStyle={sectionStyle}
|
934
|
+
// isValid={() => this.isFieldValid(field, fieldId)}
|
935
|
+
// required={field.mandatory}
|
936
|
+
// showError={this.state.showError}
|
937
|
+
// >
|
938
|
+
// {this.renderDocumentList(fieldId)}
|
939
|
+
// </Components.GenericInputSection>
|
940
|
+
// );
|
932
941
|
default:
|
933
942
|
return null;
|
934
943
|
}
|
@@ -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","Services","Components","Colours","Helper","Config","values","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","_defineProperty","userName","update","state","customFields","some","title","setState","fieldId","answer","cloneDeep","field","isTitle","undefined","xor","join","dismiss","dateFieldId","popUpType","type","isDateTimePickerVisible","date","dateObj","format","uploadUri","imageUri","imageFieldId","imagesUpdate","getImages","splice","length","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","includes","checkMandatory","isBoolean","imagesList","getImageUrls","documentsList","getDocumentAnswers","isArray","isNil","isEmpty","checkFormat","isEmail","isValid","valid","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","images","updatedCustomFields","sendMaintenanceRequest","uid","phone","roomNumber","getSite","site","then","res","data","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","console","log","id","job","getJob","error","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","userType","displayName","unit","phoneNumber","getJobTypes","componentWillUnmount","onPressBack","navigation","goBack","onPressType","navigate","screenJobTypePicker","currentType","onSelectType","pickType","bind","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","userId","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","renderDocumentList","documentListContainer","document","DocumentUploader","buttonTitle","allowedTypes","onUploadStartedDocument","onUploadProgressDocument","onUploadSuccessDocument","onUploadFailedDocument","disabled","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","Spinner","paddingBottom","LoadingIndicator","visible","FormCardSection","textValue","onChangeName","hasUnderline","paddingHorizontal","paddingVertical","flexDirection","justifyContent","sectionTitle","textJobType","marginRight","fontSize","Fragment","autoCorrect","multiline","autoGrow","alignItems","position","borderBottomWidth","borderBottomColor","LINEGREY","env","strings","MAINTENANCE_HOME","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","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","textShadowColor","textShadowOffset","TEXT_DARKEST","lineHeight","TEXT_BLUEGREY","paddingLeft","mapStateToProps","_state$strings","user","connection","profilePic","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 } 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 this.checkThumb = null;\n this.keyboardTypes = {\n phone: 'phone-pad',\n email: 'email-address',\n text: 'default',\n };\n }\n\n componentDidMount() {\n if (this.props.userType !== 'KIOSK') {\n this.setState({\n userName: this.props.displayName,\n roomNumber: this.props.unit,\n phone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : '',\n });\n }\n this.getJobTypes();\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 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 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 <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 <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={Platform.OS === 'ios' && '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};\n\nconst mapStateToProps = state => {\n const { user, connection } = state;\n const { displayName, profilePic, uid, site, unit, phoneNumber } = user;\n return {\n connected: connection.connected,\n userType: user.type,\n displayName,\n profilePic,\n uid,\n site,\n unit,\n phoneNumber,\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","Services","Components","Colours","Helper","Config","values","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","_defineProperty","userName","update","state","customFields","some","title","setState","fieldId","answer","cloneDeep","field","isTitle","undefined","xor","join","dismiss","dateFieldId","popUpType","type","isDateTimePickerVisible","date","dateObj","format","uploadUri","imageUri","imageFieldId","imagesUpdate","getImages","splice","length","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","includes","checkMandatory","isBoolean","imagesList","getImageUrls","documentsList","getDocumentAnswers","isArray","isNil","isEmpty","checkFormat","isEmail","isValid","valid","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","images","updatedCustomFields","sendMaintenanceRequest","uid","phone","roomNumber","getSite","site","then","res","data","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","console","log","id","job","getJob","error","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","userType","displayName","unit","phoneNumber","getJobTypes","componentWillUnmount","onPressBack","navigation","goBack","onPressType","navigate","screenJobTypePicker","currentType","onSelectType","pickType","bind","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","userId","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","Spinner","paddingBottom","LoadingIndicator","visible","FormCardSection","textValue","onChangeName","hasUnderline","paddingHorizontal","paddingVertical","flexDirection","justifyContent","sectionTitle","textJobType","marginRight","fontSize","Fragment","autoCorrect","multiline","autoGrow","alignItems","position","borderBottomWidth","borderBottomColor","LINEGREY","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","user","connection","profilePic","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 } 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 this.checkThumb = null;\n this.keyboardTypes = {\n phone: 'phone-pad',\n email: 'email-address',\n text: 'default',\n };\n }\n\n componentDidMount() {\n if (this.props.userType !== 'KIOSK') {\n this.setState({\n userName: this.props.displayName,\n roomNumber: this.props.unit,\n phone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : '',\n });\n }\n this.getJobTypes();\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 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 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 <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 <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={Platform.OS === 'ios' && '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};\n\nconst mapStateToProps = state => {\n const { user, connection } = state;\n const { displayName, profilePic, uid, site, unit, phoneNumber } = user;\n return {\n connected: connection.connected,\n userType: user.type,\n displayName,\n profilePic,\n uid,\n site,\n unit,\n phoneNumber,\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": "7.0.
|
3
|
+
"version": "7.0.2-auth.0",
|
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",
|
@@ -15,6 +15,9 @@
|
|
15
15
|
"patch": "npm version patch",
|
16
16
|
"betaupload": "npm run build && npm publish --access public --tag beta",
|
17
17
|
"betaupload:p": "npm run betapatch && npm run betaupload",
|
18
|
+
"authpatch": "npm version prepatch --preid=auth",
|
19
|
+
"authupload": "npm run build && npm publish --access public --tag auth",
|
20
|
+
"authupload:p": "npm run authpatch && npm run authupload",
|
18
21
|
"upload": "npm run build && npm publish --access public",
|
19
22
|
"upload:p": "npm run patch && npm run upload",
|
20
23
|
"copy:add": "run(){ ext=${1:-default}; test -f src/values.config.$ext.js || cp src/values.config.default.js src/values.config.$ext.js; }; run",
|
@@ -22,15 +25,15 @@
|
|
22
25
|
"copy:set": "run(){ target='\\@plusscommunities\\/pluss-maintenance-app'; ext=${1:-default}; [ $ext == 'default' ] && replace=$target || replace=$target'-'$ext; echo 'Setting target to '$replace; test -f src/values.config.$ext.js && cp -f src/values.config.$ext.js src/values.config.js; sed -i '' -e 's/'$target'.*\"/'$replace'\"/g' package.json; }; run",
|
23
26
|
"copy:uploadnopatch": "for file in `ls ./src/values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run upload; done; npm run copy:set;",
|
24
27
|
"copy:upload": "npm run patch; npm run copy:uploadnopatch;",
|
25
|
-
"copy:betaupload": "npm run betapatch; for file in `ls ./src/values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run betaupload; done; npm run copy:set;"
|
28
|
+
"copy:betaupload": "npm run betapatch; for file in `ls ./src/values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run betaupload; done; npm run copy:set;",
|
29
|
+
"copy:authupload": "npm run authpatch; for file in `ls ./src/values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run authupload; done; npm run copy:set;"
|
26
30
|
},
|
27
31
|
"author": "Thorbjorn Kappel Davis",
|
28
32
|
"license": "ISC",
|
29
33
|
"dependencies": {},
|
30
34
|
"peerDependencies": {
|
31
|
-
"@plusscommunities/pluss-core-app": "7.0.
|
35
|
+
"@plusscommunities/pluss-core-app": "^7.0.3-auth.0",
|
32
36
|
"axios": "^1.6.8",
|
33
|
-
"expo-document-picker": "~13.0.3",
|
34
37
|
"lodash": "^4.17.4",
|
35
38
|
"moment": "^2.30.1",
|
36
39
|
"react": "18.3.1",
|
@@ -757,26 +757,26 @@ class MaintenanceRequest extends Component {
|
|
757
757
|
);
|
758
758
|
}
|
759
759
|
|
760
|
-
renderDocumentList(fieldId) {
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
}
|
760
|
+
// renderDocumentList(fieldId) {
|
761
|
+
// const documentsList = this.getDocuments(fieldId);
|
762
|
+
// return (
|
763
|
+
// <View style={styles.documentListContainer}>
|
764
|
+
// {documentsList.length > 0 ? documentsList.map((document, index) => this.renderDocument(document, index, fieldId)) : null}
|
765
|
+
// <Components.DocumentUploader
|
766
|
+
// buttonTitle="Add Files"
|
767
|
+
// allowedTypes={['application/pdf']}
|
768
|
+
// onUploadStarted={(uploadUri, uri, name, ext) => this.onUploadStartedDocument(uploadUri, uri, name, ext, fieldId)}
|
769
|
+
// onUploadProgress={progress => this.onUploadProgressDocument(progress, fieldId)}
|
770
|
+
// onUploadSuccess={(uri, uploadUri) => this.onUploadSuccessDocument(uri, uploadUri, fieldId)}
|
771
|
+
// onUploadFailed={uploadUri => this.onUploadFailedDocument(uploadUri, fieldId)}
|
772
|
+
// fileName="serviceDocument"
|
773
|
+
// userId={this.props.uid}
|
774
|
+
// disabled={false}
|
775
|
+
// multiple
|
776
|
+
// />
|
777
|
+
// </View>
|
778
|
+
// );
|
779
|
+
// }
|
780
780
|
|
781
781
|
renderDateField(field, fieldId, sectionStyle) {
|
782
782
|
let displayText, placeHolder, icon, errorText;
|
@@ -935,19 +935,19 @@ class MaintenanceRequest extends Component {
|
|
935
935
|
{this.renderImageList(fieldId)}
|
936
936
|
</Components.GenericInputSection>
|
937
937
|
);
|
938
|
-
case 'document':
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
938
|
+
// case 'document':
|
939
|
+
// return (
|
940
|
+
// <Components.GenericInputSection
|
941
|
+
// key={fieldId}
|
942
|
+
// label={field.label}
|
943
|
+
// sectionStyle={sectionStyle}
|
944
|
+
// isValid={() => this.isFieldValid(field, fieldId)}
|
945
|
+
// required={field.mandatory}
|
946
|
+
// showError={this.state.showError}
|
947
|
+
// >
|
948
|
+
// {this.renderDocumentList(fieldId)}
|
949
|
+
// </Components.GenericInputSection>
|
950
|
+
// );
|
951
951
|
default:
|
952
952
|
return null;
|
953
953
|
}
|