@plusscommunities/pluss-maintenance-app-forms 6.0.12-beta.0 → 7.0.0-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.
Files changed (64) hide show
  1. package/dist/module/actions/JobActions.js +1 -44
  2. package/dist/module/actions/JobActions.js.map +1 -1
  3. package/dist/module/actions/types.js +0 -3
  4. package/dist/module/actions/types.js.map +1 -1
  5. package/dist/module/apis/index.js +0 -2
  6. package/dist/module/apis/index.js.map +1 -1
  7. package/dist/module/apis/maintenanceActions.js +6 -21
  8. package/dist/module/apis/maintenanceActions.js.map +1 -1
  9. package/dist/module/components/FilterPopupMenu.js +18 -34
  10. package/dist/module/components/FilterPopupMenu.js.map +1 -1
  11. package/dist/module/components/MaintenanceList.js +56 -47
  12. package/dist/module/components/MaintenanceList.js.map +1 -1
  13. package/dist/module/components/MaintenanceListItem.js +27 -40
  14. package/dist/module/components/MaintenanceListItem.js.map +1 -1
  15. package/dist/module/components/MaintenanceWidgetItem.js +13 -13
  16. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
  17. package/dist/module/components/StatusSelectorPopup.js +14 -9
  18. package/dist/module/components/StatusSelectorPopup.js.map +1 -1
  19. package/dist/module/components/WidgetSmall.js +3 -7
  20. package/dist/module/components/WidgetSmall.js.map +1 -1
  21. package/dist/module/helper.js +25 -39
  22. package/dist/module/helper.js.map +1 -1
  23. package/dist/module/reducers/JobsReducer.js +2 -31
  24. package/dist/module/reducers/JobsReducer.js.map +1 -1
  25. package/dist/module/screens/JobTypePicker.js +1 -1
  26. package/dist/module/screens/JobTypePicker.js.map +1 -1
  27. package/dist/module/screens/RequestDetail.js +19 -91
  28. package/dist/module/screens/RequestDetail.js.map +1 -1
  29. package/dist/module/screens/RequestNotes.js +20 -336
  30. package/dist/module/screens/RequestNotes.js.map +1 -1
  31. package/dist/module/screens/ServiceRequest.js +1 -1
  32. package/dist/module/screens/ServiceRequest.js.map +1 -1
  33. package/dist/module/values.config.a.js +1 -6
  34. package/dist/module/values.config.a.js.map +1 -1
  35. package/dist/module/values.config.default.js +1 -6
  36. package/dist/module/values.config.default.js.map +1 -1
  37. package/dist/module/values.config.forms.js +1 -6
  38. package/dist/module/values.config.forms.js.map +1 -1
  39. package/dist/module/values.config.js +1 -6
  40. package/dist/module/values.config.js.map +1 -1
  41. package/package.json +9 -8
  42. package/src/actions/JobActions.js +1 -53
  43. package/src/actions/types.js +0 -4
  44. package/src/apis/index.js +0 -4
  45. package/src/apis/maintenanceActions.js +6 -18
  46. package/src/components/FilterPopupMenu.js +21 -40
  47. package/src/components/MaintenanceList.js +47 -38
  48. package/src/components/MaintenanceListItem.js +22 -36
  49. package/src/components/MaintenanceWidgetItem.js +13 -17
  50. package/src/components/StatusSelectorPopup.js +14 -8
  51. package/src/components/WidgetSmall.js +3 -5
  52. package/src/helper.js +21 -50
  53. package/src/reducers/JobsReducer.js +1 -25
  54. package/src/screens/JobTypePicker.js +1 -1
  55. package/src/screens/RequestDetail.js +25 -88
  56. package/src/screens/RequestNotes.js +22 -342
  57. package/src/screens/ServiceRequest.js +2 -2
  58. package/src/values.config.a.js +0 -5
  59. package/src/values.config.default.js +0 -5
  60. package/src/values.config.forms.js +0 -5
  61. package/src/values.config.js +0 -5
  62. package/dist/module/components/PrioritySelectorPopup.js +0 -82
  63. package/dist/module/components/PrioritySelectorPopup.js.map +0 -1
  64. package/src/components/PrioritySelectorPopup.js +0 -79
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","maintenanceActions","jobsLoaded","jobStatusesUpdate","jobHideSeenUpdate","MaintenanceWidgetItem","Services","Colours","Components","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, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components } 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.props.jobStatusesUpdate(this.props.site);\n this.props.jobHideSeenUpdate(this.props.site);\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, jobStatusesUpdate, jobHideSeenUpdate }, 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,47 +1,33 @@
1
+ import { label } from 'aws-amplify';
1
2
  import { Colours } from './core.config';
