@plusscommunities/pluss-maintenance-app 2.0.2-beta.0 → 2.0.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
2
2
 
3
3
  import React, { Component } from 'react';
4
4
  import { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native';
5
- import { Icon } from 'react-native-elements';
5
+ import { Icon } from '@rneui/themed';
6
6
  import _ from 'lodash';
7
7
  import { connect } from 'react-redux';
8
8
  import { generalActions } from '../apis';
@@ -1 +1 @@
1
- {"version":3,"sources":["MaintenanceList.js"],"names":["React","Component","View","StyleSheet","FlatList","TouchableOpacity","Text","Icon","_","connect","generalActions","jobsLoaded","MaintenanceListItem","StatusSelectorPopup","Components","Colours","Config","SHOW_ALL_STATUS","MaintenanceList","constructor","props","onLoadingChanged","res","getJobs","site","data","error","console","log","loading","callback","setState","state","showStatusPopup","selectedStatus","componentDidMount","refresh","componentDidUpdate","prevProps","isEqual","statuses","includes","dataUpdated","getEmptyStateText","options","isEmpty","EmptyText","userCategory","env","strings","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","renderEmptyList","marginHorizontal","renderFilter","length","styles","filterContainerOuter","filterTitle","onPressFilter","filterContainer","filterText","color","colourBrandingMain","filterIcon","renderListHeader","ListHeaderComponent","renderList","jobs","filteredList","filter","job","status","flex","paddingBottom","item","id","itemStyle","renderStatusPopup","onCloseFilter","onSelectStatus","render","container","style","create","backgroundColor","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","fontFamily","fontSize","letterSpacing","marginRight","mapStateToProps","user","notifications","jobsOrdered","orderBy","uniq","map","category","getMainBrandingColourFromState","forwardRef"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceListItem from '../components/MaintenanceListItem';\nimport StatusSelectorPopup from './StatusSelectorPopup';\nimport { Components, Colours, Config } from '../core.config';\n\nconst SHOW_ALL_STATUS = 'Show All';\n\nclass MaintenanceList extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n loading: false,\n selectedStatus: SHOW_ALL_STATUS,\n showStatusPopup: false,\n };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!_.isEqual(prevProps.statuses, this.props.statuses) && !this.props.statuses.includes(this.state.selectedStatus)) {\n // Reset selected status if not exists\n this.setState({ selectedStatus: SHOW_ALL_STATUS });\n }\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await generalActions.getJobs(this.props.site);\n this.props.jobsLoaded(res.data);\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n getEmptyStateText() {\n if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n return this.props.options.EmptyText;\n }\n return this.props.userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n }\n\n onLoadingChanged = (loading, callback) => {\n this.setState({ loading }, () => {\n if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);\n if (callback) callback();\n });\n };\n\n onPressFilter = () => {\n this.setState({ showStatusPopup: true });\n };\n\n onCloseFilter = () => {\n this.setState({ showStatusPopup: false });\n };\n\n onSelectStatus = selectedStatus => {\n this.setState({ showStatusPopup: false, selectedStatus });\n };\n\n renderEmptyList() {\n return this.state.loading ? null : <Components.EmptyStateMain title={this.getEmptyStateText()} style={{ marginHorizontal: 16 }} />;\n }\n\n renderFilter() {\n if (this.props.statuses?.length <= 1) return;\n\n return (\n <View style={styles.filterContainerOuter}>\n <Text style={styles.filterTitle}>FILTER</Text>\n <TouchableOpacity onPress={this.onPressFilter}>\n <View style={styles.filterContainer}>\n <Text style={[styles.filterText, { color: this.props.colourBrandingMain }]}>\n {this.state.selectedStatus || SHOW_ALL_STATUS}\n </Text>\n <Icon name=\"angle-down\" type=\"font-awesome\" iconStyle={[styles.filterIcon, { color: this.props.colourBrandingMain }]} />\n </View>\n </TouchableOpacity>\n </View>\n );\n }\n\n renderListHeader() {\n return (\n <View>\n {this.props.ListHeaderComponent}\n {this.renderFilter()}\n </View>\n );\n }\n\n renderList() {\n const { selectedStatus } = this.state;\n const { jobs } = this.props;\n const filteredList = selectedStatus === SHOW_ALL_STATUS ? jobs : jobs.filter(job => job.status === selectedStatus);\n\n return (\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n style={{ flex: 1 }}\n contentContainerStyle={{ paddingBottom: 16 }}\n data={filteredList}\n keyExtractor={item => item.id}\n renderItem={({ item }) => <MaintenanceListItem style={this.props.itemStyle} job={item} />}\n ListEmptyComponent={this.renderEmptyList()}\n ListHeaderComponent={this.renderListHeader()}\n />\n );\n }\n\n // renderAddButton() {\n // return this.props.enableAdd ? <Components.AddContentButton /> : null;\n // }\n\n renderStatusPopup() {\n if (!this.state.showStatusPopup) return null;\n\n return (\n <StatusSelectorPopup\n filter={this.props.statuses}\n includeAll\n allText={SHOW_ALL_STATUS}\n onClose={this.onCloseFilter}\n onSelect={this.onSelectStatus}\n />\n );\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.style]}>\n {this.renderList()}\n {/* {this.renderAddButton()} */}\n {/* {this.renderStatusPopup()} */}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n filterContainerOuter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 16,\n },\n filterTitle: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: '#4d4d4d',\n },\n filterContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n filterText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n marginRight: 6,\n },\n filterIcon: {\n fontSize: 20,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, jobs, notifications } = state;\n const jobsOrdered = _.orderBy(jobs.jobs, ['createdUnix'], ['desc']);\n const statuses = _.uniq(jobsOrdered.map(job => job.status));\n\n return {\n jobs: jobsOrdered,\n statuses,\n site: user.site,\n userCategory: user.category,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n dataUpdated: notifications.dataUpdated['jobs'],\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(MaintenanceList);\n"]}
1
+ {"version":3,"sources":["MaintenanceList.js"],"names":["React","Component","View","StyleSheet","FlatList","TouchableOpacity","Text","Icon","_","connect","generalActions","jobsLoaded","MaintenanceListItem","StatusSelectorPopup","Components","Colours","Config","SHOW_ALL_STATUS","MaintenanceList","constructor","props","onLoadingChanged","res","getJobs","site","data","error","console","log","loading","callback","setState","state","showStatusPopup","selectedStatus","componentDidMount","refresh","componentDidUpdate","prevProps","isEqual","statuses","includes","dataUpdated","getEmptyStateText","options","isEmpty","EmptyText","userCategory","env","strings","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","renderEmptyList","marginHorizontal","renderFilter","length","styles","filterContainerOuter","filterTitle","onPressFilter","filterContainer","filterText","color","colourBrandingMain","filterIcon","renderListHeader","ListHeaderComponent","renderList","jobs","filteredList","filter","job","status","flex","paddingBottom","item","id","itemStyle","renderStatusPopup","onCloseFilter","onSelectStatus","render","container","style","create","backgroundColor","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","fontFamily","fontSize","letterSpacing","marginRight","mapStateToProps","user","notifications","jobsOrdered","orderBy","uniq","map","category","getMainBrandingColourFromState","forwardRef"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport _ from 'lodash';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceListItem from '../components/MaintenanceListItem';\nimport StatusSelectorPopup from './StatusSelectorPopup';\nimport { Components, Colours, Config } from '../core.config';\n\nconst SHOW_ALL_STATUS = 'Show All';\n\nclass MaintenanceList extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n loading: false,\n selectedStatus: SHOW_ALL_STATUS,\n showStatusPopup: false,\n };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!_.isEqual(prevProps.statuses, this.props.statuses) && !this.props.statuses.includes(this.state.selectedStatus)) {\n // Reset selected status if not exists\n this.setState({ selectedStatus: SHOW_ALL_STATUS });\n }\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await generalActions.getJobs(this.props.site);\n this.props.jobsLoaded(res.data);\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n getEmptyStateText() {\n if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n return this.props.options.EmptyText;\n }\n return this.props.userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n }\n\n onLoadingChanged = (loading, callback) => {\n this.setState({ loading }, () => {\n if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);\n if (callback) callback();\n });\n };\n\n onPressFilter = () => {\n this.setState({ showStatusPopup: true });\n };\n\n onCloseFilter = () => {\n this.setState({ showStatusPopup: false });\n };\n\n onSelectStatus = selectedStatus => {\n this.setState({ showStatusPopup: false, selectedStatus });\n };\n\n renderEmptyList() {\n return this.state.loading ? null : <Components.EmptyStateMain title={this.getEmptyStateText()} style={{ marginHorizontal: 16 }} />;\n }\n\n renderFilter() {\n if (this.props.statuses?.length <= 1) return;\n\n return (\n <View style={styles.filterContainerOuter}>\n <Text style={styles.filterTitle}>FILTER</Text>\n <TouchableOpacity onPress={this.onPressFilter}>\n <View style={styles.filterContainer}>\n <Text style={[styles.filterText, { color: this.props.colourBrandingMain }]}>\n {this.state.selectedStatus || SHOW_ALL_STATUS}\n </Text>\n <Icon name=\"angle-down\" type=\"font-awesome\" iconStyle={[styles.filterIcon, { color: this.props.colourBrandingMain }]} />\n </View>\n </TouchableOpacity>\n </View>\n );\n }\n\n renderListHeader() {\n return (\n <View>\n {this.props.ListHeaderComponent}\n {this.renderFilter()}\n </View>\n );\n }\n\n renderList() {\n const { selectedStatus } = this.state;\n const { jobs } = this.props;\n const filteredList = selectedStatus === SHOW_ALL_STATUS ? jobs : jobs.filter(job => job.status === selectedStatus);\n\n return (\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n style={{ flex: 1 }}\n contentContainerStyle={{ paddingBottom: 16 }}\n data={filteredList}\n keyExtractor={item => item.id}\n renderItem={({ item }) => <MaintenanceListItem style={this.props.itemStyle} job={item} />}\n ListEmptyComponent={this.renderEmptyList()}\n ListHeaderComponent={this.renderListHeader()}\n />\n );\n }\n\n // renderAddButton() {\n // return this.props.enableAdd ? <Components.AddContentButton /> : null;\n // }\n\n renderStatusPopup() {\n if (!this.state.showStatusPopup) return null;\n\n return (\n <StatusSelectorPopup\n filter={this.props.statuses}\n includeAll\n allText={SHOW_ALL_STATUS}\n onClose={this.onCloseFilter}\n onSelect={this.onSelectStatus}\n />\n );\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.style]}>\n {this.renderList()}\n {/* {this.renderAddButton()} */}\n {/* {this.renderStatusPopup()} */}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n filterContainerOuter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 16,\n },\n filterTitle: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: '#4d4d4d',\n },\n filterContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n filterText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n marginRight: 6,\n },\n filterIcon: {\n fontSize: 20,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, jobs, notifications } = state;\n const jobsOrdered = _.orderBy(jobs.jobs, ['createdUnix'], ['desc']);\n const statuses = _.uniq(jobsOrdered.map(job => job.status));\n\n return {\n jobs: jobsOrdered,\n statuses,\n site: user.site,\n userCategory: user.category,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n dataUpdated: notifications.dataUpdated['jobs'],\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(MaintenanceList);\n"]}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3
3
  import React, { Component } from 'react';
4
4
  import { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';
5
5
  import _ from 'lodash';
6
- import { Icon } from 'react-native-elements';
6
+ import { Icon } from '@rneui/themed';
7
7
  import { connect } from 'react-redux';
8
8
  import moment from 'moment'; // import {
9
9
  // getShadowStyle,
@@ -1 +1 @@
1
- {"version":3,"sources":["MaintenanceListItem.js"],"names":["React","Component","Image","Text","TouchableOpacity","View","StyleSheet","_","Icon","connect","moment","getJobStatusProps","jobStatusOptions","Services","Helper","Colours","MaintenanceListItem","navigation","navigate","job","props","render","createdTime","createdUnix","createdTimeText","format","activityTimeText","expectedDate","statusText","statusColor","status","showSeen","name","onPressJob","styles","jobContainer","style","jobInnerContainer","jobTopSection","jobTopLeft","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","seen","jobSeenContainer","jobSeenIcon","jobSeenText","jobTopRight","jobCommentImage","require","commentCount","commentCountContainer","commentCountText","jobBottomSection","description","jobDescriptionText","jobCreatedText","jobActivityContainer","jobStatusContainer","jobStatusIcon","jobStatusText","jobStatusLine","borderColor","jobStatusLineMask","jobStatusCircle","jobStatusDateText","create","marginVertical","paddingHorizontal","getShadowStyle","flexDirection","alignItems","paddingVertical","borderBottomWidth","borderBottomColor","LINEGREY","flex","fontFamily","fontSize","TEXT_DARK","marginBottom","height","width","borderRadius","justifyContent","textAlign","marginLeft","paddingTop","resizeMode","position","top","right","borderWidth","COLOUR_GREEN","TEXT_LIGHT","borderStyle","left","zIndex","mapStateToProps","state","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\n// import {\n// getShadowStyle,\n// LINEGREY,\n// TEXT_DARK,\n// TEXT_LIGHT,\n// COLOUR_GREEN,\n// getMainBrandingColourFromState,\n// hexToRGBAstring,\n// getJobStatusProps,\n// jobStatusOptions,\n// } from '../../js';\n// import NavigationService from '../../js/NavigationService';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Helper, Colours } from '../core.config';\n\nclass MaintenanceListItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate('requestDetail', { job: this.props.job });\n };\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const activityTimeText = job.expectedDate ? moment(job.expectedDate).format('D MMMM') : '--';\n const { statusText, statusColor } = getJobStatusProps(job.status);\n const showSeen = !job.status || job.status === jobStatusOptions[0].name;\n\n return (\n <TouchableOpacity onPress={this.onPressJob}>\n <View style={[styles.jobContainer, this.props.style]}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <View style={styles.jobTopLeft}>\n <Text style={styles.jobTitleText}>{job.title}</Text>\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]}>{job.type}</Text>\n </View>\n {showSeen && job.seen && (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n )}\n </View>\n </View>\n <View style={styles.jobTopRight}>\n <Image style={styles.jobCommentImage} source={require('../images/speechbubble.png')} />\n {job.commentCount && (\n <View style={styles.commentCountContainer}>\n <Text style={styles.commentCountText}>{job.commentCount > 99 ? '99' : job.commentCount}</Text>\n </View>\n )}\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n {job.description && <Text style={styles.jobDescriptionText}>{job.description}</Text>}\n <Text style={styles.jobCreatedText}>{createdTimeText}</Text>\n <View style={styles.jobActivityContainer}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n <View style={[styles.jobStatusLine, { borderColor: statusColor }]}>\n <View style={styles.jobStatusLineMask} />\n </View>\n <View style={[styles.jobStatusCircle, { backgroundColor: statusColor }]} />\n <Text style={styles.jobStatusDateText}>{activityTimeText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n marginVertical: 8,\n paddingHorizontal: 16,\n },\n jobInnerContainer: {\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 10,\n paddingVertical: 16,\n borderBottomWidth: 1,\n borderBottomColor: Colours.LINEGREY,\n },\n jobTopLeft: {\n flex: 1,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 18,\n color: Colours.TEXT_DARK,\n marginBottom: 8,\n },\n jobTypeSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n height: 20,\n width: 80,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobTopRight: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 10,\n paddingTop: 10,\n },\n jobCommentImage: {\n width: 34,\n height: 34,\n resizeMode: 'contain',\n },\n commentCountContainer: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: '#fff',\n width: 20,\n height: 20,\n backgroundColor: Colours.COLOUR_GREEN,\n justifyContent: 'center',\n alignItems: 'center',\n },\n commentCountText: {\n textAlign: 'center',\n fontFamily: 'sf-bold',\n fontSize: 10,\n color: '#fff',\n },\n jobBottomSection: {\n paddingHorizontal: 10,\n paddingVertical: 16,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n marginBottom: 8,\n },\n jobCreatedText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n color: Colours.TEXT_LIGHT,\n marginBottom: 10,\n },\n jobActivityContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n jobStatusLine: {\n borderWidth: 1,\n borderStyle: 'dashed',\n width: 30,\n },\n jobStatusLineMask: {\n position: 'absolute',\n left: -1,\n top: -1,\n width: '100%',\n height: 1,\n backgroundColor: '#fff',\n zIndex: 1,\n },\n jobStatusCircle: {\n width: 18,\n height: 18,\n borderRadius: 9,\n },\n jobStatusDateText: {\n flex: 1,\n textAlign: 'right',\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceListItem);\n"]}
1
+ {"version":3,"sources":["MaintenanceListItem.js"],"names":["React","Component","Image","Text","TouchableOpacity","View","StyleSheet","_","Icon","connect","moment","getJobStatusProps","jobStatusOptions","Services","Helper","Colours","MaintenanceListItem","navigation","navigate","job","props","render","createdTime","createdUnix","createdTimeText","format","activityTimeText","expectedDate","statusText","statusColor","status","showSeen","name","onPressJob","styles","jobContainer","style","jobInnerContainer","jobTopSection","jobTopLeft","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","seen","jobSeenContainer","jobSeenIcon","jobSeenText","jobTopRight","jobCommentImage","require","commentCount","commentCountContainer","commentCountText","jobBottomSection","description","jobDescriptionText","jobCreatedText","jobActivityContainer","jobStatusContainer","jobStatusIcon","jobStatusText","jobStatusLine","borderColor","jobStatusLineMask","jobStatusCircle","jobStatusDateText","create","marginVertical","paddingHorizontal","getShadowStyle","flexDirection","alignItems","paddingVertical","borderBottomWidth","borderBottomColor","LINEGREY","flex","fontFamily","fontSize","TEXT_DARK","marginBottom","height","width","borderRadius","justifyContent","textAlign","marginLeft","paddingTop","resizeMode","position","top","right","borderWidth","COLOUR_GREEN","TEXT_LIGHT","borderStyle","left","zIndex","mapStateToProps","state","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport { Icon } from '@rneui/themed';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\n// import {\n// getShadowStyle,\n// LINEGREY,\n// TEXT_DARK,\n// TEXT_LIGHT,\n// COLOUR_GREEN,\n// getMainBrandingColourFromState,\n// hexToRGBAstring,\n// getJobStatusProps,\n// jobStatusOptions,\n// } from '../../js';\n// import NavigationService from '../../js/NavigationService';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Helper, Colours } from '../core.config';\n\nclass MaintenanceListItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate('requestDetail', { job: this.props.job });\n };\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const activityTimeText = job.expectedDate ? moment(job.expectedDate).format('D MMMM') : '--';\n const { statusText, statusColor } = getJobStatusProps(job.status);\n const showSeen = !job.status || job.status === jobStatusOptions[0].name;\n\n return (\n <TouchableOpacity onPress={this.onPressJob}>\n <View style={[styles.jobContainer, this.props.style]}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <View style={styles.jobTopLeft}>\n <Text style={styles.jobTitleText}>{job.title}</Text>\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]}>{job.type}</Text>\n </View>\n {showSeen && job.seen && (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n )}\n </View>\n </View>\n <View style={styles.jobTopRight}>\n <Image style={styles.jobCommentImage} source={require('../images/speechbubble.png')} />\n {job.commentCount && (\n <View style={styles.commentCountContainer}>\n <Text style={styles.commentCountText}>{job.commentCount > 99 ? '99' : job.commentCount}</Text>\n </View>\n )}\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n {job.description && <Text style={styles.jobDescriptionText}>{job.description}</Text>}\n <Text style={styles.jobCreatedText}>{createdTimeText}</Text>\n <View style={styles.jobActivityContainer}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n <View style={[styles.jobStatusLine, { borderColor: statusColor }]}>\n <View style={styles.jobStatusLineMask} />\n </View>\n <View style={[styles.jobStatusCircle, { backgroundColor: statusColor }]} />\n <Text style={styles.jobStatusDateText}>{activityTimeText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n marginVertical: 8,\n paddingHorizontal: 16,\n },\n jobInnerContainer: {\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 10,\n paddingVertical: 16,\n borderBottomWidth: 1,\n borderBottomColor: Colours.LINEGREY,\n },\n jobTopLeft: {\n flex: 1,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 18,\n color: Colours.TEXT_DARK,\n marginBottom: 8,\n },\n jobTypeSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n height: 20,\n width: 80,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobTopRight: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 10,\n paddingTop: 10,\n },\n jobCommentImage: {\n width: 34,\n height: 34,\n resizeMode: 'contain',\n },\n commentCountContainer: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: '#fff',\n width: 20,\n height: 20,\n backgroundColor: Colours.COLOUR_GREEN,\n justifyContent: 'center',\n alignItems: 'center',\n },\n commentCountText: {\n textAlign: 'center',\n fontFamily: 'sf-bold',\n fontSize: 10,\n color: '#fff',\n },\n jobBottomSection: {\n paddingHorizontal: 10,\n paddingVertical: 16,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n marginBottom: 8,\n },\n jobCreatedText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n color: Colours.TEXT_LIGHT,\n marginBottom: 10,\n },\n jobActivityContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n jobStatusLine: {\n borderWidth: 1,\n borderStyle: 'dashed',\n width: 30,\n },\n jobStatusLineMask: {\n position: 'absolute',\n left: -1,\n top: -1,\n width: '100%',\n height: 1,\n backgroundColor: '#fff',\n zIndex: 1,\n },\n jobStatusCircle: {\n width: 18,\n height: 18,\n borderRadius: 9,\n },\n jobStatusDateText: {\n flex: 1,\n textAlign: 'right',\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceListItem);\n"]}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3
3
  import React, { Component } from 'react';
4
4
  import { Text, View, StyleSheet, TouchableOpacity } from 'react-native';
5
5
  import { connect } from 'react-redux';
6
- import { Icon } from 'react-native-elements';
6
+ import { Icon } from '@rneui/themed';
7
7
  import moment from 'moment';
8
8
  import _ from 'lodash';
9
9
  import { getJobStatusProps, jobStatusOptions } from '../helper';
@@ -1 +1 @@
1
- {"version":3,"sources":["MaintenanceWidgetItem.js"],"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatusProps","jobStatusOptions","Services","Colours","Helper","MaintenanceWidgetItem","navigation","navigate","job","props","render","createdTime","createdUnix","createdTimeText","format","statusText","statusColor","status","seenText","name","seen","id","onPressJob","styles","jobContainer","jobInnerContainer","jobTopSection","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusIcon","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate('requestDetail', { job: this.props.job });\n };\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const { statusText, statusColor } = getJobStatusProps(job.status);\n const seenText = (() => {\n if (!job.status || job.status === jobStatusOptions[0].name) {\n return job.seen ? 'Seen' : 'Unseen';\n }\n return '';\n })();\n\n return (\n <TouchableOpacity key={job.id} onPress={this.onPressJob}>\n <View style={styles.jobContainer}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <Text numberOfLines={2} style={styles.jobTitleText}>\n {job.title}\n </Text>\n <Text style={styles.jobCreatedTimeText}>{createdTimeText}</Text>\n <View style={styles.jobSeenContainer}>\n {job.seen && !_.isEmpty(seenText) && (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n )}\n <Text style={[styles.jobSeenText, job.seen && { color: this.props.colourBrandingMain }]}>{seenText}</Text>\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n padding: 10,\n },\n jobInnerContainer: {\n width: 140,\n height: 160,\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flex: 1,\n padding: 10,\n paddingTop: 20,\n },\n jobTitleText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n jobCreatedTimeText: {\n fontFamily: 'sf-medium',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n paddingTop: 3,\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingTop: 5,\n },\n jobSeenIcon: {\n fontSize: 12,\n marginRight: 4,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: Colours.TEXT_SUPER_LIGHT,\n },\n jobBottomSection: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 10,\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceWidgetItem);\n"]}
1
+ {"version":3,"sources":["MaintenanceWidgetItem.js"],"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatusProps","jobStatusOptions","Services","Colours","Helper","MaintenanceWidgetItem","navigation","navigate","job","props","render","createdTime","createdUnix","createdTimeText","format","statusText","statusColor","status","seenText","name","seen","id","onPressJob","styles","jobContainer","jobInnerContainer","jobTopSection","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusIcon","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from '@rneui/themed';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate('requestDetail', { job: this.props.job });\n };\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const { statusText, statusColor } = getJobStatusProps(job.status);\n const seenText = (() => {\n if (!job.status || job.status === jobStatusOptions[0].name) {\n return job.seen ? 'Seen' : 'Unseen';\n }\n return '';\n })();\n\n return (\n <TouchableOpacity key={job.id} onPress={this.onPressJob}>\n <View style={styles.jobContainer}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <Text numberOfLines={2} style={styles.jobTitleText}>\n {job.title}\n </Text>\n <Text style={styles.jobCreatedTimeText}>{createdTimeText}</Text>\n <View style={styles.jobSeenContainer}>\n {job.seen && !_.isEmpty(seenText) && (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n )}\n <Text style={[styles.jobSeenText, job.seen && { color: this.props.colourBrandingMain }]}>{seenText}</Text>\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n padding: 10,\n },\n jobInnerContainer: {\n width: 140,\n height: 160,\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flex: 1,\n padding: 10,\n paddingTop: 20,\n },\n jobTitleText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n jobCreatedTimeText: {\n fontFamily: 'sf-medium',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n paddingTop: 3,\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingTop: 5,\n },\n jobSeenIcon: {\n fontSize: 12,\n marginRight: 4,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: Colours.TEXT_SUPER_LIGHT,\n },\n jobBottomSection: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 10,\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceWidgetItem);\n"]}
@@ -4,7 +4,7 @@ import React, { Component } from 'react';
4
4
  import _ from 'lodash';
5
5
  import { TouchableOpacity, View, ScrollView, Text } from 'react-native';
6
6
  import { connect } from 'react-redux';
7
- import { Icon } from 'react-native-elements';
7
+ import { Icon } from '@rneui/themed';
8
8
  import { Services } from '../feature.config';
9
9
  import { Components, Colours } from '../core.config';
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["JobTypePicker.js"],"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","currentType","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onTypePress","type","onSelectType","setTimeout","renderMain","isEmpty","types","marginTop","renderOptions","map","rep","index","bind","typeName","height","margin","styles","labelContainer","labelText","color","fontSize","state","COLOUR_GREEN","description","render","container","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","text","fontFamily","TEXT_DARK","justifyContent"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { Services } from '../feature.config';\nimport { Components, Colours } from '../core.config';\n\nclass JobTypePicker extends Component {\n state = {\n currentType: null,\n };\n\n UNSAFE_componentWillMount() {\n this.setState({ currentType: this.props.currentType });\n }\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onTypePress(type) {\n this.props.onSelectType(type);\n this.setState({ currentType: type });\n setTimeout(() => {\n this.onPressBack();\n }, 200);\n }\n\n renderMain() {\n if (_.isEmpty(this.props.types)) {\n return (\n <View style={{ marginTop: 16 }}>\n <Components.Spinner />\n </View>\n );\n }\n\n return <Components.FormCard style={{ marginTop: 16 }}>{this.renderOptions()}</Components.FormCard>;\n }\n\n renderOptions() {\n return this.props.types.map((rep, index) => {\n return (\n <TouchableOpacity key={index} onPress={this.onTypePress.bind(this, rep.typeName)}>\n <Components.FormCardSection label={rep.typeName} labelStyle={{ height: 0, margin: 0 }} hasUnderline hasContent>\n <View style={styles.labelContainer}>\n <Text style={styles.labelText}>{rep.typeName}</Text>\n <Icon\n name=\"check-circle\"\n //style={styles.uploadButtonInner}\n type=\"font-awesome\"\n iconStyle={[{ color: '#d5d9e0', fontSize: 20 }, rep.typeName === this.state.currentType && { color: Colours.COLOUR_GREEN }]}\n />\n </View>\n {!_.isEmpty(rep.description) && <Text style={styles.description}>{rep.description}</Text>}\n </Components.FormCardSection>\n </TouchableOpacity>\n );\n });\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack.bind(this)} text=\"Select type\" />\n <ScrollView style={{ flex: 1 }}>{this.renderMain()}</ScrollView>\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 22,\n },\n text: {\n flex: 1,\n fontFamily: 'sf-regular',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n labelContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n description: {\n marginTop: 5,\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARK,\n },\n};\n\nexport default connect(null, {})(JobTypePicker);\n"]}
1
+ {"version":3,"sources":["JobTypePicker.js"],"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","currentType","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onTypePress","type","onSelectType","setTimeout","renderMain","isEmpty","types","marginTop","renderOptions","map","rep","index","bind","typeName","height","margin","styles","labelContainer","labelText","color","fontSize","state","COLOUR_GREEN","description","render","container","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","text","fontFamily","TEXT_DARK","justifyContent"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from '@rneui/themed';\nimport { Services } from '../feature.config';\nimport { Components, Colours } from '../core.config';\n\nclass JobTypePicker extends Component {\n state = {\n currentType: null,\n };\n\n UNSAFE_componentWillMount() {\n this.setState({ currentType: this.props.currentType });\n }\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onTypePress(type) {\n this.props.onSelectType(type);\n this.setState({ currentType: type });\n setTimeout(() => {\n this.onPressBack();\n }, 200);\n }\n\n renderMain() {\n if (_.isEmpty(this.props.types)) {\n return (\n <View style={{ marginTop: 16 }}>\n <Components.Spinner />\n </View>\n );\n }\n\n return <Components.FormCard style={{ marginTop: 16 }}>{this.renderOptions()}</Components.FormCard>;\n }\n\n renderOptions() {\n return this.props.types.map((rep, index) => {\n return (\n <TouchableOpacity key={index} onPress={this.onTypePress.bind(this, rep.typeName)}>\n <Components.FormCardSection label={rep.typeName} labelStyle={{ height: 0, margin: 0 }} hasUnderline hasContent>\n <View style={styles.labelContainer}>\n <Text style={styles.labelText}>{rep.typeName}</Text>\n <Icon\n name=\"check-circle\"\n //style={styles.uploadButtonInner}\n type=\"font-awesome\"\n iconStyle={[{ color: '#d5d9e0', fontSize: 20 }, rep.typeName === this.state.currentType && { color: Colours.COLOUR_GREEN }]}\n />\n </View>\n {!_.isEmpty(rep.description) && <Text style={styles.description}>{rep.description}</Text>}\n </Components.FormCardSection>\n </TouchableOpacity>\n );\n });\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack.bind(this)} text=\"Select type\" />\n <ScrollView style={{ flex: 1 }}>{this.renderMain()}</ScrollView>\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 22,\n },\n text: {\n flex: 1,\n fontFamily: 'sf-regular',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n labelContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n description: {\n marginTop: 5,\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARK,\n },\n};\n\nexport default connect(null, {})(JobTypePicker);\n"]}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3
3
  import React, { Component } from 'react';
4
4
  import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground } from 'react-native';
5
5
  import DateTimePicker from 'react-native-modal-datetime-picker';
6
- import { Icon } from 'react-native-elements';
6
+ import { Icon } from '@rneui/themed';
7
7
  import _ from 'lodash';
8
8
  import moment from 'moment';
9
9
  import { connect } from 'react-redux';
@@ -1 +1 @@
1
- {"version":3,"sources":["RequestDetail.js"],"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","DateTimePicker","Icon","_","moment","connect","generalActions","jobAdded","StatusSelectorPopup","jobStatusOptions","getJobStatusProps","Services","Colours","Helper","Components","Config","RequestDetail","constructor","props","user","job","state","seen","hasPermission","Id","userID","setState","loading","updated","id","status","res","editJob","site","data","error","console","log","expectedDate","utc","toISOString","editJobStatus","navigation","goBack","showStatusPopup","updateJobStatus","navigate","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","getJob","permissions","includes","url","showFullscreenVideo","length","currentVideoUrl","galleryOpen","scrollView","createRef","commentReply","commentSection","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","newState","markSeen","openGallery","index","refs","imagePopup","scrollTo","closeGallery","renderLoading","renderTop","statusText","statusColor","canEdit","showSeen","name","getShadowStyle","styles","jobTitleContainer","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","jobSeenContainer","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","onOpenDatePicker","textSectionAngleRight","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onOpenStatusPicker","jobStatusContainer","jobStatusIcon","jobStatusText","openStaffNotes","Notes","renderPlayableImageUrl","containerStyle","thumbUrl","getThumb300","isVideo","flex","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","images","renderPlayableImage","renderImage","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","image","renderImagePopup","rendeDetails","onToggleDetails","detailsText","detailsSection","description","jobDescriptionText","locationLabel","locationText","room","requesterLabel","profileContainer","userProfilePic","nameContainer","nameText","userName","phone","phoneText","renderMessages","location","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","onLeaveMessage","marginTop","height","renderMessagesReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","render","Platform","OS","container","onPressBack","env","strings","MAINTENANCE_REQUEST_DETAILS","paddingBottom","innerContainer","onDateSelected","onCloseDatePicker","create","paddingVertical","fontFamily","fontSize","TEXT_DARKEST","marginBottom","flexDirection","alignItems","width","borderRadius","justifyContent","textAlign","marginLeft","jobStatusDateText","TEXT_LIGHT","borderTopWidth","borderTopColor","LINEGREY","letterSpacing","TEXT_DARK","marginRight","jobExpectedDateContainer","BOXGREY","paddingLeft","jobExpectedDate","overflow","position","top","left","right","bottom","textShadowColor","textShadowOffset","textShadowRadius","lineHeight","mapStateToProps","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground } from 'react-native';\nimport DateTimePicker from 'react-native-modal-datetime-picker';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../apis';\nimport { jobAdded } from '../actions';\nimport StatusSelectorPopup from '../components/StatusSelectorPopup';\nimport { jobStatusOptions, getJobStatusProps } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper, Components, Config } from '../core.config';\n\nclass RequestDetail extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n isDateTimePickerVisible: false,\n popUpType: '',\n status: '',\n expectedDate: null,\n expectedDateText: '',\n seen: false,\n showMore: false,\n showStatusPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n showMessages: false,\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n const newState = { job, status: job.status };\n if (job.expectedDate) {\n newState.expectedDate = moment(job.expectedDate);\n newState.expectedDateText = newState.expectedDate.format('DD/MM/YYYY');\n }\n if (job.seen) newState.seen = job.seen;\n this.setState(newState, () => {\n this.markSeen();\n });\n }\n\n markSeen = () => {\n const { user } = this.props;\n const { job } = this.state;\n // Must have maintenance permission and not the requester\n // console.log('markSeen check', job.userID, user.Id);\n if (job.seen === true) return;\n if (!this.hasPermission()) return;\n if (user.Id === job.userID) return;\n\n this.setState({ loading: true }, async () => {\n try {\n const updated = { id: job.id, seen: true, status: job.status || 'Unassigned' };\n const res = await generalActions.editJob(updated, user.site);\n // console.log('markSeen updated');\n this.props.jobAdded(res.data.job);\n this.setState({ loading: false, seen: true });\n } catch (error) {\n console.log('markSeen error', error);\n this.setState({ loading: false });\n }\n });\n };\n\n updateJob = () => {\n this.setState({ loading: true }, async () => {\n const { user } = this.props;\n const { job } = this.state;\n try {\n const updated = { id: job.id };\n if (this.state.expectedDate) {\n updated.expectedDate = moment(this.state.expectedDate)\n .utc()\n .toISOString();\n }\n const res = await generalActions.editJob(updated, user.site);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJob error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n updateJobStatus = () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await generalActions.editJobStatus(this.props.job.id, this.state.status);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJobStatus error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenStatusPicker = () => {\n this.setState({ showStatusPopup: true });\n };\n\n onCloseStatusPopup = () => {\n this.setState({ showStatusPopup: false });\n };\n\n onSelectStatus = status => {\n this.setState({ status, showStatusPopup: false }, () => {\n this.updateJobStatus();\n });\n };\n\n openStaffNotes = () => {\n Services.navigation.navigate('requestNotes', { job: this.state.job });\n };\n\n onOpenDatePicker = () => {\n this.setState({ popUpType: 'date', isDateTimePickerVisible: true });\n };\n\n onCloseDatePicker = () => {\n this.setState({ isDateTimePickerVisible: false });\n };\n\n onDateSelected = date => {\n if (this.state.popUpType === 'date') {\n date = moment(date);\n this.setState(\n {\n expectedDate: date,\n expectedDateText: date.format('DD/MM/YYYY'),\n isDateTimePickerVisible: false,\n },\n () => {\n this.updateJob();\n },\n );\n }\n };\n\n onToggleDetails = () => {\n this.setState({ showMore: !this.state.showMore });\n };\n\n onLeaveMessage = () => {\n this.setState({ showMessages: true });\n };\n\n onCommentsLoaded = count => {\n if (count > 0) {\n this.setState({ showMessages: true });\n }\n };\n\n onCommentAdded = () => {\n this.setState({ loading: true }, async () => {\n try {\n const job = await generalActions.getJob(this.props.user.site, this.props.job.id);\n // console.log('onCommentAdded', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('onCommentAdded error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n hasPermission = () => {\n const { permissions } = this.props.user;\n return _.includes(permissions, 'maintenanceTracking');\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(index) {\n this.setState({\n galleryOpen: true,\n });\n this.refs.imagePopup.scrollTo(index);\n }\n\n closeGallery() {\n this.setState({\n galleryOpen: false,\n });\n }\n\n renderLoading() {\n return <Components.LoadingIndicator visible={this.state.loading} />;\n }\n\n renderTop() {\n const { status, job } = this.state;\n const { statusText, statusColor } = getJobStatusProps(status);\n const canEdit = this.hasPermission();\n const showSeen = !status || status === jobStatusOptions[0].name;\n\n return (\n <View style={{ ...Helper.getShadowStyle() }}>\n <View style={styles.jobTitleContainer}>\n <Text style={styles.jobTitleText}>{job.title}</Text>\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]}>{job.type}</Text>\n </View>\n {showSeen && this.state.seen && (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n )}\n </View>\n\n {job.lastActivityUnix && (\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Last Updated On</Text>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{moment(job.lastActivityUnix).format('ddd D MMMM, h:mm A')}</Text>\n </View>\n </View>\n )}\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Expected Date</Text>\n <TouchableOpacity onPress={this.onOpenDatePicker}>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{this.state.expectedDateText || 'Select Date'}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.textSectionAngleRight, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </View>\n </View>\n <View style={styles.jobStatusExpectedContainer}>\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STATUS</Text>\n <TouchableOpacity onPress={canEdit ? this.onOpenStatusPicker : null}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </TouchableOpacity>\n </View>\n {this.hasPermission() && (\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STAFF NOTES</Text>\n <TouchableOpacity onPress={this.openStaffNotes}>\n <View style={[styles.jobStatusContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil-square-o\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>Notes ({(job.Notes || []).length})</Text>\n </View>\n </TouchableOpacity>\n </View>\n )}\n </View>\n </View>\n );\n }\n\n renderPlayableImageUrl(url, index, containerStyle, showMore) {\n const thumbUrl = Helper.getThumb300(url);\n\n if (Helper.isVideo(url)) {\n return (\n <ImageBackground style={[{ flex: 1 }, containerStyle]} source={{ uri: thumbUrl }}>\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n </ImageBackground>\n );\n }\n\n const imageUrl = Helper.get1400(url);\n return (\n <TouchableOpacity style={containerStyle} onPress={this.openGallery.bind(this, index || 0)}>\n <ImageBackground style={styles.imageContainer} source={{ uri: imageUrl }}>\n {showMore && <Text style={styles.plusImages}>+{this.state.job.images.length - 2}</Text>}\n </ImageBackground>\n </TouchableOpacity>\n );\n }\n\n renderPlayableImage(index, containerStyle, showMore) {\n const url = this.state.job.images[index];\n return this.renderPlayableImageUrl(url, index, containerStyle, showMore);\n }\n\n renderImage() {\n const { job } = this.state;\n if (!_.isNil(job.images) && !_.isEmpty(job.images)) {\n if (job.images.length >= 2) {\n return (\n <View style={styles.sideBySideImages}>\n {this.renderPlayableImage(0, styles.sideBySideImageContainer)}\n {this.renderPlayableImage(1, styles.sideBySideImageContainer, job.images.length > 2)}\n </View>\n );\n } else {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImage(0)}</View>;\n }\n } else if (!_.isNil(job.image)) {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImageUrl(job.image)}</View>;\n }\n return null;\n }\n\n renderImagePopup() {\n return (\n <Components.ImagePopup\n visible={this.state.galleryOpen}\n images={this.state.job.images || [this.state.job.image]}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n rendeDetails() {\n const { job } = this.state;\n\n return (\n <View>\n <Components.FormCardSectionOptionLauncher\n onPress={this.onToggleDetails}\n title=\"Details\"\n icon={this.state.showMore ? 'angle-up' : 'angle-down'}\n textStyle={styles.detailsText}\n sectionStyle={styles.detailsSection}\n />\n {this.state.showMore && (\n <View>\n {this.renderImage()}\n {!_.isEmpty(job.description) && (\n <Text numberOfLines={10} style={styles.jobDescriptionText}>\n {job.description}\n </Text>\n )}\n <Text style={styles.locationLabel}>Location</Text>\n <Text style={styles.locationText}>{job.room}</Text>\n <Text style={styles.requesterLabel}>Person Requesting</Text>\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={job.userProfilePic} Diameter={40} />\n <View style={styles.nameContainer}>\n <Text style={styles.nameText}>{job.userName}</Text>\n {!_.isEmpty(job.phone) && <Text style={styles.phoneText}>{job.phone}</Text>}\n </View>\n </View>\n </View>\n )}\n </View>\n );\n }\n\n renderMessages() {\n return (\n <View>\n <Components.CommentSection\n ref={this.commentSection}\n commentReply={this.commentReply}\n scrollView={this.scrollView}\n adminPermission=\"maintenanceTracking\"\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n live\n refreshFrequency={10000}\n placeHolder={''}\n style={{ flex: 1, paddingHorizontal: 0, paddingTop: 16 }}\n onCommentsLoaded={this.onCommentsLoaded}\n onCommentAdded={this.onCommentAdded}\n hideAddComment\n disableFlag\n />\n {!this.state.showMessages && (\n <Components.InlineButton\n onPress={this.onLeaveMessage}\n color={this.props.colourBrandingMain}\n touchableStyle={{ marginTop: 10 }}\n style={{ height: 36 }}\n textStyle={{ color: '#fff' }}\n fullWidth\n >\n Leave Message\n </Components.InlineButton>\n )}\n </View>\n );\n }\n\n renderMessagesReply() {\n if (!this.state.showMessages) return null;\n\n return (\n <Components.CommentReply\n ref={this.commentReply}\n commentSection={this.commentSection}\n scrollView={this.scrollView}\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n // noScroll={true}\n // style={{ position: 'absolute', bottom: 0, left: 0, right: 0 }}\n />\n );\n }\n\n renderStatusPopup() {\n if (!this.state.showStatusPopup) return null;\n return <StatusSelectorPopup onClose={this.onCloseStatusPopup} onSelect={this.onSelectStatus} />;\n }\n\n render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={Config.env.strings.MAINTENANCE_REQUEST_DETAILS} />\n {this.renderLoading()}\n <ScrollView ref={this.scrollView} contentContainerStyle={{ paddingBottom: 26 }} style={{ height: '100%' }}>\n <View style={styles.innerContainer}>\n {this.renderTop()}\n {this.rendeDetails()}\n {this.renderMessages()}\n </View>\n </ScrollView>\n {this.renderMessagesReply()}\n {this.renderStatusPopup()}\n {this.renderImagePopup()}\n <DateTimePicker\n isVisible={this.state.isDateTimePickerVisible}\n onConfirm={this.onDateSelected}\n onCancel={this.onCloseDatePicker}\n mode={this.state.popUpType}\n headerTextIOS={`Pick a ${this.state.popUpType}`}\n />\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n innerContainer: {\n paddingTop: 23,\n paddingHorizontal: 16,\n },\n jobTitleContainer: {\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 20,\n color: Colours.TEXT_DARKEST,\n marginBottom: 8,\n },\n jobTypeSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n height: 20,\n width: 80,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobStatusDateText: {\n marginTop: 8,\n fontFamily: 'sf-medium',\n fontSize: 13,\n color: Colours.TEXT_LIGHT,\n },\n jobStatusExpectedContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobStatusOuterContainer: {\n // marginRight: 50,\n },\n jobStatusHeading: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: Colours.TEXT_DARK,\n marginBottom: 6,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n width: 120,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n marginRight: 8,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n textAlign: 'center',\n },\n jobExpectedDateContainer: {\n backgroundColor: Colours.BOXGREY,\n flexDirection: 'row',\n width: 115,\n height: 30,\n borderRadius: 4,\n alignItems: 'center',\n paddingLeft: 8,\n },\n jobExpectedDate: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.hexToRGBAstring(Colours.TEXT_DARKEST, 0.5),\n },\n detailsText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n },\n detailsSection: {\n marginTop: 8,\n paddingHorizontal: 0,\n paddingBottom: 12,\n },\n sideBySideImages: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginBottom: 16,\n },\n sideBySideImageContainer: {\n backgroundColor: '#fff',\n width: '48%',\n height: 150,\n borderRadius: 2,\n overflow: 'hidden',\n },\n singleImageContainer: {\n backgroundColor: '#fff',\n width: '100%',\n height: 150,\n flex: 1,\n borderRadius: 2,\n overflow: 'hidden',\n marginBottom: 16,\n },\n imageContainer: {\n height: 150,\n width: 'auto',\n justifyContent: 'center',\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 30,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n plusImages: {\n fontFamily: 'sf-bold',\n fontSize: 32,\n textAlign: 'center',\n color: '#fff',\n textShadowColor: 'rgba(0, 0, 0, 0.5)',\n textShadowOffset: { width: 0, height: 2 },\n textShadowRadius: 8,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n paddingBottom: 16,\n },\n locationLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n },\n locationText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 8,\n },\n requesterLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 10,\n },\n profileContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n nameContainer: {\n marginLeft: 18,\n },\n nameText: {\n fontSize: 'sf-semibold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n marginBottom: 4,\n },\n phoneText: {\n fontSize: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n },\n textSectionInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginTop: 8,\n },\n textSectionLabel: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n lineHeight: 24,\n color: Colours.TEXT_DARKEST,\n },\n textSectionTextContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n textSectionText: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n lineHeight: 24,\n color: Colours.TEXT_LIGHT,\n },\n textSectionAngleRight: {\n fontSize: 24,\n marginLeft: 10,\n lineHeight: 24,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestDetail);\n"]}
1
+ {"version":3,"sources":["RequestDetail.js"],"names":["React","Component","ScrollView","View","StyleSheet","Text","KeyboardAvoidingView","TouchableOpacity","ImageBackground","DateTimePicker","Icon","_","moment","connect","generalActions","jobAdded","StatusSelectorPopup","jobStatusOptions","getJobStatusProps","Services","Colours","Helper","Components","Config","RequestDetail","constructor","props","user","job","state","seen","hasPermission","Id","userID","setState","loading","updated","id","status","res","editJob","site","data","error","console","log","expectedDate","utc","toISOString","editJobStatus","navigation","goBack","showStatusPopup","updateJobStatus","navigate","popUpType","isDateTimePickerVisible","date","expectedDateText","format","updateJob","showMore","showMessages","count","getJob","permissions","includes","url","showFullscreenVideo","length","currentVideoUrl","galleryOpen","scrollView","createRef","commentReply","commentSection","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","newState","markSeen","openGallery","index","refs","imagePopup","scrollTo","closeGallery","renderLoading","renderTop","statusText","statusColor","canEdit","showSeen","name","getShadowStyle","styles","jobTitleContainer","jobTitleText","title","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","colourBrandingMain","jobTypeText","color","type","jobSeenContainer","jobSeenIcon","jobSeenText","lastActivityUnix","textSectionInner","textSectionLabel","textSectionTextContainer","textSectionText","onOpenDatePicker","textSectionAngleRight","jobStatusExpectedContainer","jobStatusOuterContainer","jobStatusHeading","onOpenStatusPicker","jobStatusContainer","jobStatusIcon","jobStatusText","openStaffNotes","Notes","renderPlayableImageUrl","containerStyle","thumbUrl","getThumb300","isVideo","flex","uri","imagePlayContainer","toggleFullscreenVideo","bind","imageControlIcon","imageUrl","get1400","imageContainer","plusImages","images","renderPlayableImage","renderImage","isNil","isEmpty","sideBySideImages","sideBySideImageContainer","singleImageContainer","image","renderImagePopup","rendeDetails","onToggleDetails","detailsText","detailsSection","description","jobDescriptionText","locationLabel","locationText","room","requesterLabel","profileContainer","userProfilePic","nameContainer","nameText","userName","phone","phoneText","renderMessages","location","paddingHorizontal","paddingTop","onCommentsLoaded","onCommentAdded","onLeaveMessage","marginTop","height","renderMessagesReply","renderStatusPopup","onCloseStatusPopup","onSelectStatus","render","Platform","OS","container","onPressBack","env","strings","MAINTENANCE_REQUEST_DETAILS","paddingBottom","innerContainer","onDateSelected","onCloseDatePicker","create","paddingVertical","fontFamily","fontSize","TEXT_DARKEST","marginBottom","flexDirection","alignItems","width","borderRadius","justifyContent","textAlign","marginLeft","jobStatusDateText","TEXT_LIGHT","borderTopWidth","borderTopColor","LINEGREY","letterSpacing","TEXT_DARK","marginRight","jobExpectedDateContainer","BOXGREY","paddingLeft","jobExpectedDate","overflow","position","top","left","right","bottom","textShadowColor","textShadowOffset","textShadowRadius","lineHeight","mapStateToProps","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground } from 'react-native';\nimport DateTimePicker from 'react-native-modal-datetime-picker';\nimport { Icon } from '@rneui/themed';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../apis';\nimport { jobAdded } from '../actions';\nimport StatusSelectorPopup from '../components/StatusSelectorPopup';\nimport { jobStatusOptions, getJobStatusProps } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper, Components, Config } from '../core.config';\n\nclass RequestDetail extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n isDateTimePickerVisible: false,\n popUpType: '',\n status: '',\n expectedDate: null,\n expectedDateText: '',\n seen: false,\n showMore: false,\n showStatusPopup: false,\n loading: false,\n showFullscreenVideo: false,\n currentVideoUrl: '',\n galleryOpen: false,\n showMessages: false,\n };\n\n this.scrollView = React.createRef();\n this.commentReply = React.createRef();\n this.commentSection = React.createRef();\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n const newState = { job, status: job.status };\n if (job.expectedDate) {\n newState.expectedDate = moment(job.expectedDate);\n newState.expectedDateText = newState.expectedDate.format('DD/MM/YYYY');\n }\n if (job.seen) newState.seen = job.seen;\n this.setState(newState, () => {\n this.markSeen();\n });\n }\n\n markSeen = () => {\n const { user } = this.props;\n const { job } = this.state;\n // Must have maintenance permission and not the requester\n // console.log('markSeen check', job.userID, user.Id);\n if (job.seen === true) return;\n if (!this.hasPermission()) return;\n if (user.Id === job.userID) return;\n\n this.setState({ loading: true }, async () => {\n try {\n const updated = { id: job.id, seen: true, status: job.status || 'Unassigned' };\n const res = await generalActions.editJob(updated, user.site);\n // console.log('markSeen updated');\n this.props.jobAdded(res.data.job);\n this.setState({ loading: false, seen: true });\n } catch (error) {\n console.log('markSeen error', error);\n this.setState({ loading: false });\n }\n });\n };\n\n updateJob = () => {\n this.setState({ loading: true }, async () => {\n const { user } = this.props;\n const { job } = this.state;\n try {\n const updated = { id: job.id };\n if (this.state.expectedDate) {\n updated.expectedDate = moment(this.state.expectedDate)\n .utc()\n .toISOString();\n }\n const res = await generalActions.editJob(updated, user.site);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJob error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n updateJobStatus = () => {\n this.setState({ loading: true }, async () => {\n try {\n const res = await generalActions.editJobStatus(this.props.job.id, this.state.status);\n this.props.jobAdded(res.data.job);\n } catch (error) {\n console.log('updateJobStatus error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenStatusPicker = () => {\n this.setState({ showStatusPopup: true });\n };\n\n onCloseStatusPopup = () => {\n this.setState({ showStatusPopup: false });\n };\n\n onSelectStatus = status => {\n this.setState({ status, showStatusPopup: false }, () => {\n this.updateJobStatus();\n });\n };\n\n openStaffNotes = () => {\n Services.navigation.navigate('requestNotes', { job: this.state.job });\n };\n\n onOpenDatePicker = () => {\n this.setState({ popUpType: 'date', isDateTimePickerVisible: true });\n };\n\n onCloseDatePicker = () => {\n this.setState({ isDateTimePickerVisible: false });\n };\n\n onDateSelected = date => {\n if (this.state.popUpType === 'date') {\n date = moment(date);\n this.setState(\n {\n expectedDate: date,\n expectedDateText: date.format('DD/MM/YYYY'),\n isDateTimePickerVisible: false,\n },\n () => {\n this.updateJob();\n },\n );\n }\n };\n\n onToggleDetails = () => {\n this.setState({ showMore: !this.state.showMore });\n };\n\n onLeaveMessage = () => {\n this.setState({ showMessages: true });\n };\n\n onCommentsLoaded = count => {\n if (count > 0) {\n this.setState({ showMessages: true });\n }\n };\n\n onCommentAdded = () => {\n this.setState({ loading: true }, async () => {\n try {\n const job = await generalActions.getJob(this.props.user.site, this.props.job.id);\n // console.log('onCommentAdded', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('onCommentAdded error', error);\n } finally {\n this.setState({ loading: false });\n }\n });\n };\n\n hasPermission = () => {\n const { permissions } = this.props.user;\n return _.includes(permissions, 'maintenanceTracking');\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(index) {\n this.setState({\n galleryOpen: true,\n });\n this.refs.imagePopup.scrollTo(index);\n }\n\n closeGallery() {\n this.setState({\n galleryOpen: false,\n });\n }\n\n renderLoading() {\n return <Components.LoadingIndicator visible={this.state.loading} />;\n }\n\n renderTop() {\n const { status, job } = this.state;\n const { statusText, statusColor } = getJobStatusProps(status);\n const canEdit = this.hasPermission();\n const showSeen = !status || status === jobStatusOptions[0].name;\n\n return (\n <View style={{ ...Helper.getShadowStyle() }}>\n <View style={styles.jobTitleContainer}>\n <Text style={styles.jobTitleText}>{job.title}</Text>\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]}>{job.type}</Text>\n </View>\n {showSeen && this.state.seen && (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n )}\n </View>\n\n {job.lastActivityUnix && (\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Last Updated On</Text>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{moment(job.lastActivityUnix).format('ddd D MMMM, h:mm A')}</Text>\n </View>\n </View>\n )}\n <View style={styles.textSectionInner}>\n <Text style={styles.textSectionLabel}>Expected Date</Text>\n <TouchableOpacity onPress={this.onOpenDatePicker}>\n <View style={styles.textSectionTextContainer}>\n <Text style={styles.textSectionText}>{this.state.expectedDateText || 'Select Date'}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.textSectionAngleRight, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </View>\n </View>\n <View style={styles.jobStatusExpectedContainer}>\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STATUS</Text>\n <TouchableOpacity onPress={canEdit ? this.onOpenStatusPicker : null}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </TouchableOpacity>\n </View>\n {this.hasPermission() && (\n <View style={styles.jobStatusOuterContainer}>\n <Text style={styles.jobStatusHeading}>STAFF NOTES</Text>\n <TouchableOpacity onPress={this.openStaffNotes}>\n <View style={[styles.jobStatusContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil-square-o\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>Notes ({(job.Notes || []).length})</Text>\n </View>\n </TouchableOpacity>\n </View>\n )}\n </View>\n </View>\n );\n }\n\n renderPlayableImageUrl(url, index, containerStyle, showMore) {\n const thumbUrl = Helper.getThumb300(url);\n\n if (Helper.isVideo(url)) {\n return (\n <ImageBackground style={[{ flex: 1 }, containerStyle]} source={{ uri: thumbUrl }}>\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n </ImageBackground>\n );\n }\n\n const imageUrl = Helper.get1400(url);\n return (\n <TouchableOpacity style={containerStyle} onPress={this.openGallery.bind(this, index || 0)}>\n <ImageBackground style={styles.imageContainer} source={{ uri: imageUrl }}>\n {showMore && <Text style={styles.plusImages}>+{this.state.job.images.length - 2}</Text>}\n </ImageBackground>\n </TouchableOpacity>\n );\n }\n\n renderPlayableImage(index, containerStyle, showMore) {\n const url = this.state.job.images[index];\n return this.renderPlayableImageUrl(url, index, containerStyle, showMore);\n }\n\n renderImage() {\n const { job } = this.state;\n if (!_.isNil(job.images) && !_.isEmpty(job.images)) {\n if (job.images.length >= 2) {\n return (\n <View style={styles.sideBySideImages}>\n {this.renderPlayableImage(0, styles.sideBySideImageContainer)}\n {this.renderPlayableImage(1, styles.sideBySideImageContainer, job.images.length > 2)}\n </View>\n );\n } else {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImage(0)}</View>;\n }\n } else if (!_.isNil(job.image)) {\n return <View style={styles.singleImageContainer}>{this.renderPlayableImageUrl(job.image)}</View>;\n }\n return null;\n }\n\n renderImagePopup() {\n return (\n <Components.ImagePopup\n visible={this.state.galleryOpen}\n images={this.state.job.images || [this.state.job.image]}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n rendeDetails() {\n const { job } = this.state;\n\n return (\n <View>\n <Components.FormCardSectionOptionLauncher\n onPress={this.onToggleDetails}\n title=\"Details\"\n icon={this.state.showMore ? 'angle-up' : 'angle-down'}\n textStyle={styles.detailsText}\n sectionStyle={styles.detailsSection}\n />\n {this.state.showMore && (\n <View>\n {this.renderImage()}\n {!_.isEmpty(job.description) && (\n <Text numberOfLines={10} style={styles.jobDescriptionText}>\n {job.description}\n </Text>\n )}\n <Text style={styles.locationLabel}>Location</Text>\n <Text style={styles.locationText}>{job.room}</Text>\n <Text style={styles.requesterLabel}>Person Requesting</Text>\n <View style={styles.profileContainer}>\n <Components.ProfilePic ProfilePic={job.userProfilePic} Diameter={40} />\n <View style={styles.nameContainer}>\n <Text style={styles.nameText}>{job.userName}</Text>\n {!_.isEmpty(job.phone) && <Text style={styles.phoneText}>{job.phone}</Text>}\n </View>\n </View>\n </View>\n )}\n </View>\n );\n }\n\n renderMessages() {\n return (\n <View>\n <Components.CommentSection\n ref={this.commentSection}\n commentReply={this.commentReply}\n scrollView={this.scrollView}\n adminPermission=\"maintenanceTracking\"\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n live\n refreshFrequency={10000}\n placeHolder={''}\n style={{ flex: 1, paddingHorizontal: 0, paddingTop: 16 }}\n onCommentsLoaded={this.onCommentsLoaded}\n onCommentAdded={this.onCommentAdded}\n hideAddComment\n disableFlag\n />\n {!this.state.showMessages && (\n <Components.InlineButton\n onPress={this.onLeaveMessage}\n color={this.props.colourBrandingMain}\n touchableStyle={{ marginTop: 10 }}\n style={{ height: 36 }}\n textStyle={{ color: '#fff' }}\n fullWidth\n >\n Leave Message\n </Components.InlineButton>\n )}\n </View>\n );\n }\n\n renderMessagesReply() {\n if (!this.state.showMessages) return null;\n\n return (\n <Components.CommentReply\n ref={this.commentReply}\n commentSection={this.commentSection}\n scrollView={this.scrollView}\n entityType=\"maintenancerequest\"\n entityId={this.props.job.id}\n entityName={this.props.job.title}\n site={this.state.job.site || this.state.job.location}\n // noScroll={true}\n // style={{ position: 'absolute', bottom: 0, left: 0, right: 0 }}\n />\n );\n }\n\n renderStatusPopup() {\n if (!this.state.showStatusPopup) return null;\n return <StatusSelectorPopup onClose={this.onCloseStatusPopup} onSelect={this.onSelectStatus} />;\n }\n\n render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={Config.env.strings.MAINTENANCE_REQUEST_DETAILS} />\n {this.renderLoading()}\n <ScrollView ref={this.scrollView} contentContainerStyle={{ paddingBottom: 26 }} style={{ height: '100%' }}>\n <View style={styles.innerContainer}>\n {this.renderTop()}\n {this.rendeDetails()}\n {this.renderMessages()}\n </View>\n </ScrollView>\n {this.renderMessagesReply()}\n {this.renderStatusPopup()}\n {this.renderImagePopup()}\n <DateTimePicker\n isVisible={this.state.isDateTimePickerVisible}\n onConfirm={this.onDateSelected}\n onCancel={this.onCloseDatePicker}\n mode={this.state.popUpType}\n headerTextIOS={`Pick a ${this.state.popUpType}`}\n />\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n innerContainer: {\n paddingTop: 23,\n paddingHorizontal: 16,\n },\n jobTitleContainer: {\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 20,\n color: Colours.TEXT_DARKEST,\n marginBottom: 8,\n },\n jobTypeSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n height: 20,\n width: 80,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobStatusDateText: {\n marginTop: 8,\n fontFamily: 'sf-medium',\n fontSize: 13,\n color: Colours.TEXT_LIGHT,\n },\n jobStatusExpectedContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n paddingVertical: 14,\n paddingHorizontal: 12,\n },\n jobStatusOuterContainer: {\n // marginRight: 50,\n },\n jobStatusHeading: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: Colours.TEXT_DARK,\n marginBottom: 6,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n width: 120,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n marginRight: 8,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n textAlign: 'center',\n },\n jobExpectedDateContainer: {\n backgroundColor: Colours.BOXGREY,\n flexDirection: 'row',\n width: 115,\n height: 30,\n borderRadius: 4,\n alignItems: 'center',\n paddingLeft: 8,\n },\n jobExpectedDate: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.hexToRGBAstring(Colours.TEXT_DARKEST, 0.5),\n },\n detailsText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n },\n detailsSection: {\n marginTop: 8,\n paddingHorizontal: 0,\n paddingBottom: 12,\n },\n sideBySideImages: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginBottom: 16,\n },\n sideBySideImageContainer: {\n backgroundColor: '#fff',\n width: '48%',\n height: 150,\n borderRadius: 2,\n overflow: 'hidden',\n },\n singleImageContainer: {\n backgroundColor: '#fff',\n width: '100%',\n height: 150,\n flex: 1,\n borderRadius: 2,\n overflow: 'hidden',\n marginBottom: 16,\n },\n imageContainer: {\n height: 150,\n width: 'auto',\n justifyContent: 'center',\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 30,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n plusImages: {\n fontFamily: 'sf-bold',\n fontSize: 32,\n textAlign: 'center',\n color: '#fff',\n textShadowColor: 'rgba(0, 0, 0, 0.5)',\n textShadowOffset: { width: 0, height: 2 },\n textShadowRadius: 8,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n paddingBottom: 16,\n },\n locationLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n },\n locationText: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 8,\n },\n requesterLabel: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n paddingVertical: 10,\n },\n profileContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n nameContainer: {\n marginLeft: 18,\n },\n nameText: {\n fontSize: 'sf-semibold',\n fontSize: 14,\n color: Colours.TEXT_DARKEST,\n marginBottom: 4,\n },\n phoneText: {\n fontSize: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_LIGHT,\n },\n textSectionInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginTop: 8,\n },\n textSectionLabel: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n lineHeight: 24,\n color: Colours.TEXT_DARKEST,\n },\n textSectionTextContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n textSectionText: {\n fontFamily: 'sf-regular',\n fontSize: 13,\n lineHeight: 24,\n color: Colours.TEXT_LIGHT,\n },\n textSectionAngleRight: {\n fontSize: 24,\n marginLeft: 10,\n lineHeight: 24,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestDetail);\n"]}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3
3
  import React, { Component } from 'react';
4
4
  import { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';
5
5
  import { connect } from 'react-redux';
6
- import { Icon } from 'react-native-elements';
6
+ import { Icon } from '@rneui/themed';
7
7
  import _ from 'lodash';
8
8
  import moment from 'moment';
9
9
  import { jobAdded } from '../actions';
@@ -1 +1 @@
1
- {"version":3,"sources":["RequestNotes.js"],"names":["React","Component","ScrollView","View","Text","TouchableOpacity","Modal","KeyboardAvoidingView","connect","Icon","_","moment","jobAdded","generalActions","getBottomSpace","Services","Components","Colours","Helper","RequestNotes","constructor","props","navigation","goBack","a","setState","selectedPDF","n","noteToDelete","deleteNote","job","id","state","Id","newNotes","filter","Notes","note","newJob","some","noteAttachments","Uploading","isEmpty","noteInput","addNoteOpen","editingNote","newState","Attachments","Note","noteMenuOpen","isReadyToSaveNote","submittingNote","res","editNote","map","Title","Source","addNote","data","err","console","log","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","renderAttachment","i","onOpenAttachment","renderNote","styles","noteContainer","noteContainerTop","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","onCloseAttachment","renderNoteDeleteConfirm","onPressConfirmDelete","onPressCancelDelete","renderFooterContent","confirmAddNote","renderAdd","container","Platform","OS","closeAddNote","scrollContainer","innerContainer","inputSection","attachmentInfo","popupFooter","render","onPressBack","openAddNote","flex","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","color","TEXT_DARKEST","marginTop","TEXT_LIGHT","width","height","borderRadius","justifyContent","marginLeft","sectionHeading","mapStateToProps","getMainBrandingColourFromState","colourBrandingLight","getLightBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper } from '../core.config';\n\nclass RequestNotes extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n selectedPDF: null,\n noteAttachments: [],\n noteInput: '',\n addNoteOpen: false,\n };\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n this.setState({ job });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n onPressDeleteNote = n => {\n this.setState({\n noteToDelete: n,\n });\n };\n\n onPressConfirmDelete = () => {\n generalActions.deleteNote(this.props.job.id, this.state.noteToDelete.Id);\n const newNotes = _.filter(this.state.job.Notes, note => {\n return note.Id !== this.state.noteToDelete.Id;\n });\n const newJob = { ...this.props.job };\n newJob.Notes = newNotes;\n this.props.jobAdded(newJob);\n this.setState({\n job: newJob,\n noteToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ noteToDelete: null });\n };\n\n isReadyToSaveNote = () => {\n if (\n _.some(this.state.noteAttachments, n => {\n return n.Uploading;\n })\n ) {\n return false;\n }\n return !_.isEmpty(this.state.noteInput) || !_.isEmpty(this.state.noteAttachments);\n };\n\n openAddNote = () => {\n this.setState({\n addNoteOpen: true,\n editingNote: null,\n });\n };\n\n closeAddNote = () => {\n const newState = {\n addNoteOpen: false,\n editingNote: null,\n };\n if (!!this.state.editingNote) {\n newState.noteInput = '';\n newState.noteAttachments = [];\n }\n this.setState(newState);\n };\n\n openEditNote = n => {\n this.setState({\n noteAttachments: n.Attachments || [],\n noteInput: n.Note || '',\n addNoteOpen: true,\n editingNote: n.Id,\n noteMenuOpen: null,\n });\n };\n\n confirmAddNote = async () => {\n if (!this.isReadyToSaveNote()) {\n return;\n }\n\n try {\n this.setState({ submittingNote: true });\n const res = await (this.state.editingNote\n ? generalActions.editNote(\n this.props.job.id,\n this.state.editingNote,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n )\n : generalActions.addNote(\n this.props.job.id,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n ));\n this.setState(\n {\n job: res.data.job,\n submittingNote: false,\n addNoteOpen: false,\n noteInput: '',\n noteAttachments: [],\n editingNote: null,\n },\n () => {\n this.props.jobAdded(res.data.job);\n },\n );\n } catch (err) {\n console.log('error');\n console.log(err);\n this.setState({\n submittingNote: false,\n });\n }\n };\n\n renderAttachment(a, i) {\n return (\n <Components.Attachment\n onPress={() => {\n this.onOpenAttachment(a);\n }}\n key={i}\n title={a.Title}\n />\n );\n }\n\n renderNote(n) {\n return (\n <View style={styles.noteContainer} key={n.Id}>\n <View style={styles.noteContainerTop}>\n <Components.ProfilePic Diameter={30} ProfilePic={n.User.profilePic} style={styles.profilePic} />\n <View style={styles.noteContainerTopRight}>\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.onPressDeleteNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.openEditNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n <View style={styles.noteContainerTopFill}>\n <Text style={styles.noteContainerName}>{n.User.displayName}</Text>\n </View>\n </View>\n </View>\n <Text style={styles.noteContainerText}>{n.Note}</Text>\n {(n.Attachments || []).map((a, i) => this.renderAttachment(a, i))}\n <Text style={styles.noteTimestamp}>\n {moment\n .utc(n.Timestamp)\n .local()\n .format(Helper.TIMESTAMP_FORMAT)}\n </Text>\n </View>\n );\n }\n\n renderNotes() {\n return (this.state.job.Notes || []).map((n, i) => {\n return this.renderNote(n, i);\n });\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.Source}\n onClose={this.onCloseAttachment}\n title={this.state.selectedPDF.Title}\n pdfCount={1}\n />\n );\n }\n\n renderNoteDeleteConfirm() {\n return (\n <Components.ConfirmPopup\n visible={!!this.state.noteToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this note?\"\n />\n );\n }\n\n renderFooterContent() {\n if (this.state.submittingNote) {\n return <Components.Spinner />;\n }\n return (\n <Components.InlineButton color={this.props.colourBrandingMain} onPress={this.confirmAddNote} fillTouchable large>\n Save\n </Components.InlineButton>\n );\n }\n\n renderAdd() {\n return (\n <Modal animationType=\"slide\" visible={this.state.addNoteOpen}>\n <KeyboardAvoidingView style={styles.container} behavior={Platform.OS === 'ios' && 'padding'}>\n <Components.Header leftText=\"Cancel\" onPressLeft={this.closeAddNote} text=\"\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n <Components.TextStyle type=\"pageHeading\">Add Staff Note</Components.TextStyle>\n <Components.GenericInputSection\n label=\"Content\"\n placeholder=\"Insert your notes here...\"\n value={this.state.noteInput}\n onChangeText={noteInput => this.setState({ noteInput })}\n isValid={() => {\n return !_.isEmpty(this.state.noteInput);\n }}\n autoCapitalize=\"sentences\"\n minHeight={135}\n autoCorrect\n multiline\n autoGrow\n required\n squaredCorners\n sectionStyle={styles.inputSection}\n />\n <Components.GenericInputSection label=\"Attachments\" sectionStyle={styles.inputSection}>\n {this.state.editingNote ? (\n (this.state.noteAttachments || []).map((a, i) => this.renderAttachment(a, i))\n ) : (\n <Components.TextStyle type=\"body\" style={styles.attachmentInfo}>\n PDFs can only be attached to notes from the Community Manager.\n </Components.TextStyle>\n )}\n </Components.GenericInputSection>\n </ScrollView>\n <View style={styles.popupFooter}>{this.renderFooterContent()}</View>\n </KeyboardAvoidingView>\n </Modal>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n {this.renderPDF()}\n {this.renderNoteDeleteConfirm()}\n {this.renderAdd()}\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text=\"Staff Notes\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n {this.renderNotes()}\n </ScrollView>\n <Components.AddButton onPress={this.openAddNote} />\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#fff',\n },\n scrollContainer: {\n flex: 1,\n },\n innerContainer: {\n padding: 16,\n },\n popupFooter: {\n paddingHorizontal: 16,\n paddingBottom: getBottomSpace() + 16,\n },\n noteContainer: {\n ...Helper.getShadowStyle(),\n padding: 8,\n marginBottom: 16,\n },\n noteContainerTop: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n profilePic: {\n marginRight: 8,\n },\n noteContainerTopFill: {\n flex: 1,\n },\n noteContainerName: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteContainerText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteTimestamp: {\n marginTop: 8,\n fontFamily: 'sf-semibold',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n },\n noteContainerTopRight: {\n flex: 1,\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n noteContainerButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n noteContainerButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n inputSection: {\n marginTop: 24,\n },\n sectionHeading: {\n fontFamily: 'qs-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n attachmentInfo: {\n marginTop: 8,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n colourBrandingLight: Colours.getLightBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestNotes);\n"]}
1
+ {"version":3,"sources":["RequestNotes.js"],"names":["React","Component","ScrollView","View","Text","TouchableOpacity","Modal","KeyboardAvoidingView","connect","Icon","_","moment","jobAdded","generalActions","getBottomSpace","Services","Components","Colours","Helper","RequestNotes","constructor","props","navigation","goBack","a","setState","selectedPDF","n","noteToDelete","deleteNote","job","id","state","Id","newNotes","filter","Notes","note","newJob","some","noteAttachments","Uploading","isEmpty","noteInput","addNoteOpen","editingNote","newState","Attachments","Note","noteMenuOpen","isReadyToSaveNote","submittingNote","res","editNote","map","Title","Source","addNote","data","err","console","log","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","find","j","renderAttachment","i","onOpenAttachment","renderNote","styles","noteContainer","noteContainerTop","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","onCloseAttachment","renderNoteDeleteConfirm","onPressConfirmDelete","onPressCancelDelete","renderFooterContent","confirmAddNote","renderAdd","container","Platform","OS","closeAddNote","scrollContainer","innerContainer","inputSection","attachmentInfo","popupFooter","render","onPressBack","openAddNote","flex","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","color","TEXT_DARKEST","marginTop","TEXT_LIGHT","width","height","borderRadius","justifyContent","marginLeft","sectionHeading","mapStateToProps","getMainBrandingColourFromState","colourBrandingLight","getLightBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from '@rneui/themed';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper } from '../core.config';\n\nclass RequestNotes extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n selectedPDF: null,\n noteAttachments: [],\n noteInput: '',\n addNoteOpen: false,\n };\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n this.setState({ job });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n onPressDeleteNote = n => {\n this.setState({\n noteToDelete: n,\n });\n };\n\n onPressConfirmDelete = () => {\n generalActions.deleteNote(this.props.job.id, this.state.noteToDelete.Id);\n const newNotes = _.filter(this.state.job.Notes, note => {\n return note.Id !== this.state.noteToDelete.Id;\n });\n const newJob = { ...this.props.job };\n newJob.Notes = newNotes;\n this.props.jobAdded(newJob);\n this.setState({\n job: newJob,\n noteToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ noteToDelete: null });\n };\n\n isReadyToSaveNote = () => {\n if (\n _.some(this.state.noteAttachments, n => {\n return n.Uploading;\n })\n ) {\n return false;\n }\n return !_.isEmpty(this.state.noteInput) || !_.isEmpty(this.state.noteAttachments);\n };\n\n openAddNote = () => {\n this.setState({\n addNoteOpen: true,\n editingNote: null,\n });\n };\n\n closeAddNote = () => {\n const newState = {\n addNoteOpen: false,\n editingNote: null,\n };\n if (!!this.state.editingNote) {\n newState.noteInput = '';\n newState.noteAttachments = [];\n }\n this.setState(newState);\n };\n\n openEditNote = n => {\n this.setState({\n noteAttachments: n.Attachments || [],\n noteInput: n.Note || '',\n addNoteOpen: true,\n editingNote: n.Id,\n noteMenuOpen: null,\n });\n };\n\n confirmAddNote = async () => {\n if (!this.isReadyToSaveNote()) {\n return;\n }\n\n try {\n this.setState({ submittingNote: true });\n const res = await (this.state.editingNote\n ? generalActions.editNote(\n this.props.job.id,\n this.state.editingNote,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n )\n : generalActions.addNote(\n this.props.job.id,\n this.state.noteInput,\n this.state.noteAttachments.map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n }),\n ));\n this.setState(\n {\n job: res.data.job,\n submittingNote: false,\n addNoteOpen: false,\n noteInput: '',\n noteAttachments: [],\n editingNote: null,\n },\n () => {\n this.props.jobAdded(res.data.job);\n },\n );\n } catch (err) {\n console.log('error');\n console.log(err);\n this.setState({\n submittingNote: false,\n });\n }\n };\n\n renderAttachment(a, i) {\n return (\n <Components.Attachment\n onPress={() => {\n this.onOpenAttachment(a);\n }}\n key={i}\n title={a.Title}\n />\n );\n }\n\n renderNote(n) {\n return (\n <View style={styles.noteContainer} key={n.Id}>\n <View style={styles.noteContainerTop}>\n <Components.ProfilePic Diameter={30} ProfilePic={n.User.profilePic} style={styles.profilePic} />\n <View style={styles.noteContainerTopRight}>\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.onPressDeleteNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.openEditNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n <View style={styles.noteContainerTopFill}>\n <Text style={styles.noteContainerName}>{n.User.displayName}</Text>\n </View>\n </View>\n </View>\n <Text style={styles.noteContainerText}>{n.Note}</Text>\n {(n.Attachments || []).map((a, i) => this.renderAttachment(a, i))}\n <Text style={styles.noteTimestamp}>\n {moment\n .utc(n.Timestamp)\n .local()\n .format(Helper.TIMESTAMP_FORMAT)}\n </Text>\n </View>\n );\n }\n\n renderNotes() {\n return (this.state.job.Notes || []).map((n, i) => {\n return this.renderNote(n, i);\n });\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.Source}\n onClose={this.onCloseAttachment}\n title={this.state.selectedPDF.Title}\n pdfCount={1}\n />\n );\n }\n\n renderNoteDeleteConfirm() {\n return (\n <Components.ConfirmPopup\n visible={!!this.state.noteToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this note?\"\n />\n );\n }\n\n renderFooterContent() {\n if (this.state.submittingNote) {\n return <Components.Spinner />;\n }\n return (\n <Components.InlineButton color={this.props.colourBrandingMain} onPress={this.confirmAddNote} fillTouchable large>\n Save\n </Components.InlineButton>\n );\n }\n\n renderAdd() {\n return (\n <Modal animationType=\"slide\" visible={this.state.addNoteOpen}>\n <KeyboardAvoidingView style={styles.container} behavior={Platform.OS === 'ios' && 'padding'}>\n <Components.Header leftText=\"Cancel\" onPressLeft={this.closeAddNote} text=\"\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n <Components.TextStyle type=\"pageHeading\">Add Staff Note</Components.TextStyle>\n <Components.GenericInputSection\n label=\"Content\"\n placeholder=\"Insert your notes here...\"\n value={this.state.noteInput}\n onChangeText={noteInput => this.setState({ noteInput })}\n isValid={() => {\n return !_.isEmpty(this.state.noteInput);\n }}\n autoCapitalize=\"sentences\"\n minHeight={135}\n autoCorrect\n multiline\n autoGrow\n required\n squaredCorners\n sectionStyle={styles.inputSection}\n />\n <Components.GenericInputSection label=\"Attachments\" sectionStyle={styles.inputSection}>\n {this.state.editingNote ? (\n (this.state.noteAttachments || []).map((a, i) => this.renderAttachment(a, i))\n ) : (\n <Components.TextStyle type=\"body\" style={styles.attachmentInfo}>\n PDFs can only be attached to notes from the Community Manager.\n </Components.TextStyle>\n )}\n </Components.GenericInputSection>\n </ScrollView>\n <View style={styles.popupFooter}>{this.renderFooterContent()}</View>\n </KeyboardAvoidingView>\n </Modal>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n {this.renderPDF()}\n {this.renderNoteDeleteConfirm()}\n {this.renderAdd()}\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text=\"Staff Notes\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n {this.renderNotes()}\n </ScrollView>\n <Components.AddButton onPress={this.openAddNote} />\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#fff',\n },\n scrollContainer: {\n flex: 1,\n },\n innerContainer: {\n padding: 16,\n },\n popupFooter: {\n paddingHorizontal: 16,\n paddingBottom: getBottomSpace() + 16,\n },\n noteContainer: {\n ...Helper.getShadowStyle(),\n padding: 8,\n marginBottom: 16,\n },\n noteContainerTop: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n profilePic: {\n marginRight: 8,\n },\n noteContainerTopFill: {\n flex: 1,\n },\n noteContainerName: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteContainerText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteTimestamp: {\n marginTop: 8,\n fontFamily: 'sf-semibold',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n },\n noteContainerTopRight: {\n flex: 1,\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n noteContainerButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n noteContainerButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n inputSection: {\n marginTop: 24,\n },\n sectionHeading: {\n fontFamily: 'qs-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n attachmentInfo: {\n marginTop: 8,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n colourBrandingLight: Colours.getLightBrandingColourFromState(state),\n jobs: state.jobs.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestNotes);\n"]}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3
3
  import React, { Component } from 'react';
4
4
  import { Dimensions, Platform, KeyboardAvoidingView, ScrollView, Text, TouchableOpacity, View, Switch, FlatList, ImageBackground, Keyboard } from 'react-native';
5
5
  import _ from 'lodash';
6
- import { Icon } from 'react-native-elements';
6
+ import { Icon } from '@rneui/themed';
7
7
  import { connect } from 'react-redux';
8
8
  import { jobAdded } from '../actions';
9
9
  import { generalActions } from '../apis';
@@ -1 +1 @@
1
- {"version":3,"sources":["ServiceRequest.js"],"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","_","Icon","connect","jobAdded","generalActions","Services","Components","Colours","Helper","Config","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","uploadUri","imageUri","images","state","splice","length","uploading","uploadProgress","allowRetry","setState","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","dismiss","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","filter","add","sendMaintenanceRequest","uid","userName","phone","roomNumber","title","type","getSite","site","then","res","data","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","console","log","id","job","getJob","error","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","every","clearInterval","index","showFullscreenVideo","currentVideoUrl","fail","showError","types","componentDidMount","userType","displayName","unit","isEmpty","phoneNumber","getJobTypes","componentWillUnmount","onPressBack","navigation","goBack","onPressType","navigate","currentType","onSelectType","pickType","bind","onCloseConfirmationPopup","onBack","onConfirmationReset","self","getDefaultJob","jobId","typeName","submitRequest","connected","message","submit","renderUploadMenu","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onUploadProgress","onLibrarySelected","renderImage","item","isVideoUrl","isVideo","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","addImageIcon","colourBrandingMain","imageBackground","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderSuccess","padding","flex","backgroundColor","requestSuccess","renderImageList","imageSection","imageListContainer","imageListContainerEmpty","renderForm","paddingBottom","errorText","paddingHorizontal","paddingVertical","flexDirection","justifyContent","sectionTitle","env","strings","JOB_TYPE","color","marginRight","fontSize","alignItems","position","borderBottomWidth","borderBottomColor","LINEGREY","MAINTENANCE_HOME","value","false","true","OS","renderRegisterConfirmation","renderVideoPlayerPopup","render","viewContainer","container","MAINTENANCE","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","minHeight","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","top","left","right","bottom","textShadowColor","textShadowOffset","mapStateToProps","user","connection","profilePic","getMainBrandingColourFromState"],"mappings":"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","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 _ from 'lodash';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper, Config } from '../core.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\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 this.checkThumb = null;\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 onUploadStarted = (uploadUri, imageUri) => {\n const images = [...this.state.images];\n images.splice(images.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n });\n\n this.setState({ images });\n };\n\n onUploadProgress = progress => {\n const images = [...this.state.images];\n images.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n this.setState({ images });\n };\n\n onUploadSuccess = async (uri, uploadUri) => {\n const images = [...this.state.images];\n images.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 this.setState({ images }, () => this.waitForThumbnails());\n };\n\n onUploadFailed = uploadUri => {\n const images = [...this.state.images];\n images.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.setState({ images });\n };\n\n onLibrarySelected = uri => {\n const images = [...this.state.images];\n images.splice(images.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.setState({ images });\n };\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onPressType() {\n Services.navigation.navigate('jobTypePicker', {\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 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 });\n }\n\n getJobTypes() {\n const self = this;\n generalActions\n .getJobTypes(Helper.getSite(this.props.site))\n .then(res => {\n self.setState({\n types: res.data,\n });\n self.getDefaultJob();\n })\n .catch(() => {});\n }\n\n getDefaultJob() {\n if (this.state.types.length !== 0 && this.state.jobId == null) {\n this.setState({ type: this.state.types[0].typeName });\n }\n }\n\n pickType(type) {\n this.setState({ type });\n }\n\n showUploadMenu = () => {\n Keyboard.dismiss();\n if (this.state.uploadingImage || this.state.submitting) {\n return;\n }\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 = _.filter(this.state.images, img => {\n return !img.uploading && !img.add;\n }).map(img => {\n return img.url;\n });\n\n generalActions\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 )\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 generalActions.getJob(Helper.getSite(this.props.site), id);\n // console.log('refreshRequest', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('refreshRequest error', error);\n }\n };\n\n submitRequest() {\n if (this.state.submitting || !this.props.connected) {\n if (!this.props.connected) {\n this.setState({ error: { message: 'No internet connection detected' } });\n }\n return;\n }\n if (this.state.uploadingImage) {\n return;\n }\n this.setState({ error: null, showError: false });\n if (this.state.title.length === 0 || !this.state.roomNumber || this.state.roomNumber.length === 0) {\n this.setState({ showError: true });\n return;\n }\n if (this.state.isHome && this.state.times.length < 2) {\n this.setState({ showError: true });\n return;\n }\n this.submit();\n }\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const images = [];\n await Promise.all(\n this.state.images.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n images.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 = images.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setState({ images });\n }\n }, 2000);\n };\n\n removeImage = index => {\n const images = [...this.state.images];\n images.splice(index, 1);\n\n this.setState({ images });\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderUploadMenu() {\n return (\n <Components.ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onUploadProgress={this.onUploadProgress}\n onLibrarySelected={this.onLibrarySelected}\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) {\n const isVideoUrl = Helper.isVideo(item.url);\n\n if (item.add) {\n return (\n <TouchableOpacity activeOpacity={0.8} onPress={this.showUploadMenu}>\n <View\n style={[\n styles.imageContainer,\n this.state.images.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 this.state.images.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.bind(this, index)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} style={styles.removeImage} />\n </TouchableOpacity>\n </ImageBackground>\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() {\n return (\n <View style={styles.imageSection}>\n <View style={[styles.imageListContainer, this.state.images.length < 2 && styles.imageListContainerEmpty]}>\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n enableEmptySections\n data={this.state.images}\n renderItem={({ item, index }) => this.renderImage(item, index)}\n keyExtractor={(item, index) => index}\n numColumns={3}\n />\n </View>\n </View>\n );\n }\n\n renderForm() {\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.setState({ 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}>{Config.env.strings.JOB_TYPE}</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 <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 </View>\n </ScrollView>\n </View>\n );\n }\n\n renderRegisterConfirmation() {\n return (\n <Components.ConfirmationPopup\n confirmText={'Request 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 render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.viewContainer}>\n {this.renderUploadMenu()}\n <View style={styles.container}>\n <Components.Header\n leftIcon=\"angle-left\"\n onPressLeft={this.onPressBack.bind(this)}\n text={Config.env.strings.MAINTENANCE}\n rightText={this.state.submitting || this.state.success ? null : 'Done'}\n onPressRight={this.submitRequest.bind(this)}\n absoluteRight\n />\n {this.renderForm()}\n </View>\n {this.renderRegisterConfirmation()}\n {this.renderVideoPlayerPopup()}\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 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};\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 };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"]}
1
+ {"version":3,"sources":["ServiceRequest.js"],"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","_","Icon","connect","jobAdded","generalActions","Services","Components","Colours","Helper","Config","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","uploadUri","imageUri","images","state","splice","length","uploading","uploadProgress","allowRetry","setState","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","dismiss","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","filter","add","sendMaintenanceRequest","uid","userName","phone","roomNumber","title","type","getSite","site","then","res","data","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","console","log","id","job","getJob","error","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","every","clearInterval","index","showFullscreenVideo","currentVideoUrl","fail","showError","types","componentDidMount","userType","displayName","unit","isEmpty","phoneNumber","getJobTypes","componentWillUnmount","onPressBack","navigation","goBack","onPressType","navigate","currentType","onSelectType","pickType","bind","onCloseConfirmationPopup","onBack","onConfirmationReset","self","getDefaultJob","jobId","typeName","submitRequest","connected","message","submit","renderUploadMenu","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onUploadProgress","onLibrarySelected","renderImage","item","isVideoUrl","isVideo","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","addImageIcon","colourBrandingMain","imageBackground","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderSuccess","padding","flex","backgroundColor","requestSuccess","renderImageList","imageSection","imageListContainer","imageListContainerEmpty","renderForm","paddingBottom","errorText","paddingHorizontal","paddingVertical","flexDirection","justifyContent","sectionTitle","env","strings","JOB_TYPE","color","marginRight","fontSize","alignItems","position","borderBottomWidth","borderBottomColor","LINEGREY","MAINTENANCE_HOME","value","false","true","OS","renderRegisterConfirmation","renderVideoPlayerPopup","render","viewContainer","container","MAINTENANCE","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","minHeight","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","top","left","right","bottom","textShadowColor","textShadowOffset","mapStateToProps","user","connection","profilePic","getMainBrandingColourFromState"],"mappings":"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","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 _ from 'lodash';\nimport { Icon } from '@rneui/themed';\nimport { connect } from 'react-redux';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper, Config } from '../core.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\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 this.checkThumb = null;\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 onUploadStarted = (uploadUri, imageUri) => {\n const images = [...this.state.images];\n images.splice(images.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n });\n\n this.setState({ images });\n };\n\n onUploadProgress = progress => {\n const images = [...this.state.images];\n images.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n this.setState({ images });\n };\n\n onUploadSuccess = async (uri, uploadUri) => {\n const images = [...this.state.images];\n images.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 this.setState({ images }, () => this.waitForThumbnails());\n };\n\n onUploadFailed = uploadUri => {\n const images = [...this.state.images];\n images.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.setState({ images });\n };\n\n onLibrarySelected = uri => {\n const images = [...this.state.images];\n images.splice(images.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.setState({ images });\n };\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onPressType() {\n Services.navigation.navigate('jobTypePicker', {\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 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 });\n }\n\n getJobTypes() {\n const self = this;\n generalActions\n .getJobTypes(Helper.getSite(this.props.site))\n .then(res => {\n self.setState({\n types: res.data,\n });\n self.getDefaultJob();\n })\n .catch(() => {});\n }\n\n getDefaultJob() {\n if (this.state.types.length !== 0 && this.state.jobId == null) {\n this.setState({ type: this.state.types[0].typeName });\n }\n }\n\n pickType(type) {\n this.setState({ type });\n }\n\n showUploadMenu = () => {\n Keyboard.dismiss();\n if (this.state.uploadingImage || this.state.submitting) {\n return;\n }\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 = _.filter(this.state.images, img => {\n return !img.uploading && !img.add;\n }).map(img => {\n return img.url;\n });\n\n generalActions\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 )\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 generalActions.getJob(Helper.getSite(this.props.site), id);\n // console.log('refreshRequest', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('refreshRequest error', error);\n }\n };\n\n submitRequest() {\n if (this.state.submitting || !this.props.connected) {\n if (!this.props.connected) {\n this.setState({ error: { message: 'No internet connection detected' } });\n }\n return;\n }\n if (this.state.uploadingImage) {\n return;\n }\n this.setState({ error: null, showError: false });\n if (this.state.title.length === 0 || !this.state.roomNumber || this.state.roomNumber.length === 0) {\n this.setState({ showError: true });\n return;\n }\n if (this.state.isHome && this.state.times.length < 2) {\n this.setState({ showError: true });\n return;\n }\n this.submit();\n }\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const images = [];\n await Promise.all(\n this.state.images.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n images.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 = images.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setState({ images });\n }\n }, 2000);\n };\n\n removeImage = index => {\n const images = [...this.state.images];\n images.splice(index, 1);\n\n this.setState({ images });\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderUploadMenu() {\n return (\n <Components.ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onUploadProgress={this.onUploadProgress}\n onLibrarySelected={this.onLibrarySelected}\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) {\n const isVideoUrl = Helper.isVideo(item.url);\n\n if (item.add) {\n return (\n <TouchableOpacity activeOpacity={0.8} onPress={this.showUploadMenu}>\n <View\n style={[\n styles.imageContainer,\n this.state.images.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 this.state.images.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.bind(this, index)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} style={styles.removeImage} />\n </TouchableOpacity>\n </ImageBackground>\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() {\n return (\n <View style={styles.imageSection}>\n <View style={[styles.imageListContainer, this.state.images.length < 2 && styles.imageListContainerEmpty]}>\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n enableEmptySections\n data={this.state.images}\n renderItem={({ item, index }) => this.renderImage(item, index)}\n keyExtractor={(item, index) => index}\n numColumns={3}\n />\n </View>\n </View>\n );\n }\n\n renderForm() {\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.setState({ 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}>{Config.env.strings.JOB_TYPE}</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 <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 </View>\n </ScrollView>\n </View>\n );\n }\n\n renderRegisterConfirmation() {\n return (\n <Components.ConfirmationPopup\n confirmText={'Request 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 render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.viewContainer}>\n {this.renderUploadMenu()}\n <View style={styles.container}>\n <Components.Header\n leftIcon=\"angle-left\"\n onPressLeft={this.onPressBack.bind(this)}\n text={Config.env.strings.MAINTENANCE}\n rightText={this.state.submitting || this.state.success ? null : 'Done'}\n onPressRight={this.submitRequest.bind(this)}\n absoluteRight\n />\n {this.renderForm()}\n </View>\n {this.renderRegisterConfirmation()}\n {this.renderVideoPlayerPopup()}\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 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};\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 };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-app",
3
- "version": "2.0.2-beta.0",
3
+ "version": "2.0.3-beta.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",
@@ -21,13 +21,14 @@
21
21
  "author": "Phillip Suh",
22
22
  "license": "ISC",
23
23
  "dependencies": {
24
- "@plusscommunities/pluss-core-app": "1.6.6-beta.0",
24
+ "@plusscommunities/pluss-core-app": "1.6.7-beta.0",
25
25
  "axios": "^0.16.2",
26
26
  "lodash": "^4.17.4",
27
27
  "moment": "^2.18.1",
28
28
  "react": "18.0.0",
29
29
  "react-native": "0.69.4",
30
- "react-native-elements": "^0.17.0",
30
+ "@rneui/base": "^4.0.0-rc.6",
31
+ "@rneui/themed": "^4.0.0-rc.6",
31
32
  "react-native-iphone-x-helper": "^1.3.1",
32
33
  "react-native-webview": "11.23.0",
33
34
  "react-redux": "^7.2.6"
@@ -1,6 +1,6 @@
1
1
  import React, { Component } from 'react';
2
2
  import { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native';
3
- import { Icon } from 'react-native-elements';
3
+ import { Icon } from '@rneui/themed';
4
4
  import _ from 'lodash';
5
5
  import { connect } from 'react-redux';
6
6
  import { generalActions } from '../apis';
@@ -1,7 +1,7 @@
1
1
  import React, { Component } from 'react';
2
2
  import { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';
3
3
  import _ from 'lodash';
4
- import { Icon } from 'react-native-elements';
4
+ import { Icon } from '@rneui/themed';
5
5
  import { connect } from 'react-redux';
6
6
  import moment from 'moment';
7
7
  // import {
@@ -1,7 +1,7 @@
1
1
  import React, { Component } from 'react';
2
2
  import { Text, View, StyleSheet, TouchableOpacity } from 'react-native';
3
3
  import { connect } from 'react-redux';
4
- import { Icon } from 'react-native-elements';
4
+ import { Icon } from '@rneui/themed';
5
5
  import moment from 'moment';
6
6
  import _ from 'lodash';
7
7
  import { getJobStatusProps, jobStatusOptions } from '../helper';
@@ -2,7 +2,7 @@ import React, { Component } from 'react';
2
2
  import _ from 'lodash';
3
3
  import { TouchableOpacity, View, ScrollView, Text } from 'react-native';
4
4
  import { connect } from 'react-redux';
5
- import { Icon } from 'react-native-elements';
5
+ import { Icon } from '@rneui/themed';
6
6
  import { Services } from '../feature.config';
7
7
  import { Components, Colours } from '../core.config';
8
8
 
@@ -1,7 +1,7 @@
1
1
  import React, { Component } from 'react';
2
2
  import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground } from 'react-native';
3
3
  import DateTimePicker from 'react-native-modal-datetime-picker';
4
- import { Icon } from 'react-native-elements';
4
+ import { Icon } from '@rneui/themed';
5
5
  import _ from 'lodash';
6
6
  import moment from 'moment';
7
7
  import { connect } from 'react-redux';
@@ -1,7 +1,7 @@
1
1
  import React, { Component } from 'react';
2
2
  import { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView } from 'react-native';
3
3
  import { connect } from 'react-redux';
4
- import { Icon } from 'react-native-elements';
4
+ import { Icon } from '@rneui/themed';
5
5
  import _ from 'lodash';
6
6
  import moment from 'moment';
7
7
  import { jobAdded } from '../actions';
@@ -13,7 +13,7 @@ import {
13
13
  Keyboard,
14
14
  } from 'react-native';
15
15
  import _ from 'lodash';
16
- import { Icon } from 'react-native-elements';
16
+ import { Icon } from '@rneui/themed';
17
17
  import { connect } from 'react-redux';
18
18
  import { jobAdded } from '../actions';
19
19
  import { generalActions } from '../apis';