@plusscommunities/pluss-maintenance-app 6.0.7-auth.0 → 6.0.8-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/actions/types.js +4 -3
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/maintenanceActions.js +17 -15
- package/dist/module/apis/maintenanceActions.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +5 -4
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +3 -2
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +2 -1
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +8 -5
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/feature.config.js +21 -36
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/index.js +15 -10
- package/dist/module/index.js.map +1 -1
- package/dist/module/reducers/JobsReducer.js +2 -1
- package/dist/module/reducers/JobsReducer.js.map +1 -1
- package/dist/module/screens/MaintenancePage.js +7 -3
- package/dist/module/screens/MaintenancePage.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +106 -31
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +2 -1
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +581 -86
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +30 -0
- package/dist/module/values.config.a.js.map +1 -0
- package/dist/module/values.config.b.js +30 -0
- package/dist/module/values.config.b.js.map +1 -0
- package/dist/module/values.config.c.js +30 -0
- package/dist/module/values.config.c.js.map +1 -0
- package/dist/module/values.config.d.js +30 -0
- package/dist/module/values.config.d.js.map +1 -0
- package/dist/module/values.config.default.js +35 -0
- package/dist/module/values.config.default.js.map +1 -0
- package/dist/module/values.config.forms.js +35 -0
- package/dist/module/values.config.forms.js.map +1 -0
- package/dist/module/values.config.js +35 -0
- package/dist/module/values.config.js.map +1 -0
- package/package.json +9 -6
- package/src/actions/types.js +5 -3
- package/src/apis/maintenanceActions.js +30 -14
- package/src/components/MaintenanceList.js +6 -4
- package/src/components/MaintenanceListItem.js +7 -2
- package/src/components/MaintenanceWidgetItem.js +2 -1
- package/src/components/WidgetSmall.js +8 -5
- package/src/feature.config.js +30 -40
- package/src/index.js +15 -8
- package/src/reducers/JobsReducer.js +2 -1
- package/src/screens/MaintenancePage.js +5 -4
- package/src/screens/RequestDetail.js +101 -33
- package/src/screens/RequestNotes.js +2 -1
- package/src/screens/ServiceRequest.js +625 -152
- package/src/values.config.a.js +30 -0
- package/src/values.config.b.js +30 -0
- package/src/values.config.c.js +30 -0
- package/src/values.config.d.js +30 -0
- package/src/values.config.default.js +35 -0
- package/src/values.config.forms.js +35 -0
- package/src/values.config.js +35 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","maintenanceActions","jobsLoaded","MaintenanceWidgetItem","Services","Colours","Components","Config","MAX_ITEMS","WidgetSmall","constructor","props","_defineProperty","options","isEmpty","Title","env","strings","MAINTENANCE","userCategory","EmptyText","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","onLoadingChanged","res","getJobsRecursive","site","error","console","log","loading","callback","setState","state","navigation","navigate","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","renderContent","jobs","createElement","style","styles","loadingPadding","LoadingStateWidget","height","EmptyStateWidget","title","getEmptyStateText","horizontal","contentContainerStyle","paddingLeft","paddingRight","showsHorizontalScrollIndicator","slice","map","job","key","id","render","colourBrandingMain","sectionContainer","sectionPadding","sectionHeading","sectionTitle","getTitle","InlineButton","onPress","onPressAll","color","touchableStyle","paddingTop","textStyle","create","backgroundColor","paddingHorizontal","paddingBottom","marginBottom","flexDirection","alignContent","justifyContent","fontFamily","fontSize","TEXT_DARKEST","mapStateToProps","user","notifications","getMainBrandingColourFromState","orderBy","category","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, ScrollView, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { maintenanceActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components, Config } from '../core.config';\n\nconst MAX_ITEMS = 10;\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = { loading: false };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return Config.env.strings.MAINTENANCE;\n };\n\n getEmptyStateText = () => {\n const { options, userCategory } = this.props;\n if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;\n return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n };\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await maintenanceActions.getJobsRecursive(this.props.site);\n // console.log('WidgetSmall - refresh', res.data);\n this.props.jobsLoaded(res);\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\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 onPressAll = () => {\n Services.navigation.navigate('maintenance', { options: this.props.options });\n };\n\n renderContent() {\n const { jobs } = this.props;\n if (_.isEmpty(jobs)) {\n if (this.state.loading) {\n return (\n <View style={styles.loadingPadding}>\n <Components.LoadingStateWidget height={180} />\n </View>\n );\n }\n return (\n <View style={styles.loadingPadding}>\n <Components.EmptyStateWidget title={this.getEmptyStateText()} height={180} />\n </View>\n );\n }\n return (\n <ScrollView horizontal contentContainerStyle={{ paddingLeft: 6, paddingRight: 8 }} showsHorizontalScrollIndicator={false}>\n {jobs.slice(0, MAX_ITEMS).map(job => {\n return <MaintenanceWidgetItem key={job.id} job={job} />;\n })}\n </ScrollView>\n );\n }\n\n render() {\n const { colourBrandingMain } = this.props;\n\n return (\n <View style={styles.sectionContainer}>\n <View style={styles.sectionPadding}>\n <View style={styles.sectionHeading}>\n <Text style={styles.sectionTitle}>{this.getTitle()}</Text>\n <Components.InlineButton\n onPress={this.onPressAll}\n color={colourBrandingMain}\n touchableStyle={{ paddingTop: 6 }}\n textStyle={{ color: '#fff' }}\n >\n View All\n </Components.InlineButton>\n </View>\n </View>\n {this.renderContent()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n sectionContainer: {\n backgroundColor: '#fff',\n paddingTop: 16,\n },\n sectionPadding: {\n paddingHorizontal: 16,\n paddingBottom: 6,\n },\n loadingPadding: {\n paddingHorizontal: 16,\n },\n sectionHeading: {\n marginBottom: 4,\n flexDirection: 'row',\n alignContent: 'flex-start',\n justifyContent: 'space-between',\n },\n sectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, jobs, notifications } = state;\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),\n site: user.site,\n userCategory: user.category,\n dataUpdated: notifications.dataUpdated.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","maintenanceActions","jobsLoaded","MaintenanceWidgetItem","Services","Colours","Components","Config","values","MAX_ITEMS","WidgetSmall","constructor","props","_defineProperty","options","isEmpty","Title","strings","featureKey","textFeatureTitle","userCategory","EmptyText","emptyRequestsStaff","emptyRequestsUser","onLoadingChanged","res","getJobsRecursive","site","error","console","log","loading","callback","setState","state","navigation","navigate","screenMaintenance","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","renderContent","jobs","createElement","style","styles","loadingPadding","LoadingStateWidget","height","EmptyStateWidget","title","getEmptyStateText","horizontal","contentContainerStyle","paddingLeft","paddingRight","showsHorizontalScrollIndicator","slice","map","job","key","id","render","colourBrandingMain","sectionContainer","sectionPadding","sectionHeading","sectionTitle","getTitle","InlineButton","onPress","onPressAll","color","touchableStyle","paddingTop","textStyle","create","backgroundColor","paddingHorizontal","paddingBottom","marginBottom","flexDirection","alignContent","justifyContent","fontFamily","fontSize","TEXT_DARKEST","mapStateToProps","_state$strings","user","notifications","reducerKey","getMainBrandingColourFromState","orderBy","category","updateKey","config","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, ScrollView, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { maintenanceActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components, Config } from '../core.config';\nimport { values } from '../values.config';\n\nconst MAX_ITEMS = 10;\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = { loading: false };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;\n };\n\n getEmptyStateText = () => {\n const { options, userCategory } = this.props;\n if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;\n return userCategory === 'staff' ? values.emptyRequestsStaff : values.emptyRequestsUser;\n };\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await maintenanceActions.getJobsRecursive(this.props.site);\n // console.log('WidgetSmall - refresh', res.data);\n this.props.jobsLoaded(res);\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\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 onPressAll = () => {\n Services.navigation.navigate(values.screenMaintenance, { options: this.props.options });\n };\n\n renderContent() {\n const { jobs } = this.props;\n if (_.isEmpty(jobs)) {\n if (this.state.loading) {\n return (\n <View style={styles.loadingPadding}>\n <Components.LoadingStateWidget height={180} />\n </View>\n );\n }\n return (\n <View style={styles.loadingPadding}>\n <Components.EmptyStateWidget title={this.getEmptyStateText()} height={180} />\n </View>\n );\n }\n return (\n <ScrollView horizontal contentContainerStyle={{ paddingLeft: 6, paddingRight: 8 }} showsHorizontalScrollIndicator={false}>\n {jobs.slice(0, MAX_ITEMS).map(job => {\n return <MaintenanceWidgetItem key={job.id} job={job} />;\n })}\n </ScrollView>\n );\n }\n\n render() {\n const { colourBrandingMain } = this.props;\n\n return (\n <View style={styles.sectionContainer}>\n <View style={styles.sectionPadding}>\n <View style={styles.sectionHeading}>\n <Text style={styles.sectionTitle}>{this.getTitle()}</Text>\n <Components.InlineButton\n onPress={this.onPressAll}\n color={colourBrandingMain}\n touchableStyle={{ paddingTop: 6 }}\n textStyle={{ color: '#fff' }}\n >\n View All\n </Components.InlineButton>\n </View>\n </View>\n {this.renderContent()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n sectionContainer: {\n backgroundColor: '#fff',\n paddingTop: 16,\n },\n sectionPadding: {\n paddingHorizontal: 16,\n paddingBottom: 6,\n },\n loadingPadding: {\n paddingHorizontal: 16,\n },\n sectionHeading: {\n marginBottom: 4,\n flexDirection: 'row',\n alignContent: 'flex-start',\n justifyContent: 'space-between',\n },\n sectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, notifications } = state;\n const jobs = state[values.reducerKey];\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),\n site: user.site,\n userCategory: user.category,\n dataUpdated: notifications.dataUpdated[values.updateKey],\n strings: state.strings?.config || {},\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
// import * as PlussCore from '../../pluss-core/src';
|
2
2
|
import * as PlussCore from '@plusscommunities/pluss-core-app';
|
3
|
+
import { values } from './values.config';
|
3
4
|
export const Services = {
|
4
5
|
navigation: null
|
5
6
|
};
|
@@ -7,28 +8,28 @@ export const BaseComponents = {
|
|
7
8
|
NotificationBell: null
|
8
9
|
};
|
9
10
|
const FeatureConfig = {
|
10
|
-
key:
|
11
|
-
aliases:
|
12
|
-
title:
|
11
|
+
key: values.featureKey,
|
12
|
+
aliases: values.aliases,
|
13
|
+
title: values.textFeatureTitle,
|
13
14
|
gridMenu: {
|
14
|
-
icon:
|
15
|
-
viewBox:
|
16
|
-
navigate:
|
15
|
+
icon: values.iconGridMenu,
|
16
|
+
viewBox: values.gridViewBox,
|
17
|
+
navigate: values.screenMaintenance
|
17
18
|
},
|
18
19
|
addMenu: {
|
19
|
-
order:
|
20
|
-
icon:
|
21
|
-
title:
|
22
|
-
navigate:
|
20
|
+
order: values.orderAddMenu,
|
21
|
+
icon: values.iconAddMenu,
|
22
|
+
title: values.textAddMenuTitle,
|
23
|
+
navigate: values.screenServiceRequest,
|
23
24
|
visibleExps: {
|
24
25
|
type: 'feature',
|
25
|
-
value:
|
26
|
+
value: values.featureKey
|
26
27
|
}
|
27
28
|
},
|
28
|
-
moreMenu: {
|
29
|
-
order:
|
30
|
-
title:
|
31
|
-
navigate:
|
29
|
+
moreMenu: values.hasMoreOption ? {
|
30
|
+
order: values.orderMoreMenu,
|
31
|
+
title: values.textMoreMenuTitle,
|
32
|
+
navigate: values.screenMaintenance,
|
32
33
|
visibleExps: {
|
33
34
|
type: 'and',
|
34
35
|
exps: [{
|
@@ -39,12 +40,12 @@ const FeatureConfig = {
|
|
39
40
|
value: 'KIOSK'
|
40
41
|
}]
|
41
42
|
}
|
42
|
-
},
|
43
|
+
} : undefined,
|
43
44
|
kioskAction: {
|
44
|
-
order:
|
45
|
-
icon:
|
46
|
-
title:
|
47
|
-
navigate:
|
45
|
+
order: values.orderKioskAction,
|
46
|
+
icon: values.iconKioskAction,
|
47
|
+
title: values.textKioskActionTitle,
|
48
|
+
navigate: values.screenServiceRequest
|
48
49
|
},
|
49
50
|
hideTabBar: [],
|
50
51
|
env: {
|
@@ -68,22 +69,6 @@ const FeatureConfig = {
|
|
68
69
|
Services.navigation = navigation;
|
69
70
|
BaseComponents.NotificationBell = notificationBell;
|
70
71
|
PlussCore.Config.init(environment, navigation);
|
71
|
-
|
72
|
-
// Override strings
|
73
|
-
if (environment && environment.strings) {
|
74
|
-
const {
|
75
|
-
MAINTENANCE,
|
76
|
-
MAINTENANCE_REQUEST
|
77
|
-
} = environment.strings;
|
78
|
-
if (MAINTENANCE) {
|
79
|
-
FeatureConfig.addMenu.title = MAINTENANCE;
|
80
|
-
}
|
81
|
-
if (MAINTENANCE_REQUEST) {
|
82
|
-
FeatureConfig.title = MAINTENANCE_REQUEST;
|
83
|
-
FeatureConfig.moreMenu.title = MAINTENANCE_REQUEST;
|
84
|
-
FeatureConfig.kioskAction.title = MAINTENANCE_REQUEST;
|
85
|
-
}
|
86
|
-
}
|
87
72
|
}
|
88
73
|
};
|
89
74
|
export default FeatureConfig;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["PlussCore","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","aliases","title","gridMenu","icon","viewBox","navigate","addMenu","order","visibleExps","type","value","moreMenu","exps","kioskAction","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config"
|
1
|
+
{"version":3,"names":["PlussCore","values","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","featureKey","aliases","title","textFeatureTitle","gridMenu","icon","iconGridMenu","viewBox","gridViewBox","navigate","screenMaintenance","addMenu","order","orderAddMenu","iconAddMenu","textAddMenuTitle","screenServiceRequest","visibleExps","type","value","moreMenu","hasMoreOption","orderMoreMenu","textMoreMenuTitle","exps","undefined","kioskAction","orderKioskAction","iconKioskAction","textKioskActionTitle","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\nimport { values } from './values.config';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: values.featureKey,\n aliases: values.aliases,\n title: values.textFeatureTitle,\n gridMenu: {\n icon: values.iconGridMenu,\n viewBox: values.gridViewBox,\n navigate: values.screenMaintenance,\n },\n addMenu: {\n order: values.orderAddMenu,\n icon: values.iconAddMenu,\n title: values.textAddMenuTitle,\n navigate: values.screenServiceRequest,\n visibleExps: { type: 'feature', value: values.featureKey },\n },\n moreMenu: values.hasMoreOption\n ? {\n order: values.orderMoreMenu,\n title: values.textMoreMenuTitle,\n navigate: values.screenMaintenance,\n visibleExps: {\n type: 'and',\n exps: [\n { type: 'notHidden', value: 'maintenanceRequest' },\n { type: 'notUserType', value: 'KIOSK' },\n ],\n },\n }\n : undefined,\n kioskAction: {\n order: values.orderKioskAction,\n icon: values.iconKioskAction,\n title: values.textKioskActionTitle,\n navigate: values.screenServiceRequest,\n },\n hideTabBar: [],\n env: {\n baseStage: '',\n baseAPIUrl: '',\n hasGradientHeader: false,\n defaultProfileImage: '',\n tinyChatDefault: '',\n baseUploadsUrl: '',\n allowMediaDownload: false,\n allowMediaSharing: false,\n awsUploadsBucket: '',\n awsStorageBucket: '',\n preferredSite: '',\n strings: {},\n newEventDefaults: '',\n defaultAllowComments: true,\n },\n init: (environment, navigation, notificationBell) => {\n FeatureConfig.env = environment;\n Services.navigation = navigation;\n BaseComponents.NotificationBell = notificationBell;\n PlussCore.Config.init(environment, navigation);\n },\n};\nexport default FeatureConfig;\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,QAAQ,GAAG;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAE;AACpB,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,GAAG,EAAEN,MAAM,CAACO,UAAU;EACtBC,OAAO,EAAER,MAAM,CAACQ,OAAO;EACvBC,KAAK,EAAET,MAAM,CAACU,gBAAgB;EAC9BC,QAAQ,EAAE;IACRC,IAAI,EAAEZ,MAAM,CAACa,YAAY;IACzBC,OAAO,EAAEd,MAAM,CAACe,WAAW;IAC3BC,QAAQ,EAAEhB,MAAM,CAACiB;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,KAAK,EAAEnB,MAAM,CAACoB,YAAY;IAC1BR,IAAI,EAAEZ,MAAM,CAACqB,WAAW;IACxBZ,KAAK,EAAET,MAAM,CAACsB,gBAAgB;IAC9BN,QAAQ,EAAEhB,MAAM,CAACuB,oBAAoB;IACrCC,WAAW,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAEC,KAAK,EAAE1B,MAAM,CAACO;IAAW;EAC3D,CAAC;EACDoB,QAAQ,EAAE3B,MAAM,CAAC4B,aAAa,GAC1B;IACET,KAAK,EAAEnB,MAAM,CAAC6B,aAAa;IAC3BpB,KAAK,EAAET,MAAM,CAAC8B,iBAAiB;IAC/Bd,QAAQ,EAAEhB,MAAM,CAACiB,iBAAiB;IAClCO,WAAW,EAAE;MACXC,IAAI,EAAE,KAAK;MACXM,IAAI,EAAE,CACJ;QAAEN,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAqB,CAAC,EAClD;QAAED,IAAI,EAAE,aAAa;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE3C;EACF,CAAC,GACDM,SAAS;EACbC,WAAW,EAAE;IACXd,KAAK,EAAEnB,MAAM,CAACkC,gBAAgB;IAC9BtB,IAAI,EAAEZ,MAAM,CAACmC,eAAe;IAC5B1B,KAAK,EAAET,MAAM,CAACoC,oBAAoB;IAClCpB,QAAQ,EAAEhB,MAAM,CAACuB;EACnB,CAAC;EACDc,UAAU,EAAE,EAAE;EACdC,GAAG,EAAE;IACHC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE,EAAE;IACdC,iBAAiB,EAAE,KAAK;IACxBC,mBAAmB,EAAE,EAAE;IACvBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,EAAE;IAClBC,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE,KAAK;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,EAAE;IACjBC,OAAO,EAAE,CAAC,CAAC;IACXC,gBAAgB,EAAE,EAAE;IACpBC,oBAAoB,EAAE;EACxB,CAAC;EACDC,IAAI,EAAEA,CAACC,WAAW,EAAEpD,UAAU,EAAEqD,gBAAgB,KAAK;IACnDlD,aAAa,CAACiC,GAAG,GAAGgB,WAAW;IAC/BrD,QAAQ,CAACC,UAAU,GAAGA,UAAU;IAChCC,cAAc,CAACC,gBAAgB,GAAGmD,gBAAgB;IAClDxD,SAAS,CAACyD,MAAM,CAACH,IAAI,CAACC,WAAW,EAAEpD,UAAU,CAAC;EAChD;AACF,CAAC;AACD,eAAeG,aAAa","ignoreList":[]}
|
package/dist/module/index.js
CHANGED
@@ -4,16 +4,21 @@ import ServiceRequest from './screens/ServiceRequest';
|
|
4
4
|
import JobTypePicker from './screens/JobTypePicker';
|
5
5
|
import RequestNotes from './screens/RequestNotes';
|
6
6
|
import JobsReducer from './reducers/JobsReducer';
|
7
|
-
|
8
|
-
|
9
|
-
};
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
7
|
+
import { values } from './values.config';
|
8
|
+
export const Reducers = (() => {
|
9
|
+
const reducers = {};
|
10
|
+
reducers[values.reducerKey] = JobsReducer;
|
11
|
+
return reducers;
|
12
|
+
})();
|
13
|
+
export const Screens = (() => {
|
14
|
+
const screens = {};
|
15
|
+
screens[values.screenMaintenance] = MaintenancePage;
|
16
|
+
screens[values.screenRequestDetail] = RequestDetail;
|
17
|
+
screens[values.screenServiceRequest] = ServiceRequest;
|
18
|
+
screens[values.screenJobTypePicker] = JobTypePicker;
|
19
|
+
screens[values.screenRequestNotes] = RequestNotes;
|
20
|
+
return screens;
|
21
|
+
})();
|
17
22
|
export { default as Config } from './feature.config';
|
18
23
|
export { default as WidgetSmall } from './components/WidgetSmall';
|
19
24
|
export { default as WidgetLarge } from './components/WidgetLarge';
|
package/dist/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","JobsReducer","Reducers","
|
1
|
+
{"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","JobsReducer","values","Reducers","reducers","reducerKey","Screens","screens","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import MaintenancePage from './screens/MaintenancePage';\nimport RequestDetail from './screens/RequestDetail';\nimport ServiceRequest from './screens/ServiceRequest';\nimport JobTypePicker from './screens/JobTypePicker';\nimport RequestNotes from './screens/RequestNotes';\nimport JobsReducer from './reducers/JobsReducer';\nimport { values } from './values.config';\n\nexport const Reducers = (() => {\n const reducers = {};\n reducers[values.reducerKey] = JobsReducer;\n return reducers;\n})();\nexport const Screens = (() => {\n const screens = {};\n screens[values.screenMaintenance] = MaintenancePage;\n screens[values.screenRequestDetail] = RequestDetail;\n screens[values.screenServiceRequest] = ServiceRequest;\n screens[values.screenJobTypePicker] = JobTypePicker;\n screens[values.screenRequestNotes] = RequestNotes;\n return screens;\n})();\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,2BAA2B;AACvD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,cAAc,MAAM,0BAA0B;AACrD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,WAAW,MAAM,wBAAwB;AAChD,SAASC,MAAM,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,QAAQ,GAAG,CAAC,MAAM;EAC7B,MAAMC,QAAQ,GAAG,CAAC,CAAC;EACnBA,QAAQ,CAACF,MAAM,CAACG,UAAU,CAAC,GAAGJ,WAAW;EACzC,OAAOG,QAAQ;AACjB,CAAC,EAAE,CAAC;AACJ,OAAO,MAAME,OAAO,GAAG,CAAC,MAAM;EAC5B,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClBA,OAAO,CAACL,MAAM,CAACM,iBAAiB,CAAC,GAAGZ,eAAe;EACnDW,OAAO,CAACL,MAAM,CAACO,mBAAmB,CAAC,GAAGZ,aAAa;EACnDU,OAAO,CAACL,MAAM,CAACQ,oBAAoB,CAAC,GAAGZ,cAAc;EACrDS,OAAO,CAACL,MAAM,CAACS,mBAAmB,CAAC,GAAGZ,aAAa;EACnDQ,OAAO,CAACL,MAAM,CAACU,kBAAkB,CAAC,GAAGZ,YAAY;EACjD,OAAOO,OAAO;AAChB,CAAC,EAAE,CAAC;AACJ,SAASM,OAAO,IAAIC,MAAM,QAAQ,kBAAkB;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,0BAA0B;AACjE,SAASF,OAAO,IAAIG,WAAW,QAAQ,0BAA0B","ignoreList":[]}
|
@@ -3,7 +3,8 @@ import _ from 'lodash';
|
|
3
3
|
import { REHYDRATE } from 'redux-persist';
|
4
4
|
import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';
|
5
5
|
import { ActionTypes } from '../core.config';
|
6
|
-
|
6
|
+
import { values } from '../values.config';
|
7
|
+
const REDUCER_KEY = values.reducerKey;
|
7
8
|
const INITIAL_STATE = {
|
8
9
|
jobs: []
|
9
10
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_","REHYDRATE","JOBS_LOADED","JOB_ADDED","JOBS_ADDED","ActionTypes","REDUCER_KEY","INITIAL_STATE","jobs","state","action","updateJobs","index","type","LOGOUT","CHANGE_ROLE","payload","map","job","title","description","unionWith","j1","j2","id","findIndex","item","push"],"sources":["JobsReducer.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport _ from 'lodash';\nimport { REHYDRATE } from 'redux-persist';\nimport { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';\nimport { ActionTypes } from '../core.config';\n\nconst REDUCER_KEY =
|
1
|
+
{"version":3,"names":["_","REHYDRATE","JOBS_LOADED","JOB_ADDED","JOBS_ADDED","ActionTypes","values","REDUCER_KEY","reducerKey","INITIAL_STATE","jobs","state","action","updateJobs","index","type","LOGOUT","CHANGE_ROLE","payload","map","job","title","description","unionWith","j1","j2","id","findIndex","item","push"],"sources":["JobsReducer.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport _ from 'lodash';\nimport { REHYDRATE } from 'redux-persist';\nimport { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';\nimport { ActionTypes } from '../core.config';\nimport { values } from '../values.config';\n\nconst REDUCER_KEY = values.reducerKey;\n\nconst INITIAL_STATE = {\n jobs: [],\n};\n\nexport default (state = INITIAL_STATE, action) => {\n let updateJobs = [];\n let index = 0;\n\n switch (action.type) {\n case ActionTypes.LOGOUT:\n case ActionTypes.CHANGE_ROLE:\n return INITIAL_STATE;\n case JOBS_LOADED:\n return { ...state, jobs: action.payload.map(job => ({ title: job.title || job.description, ...job })) };\n case JOBS_ADDED:\n updateJobs = action.payload.map(job => ({ title: job.title || job.description, ...job }));\n updateJobs = _.unionWith(updateJobs, state.jobs, (j1, j2) => {\n return j1.id === j2.id;\n });\n return { ...state, jobs: updateJobs };\n case JOB_ADDED:\n updateJobs = [...state.jobs];\n index = updateJobs.findIndex(item => item.id === action.payload.id);\n if (index > -1) {\n updateJobs[index] = action.payload;\n } else {\n updateJobs.push(action.payload);\n }\n return { ...state, jobs: updateJobs };\n case REHYDRATE:\n if (!action.payload) return state;\n if (action.payload[REDUCER_KEY]) {\n if (action.payload[REDUCER_KEY].jobs == null) {\n action.payload[REDUCER_KEY].jobs = [];\n }\n return action.payload[REDUCER_KEY];\n }\n return state;\n default:\n return state;\n }\n};\n"],"mappings":"AAAA;AACA,OAAOA,CAAC,MAAM,QAAQ;AACtB,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,QAAQ,kBAAkB;AACrE,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,MAAMC,WAAW,GAAGD,MAAM,CAACE,UAAU;AAErC,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,eAAe,CAACC,KAAK,GAAGF,aAAa,EAAEG,MAAM,KAAK;EAChD,IAAIC,UAAU,GAAG,EAAE;EACnB,IAAIC,KAAK,GAAG,CAAC;EAEb,QAAQF,MAAM,CAACG,IAAI;IACjB,KAAKV,WAAW,CAACW,MAAM;IACvB,KAAKX,WAAW,CAACY,WAAW;MAC1B,OAAOR,aAAa;IACtB,KAAKP,WAAW;MACd,OAAO;QAAE,GAAGS,KAAK;QAAED,IAAI,EAAEE,MAAM,CAACM,OAAO,CAACC,GAAG,CAACC,GAAG,KAAK;UAAEC,KAAK,EAAED,GAAG,CAACC,KAAK,IAAID,GAAG,CAACE,WAAW;UAAE,GAAGF;QAAI,CAAC,CAAC;MAAE,CAAC;IACzG,KAAKhB,UAAU;MACbS,UAAU,GAAGD,MAAM,CAACM,OAAO,CAACC,GAAG,CAACC,GAAG,KAAK;QAAEC,KAAK,EAAED,GAAG,CAACC,KAAK,IAAID,GAAG,CAACE,WAAW;QAAE,GAAGF;MAAI,CAAC,CAAC,CAAC;MACzFP,UAAU,GAAGb,CAAC,CAACuB,SAAS,CAACV,UAAU,EAAEF,KAAK,CAACD,IAAI,EAAE,CAACc,EAAE,EAAEC,EAAE,KAAK;QAC3D,OAAOD,EAAE,CAACE,EAAE,KAAKD,EAAE,CAACC,EAAE;MACxB,CAAC,CAAC;MACF,OAAO;QAAE,GAAGf,KAAK;QAAED,IAAI,EAAEG;MAAW,CAAC;IACvC,KAAKV,SAAS;MACZU,UAAU,GAAG,CAAC,GAAGF,KAAK,CAACD,IAAI,CAAC;MAC5BI,KAAK,GAAGD,UAAU,CAACc,SAAS,CAACC,IAAI,IAAIA,IAAI,CAACF,EAAE,KAAKd,MAAM,CAACM,OAAO,CAACQ,EAAE,CAAC;MACnE,IAAIZ,KAAK,GAAG,CAAC,CAAC,EAAE;QACdD,UAAU,CAACC,KAAK,CAAC,GAAGF,MAAM,CAACM,OAAO;MACpC,CAAC,MAAM;QACLL,UAAU,CAACgB,IAAI,CAACjB,MAAM,CAACM,OAAO,CAAC;MACjC;MACA,OAAO;QAAE,GAAGP,KAAK;QAAED,IAAI,EAAEG;MAAW,CAAC;IACvC,KAAKZ,SAAS;MACZ,IAAI,CAACW,MAAM,CAACM,OAAO,EAAE,OAAOP,KAAK;MACjC,IAAIC,MAAM,CAACM,OAAO,CAACX,WAAW,CAAC,EAAE;QAC/B,IAAIK,MAAM,CAACM,OAAO,CAACX,WAAW,CAAC,CAACG,IAAI,IAAI,IAAI,EAAE;UAC5CE,MAAM,CAACM,OAAO,CAACX,WAAW,CAAC,CAACG,IAAI,GAAG,EAAE;QACvC;QACA,OAAOE,MAAM,CAACM,OAAO,CAACX,WAAW,CAAC;MACpC;MACA,OAAOI,KAAK;IACd;MACE,OAAOA,KAAK;EAChB;AACF,CAAC","ignoreList":[]}
|
@@ -8,6 +8,7 @@ import _ from 'lodash';
|
|
8
8
|
import MaintenanceList from '../components/MaintenanceList';
|
9
9
|
import { Services, BaseComponents } from '../feature.config';
|
10
10
|
import { Components, Helper, Styles, Config } from '../core.config';
|
11
|
+
import { values } from '../values.config';
|
11
12
|
class MaintenancePage extends Component {
|
12
13
|
constructor(props) {
|
13
14
|
super(props);
|
@@ -31,9 +32,10 @@ class MaintenancePage extends Component {
|
|
31
32
|
});
|
32
33
|
}
|
33
34
|
renderHeader() {
|
35
|
+
const title = this.props.title || this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;
|
34
36
|
if (this.state.isHomeTab) {
|
35
37
|
return /*#__PURE__*/React.createElement(Components.Header, {
|
36
|
-
text:
|
38
|
+
text: title,
|
37
39
|
rightContent: _.includes(this.props.user.hidden, 'notifications') ? null : /*#__PURE__*/React.createElement(View, {
|
38
40
|
style: styles.notificationContainer
|
39
41
|
}, /*#__PURE__*/React.createElement(BaseComponents.NotificationBell, {
|
@@ -45,7 +47,7 @@ class MaintenancePage extends Component {
|
|
45
47
|
return /*#__PURE__*/React.createElement(Components.Header, {
|
46
48
|
leftIcon: "angle-left",
|
47
49
|
onPressLeft: this.onPressBack,
|
48
|
-
text:
|
50
|
+
text: values.textFeatureTitle
|
49
51
|
});
|
50
52
|
}
|
51
53
|
render() {
|
@@ -80,8 +82,10 @@ const styles = StyleSheet.create({
|
|
80
82
|
}
|
81
83
|
});
|
82
84
|
const mapStateToProps = state => {
|
85
|
+
var _state$strings;
|
83
86
|
return {
|
84
|
-
user: state.user
|
87
|
+
user: state.user,
|
88
|
+
strings: ((_state$strings = state.strings) === null || _state$strings === void 0 ? void 0 : _state$strings.config) || {}
|
85
89
|
};
|
86
90
|
};
|
87
91
|
export default connect(mapStateToProps, {})(MaintenancePage);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","View","StyleSheet","connect","_","MaintenanceList","Services","BaseComponents","Components","Helper","Styles","Config","MaintenancePage","constructor","props","_defineProperty","navigation","goBack","loading","setState","state","isHomeTab","componentDidMount","getParentRoute","renderHeader","
|
1
|
+
{"version":3,"names":["React","Component","View","StyleSheet","connect","_","MaintenanceList","Services","BaseComponents","Components","Helper","Styles","Config","values","MaintenancePage","constructor","props","_defineProperty","navigation","goBack","loading","setState","state","isHomeTab","componentDidMount","getParentRoute","renderHeader","title","strings","featureKey","textFeatureTitle","createElement","Header","text","rightContent","includes","user","hidden","style","styles","notificationContainer","NotificationBell","colourBrandingHeader","containerStyle","notificationBell","leftIcon","onPressLeft","onPressBack","render","container","LoadingIndicator","visible","maintenanceList","onLoadingChanged","enableAdd","options","create","flex","position","top","bottom","right","paddingTop","StatusBarHeight","marginTop","mapStateToProps","_state$strings","config"],"sources":["MaintenancePage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport MaintenanceList from '../components/MaintenanceList';\nimport { Services, BaseComponents } from '../feature.config';\nimport { Components, Helper, Styles, Config } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenancePage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isHomeTab: false,\n loading: false,\n };\n }\n\n componentDidMount() {\n // console.log('!Services.navigation.getParentRoute()', !Services.navigation.getParentRoute());\n this.setState({ isHomeTab: !Services.navigation.getParentRoute() });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onLoadingChanged = loading => {\n this.setState({ loading });\n };\n\n renderHeader() {\n const title = this.props.title || this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;\n if (this.state.isHomeTab) {\n return (\n <Components.Header\n text={title}\n rightContent={\n _.includes(this.props.user.hidden, 'notifications') ? null : (\n <View style={styles.notificationContainer}>\n <BaseComponents.NotificationBell\n colourBrandingHeader={this.props.colourBrandingHeader}\n containerStyle={Styles.notificationBell}\n />\n </View>\n )\n }\n />\n );\n }\n return <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={values.textFeatureTitle} />;\n }\n\n render() {\n const { isHomeTab } = this.state;\n\n return (\n <View style={styles.container}>\n {this.renderHeader()}\n <Components.LoadingIndicator visible={this.state.loading} />\n <MaintenanceList\n style={styles.maintenanceList}\n onLoadingChanged={this.onLoadingChanged}\n enableAdd={!isHomeTab}\n options={this.props.options}\n />\n {/* {isHomeTab && <Components.AddContentButton />} */}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n notificationContainer: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n paddingTop: Helper.StatusBarHeight(0),\n },\n maintenanceList: {\n marginTop: 12,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n strings: state.strings?.config || {},\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenancePage);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,CAAC,MAAM,QAAQ;AACtB,OAAOC,eAAe,MAAM,+BAA+B;AAC3D,SAASC,QAAQ,EAAEC,cAAc,QAAQ,mBAAmB;AAC5D,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,QAAQ,gBAAgB;AACnE,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,MAAMC,eAAe,SAASb,SAAS,CAAC;EACtCc,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,sBAYD,MAAM;MAClBV,QAAQ,CAACW,UAAU,CAACC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAAF,eAAA,2BAEkBG,OAAO,IAAI;MAC5B,IAAI,CAACC,QAAQ,CAAC;QAAED;MAAQ,CAAC,CAAC;IAC5B,CAAC;IAjBC,IAAI,CAACE,KAAK,GAAG;MACXC,SAAS,EAAE,KAAK;MAChBH,OAAO,EAAE;IACX,CAAC;EACH;EAEAI,iBAAiBA,CAAA,EAAG;IAClB;IACA,IAAI,CAACH,QAAQ,CAAC;MAAEE,SAAS,EAAE,CAAChB,QAAQ,CAACW,UAAU,CAACO,cAAc,CAAC;IAAE,CAAC,CAAC;EACrE;EAUAC,YAAYA,CAAA,EAAG;IACb,MAAMC,KAAK,GAAG,IAAI,CAACX,KAAK,CAACW,KAAK,IAAI,IAAI,CAACX,KAAK,CAACY,OAAO,CAAC,GAAGf,MAAM,CAACgB,UAAU,mBAAmB,CAAC,IAAIhB,MAAM,CAACiB,gBAAgB;IACxH,IAAI,IAAI,CAACR,KAAK,CAACC,SAAS,EAAE;MACxB,oBACEvB,KAAA,CAAA+B,aAAA,CAACtB,UAAU,CAACuB,MAAM;QAChBC,IAAI,EAAEN,KAAM;QACZO,YAAY,EACV7B,CAAC,CAAC8B,QAAQ,CAAC,IAAI,CAACnB,KAAK,CAACoB,IAAI,CAACC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,gBACxDrC,KAAA,CAAA+B,aAAA,CAAC7B,IAAI;UAACoC,KAAK,EAAEC,MAAM,CAACC;QAAsB,gBACxCxC,KAAA,CAAA+B,aAAA,CAACvB,cAAc,CAACiC,gBAAgB;UAC9BC,oBAAoB,EAAE,IAAI,CAAC1B,KAAK,CAAC0B,oBAAqB;UACtDC,cAAc,EAAEhC,MAAM,CAACiC;QAAiB,CACzC,CACG;MAET,CACF,CAAC;IAEN;IACA,oBAAO5C,KAAA,CAAA+B,aAAA,CAACtB,UAAU,CAACuB,MAAM;MAACa,QAAQ,EAAC,YAAY;MAACC,WAAW,EAAE,IAAI,CAACC,WAAY;MAACd,IAAI,EAAEpB,MAAM,CAACiB;IAAiB,CAAE,CAAC;EAClH;EAEAkB,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEzB;IAAU,CAAC,GAAG,IAAI,CAACD,KAAK;IAEhC,oBACEtB,KAAA,CAAA+B,aAAA,CAAC7B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACU;IAAU,GAC3B,IAAI,CAACvB,YAAY,CAAC,CAAC,eACpB1B,KAAA,CAAA+B,aAAA,CAACtB,UAAU,CAACyC,gBAAgB;MAACC,OAAO,EAAE,IAAI,CAAC7B,KAAK,CAACF;IAAQ,CAAE,CAAC,eAC5DpB,KAAA,CAAA+B,aAAA,CAACzB,eAAe;MACdgC,KAAK,EAAEC,MAAM,CAACa,eAAgB;MAC9BC,gBAAgB,EAAE,IAAI,CAACA,gBAAiB;MACxCC,SAAS,EAAE,CAAC/B,SAAU;MACtBgC,OAAO,EAAE,IAAI,CAACvC,KAAK,CAACuC;IAAQ,CAC7B,CAEG,CAAC;EAEX;AACF;AAEA,MAAMhB,MAAM,GAAGpC,UAAU,CAACqD,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE;EACR,CAAC;EACDjB,qBAAqB,EAAE;IACrBkB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE,CAAC;IACRC,UAAU,EAAEpD,MAAM,CAACqD,eAAe,CAAC,CAAC;EACtC,CAAC;EACDX,eAAe,EAAE;IACfY,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAG3C,KAAK,IAAI;EAAA,IAAA4C,cAAA;EAC/B,OAAO;IACL9B,IAAI,EAAEd,KAAK,CAACc,IAAI;IAChBR,OAAO,EAAE,EAAAsC,cAAA,GAAA5C,KAAK,CAACM,OAAO,cAAAsC,cAAA,uBAAbA,cAAA,CAAeC,MAAM,KAAI,CAAC;EACrC,CAAC;AACH,CAAC;AAED,eAAe/D,OAAO,CAAC6D,eAAe,EAAE,CAAC,CAAC,CAAC,CAACnD,eAAe,CAAC","ignoreList":[]}
|
@@ -14,6 +14,7 @@ import StatusSelectorPopup from '../components/StatusSelectorPopup';
|
|
14
14
|
import { jobStatusOptions, getJobStatusProps } from '../helper';
|
15
15
|
import { Services } from '../feature.config';
|
16
16
|
import { Colours, Helper, Components, Config } from '../core.config';
|
17
|
+
import { values } from '../values.config';
|
17
18
|
class RequestDetail extends Component {
|
18
19
|
constructor(props) {
|
19
20
|
super(props);
|
@@ -158,7 +159,7 @@ class RequestDetail extends Component {
|
|
158
159
|
});
|
159
160
|
});
|
160
161
|
_defineProperty(this, "openStaffNotes", () => {
|
161
|
-
Services.navigation.navigate(
|
162
|
+
Services.navigation.navigate(values.screenRequestNotes, {
|
162
163
|
job: this.state.job,
|
163
164
|
onChange: this.getJob
|
164
165
|
});
|
@@ -228,10 +229,10 @@ class RequestDetail extends Component {
|
|
228
229
|
const {
|
229
230
|
permissions
|
230
231
|
} = this.props.user;
|
231
|
-
if (_.includes(permissions,
|
232
|
+
if (_.includes(permissions, values.permissionMaintenanceTracking)) {
|
232
233
|
return true;
|
233
234
|
}
|
234
|
-
if (_.includes(permissions,
|
235
|
+
if (_.includes(permissions, values.permissionMaintenanceAssign)) {
|
235
236
|
return job.AssigneeId === this.props.user.Id;
|
236
237
|
}
|
237
238
|
return false;
|
@@ -289,6 +290,7 @@ class RequestDetail extends Component {
|
|
289
290
|
showFullscreenVideo: false,
|
290
291
|
currentVideoUrl: '',
|
291
292
|
galleryOpen: false,
|
293
|
+
galleryImages: [],
|
292
294
|
showMessages: false,
|
293
295
|
assignees: []
|
294
296
|
};
|
@@ -320,9 +322,10 @@ class RequestDetail extends Component {
|
|
320
322
|
this.markSeen();
|
321
323
|
});
|
322
324
|
}
|
323
|
-
openGallery(index) {
|
325
|
+
openGallery(galleryImages, index) {
|
324
326
|
this.setState({
|
325
|
-
galleryOpen: true
|
327
|
+
galleryOpen: true,
|
328
|
+
galleryImages
|
326
329
|
});
|
327
330
|
this.refs.imagePopup.scrollTo(index);
|
328
331
|
}
|
@@ -357,7 +360,7 @@ class RequestDetail extends Component {
|
|
357
360
|
style: [styles.jobIdText, {
|
358
361
|
color: this.props.colourBrandingMain
|
359
362
|
}]
|
360
|
-
},
|
363
|
+
}, `${values.textEntityName} #${job.jobId}`) : null, /*#__PURE__*/React.createElement(Text, {
|
361
364
|
style: styles.jobTitleText
|
362
365
|
}, job.title), /*#__PURE__*/React.createElement(View, {
|
363
366
|
style: styles.jobTypeSeenContainer
|
@@ -422,7 +425,8 @@ class RequestDetail extends Component {
|
|
422
425
|
style: styles.jobStatusText
|
423
426
|
}, "Notes (", (job.Notes || []).length, ")"))))));
|
424
427
|
}
|
425
|
-
renderPlayableImageUrl(
|
428
|
+
renderPlayableImageUrl(images, index, containerStyle, showMore) {
|
429
|
+
const url = images[index || 0];
|
426
430
|
const thumbUrl = Helper.getThumb300(url);
|
427
431
|
if (Helper.isVideo(url)) {
|
428
432
|
return /*#__PURE__*/React.createElement(ImageBackground, {
|
@@ -445,7 +449,7 @@ class RequestDetail extends Component {
|
|
445
449
|
const imageUrl = Helper.get1400(url);
|
446
450
|
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
447
451
|
style: containerStyle,
|
448
|
-
onPress: this.openGallery.bind(this, index || 0)
|
452
|
+
onPress: this.openGallery.bind(this, images, index || 0)
|
449
453
|
}, /*#__PURE__*/React.createElement(ImageBackground, {
|
450
454
|
style: styles.imageContainer,
|
451
455
|
source: {
|
@@ -455,35 +459,31 @@ class RequestDetail extends Component {
|
|
455
459
|
style: styles.plusImages
|
456
460
|
}, "+", this.state.job.images.length - 2)));
|
457
461
|
}
|
458
|
-
renderPlayableImage(index, containerStyle, showMore) {
|
459
|
-
|
460
|
-
return this.renderPlayableImageUrl(url, index, containerStyle, showMore);
|
462
|
+
renderPlayableImage(images, index, containerStyle, showMore) {
|
463
|
+
return this.renderPlayableImageUrl(images, index, containerStyle, showMore);
|
461
464
|
}
|
462
|
-
renderImage() {
|
463
|
-
|
464
|
-
|
465
|
-
} = this.state;
|
466
|
-
if (!_.isNil(job.images) && !_.isEmpty(job.images)) {
|
467
|
-
if (job.images.length >= 2) {
|
465
|
+
renderImage(images, image = null) {
|
466
|
+
if (!_.isNil(images) && !_.isEmpty(images)) {
|
467
|
+
if (images.length >= 2) {
|
468
468
|
return /*#__PURE__*/React.createElement(View, {
|
469
469
|
style: styles.sideBySideImages
|
470
|
-
}, this.renderPlayableImage(0, styles.sideBySideImageContainer), this.renderPlayableImage(1, styles.sideBySideImageContainer,
|
470
|
+
}, this.renderPlayableImage(images, 0, styles.sideBySideImageContainer), this.renderPlayableImage(images, 1, styles.sideBySideImageContainer, images.length > 2));
|
471
471
|
} else {
|
472
472
|
return /*#__PURE__*/React.createElement(View, {
|
473
473
|
style: styles.singleImageContainer
|
474
|
-
}, this.renderPlayableImage(0));
|
474
|
+
}, this.renderPlayableImage(images, 0));
|
475
475
|
}
|
476
|
-
} else if (!_.isNil(
|
476
|
+
} else if (!_.isNil(image)) {
|
477
477
|
return /*#__PURE__*/React.createElement(View, {
|
478
478
|
style: styles.singleImageContainer
|
479
|
-
}, this.renderPlayableImageUrl(
|
479
|
+
}, this.renderPlayableImageUrl([image], 0));
|
480
480
|
}
|
481
481
|
return null;
|
482
482
|
}
|
483
483
|
renderImagePopup() {
|
484
484
|
return /*#__PURE__*/React.createElement(Components.ImagePopup, {
|
485
485
|
visible: this.state.galleryOpen,
|
486
|
-
images: this.state.
|
486
|
+
images: this.state.galleryImages,
|
487
487
|
onClose: this.closeGallery.bind(this),
|
488
488
|
ref: "imagePopup"
|
489
489
|
});
|
@@ -516,24 +516,75 @@ class RequestDetail extends Component {
|
|
516
516
|
}
|
517
517
|
return content;
|
518
518
|
}
|
519
|
+
renderCustomFields() {
|
520
|
+
const {
|
521
|
+
job
|
522
|
+
} = this.state;
|
523
|
+
const {
|
524
|
+
customFields
|
525
|
+
} = job;
|
526
|
+
const renderAnswer = field => {
|
527
|
+
switch (field.type) {
|
528
|
+
case 'date':
|
529
|
+
return /*#__PURE__*/React.createElement(Text, {
|
530
|
+
style: styles.customText
|
531
|
+
}, field.answer ? moment(field.answer, 'YYYY-MM-DD').format('DD MMM YYYY') : '');
|
532
|
+
case 'time':
|
533
|
+
return /*#__PURE__*/React.createElement(Text, {
|
534
|
+
style: styles.customText
|
535
|
+
}, field.answer ? moment(field.answer, 'HH:mm').format('h:mm a') : '');
|
536
|
+
case 'yn':
|
537
|
+
return /*#__PURE__*/React.createElement(Text, {
|
538
|
+
style: styles.customText
|
539
|
+
}, field.answer ? 'Yes' : 'No');
|
540
|
+
case 'checkbox':
|
541
|
+
return /*#__PURE__*/React.createElement(Text, {
|
542
|
+
style: styles.customText
|
543
|
+
}, field.answer && Array.isArray(field.answer) ? field.answer.join(', ') : '');
|
544
|
+
case 'image':
|
545
|
+
return /*#__PURE__*/React.createElement(View, {
|
546
|
+
style: {
|
547
|
+
marginTop: 8
|
548
|
+
}
|
549
|
+
}, this.renderImage(field.answer));
|
550
|
+
default:
|
551
|
+
return /*#__PURE__*/React.createElement(Text, {
|
552
|
+
style: styles.customText
|
553
|
+
}, field.answer);
|
554
|
+
}
|
555
|
+
};
|
556
|
+
return customFields.map((field, index) => {
|
557
|
+
if (['staticTitle', 'staticText'].includes(field.type)) return null;
|
558
|
+
if (_.isNil(field.answer) || field.answer === '' || Array.isArray(field.answer) && field.answer.length === 0) return null;
|
559
|
+
return /*#__PURE__*/React.createElement(View, {
|
560
|
+
key: index
|
561
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
562
|
+
style: styles.customLabel
|
563
|
+
}, field.label), renderAnswer(field));
|
564
|
+
});
|
565
|
+
}
|
519
566
|
rendeDetails() {
|
520
567
|
const {
|
521
568
|
job
|
522
569
|
} = this.state;
|
570
|
+
const {
|
571
|
+
customFields
|
572
|
+
} = job;
|
573
|
+
const hasCustomFields = customFields && customFields.length > 0;
|
523
574
|
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Components.FormCardSectionOptionLauncher, {
|
524
575
|
onPress: this.onToggleDetails,
|
525
576
|
title: "Details",
|
526
577
|
icon: this.state.showMore ? 'angle-up' : 'angle-down',
|
527
578
|
textStyle: styles.detailsText,
|
528
579
|
sectionStyle: styles.detailsSection
|
529
|
-
}), this.state.showMore && /*#__PURE__*/React.createElement(View, null, this.renderImage(), !_.isEmpty(job.description) && /*#__PURE__*/React.createElement(Text, {
|
580
|
+
}), this.state.showMore && /*#__PURE__*/React.createElement(View, null, hasCustomFields ? this.renderCustomFields() : null, !hasCustomFields ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderImage(job.images, job.image), !_.isEmpty(job.description) && /*#__PURE__*/React.createElement(Text, {
|
530
581
|
numberOfLines: 10,
|
531
582
|
style: styles.jobDescriptionText
|
532
|
-
}, job.description), /*#__PURE__*/React.createElement(Text, {
|
583
|
+
}, job.description)) : null, /*#__PURE__*/React.createElement(Text, {
|
533
584
|
style: styles.locationLabel
|
534
|
-
}, "
|
585
|
+
}, "Address"), /*#__PURE__*/React.createElement(Text, {
|
535
586
|
style: styles.locationText
|
536
|
-
}, job.room), job.isHome ? /*#__PURE__*/React.createElement(View, {
|
587
|
+
}, job.room), !hasCustomFields && job.isHome ? /*#__PURE__*/React.createElement(View, {
|
537
588
|
style: styles.detailsSection
|
538
589
|
}, /*#__PURE__*/React.createElement(Text, {
|
539
590
|
style: styles.locationLabel
|
@@ -541,7 +592,7 @@ class RequestDetail extends Component {
|
|
541
592
|
style: styles.locationText
|
542
593
|
}, job.homeText)) : null, /*#__PURE__*/React.createElement(Text, {
|
543
594
|
style: styles.requesterLabel
|
544
|
-
}, "
|
595
|
+
}, "Submitted By"), /*#__PURE__*/React.createElement(View, {
|
545
596
|
style: styles.profileContainer
|
546
597
|
}, /*#__PURE__*/React.createElement(Components.ProfilePic, {
|
547
598
|
ProfilePic: job.userProfilePic,
|
@@ -559,8 +610,8 @@ class RequestDetail extends Component {
|
|
559
610
|
ref: this.commentSection,
|
560
611
|
commentReply: this.commentReply,
|
561
612
|
scrollView: this.scrollView,
|
562
|
-
adminPermission:
|
563
|
-
entityType:
|
613
|
+
adminPermission: values.permissionMaintenanceTracking,
|
614
|
+
entityType: values.featureKey,
|
564
615
|
entityId: this.props.job.id,
|
565
616
|
entityName: this.props.job.title,
|
566
617
|
site: this.state.job.site || this.state.job.location,
|
@@ -597,7 +648,7 @@ class RequestDetail extends Component {
|
|
597
648
|
ref: this.commentReply,
|
598
649
|
commentSection: this.commentSection,
|
599
650
|
scrollView: this.scrollView,
|
600
|
-
entityType:
|
651
|
+
entityType: values.featureKey,
|
601
652
|
entityId: this.props.job.id,
|
602
653
|
entityName: this.props.job.title,
|
603
654
|
site: this.state.job.site || this.state.job.location
|
@@ -890,13 +941,37 @@ const styles = StyleSheet.create({
|
|
890
941
|
fontSize: 24,
|
891
942
|
marginLeft: 10,
|
892
943
|
lineHeight: 24
|
944
|
+
},
|
945
|
+
customLabel: {
|
946
|
+
fontFamily: 'sf-bold',
|
947
|
+
fontSize: 14,
|
948
|
+
color: Colours.TEXT_DARKEST
|
949
|
+
},
|
950
|
+
customText: {
|
951
|
+
fontFamily: 'sf-regular',
|
952
|
+
fontSize: 16,
|
953
|
+
color: Colours.TEXT_DARKEST,
|
954
|
+
paddingVertical: 8
|
955
|
+
},
|
956
|
+
customStaticTitle: {
|
957
|
+
fontSize: 20,
|
958
|
+
fontFamily: 'sf-semibold',
|
959
|
+
color: Colours.TEXT_DARKEST,
|
960
|
+
marginBottom: 10
|
961
|
+
},
|
962
|
+
customStaticText: {
|
963
|
+
fontSize: 17,
|
964
|
+
fontFamily: 'sf-regular',
|
965
|
+
color: Colours.TEXT_DARKEST,
|
966
|
+
lineHeight: 24,
|
967
|
+
marginBottom: 10
|
893
968
|
}
|
894
969
|
});
|
895
970
|
const mapStateToProps = state => {
|
896
971
|
return {
|
897
972
|
user: state.user,
|
898
973
|
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
899
|
-
jobs: state.
|
974
|
+
jobs: state[values.reducerKey].jobs
|
900
975
|
};
|
901
976
|
};
|
902
977
|
export default connect(mapStateToProps, {
|