2
- const STATUS_NOT_ACTIONED = 'Not Actioned';
3
- const STATUS_IN_PROGRESS = 'In Progress';
4
- const STATUS_COMPLETED = 'Completed';
5
3
  const jobStatusOptions = [{
6
- text: 'Open',
7
- order: 0,
8
- color: Colours.LINEGREY,
9
- category: STATUS_NOT_ACTIONED
4
+ name: 'Unassigned',
5
+ label: 'Open',
6
+ color: Colours.LINEGREY
10
7
  }, {
11
- text: 'In Progress',
12
- order: 1,
13
- color: Colours.COLOUR_TEAL,
14
- category: STATUS_IN_PROGRESS
8
+ name: 'In Progress',
9
+ label: 'In Progress',
10
+ color: Colours.COLOUR_TEAL
15
11
  }, {
16
- text: 'Completed',
17
- order: 2,
18
- color: Colours.COLOUR_GREEN_LIGHT,
19
- category: STATUS_COMPLETED
12
+ name: 'Completed',
13
+ label: 'Completed',
14
+ color: Colours.COLOUR_GREEN_LIGHT
20
15
  }];
21
- const jobPriorityOptions = [{
22
- label: 'Low',
23
- color: Colours.COLOUR_GREEN,
24
- default: true
25
- }, {
26
- label: 'Medium',
27
- color: Colours.COLOUR_TANGERINE
28
- }, {
29
- label: 'High',
30
- color: Colours.COLOUR_RED
31
- }];
32
- const getJobStatusOptions = props => {
33
- var _props$statusTypes;
34
- return props !== null && props !== void 0 && (_props$statusTypes = props.statusTypes) !== null && _props$statusTypes !== void 0 && _props$statusTypes.length ? props === null || props === void 0 ? void 0 : props.statusTypes : jobStatusOptions;
16
+ const getJobStatusColour = status => {
17
+ const option = jobStatusOptions.find(item => item.name === status);
18
+ return option ? option.color : jobStatusOptions[0].color;
19
+ };
20
+ const getJobStatusLabel = status => {
21
+ const option = jobStatusOptions.find(item => item.name === status);
22
+ return option ? option.label : jobStatusOptions[0].label;
35
23
  };
36
- const getDefaultJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_NOT_ACTIONED);
37
- const getIncompleteJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_IN_PROGRESS);
38
- const getJobStatus = (status, props) => {
39
- const statusOptions = getJobStatusOptions(props);
40
- // console.log('getJobStatus', JSON.stringify({ status, statusOptions }, null, 2));
41
- let statusOption = null;
42
- if (status) statusOption = statusOptions.find(s => s.text === status);
43
- return statusOption || getDefaultJobStatuses(props)[0];
24
+ const getJobStatusProps = status => {
25
+ const statusText = getJobStatusLabel(status) || jobStatusOptions[0].label;
26
+ const statusColor = getJobStatusColour(statusText);
27
+ return {
28
+ statusText,
29
+ statusColor
30
+ };
44
31
  };
45
- const getJobPriority = priority => jobPriorityOptions.find(p => p.label === priority) || jobPriorityOptions.find(p => p.default);
46
- export { jobStatusOptions, jobPriorityOptions, getJobStatusOptions, getDefaultJobStatuses, getIncompleteJobStatuses, getJobStatus, getJobPriority };
32
+ export { jobStatusOptions, getJobStatusColour, getJobStatusProps, getJobStatusLabel };
47
33
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Colours","STATUS_NOT_ACTIONED","STATUS_IN_PROGRESS","STATUS_COMPLETED","jobStatusOptions","text","order","color","LINEGREY","category","COLOUR_TEAL","COLOUR_GREEN_LIGHT","jobPriorityOptions","label","COLOUR_GREEN","default","COLOUR_TANGERINE","COLOUR_RED","getJobStatusOptions","props","_props$statusTypes","statusTypes","length","getDefaultJobStatuses","filter","s","getIncompleteJobStatuses","getJobStatus","status","statusOptions","statusOption","find","getJobPriority","priority","p"],"sources":["helper.js"],"sourcesContent":["import { Colours } from './core.config';\n\nconst STATUS_NOT_ACTIONED = 'Not Actioned';\nconst STATUS_IN_PROGRESS = 'In Progress';\nconst STATUS_COMPLETED = 'Completed';\n\nconst jobStatusOptions = [\n {\n text: 'Open',\n order: 0,\n color: Colours.LINEGREY,\n category: STATUS_NOT_ACTIONED,\n },\n {\n text: 'In Progress',\n order: 1,\n color: Colours.COLOUR_TEAL,\n category: STATUS_IN_PROGRESS,\n },\n {\n text: 'Completed',\n order: 2,\n color: Colours.COLOUR_GREEN_LIGHT,\n category: STATUS_COMPLETED,\n },\n];\n\nconst jobPriorityOptions = [\n {\n label: 'Low',\n color: Colours.COLOUR_GREEN,\n default: true,\n },\n {\n label: 'Medium',\n color: Colours.COLOUR_TANGERINE,\n },\n {\n label: 'High',\n color: Colours.COLOUR_RED,\n },\n];\n\nconst getJobStatusOptions = props => props?.statusTypes?.length ? props?.statusTypes : jobStatusOptions;\n\nconst getDefaultJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_NOT_ACTIONED);\n\nconst getIncompleteJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_IN_PROGRESS);\n\nconst getJobStatus = (status, props) => {\n const statusOptions = getJobStatusOptions(props);\n // console.log('getJobStatus', JSON.stringify({ status, statusOptions }, null, 2));\n let statusOption = null;\n if (status) statusOption = statusOptions.find(s => s.text === status);\n return statusOption || getDefaultJobStatuses(props)[0];\n}\n\nconst getJobPriority = priority => jobPriorityOptions.find(p => p.label === priority) || jobPriorityOptions.find(p => p.default);\n\nexport {\n jobStatusOptions,\n jobPriorityOptions,\n getJobStatusOptions,\n getDefaultJobStatuses,\n getIncompleteJobStatuses,\n getJobStatus,\n getJobPriority,\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,MAAMC,mBAAmB,GAAG,cAAc;AAC1C,MAAMC,kBAAkB,GAAG,aAAa;AACxC,MAAMC,gBAAgB,GAAG,WAAW;AAEpC,MAAMC,gBAAgB,GAAG,CACvB;EACEC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAEP,OAAO,CAACQ,QAAQ;EACvBC,QAAQ,EAAER;AACZ,CAAC,EACD;EACEI,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAEP,OAAO,CAACU,WAAW;EAC1BD,QAAQ,EAAEP;AACZ,CAAC,EACD;EACEG,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAEP,OAAO,CAACW,kBAAkB;EACjCF,QAAQ,EAAEN;AACZ,CAAC,CACF;AAED,MAAMS,kBAAkB,GAAG,CACzB;EACEC,KAAK,EAAE,KAAK;EACZN,KAAK,EAAEP,OAAO,CAACc,YAAY;EAC3BC,OAAO,EAAE;AACX,CAAC,EACD;EACEF,KAAK,EAAE,QAAQ;EACfN,KAAK,EAAEP,OAAO,CAACgB;AACjB,CAAC,EACD;EACEH,KAAK,EAAE,MAAM;EACbN,KAAK,EAAEP,OAAO,CAACiB;AACjB,CAAC,CACF;AAED,MAAMC,mBAAmB,GAAGC,KAAK;EAAA,IAAAC,kBAAA;EAAA,OAAID,KAAK,aAALA,KAAK,gBAAAC,kBAAA,GAALD,KAAK,CAAEE,WAAW,cAAAD,kBAAA,eAAlBA,kBAAA,CAAoBE,MAAM,GAAGH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,WAAW,GAAGjB,gBAAgB;AAAA;AAEvG,MAAMmB,qBAAqB,GAAGJ,KAAK,IAAID,mBAAmB,CAACC,KAAK,CAAC,CAACK,MAAM,CAACC,CAAC,IAAIA,CAAC,CAAChB,QAAQ,KAAKR,mBAAmB,CAAC;AAEjH,MAAMyB,wBAAwB,GAAGP,KAAK,IAAID,mBAAmB,CAACC,KAAK,CAAC,CAACK,MAAM,CAACC,CAAC,IAAIA,CAAC,CAAChB,QAAQ,KAAKP,kBAAkB,CAAC;AAEnH,MAAMyB,YAAY,GAAGA,CAACC,MAAM,EAAET,KAAK,KAAK;EACtC,MAAMU,aAAa,GAAGX,mBAAmB,CAACC,KAAK,CAAC;EAChD;EACA,IAAIW,YAAY,GAAG,IAAI;EACvB,IAAIF,MAAM,EAAEE,YAAY,GAAGD,aAAa,CAACE,IAAI,CAACN,CAAC,IAAIA,CAAC,CAACpB,IAAI,KAAKuB,MAAM,CAAC;EACrE,OAAOE,YAAY,IAAIP,qBAAqB,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAMa,cAAc,GAAGC,QAAQ,IAAIrB,kBAAkB,CAACmB,IAAI,CAACG,CAAC,IAAIA,CAAC,CAACrB,KAAK,KAAKoB,QAAQ,CAAC,IAAIrB,kBAAkB,CAACmB,IAAI,CAACG,CAAC,IAAIA,CAAC,CAACnB,OAAO,CAAC;AAEhI,SACEX,gBAAgB,EAChBQ,kBAAkB,EAClBM,mBAAmB,EACnBK,qBAAqB,EACrBG,wBAAwB,EACxBC,YAAY,EACZK,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["label","Colours","jobStatusOptions","name","color","LINEGREY","COLOUR_TEAL","COLOUR_GREEN_LIGHT","getJobStatusColour","status","option","find","item","getJobStatusLabel","getJobStatusProps","statusText","statusColor"],"sources":["helper.js"],"sourcesContent":["import { label } from 'aws-amplify';\nimport { Colours } from './core.config';\n\nconst jobStatusOptions = [\n {\n name: 'Unassigned',\n label: 'Open',\n color: Colours.LINEGREY,\n },\n {\n name: 'In Progress',\n label: 'In Progress',\n color: Colours.COLOUR_TEAL,\n },\n {\n name: 'Completed',\n label: 'Completed',\n color: Colours.COLOUR_GREEN_LIGHT,\n },\n];\n\nconst getJobStatusColour = status => {\n const option = jobStatusOptions.find(item => item.name === status);\n return option ? option.color : jobStatusOptions[0].color;\n};\n\nconst getJobStatusLabel = status => {\n const option = jobStatusOptions.find(item => item.name === status);\n return option ? option.label : jobStatusOptions[0].label;\n};\n\nconst getJobStatusProps = status => {\n const statusText = getJobStatusLabel(status) || jobStatusOptions[0].label;\n const statusColor = getJobStatusColour(statusText);\n\n return { statusText, statusColor };\n};\n\nexport { jobStatusOptions, getJobStatusColour, getJobStatusProps, getJobStatusLabel };\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,SAASC,OAAO,QAAQ,eAAe;AAEvC,MAAMC,gBAAgB,GAAG,CACvB;EACEC,IAAI,EAAE,YAAY;EAClBH,KAAK,EAAE,MAAM;EACbI,KAAK,EAAEH,OAAO,CAACI;AACjB,CAAC,EACD;EACEF,IAAI,EAAE,aAAa;EACnBH,KAAK,EAAE,aAAa;EACpBI,KAAK,EAAEH,OAAO,CAACK;AACjB,CAAC,EACD;EACEH,IAAI,EAAE,WAAW;EACjBH,KAAK,EAAE,WAAW;EAClBI,KAAK,EAAEH,OAAO,CAACM;AACjB,CAAC,CACF;AAED,MAAMC,kBAAkB,GAAGC,MAAM,IAAI;EACnC,MAAMC,MAAM,GAAGR,gBAAgB,CAACS,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACT,IAAI,KAAKM,MAAM,CAAC;EAClE,OAAOC,MAAM,GAAGA,MAAM,CAACN,KAAK,GAAGF,gBAAgB,CAAC,CAAC,CAAC,CAACE,KAAK;AAC1D,CAAC;AAED,MAAMS,iBAAiB,GAAGJ,MAAM,IAAI;EAClC,MAAMC,MAAM,GAAGR,gBAAgB,CAACS,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACT,IAAI,KAAKM,MAAM,CAAC;EAClE,OAAOC,MAAM,GAAGA,MAAM,CAACV,KAAK,GAAGE,gBAAgB,CAAC,CAAC,CAAC,CAACF,KAAK;AAC1D,CAAC;AAED,MAAMc,iBAAiB,GAAGL,MAAM,IAAI;EAClC,MAAMM,UAAU,GAAGF,iBAAiB,CAACJ,MAAM,CAAC,IAAIP,gBAAgB,CAAC,CAAC,CAAC,CAACF,KAAK;EACzE,MAAMgB,WAAW,GAAGR,kBAAkB,CAACO,UAAU,CAAC;EAElD,OAAO;IAAEA,UAAU;IAAEC;EAAY,CAAC;AACpC,CAAC;AAED,SAASd,gBAAgB,EAAEM,kBAAkB,EAAEM,iBAAiB,EAAED,iBAAiB","ignoreList":[]}
@@ -1,27 +1,16 @@
1
1
  /* eslint-disable no-param-reassign */
2
2
  import _ from 'lodash';
3
3
  import { REHYDRATE } from 'redux-persist';
4
- import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED, JOBS_STATUSES_LOADED, JOBS_HIDE_SEEN, JOB_FILTER_LOADED } from '../actions/types';
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
7
  const REDUCER_KEY = values.reducerKey;
8
8
  const INITIAL_STATE = {
9
- jobs: [],
10
- jobstatuses: [],
11
- hideSeen: false,
12
- jobfilters: {
13
- status: '',
14
- statusText: '',
15
- priority: '',
16
- type: '',
17
- assignee: '',
18
- assigneeName: ''
19
- }
9
+ jobs: []
20
10
  };
21
11
  export default (state = INITIAL_STATE, action) => {
22
12
  let updateJobs = [];
23
13
  let index = 0;
24
- let jobstatuses = [];
25
14
  switch (action.type) {
26
15
  case ActionTypes.LOGOUT:
27
16
  case ActionTypes.CHANGE_ROLE:
@@ -58,24 +47,6 @@ export default (state = INITIAL_STATE, action) => {
58
47
  ...state,
59
48
  jobs: updateJobs
60
49
  };
61
- case JOBS_STATUSES_LOADED:
62
- jobstatuses = _.orderBy(_.unionWith(action.payload, state.jobstatuses, (v1, v2) => {
63
- return v1 != null && v2 != null && v1.text === v2.text;
64
- }), 'order', 'asc');
65
- return {
66
- ...state,
67
- jobstatuses
68
- };
69
- case JOBS_HIDE_SEEN:
70
- return {
71
- ...state,
72
- hideSeen: action.payload
73
- };
74
- case JOB_FILTER_LOADED:
75
- return {
76
- ...state,
77
- jobfilters: action.payload
78
- };
79
50
  case REHYDRATE:
80
51
  if (!action.payload) return state;
81
52
  if (action.payload[REDUCER_KEY]) {
@@ -1 +1 @@
1
- {"version":3,"names":["_","REHYDRATE","JOBS_LOADED","JOB_ADDED","JOBS_ADDED","JOBS_STATUSES_LOADED","JOBS_HIDE_SEEN","JOB_FILTER_LOADED","ActionTypes","values","REDUCER_KEY","reducerKey","INITIAL_STATE","jobs","jobstatuses","hideSeen","jobfilters","status","statusText","priority","type","assignee","assigneeName","state","action","updateJobs","index","LOGOUT","CHANGE_ROLE","payload","map","job","title","description","unionWith","j1","j2","id","findIndex","item","push","orderBy","v1","v2","text"],"sources":["JobsReducer.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport _ from 'lodash';\nimport { REHYDRATE } from 'redux-persist';\nimport { JOBS_LOADED, JOB_ADDED, JOBS_ADDED, JOBS_STATUSES_LOADED, JOBS_HIDE_SEEN, JOB_FILTER_LOADED } 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 jobstatuses: [],\n hideSeen: false,\n jobfilters: {\n status: '',\n statusText: '',\n priority: '',\n type: '',\n assignee: '',\n assigneeName: '',\n },\n};\n\nexport default (state = INITIAL_STATE, action) => {\n let updateJobs = [];\n let index = 0;\n let jobstatuses = [];\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 JOBS_STATUSES_LOADED:\n jobstatuses = _.orderBy(\n _.unionWith(action.payload, state.jobstatuses, (v1, v2) => {\n return v1 != null && v2 != null && v1.text === v2.text;\n }),\n 'order',\n 'asc',\n );\n return { ...state, jobstatuses };\n case JOBS_HIDE_SEEN:\n return { ...state, hideSeen: action.payload };\n case JOB_FILTER_LOADED:\n return { ...state, jobfilters: action.payload };\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":"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","ignoreList":[]}
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":[]}
@@ -5,7 +5,7 @@ import React, { Component } from 'react';
5
5
  import _ from 'lodash';
6
6
  import { TouchableOpacity, View, ScrollView, Text } from 'react-native';
7
7
  import { connect } from 'react-redux';
8
- import { Icon } from 'react-native-elements';
8
+ import { Icon } from '@rneui/themed';
9
9
  import { Services } from '../feature.config';
10
10
  import { Components, Colours } from '../core.config';
11
11
  class JobTypePicker extends Component {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","constructor","args","_defineProperty","currentType","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onTypePress","type","onSelectType","setTimeout","renderMain","isEmpty","types","createElement","style","marginTop","Spinner","FormCard","renderOptions","map","rep","index","key","onPress","bind","typeName","FormCardSection","label","labelStyle","height","margin","hasUnderline","hasContent","styles","labelContainer","labelText","name","iconStyle","color","fontSize","state","COLOUR_GREEN","description","render","container","Header","leftIcon","onPressLeft","text","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","fontFamily","TEXT_DARK","justifyContent"],"sources":["JobTypePicker.js"],"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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","constructor","args","_defineProperty","currentType","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onTypePress","type","onSelectType","setTimeout","renderMain","isEmpty","types","createElement","style","marginTop","Spinner","FormCard","renderOptions","map","rep","index","key","onPress","bind","typeName","FormCardSection","label","labelStyle","height","margin","hasUnderline","hasContent","styles","labelContainer","labelText","name","iconStyle","color","fontSize","state","COLOUR_GREEN","description","render","container","Header","leftIcon","onPressLeft","text","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","fontFamily","TEXT_DARK","justifyContent"],"sources":["JobTypePicker.js"],"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"],"mappings":"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","ignoreList":[]}
@@ -4,15 +4,14 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
4
4
  import React, { Component } from 'react';
5
5
  import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } from 'react-native';
6
6
  import DateTimePicker from 'react-native-modal-datetime-picker';
7
- import { Icon } from 'react-native-elements';
7
+ import { Icon } from '@rneui/themed';
8
8
  import _ from 'lodash';
9
9
  import moment from 'moment';
10
10
  import { connect } from 'react-redux';
11
11
  import { maintenanceActions } from '../apis';
12
- import { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';
12
+ import { jobAdded } from '../actions';
13
13
  import StatusSelectorPopup from '../components/StatusSelectorPopup';
14
- import PrioritySelectorPopup from '../components/PrioritySelectorPopup';
15
- import { getJobStatus, getJobPriority } from '../helper';
14
+ import { jobStatusOptions, getJobStatusProps } from '../helper';
16
15
  import { Services } from '../feature.config';
17
16
  import { Colours, Helper, Components, Config } from '../core.config';
18
17
  import { values } from '../values.config';
@@ -25,7 +24,6 @@ class RequestDetail extends Component {
25
24
  }, async () => {
26
25
  try {
27
26
  const res = await maintenanceActions.getJob(this.props.job.site, this.props.job.id);
28
- // console.log('getJob', JSON.stringify(res.data, null, 2));
29
27
  this.props.jobAdded(res.data);
30
28
  this.updateJobState(res.data);
31
29
  } catch (error) {
@@ -138,23 +136,6 @@ class RequestDetail extends Component {
138
136
  }
139
137
  });
140
138
  });
141
- _defineProperty(this, "updateJobPriority", () => {
142
- this.setState({
143
- loading: true
144
- }, async () => {
145
- try {
146
- const res = await maintenanceActions.editJobPriority(this.props.job.id, this.state.priority);
147
- this.props.jobAdded(res.data.job);
148
- this.getJob();
149
- } catch (error) {
150
- console.log('updateJobPriority error', error);
151
- } finally {
152
- this.setState({
153
- loading: false
154
- });
155
- }
156
- });
157
- });
158
139
  _defineProperty(this, "onPressBack", () => {
159
140
  Services.navigation.goBack();
160
141
  });
@@ -169,7 +150,6 @@ class RequestDetail extends Component {
169
150
  });
170
151
  });
171
152
  _defineProperty(this, "onSelectStatus", status => {
172
- if (this.state.loading) return;
173
153
  this.setState({
174
154
  status,
175
155
  showStatusPopup: false
@@ -177,25 +157,6 @@ class RequestDetail extends Component {
177
157
  this.updateJobStatus();
178
158
  });
179
159
  });
180
- _defineProperty(this, "onOpenPriorityPicker", () => {
181
- this.setState({
182
- showPriorityPopup: true
183
- });
184
- });
185
- _defineProperty(this, "onClosePriorityPopup", () => {
186
- this.setState({
187
- showPriorityPopup: false
188
- });
189
- });
190
- _defineProperty(this, "onSelectPriority", priority => {
191
- if (this.state.loading) return;
192
- this.setState({
193
- priority,
194
- showPriorityPopup: false
195
- }, () => {
196
- this.updateJobPriority();
197
- });
198
- });
199
160
  _defineProperty(this, "openStaffNotes", () => {
200
161
  Services.navigation.navigate(values.screenRequestNotes, {
201
162
  job: this.state.job,
@@ -319,13 +280,11 @@ class RequestDetail extends Component {
319
280
  isDateTimePickerVisible: false,
320
281
  popUpType: '',
321
282
  status: '',
322
- priority: '',
323
283
  expectedDate: null,
324
284
  expectedDateText: '',
325
285
  seen: false,
326
286
  showMore: true,
327
287
  showStatusPopup: false,
328
- showPriorityPopup: false,
329
288
  loading: false,
330
289
  showFullscreenVideo: false,
331
290
  currentVideoUrl: '',
@@ -339,8 +298,6 @@ class RequestDetail extends Component {
339
298
  this.commentSection = /*#__PURE__*/React.createRef();
340
299
  }
341
300
  componentDidMount() {
342
- this.props.jobStatusesUpdate(this.props.job.site);
343
- this.props.jobHideSeenUpdate(this.props.job.site);
344
301
  this.getJob();
345
302
  this.updateJobState(this.props.job);
346
303
  this.getAssignees();
@@ -386,11 +343,12 @@ class RequestDetail extends Component {
386
343
  status,
387
344
  job
388
345
  } = this.state;
389
- const statusOption = getJobStatus(status, this.props);
390
- const priority = getJobPriority(job.priority);
346
+ const {
347
+ statusText,
348
+ statusColor
349
+ } = getJobStatusProps(status);
391
350
  const canEdit = this.hasPermission();
392
- const isStaff = this.props.user.category === 'staff';
393
- const showSeen = !status || status === getJobStatus(null, this.props).text;
351
+ const showSeen = !status || status === jobStatusOptions[0].name;
394
352
  return /*#__PURE__*/React.createElement(View, {
395
353
  style: {
396
354
  ...Helper.getShadowStyle()
@@ -414,7 +372,7 @@ class RequestDetail extends Component {
414
372
  color: this.props.colourBrandingMain
415
373
  }],
416
374
  numberOfLines: 2
417
- }, job.type)), !this.props.hideSeen && showSeen && this.state.seen && /*#__PURE__*/React.createElement(View, {
375
+ }, job.type)), showSeen && this.state.seen && /*#__PURE__*/React.createElement(View, {
418
376
  style: styles.jobSeenContainer
419
377
  }, /*#__PURE__*/React.createElement(Icon, {
420
378
  name: "check",
@@ -435,8 +393,6 @@ class RequestDetail extends Component {
435
393
  }, /*#__PURE__*/React.createElement(Text, {
436
394
  style: styles.textSectionText
437
395
  }, moment(job.lastActivityUnix).format('ddd D MMMM, h:mm A'))))), /*#__PURE__*/React.createElement(View, {
438
- style: styles.jobInfoContainer
439
- }, /*#__PURE__*/React.createElement(View, {
440
396
  style: styles.jobStatusExpectedContainer
441
397
  }, /*#__PURE__*/React.createElement(View, {
442
398
  style: styles.jobStatusOuterContainer
@@ -446,11 +402,11 @@ class RequestDetail extends Component {
446
402
  onPress: canEdit ? this.onOpenStatusPicker : null
447
403
  }, /*#__PURE__*/React.createElement(View, {
448
404
  style: [styles.jobStatusContainer, {
449
- backgroundColor: statusOption.color
405
+ backgroundColor: statusColor
450
406
  }]
451
407
  }, /*#__PURE__*/React.createElement(Text, {
452
408
  style: styles.jobStatusText
453
- }, statusOption === null || statusOption === void 0 ? void 0 : statusOption.text)))), this.hasPermission() && /*#__PURE__*/React.createElement(View, {
409
+ }, statusText)))), this.hasPermission() && /*#__PURE__*/React.createElement(View, {
454
410
  style: styles.jobStatusOuterContainer
455
411
  }, /*#__PURE__*/React.createElement(Text, {
456
412
  style: styles.jobStatusHeading
@@ -466,19 +422,7 @@ class RequestDetail extends Component {
466
422
  iconStyle: styles.jobStatusIcon
467
423
  }), /*#__PURE__*/React.createElement(Text, {
468
424
  style: styles.jobStatusText
469
- }, "Notes (", (job.Notes || []).length, ")"))))), isStaff && /*#__PURE__*/React.createElement(View, {
470
- style: styles.jobPriorityOuterContainer
471
- }, /*#__PURE__*/React.createElement(Text, {
472
- style: styles.jobStatusHeading
473
- }, "PRIORITY"), /*#__PURE__*/React.createElement(TouchableOpacity, {
474
- onPress: canEdit ? this.onOpenPriorityPicker : null
475
- }, /*#__PURE__*/React.createElement(View, {
476
- style: [styles.jobStatusContainer, {
477
- backgroundColor: priority.color
478
- }]
479
- }, /*#__PURE__*/React.createElement(Text, {
480
- style: styles.jobStatusText
481
- }, priority.label))))));
425
+ }, "Notes (", (job.Notes || []).length, ")"))))));
482
426
  }
483
427
  renderPlayableImageUrl(images, index, containerStyle, showMore) {
484
428
  const url = images[index || 0];
@@ -718,13 +662,6 @@ class RequestDetail extends Component {
718
662
  onSelect: this.onSelectStatus
719
663
  });
720
664
  }
721
- renderPriorityPopup() {
722
- if (!this.state.showPriorityPopup) return null;
723
- return /*#__PURE__*/React.createElement(PrioritySelectorPopup, {
724
- onClose: this.onClosePriorityPopup,
725
- onSelect: this.onSelectPriority
726
- });
727
- }
728
665
  render() {
729
666
  if (this.state.forbidden) {
730
667
  return /*#__PURE__*/React.createElement(Components.Forbidden, null);
@@ -746,7 +683,7 @@ class RequestDetail extends Component {
746
683
  }
747
684
  }, /*#__PURE__*/React.createElement(View, {
748
685
  style: styles.innerContainer
749
- }, this.renderTop(), this.renderAssignee(), this.rendeDetails(), this.renderMessages())), this.renderMessagesReply(), this.renderStatusPopup(), this.renderPriorityPopup(), this.renderImagePopup(), /*#__PURE__*/React.createElement(DateTimePicker, {
686
+ }, this.renderTop(), this.renderAssignee(), this.rendeDetails(), this.renderMessages())), this.renderMessagesReply(), this.renderStatusPopup(), this.renderImagePopup(), /*#__PURE__*/React.createElement(DateTimePicker, {
750
687
  isVisible: this.state.isDateTimePickerVisible,
751
688
  onConfirm: this.onDateSelected,
752
689
  onCancel: this.onCloseDatePicker,
@@ -815,17 +752,15 @@ const styles = StyleSheet.create({
815
752
  fontSize: 13,
816
753
  color: Colours.TEXT_LIGHT
817
754
  },
818
- jobInfoContainer: {
755
+ jobStatusExpectedContainer: {
756
+ flexDirection: 'row',
757
+ alignItems: 'flex-start',
758
+ justifyContent: 'space-between',
819
759
  borderTopWidth: 1,
820
760
  borderTopColor: Colours.LINEGREY,
821
761
  paddingVertical: 14,
822
762
  paddingHorizontal: 12
823
763
  },
824
- jobStatusExpectedContainer: {
825
- flexDirection: 'row',
826
- alignItems: 'flex-start',
827
- justifyContent: 'space-between'
828
- },
829
764
  jobStatusOuterContainer: {
830
765
  // marginRight: 50,
831
766
  },
@@ -857,9 +792,6 @@ const styles = StyleSheet.create({
857
792
  flex: 1,
858
793
  textAlign: 'center'
859
794
  },
860
- jobPriorityOuterContainer: {
861
- marginTop: 12
862
- },
863
795
  jobExpectedDateContainer: {
864
796
  backgroundColor: Colours.BOXGREY,
865
797
  flexDirection: 'row',
@@ -1038,14 +970,10 @@ const mapStateToProps = state => {
1038
970
  return {
1039
971
  user: state.user,
1040
972
  colourBrandingMain: Colours.getMainBrandingColourFromState(state),
1041
- jobs: state[values.reducerKey].jobs,
1042
- statusTypes: state[values.reducerKey].jobstatuses,
1043
- hideSeen: state[values.reducerKey].hideSeen
973
+ jobs: state[values.reducerKey].jobs
1044
974
  };
1045
975
  };
1046
976
  export default connect(mapStateToProps, {
1047
- jobAdded,
1048
- jobStatusesUpdate,
1049
- jobHideSeenUpdate
977
+ jobAdded
1050
978
  })(RequestDetail);
1051
979
  //# sourceMappingURL=RequestDetail.js.map