@plusscommunities/pluss-maintenance-app 6.1.2-beta.0 → 7.0.0-beta.1

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 (78) hide show
  1. package/dist/module/actions/JobActions.js +44 -1
  2. package/dist/module/actions/JobActions.js.map +1 -1
  3. package/dist/module/actions/types.js +3 -0
  4. package/dist/module/actions/types.js.map +1 -1
  5. package/dist/module/apis/index.js +3 -1
  6. package/dist/module/apis/index.js.map +1 -1
  7. package/dist/module/apis/{generalActions.js → maintenanceActions.js} +44 -45
  8. package/dist/module/apis/maintenanceActions.js.map +1 -0
  9. package/dist/module/components/FilterPopupMenu.js +78 -26
  10. package/dist/module/components/FilterPopupMenu.js.map +1 -1
  11. package/dist/module/components/MaintenanceList.js +70 -45
  12. package/dist/module/components/MaintenanceList.js.map +1 -1
  13. package/dist/module/components/MaintenanceListItem.js +54 -42
  14. package/dist/module/components/MaintenanceListItem.js.map +1 -1
  15. package/dist/module/components/MaintenanceWidgetItem.js +16 -20
  16. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
  17. package/dist/module/components/PrioritySelectorPopup.js +82 -0
  18. package/dist/module/components/PrioritySelectorPopup.js.map +1 -0
  19. package/dist/module/components/StatusSelectorPopup.js +9 -13
  20. package/dist/module/components/StatusSelectorPopup.js.map +1 -1
  21. package/dist/module/components/WidgetSmall.js +13 -9
  22. package/dist/module/components/WidgetSmall.js.map +1 -1
  23. package/dist/module/feature.config.js +3 -3
  24. package/dist/module/feature.config.js.map +1 -1
  25. package/dist/module/helper.js +39 -17
  26. package/dist/module/helper.js.map +1 -1
  27. package/dist/module/reducers/JobsReducer.js +33 -3
  28. package/dist/module/reducers/JobsReducer.js.map +1 -1
  29. package/dist/module/screens/JobTypePicker.js +3 -3
  30. package/dist/module/screens/JobTypePicker.js.map +1 -1
  31. package/dist/module/screens/MaintenancePage.js +2 -2
  32. package/dist/module/screens/RequestDetail.js +340 -88
  33. package/dist/module/screens/RequestDetail.js.map +1 -1
  34. package/dist/module/screens/RequestNotes.js +437 -26
  35. package/dist/module/screens/RequestNotes.js.map +1 -1
  36. package/dist/module/screens/ServiceRequest.js +596 -93
  37. package/dist/module/screens/ServiceRequest.js.map +1 -1
  38. package/dist/module/values.config.a.js +9 -1
  39. package/dist/module/values.config.a.js.map +1 -1
  40. package/dist/module/values.config.default.js +15 -1
  41. package/dist/module/values.config.default.js.map +1 -1
  42. package/dist/module/values.config.forms.js +42 -0
  43. package/dist/module/values.config.forms.js.map +1 -0
  44. package/dist/module/values.config.js +34 -20
  45. package/dist/module/values.config.js.map +1 -1
  46. package/package.json +11 -11
  47. package/src/actions/JobActions.js +53 -1
  48. package/src/actions/types.js +4 -0
  49. package/src/apis/index.js +5 -1
  50. package/src/apis/{generalActions.js → maintenanceActions.js} +51 -43
  51. package/src/components/FilterPopupMenu.js +75 -24
  52. package/src/components/MaintenanceList.js +64 -33
  53. package/src/components/MaintenanceListItem.js +53 -31
  54. package/src/components/MaintenanceWidgetItem.js +18 -14
  55. package/src/components/PrioritySelectorPopup.js +79 -0
  56. package/src/components/StatusSelectorPopup.js +8 -13
  57. package/src/components/WidgetSmall.js +9 -7
  58. package/src/feature.config.js +15 -13
  59. package/src/helper.js +51 -13
  60. package/src/reducers/JobsReducer.js +27 -2
  61. package/src/screens/JobTypePicker.js +1 -1
  62. package/src/screens/RequestDetail.js +324 -75
  63. package/src/screens/RequestNotes.js +434 -33
  64. package/src/screens/ServiceRequest.js +642 -157
  65. package/src/values.config.a.js +8 -0
  66. package/src/values.config.default.js +14 -0
  67. package/src/values.config.forms.js +42 -0
  68. package/src/values.config.js +34 -20
  69. package/dist/module/apis/generalActions.js.map +0 -1
  70. package/dist/module/values.config.b.js +0 -28
  71. package/dist/module/values.config.b.js.map +0 -1
  72. package/dist/module/values.config.c.js +0 -28
  73. package/dist/module/values.config.c.js.map +0 -1
  74. package/dist/module/values.config.d.js +0 -28
  75. package/dist/module/values.config.d.js.map +0 -1
  76. package/src/values.config.b.js +0 -28
  77. package/src/values.config.c.js +0 -28
  78. package/src/values.config.d.js +0 -28
@@ -1,13 +1,13 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { Component } from 'react';
5
5
  import { Text, View, StyleSheet, TouchableOpacity } from 'react-native';
6
6
  import { connect } from 'react-redux';
7
- import { Icon } from 'react-native-elements';
7
+ import { Icon } from '@rneui/themed';
8
8
  import moment from 'moment';
9
9
  import _ from 'lodash';
10
- import { getJobStatusProps, jobStatusOptions } from '../helper';
10
+ import { getJobStatus } from '../helper';
11
11
  import { Services } from '../feature.config';
12
12
  import { Colours, Helper } from '../core.config';
13
13
  import { values } from '../values.config';
@@ -22,16 +22,14 @@ class MaintenanceWidgetItem extends Component {
22
22
  }
23
23
  render() {
24
24
  const {
25
- job
25
+ job,
26
+ hideSeen
26
27
  } = this.props;
27
28
  const createdTime = moment(job.createdUnix);
28
29
  const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;
29
- const {
30
- statusText,
31
- statusColor
32
- } = getJobStatusProps(job.status);
30
+ const status = getJobStatus(job.status, this.props);
33
31
  const seenText = (() => {
34
- if (!job.status || job.status === jobStatusOptions[0].name) {
32
+ if (!job.status || job.status === getJobStatus(null, this.props).text) {
35
33
  return job.seen ? 'Seen' : 'Unseen';
36
34
  }
37
35
  return '';
@@ -50,7 +48,7 @@ class MaintenanceWidgetItem extends Component {
50
48
  style: styles.jobTitleText
51
49
  }, job.title), /*#__PURE__*/React.createElement(Text, {
52
50
  style: styles.jobCreatedTimeText
53
- }, createdTimeText), /*#__PURE__*/React.createElement(View, {
51
+ }, createdTimeText), !hideSeen ? /*#__PURE__*/React.createElement(View, {
54
52
  style: styles.jobSeenContainer
55
53
  }, job.seen && !_.isEmpty(seenText) && /*#__PURE__*/React.createElement(Icon, {
56
54
  name: "check",
@@ -62,19 +60,15 @@ class MaintenanceWidgetItem extends Component {
62
60
  style: [styles.jobSeenText, job.seen && {
63
61
  color: this.props.colourBrandingMain
64
62
  }]
65
- }, seenText))), /*#__PURE__*/React.createElement(View, {
63
+ }, seenText)) : null), /*#__PURE__*/React.createElement(View, {
66
64
  style: styles.jobBottomSection
67
65
  }, /*#__PURE__*/React.createElement(View, {
68
66
  style: [styles.jobStatusContainer, {
69
- backgroundColor: statusColor
67
+ backgroundColor: status === null || status === void 0 ? void 0 : status.color
70
68
  }]
71
- }, /*#__PURE__*/React.createElement(Icon, {
72
- name: "wrench",
73
- type: "font-awesome",
74
- iconStyle: styles.jobStatusIcon
75
- }), /*#__PURE__*/React.createElement(Text, {
69
+ }, /*#__PURE__*/React.createElement(Text, {
76
70
  style: styles.jobStatusText
77
- }, statusText))))));
71
+ }, status === null || status === void 0 ? void 0 : status.text))))));
78
72
  }
79
73
  }
80
74
  const styles = StyleSheet.create({
@@ -146,7 +140,9 @@ const styles = StyleSheet.create({
146
140
  });
147
141
  const mapStateToProps = state => {
148
142
  return {
149
- colourBrandingMain: Colours.getMainBrandingColourFromState(state)
143
+ colourBrandingMain: Colours.getMainBrandingColourFromState(state),
144
+ statusTypes: state[values.reducerKey].jobstatuses,
145
+ hideSeen: state[values.reducerKey].hideSeen
150
146
  };
151
147
  };
152
148
  export default connect(mapStateToProps, {})(MaintenanceWidgetItem);
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatusProps","jobStatusOptions","Services","Colours","Helper","values","MaintenanceWidgetItem","constructor","args","_defineProperty","navigation","navigate","screenRequestDetail","job","props","render","createdTime","createdUnix","createdTimeText","format","statusText","statusColor","status","seenText","name","seen","createElement","key","id","onPress","onPressJob","style","styles","jobContainer","jobInnerContainer","jobTopSection","numberOfLines","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusIcon","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["MaintenanceWidgetItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate(values.screenRequestDetail, { job: this.props.job });\n };\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const { statusText, statusColor } = getJobStatusProps(job.status);\n const seenText = (() => {\n if (!job.status || job.status === jobStatusOptions[0].name) {\n return job.seen ? 'Seen' : 'Unseen';\n }\n return '';\n })();\n\n return (\n <TouchableOpacity key={job.id} onPress={this.onPressJob}>\n <View style={styles.jobContainer}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <Text numberOfLines={2} style={styles.jobTitleText}>\n {job.title}\n </Text>\n <Text style={styles.jobCreatedTimeText}>{createdTimeText}</Text>\n <View style={styles.jobSeenContainer}>\n {job.seen && !_.isEmpty(seenText) && (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n )}\n <Text style={[styles.jobSeenText, job.seen && { color: this.props.colourBrandingMain }]}>{seenText}</Text>\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} />\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n padding: 10,\n },\n jobInnerContainer: {\n width: 140,\n height: 160,\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flex: 1,\n padding: 10,\n paddingTop: 20,\n },\n jobTitleText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n jobCreatedTimeText: {\n fontFamily: 'sf-medium',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n paddingTop: 3,\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingTop: 5,\n },\n jobSeenIcon: {\n fontSize: 12,\n marginRight: 4,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: Colours.TEXT_SUPER_LIGHT,\n },\n jobBottomSection: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 10,\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceWidgetItem);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatus","Services","Colours","Helper","values","MaintenanceWidgetItem","constructor","args","_defineProperty","navigation","navigate","screenRequestDetail","job","props","render","hideSeen","createdTime","createdUnix","createdTimeText","format","status","seenText","text","seen","createElement","key","id","onPress","onPressJob","style","styles","jobContainer","jobInnerContainer","jobTopSection","numberOfLines","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","name","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","jobStatusIcon","textAlign","mapStateToProps","state","getMainBrandingColourFromState","statusTypes","reducerKey","jobstatuses"],"sources":["MaintenanceWidgetItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from '@rneui/themed';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatus } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate(values.screenRequestDetail, { job: this.props.job });\n };\n\n render() {\n const { job, hideSeen } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const status = getJobStatus(job.status, this.props);\n const seenText = (() => {\n if (!job.status || job.status === getJobStatus(null, this.props).text) {\n return job.seen ? 'Seen' : 'Unseen';\n }\n return '';\n })();\n\n return (\n <TouchableOpacity key={job.id} onPress={this.onPressJob}>\n <View style={styles.jobContainer}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <Text numberOfLines={2} style={styles.jobTitleText}>\n {job.title}\n </Text>\n <Text style={styles.jobCreatedTimeText}>{createdTimeText}</Text>\n {!hideSeen ? (\n <View style={styles.jobSeenContainer}>\n {job.seen && !_.isEmpty(seenText) && (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n )}\n <Text style={[styles.jobSeenText, job.seen && { color: this.props.colourBrandingMain }]}>{seenText}</Text>\n </View>\n ) : null}\n </View>\n <View style={styles.jobBottomSection}>\n <View style={[styles.jobStatusContainer, { backgroundColor: status?.color }]}>\n {/* <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} /> */}\n <Text style={styles.jobStatusText}>{status?.text}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n padding: 10,\n },\n jobInnerContainer: {\n width: 140,\n height: 160,\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flex: 1,\n padding: 10,\n paddingTop: 20,\n },\n jobTitleText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n jobCreatedTimeText: {\n fontFamily: 'sf-medium',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n paddingTop: 3,\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingTop: 5,\n },\n jobSeenIcon: {\n fontSize: 12,\n marginRight: 4,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: Colours.TEXT_SUPER_LIGHT,\n },\n jobBottomSection: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 10,\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n statusTypes: state[values.reducerKey].jobstatuses,\n hideSeen: state[values.reducerKey].hideSeen,\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceWidgetItem);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AACvE,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,eAAe;AACpC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,YAAY,QAAQ,WAAW;AACxC,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,OAAO,EAAEC,MAAM,QAAQ,gBAAgB;AAChD,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,MAAMC,qBAAqB,SAASd,SAAS,CAAC;EAAAe,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,qBAC/B,MAAM;MACjBP,QAAQ,CAACQ,UAAU,CAACC,QAAQ,CAACN,MAAM,CAACO,mBAAmB,EAAE;QAAEC,GAAG,EAAE,IAAI,CAACC,KAAK,CAACD;MAAI,CAAC,CAAC;IACnF,CAAC;EAAA;EAEDE,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEF,GAAG;MAAEG;IAAS,CAAC,GAAG,IAAI,CAACF,KAAK;IACpC,MAAMG,WAAW,GAAGlB,MAAM,CAACc,GAAG,CAACK,WAAW,CAAC;IAC3C,MAAMC,eAAe,GAAG,GAAGF,WAAW,CAACG,MAAM,CAAC,aAAa,CAAC,MAAMH,WAAW,CAACG,MAAM,CAAC,OAAO,CAAC,EAAE;IAC/F,MAAMC,MAAM,GAAGpB,YAAY,CAACY,GAAG,CAACQ,MAAM,EAAE,IAAI,CAACP,KAAK,CAAC;IACnD,MAAMQ,QAAQ,GAAG,CAAC,MAAM;MACtB,IAAI,CAACT,GAAG,CAACQ,MAAM,IAAIR,GAAG,CAACQ,MAAM,KAAKpB,YAAY,CAAC,IAAI,EAAE,IAAI,CAACa,KAAK,CAAC,CAACS,IAAI,EAAE;QACrE,OAAOV,GAAG,CAACW,IAAI,GAAG,MAAM,GAAG,QAAQ;MACrC;MACA,OAAO,EAAE;IACX,CAAC,EAAE,CAAC;IAEJ,oBACEjC,KAAA,CAAAkC,aAAA,CAAC7B,gBAAgB;MAAC8B,GAAG,EAAEb,GAAG,CAACc,EAAG;MAACC,OAAO,EAAE,IAAI,CAACC;IAAW,gBACtDtC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACC;IAAa,gBAC/BzC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACE;IAAkB,gBACpC1C,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACG;IAAc,gBAChC3C,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAAC0C,aAAa,EAAE,CAAE;MAACL,KAAK,EAAEC,MAAM,CAACK;IAAa,GAChDvB,GAAG,CAACwB,KACD,CAAC,eACP9C,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACO;IAAmB,GAAEnB,eAAsB,CAAC,EAC/D,CAACH,QAAQ,gBACRzB,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACQ;IAAiB,GAClC1B,GAAG,CAACW,IAAI,IAAI,CAACxB,CAAC,CAACwC,OAAO,CAAClB,QAAQ,CAAC,iBAC/B/B,KAAA,CAAAkC,aAAA,CAAC3B,IAAI;MAAC2C,IAAI,EAAC,OAAO;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAE,CAACZ,MAAM,CAACa,WAAW,EAAE;QAAEC,KAAK,EAAE,IAAI,CAAC/B,KAAK,CAACgC;MAAmB,CAAC;IAAE,CAAE,CACpH,eACDvD,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAACqC,KAAK,EAAE,CAACC,MAAM,CAACgB,WAAW,EAAElC,GAAG,CAACW,IAAI,IAAI;QAAEqB,KAAK,EAAE,IAAI,CAAC/B,KAAK,CAACgC;MAAmB,CAAC;IAAE,GAAExB,QAAe,CACrG,CAAC,GACL,IACA,CAAC,eACP/B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACiB;IAAiB,gBACnCzD,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAE,CAACC,MAAM,CAACkB,kBAAkB,EAAE;QAAEC,eAAe,EAAE7B,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEwB;MAAM,CAAC;IAAE,gBAE3EtD,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACoB;IAAc,GAAE9B,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,IAAW,CACnD,CACF,CACF,CACF,CACU,CAAC;EAEvB;AACF;AAEA,MAAMQ,MAAM,GAAGpC,UAAU,CAACyD,MAAM,CAAC;EAC/BpB,YAAY,EAAE;IACZqB,OAAO,EAAE;EACX,CAAC;EACDpB,iBAAiB,EAAE;IACjBqB,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,GAAG;IACX,GAAGnD,MAAM,CAACoD,cAAc,CAAC;EAC3B,CAAC;EACDtB,aAAa,EAAE;IACbuB,IAAI,EAAE,CAAC;IACPJ,OAAO,EAAE,EAAE;IACXK,UAAU,EAAE;EACd,CAAC;EACDtB,YAAY,EAAE;IACZqB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZf,KAAK,EAAE1C,OAAO,CAAC0D;EACjB,CAAC;EACDvB,kBAAkB,EAAE;IAClBqB,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZf,KAAK,EAAE1C,OAAO,CAAC2D,UAAU;IACzBJ,UAAU,EAAE;EACd,CAAC;EACDnB,gBAAgB,EAAE;IAChBwB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBN,UAAU,EAAE;EACd,CAAC;EACDd,WAAW,EAAE;IACXgB,QAAQ,EAAE,EAAE;IACZK,WAAW,EAAE;EACf,CAAC;EACDlB,WAAW,EAAE;IACXY,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZf,KAAK,EAAE1C,OAAO,CAAC+D;EACjB,CAAC;EACDlB,gBAAgB,EAAE;IAChBgB,UAAU,EAAE,QAAQ;IACpBG,cAAc,EAAE,QAAQ;IACxBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,CAAC;IACjBC,cAAc,EAAEnE,OAAO,CAACoE;EAC1B,CAAC;EACDtB,kBAAkB,EAAE;IAClBc,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBG,cAAc,EAAE,eAAe;IAC/Bb,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,EAAE;IACViB,iBAAiB,EAAE,CAAC;IACpBC,YAAY,EAAE;EAChB,CAAC;EACDC,aAAa,EAAE;IACb7B,KAAK,EAAE,MAAM;IACbe,QAAQ,EAAE;EACZ,CAAC;EACDT,aAAa,EAAE;IACbN,KAAK,EAAE,MAAM;IACb8B,SAAS,EAAE,QAAQ;IACnBhB,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,MAAMgB,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACL/B,kBAAkB,EAAE3C,OAAO,CAAC2E,8BAA8B,CAACD,KAAK,CAAC;IACjEE,WAAW,EAAEF,KAAK,CAACxE,MAAM,CAAC2E,UAAU,CAAC,CAACC,WAAW;IACjDjE,QAAQ,EAAE6D,KAAK,CAACxE,MAAM,CAAC2E,UAAU,CAAC,CAAChE;EACrC,CAAC;AACH,CAAC;AAED,eAAenB,OAAO,CAAC+E,eAAe,EAAE,CAAC,CAAC,CAAC,CAACtE,qBAAqB,CAAC","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ import React, { PureComponent } from 'react';
2
+ import { View, StyleSheet, TouchableOpacity, Text } from 'react-native';
3
+ import { connect } from 'react-redux';
4
+ import { jobPriorityOptions } from '../helper';
5
+ import { Components, Colours } from '../core.config';
6
+ class PrioritySelectorPopup extends PureComponent {
7
+ render() {
8
+ const {
9
+ title,
10
+ includeAll,
11
+ allText,
12
+ onClose,
13
+ onSelect
14
+ } = this.props;
15
+ let priorities = jobPriorityOptions;
16
+ if (includeAll) priorities = [{
17
+ label: allText || 'Show All',
18
+ color: this.props.colourBrandingMain
19
+ }, ...priorities];
20
+ return /*#__PURE__*/React.createElement(Components.MiddlePopup, {
21
+ style: [styles.statusPopup, {
22
+ height: priorities.length * 50 + 40
23
+ }],
24
+ onClose: onClose
25
+ }, /*#__PURE__*/React.createElement(Text, {
26
+ style: styles.statusPopupTitle
27
+ }, title || 'Select Priority'), /*#__PURE__*/React.createElement(View, {
28
+ style: styles.statusPopupOptionsContainer
29
+ }, priorities.map(priority => {
30
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
31
+ key: priority.label,
32
+ onPress: () => onSelect(priority.label)
33
+ }, /*#__PURE__*/React.createElement(View, {
34
+ style: [styles.jobStatusContainer, {
35
+ backgroundColor: priority.color
36
+ }]
37
+ }, /*#__PURE__*/React.createElement(Text, {
38
+ style: styles.jobStatusText
39
+ }, priority.label)));
40
+ })));
41
+ }
42
+ }
43
+ const styles = StyleSheet.create({
44
+ statusPopup: {
45
+ width: 160,
46
+ padding: 16,
47
+ borderRadius: 12
48
+ },
49
+ statusPopupTitle: {
50
+ fontFamily: 'sf-bold',
51
+ color: Colours.TEXT_DARK,
52
+ fontSize: 18,
53
+ marginBottom: 16
54
+ },
55
+ statusPopupOptionsContainer: {
56
+ flex: 1,
57
+ justifyContent: 'space-between'
58
+ },
59
+ jobStatusContainer: {
60
+ flexDirection: 'row',
61
+ alignItems: 'center',
62
+ justifyContent: 'space-between',
63
+ width: 105,
64
+ height: 30,
65
+ paddingHorizontal: 8,
66
+ borderRadius: 4
67
+ },
68
+ jobStatusText: {
69
+ color: '#fff',
70
+ textAlign: 'center',
71
+ fontFamily: 'sf-semibold',
72
+ fontSize: 13,
73
+ flex: 1
74
+ }
75
+ });
76
+ const mapStateToProps = state => {
77
+ return {
78
+ colourBrandingMain: Colours.getMainBrandingColourFromState(state)
79
+ };
80
+ };
81
+ export default connect(mapStateToProps, {})(PrioritySelectorPopup);
82
+ //# sourceMappingURL=PrioritySelectorPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PureComponent","View","StyleSheet","TouchableOpacity","Text","connect","jobPriorityOptions","Components","Colours","PrioritySelectorPopup","render","title","includeAll","allText","onClose","onSelect","props","priorities","label","color","colourBrandingMain","createElement","MiddlePopup","style","styles","statusPopup","height","length","statusPopupTitle","statusPopupOptionsContainer","map","priority","key","onPress","jobStatusContainer","backgroundColor","jobStatusText","create","width","padding","borderRadius","fontFamily","TEXT_DARK","fontSize","marginBottom","flex","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["PrioritySelectorPopup.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { jobPriorityOptions } from '../helper';\nimport { Components, Colours } from '../core.config';\n\nclass PrioritySelectorPopup extends PureComponent {\n render() {\n const { title, includeAll, allText, onClose, onSelect } = this.props;\n let priorities = jobPriorityOptions;\n if (includeAll)\n priorities = [\n {\n label: allText || 'Show All',\n color: this.props.colourBrandingMain,\n },\n ...priorities,\n ];\n\n return (\n <Components.MiddlePopup style={[styles.statusPopup, { height: priorities.length * 50 + 40 }]} onClose={onClose}>\n <Text style={styles.statusPopupTitle}>{title || 'Select Priority'}</Text>\n <View style={styles.statusPopupOptionsContainer}>\n {priorities.map(priority => {\n return (\n <TouchableOpacity key={priority.label} onPress={() => onSelect(priority.label)}>\n <View style={[styles.jobStatusContainer, { backgroundColor: priority.color }]}>\n <Text style={styles.jobStatusText}>{priority.label}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </View>\n </Components.MiddlePopup>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n statusPopup: {\n width: 160,\n padding: 16,\n borderRadius: 12,\n },\n statusPopupTitle: {\n fontFamily: 'sf-bold',\n color: Colours.TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n statusPopupOptionsContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(PrioritySelectorPopup);\n"],"mappings":"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","ignoreList":[]}
@@ -1,26 +1,21 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import { View, StyleSheet, TouchableOpacity, Text } from 'react-native';
3
3
  import { connect } from 'react-redux';
4
- import { jobStatusOptions, getJobStatusColour } from '../helper';
4
+ import { getJobStatusOptions } from '../helper';
5
5
  import { Components, Colours } from '../core.config';
6
+ import { values } from '../values.config';
6
7
  class StatusSelectorPopup extends PureComponent {
7
8
  render() {
8
9
  const {
9
10
  title,
10
- filter,
11
11
  includeAll,
12
12
  allText,
13
13
  onClose,
14
14
  onSelect
15
15
  } = this.props;
16
- let statuses = filter ? filter.map(status => {
17
- return {
18
- name: status,
19
- color: getJobStatusColour(status)
20
- };
21
- }) : jobStatusOptions;
16
+ let statuses = getJobStatusOptions(this.props);
22
17
  if (includeAll) statuses = [{
23
- name: allText || 'Show All',
18
+ text: allText || 'Show All',
24
19
  color: this.props.colourBrandingMain
25
20
  }, ...statuses];
26
21
  return /*#__PURE__*/React.createElement(Components.MiddlePopup, {
@@ -34,15 +29,15 @@ class StatusSelectorPopup extends PureComponent {
34
29
  style: styles.statusPopupOptionsContainer
35
30
  }, statuses.map(status => {
36
31
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
37
- key: status.name,
38
- onPress: () => onSelect(status.name)
32
+ key: status.text,
33
+ onPress: () => onSelect(status.text)
39
34
  }, /*#__PURE__*/React.createElement(View, {
40
35
  style: [styles.jobStatusContainer, {
41
36
  backgroundColor: status.color
42
37
  }]
43
38
  }, /*#__PURE__*/React.createElement(Text, {
44
39
  style: styles.jobStatusText
45
- }, status.name)));
40
+ }, status.text)));
46
41
  })));
47
42
  }
48
43
  }
@@ -81,7 +76,8 @@ const styles = StyleSheet.create({
81
76
  });
82
77
  const mapStateToProps = state => {
83
78
  return {
84
- colourBrandingMain: Colours.getMainBrandingColourFromState(state)
79
+ colourBrandingMain: Colours.getMainBrandingColourFromState(state),
80
+ statusTypes: state[values.reducerKey].jobstatuses
85
81
  };
86
82
  };
87
83
  export default connect(mapStateToProps, {})(StatusSelectorPopup);
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","View","StyleSheet","TouchableOpacity","Text","connect","jobStatusOptions","getJobStatusColour","Components","Colours","StatusSelectorPopup","render","title","filter","includeAll","allText","onClose","onSelect","props","statuses","map","status","name","color","colourBrandingMain","createElement","MiddlePopup","style","styles","statusPopup","height","length","statusPopupTitle","statusPopupOptionsContainer","key","onPress","jobStatusContainer","backgroundColor","jobStatusText","create","width","padding","borderRadius","fontFamily","TEXT_DARK","fontSize","marginBottom","flex","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["StatusSelectorPopup.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { jobStatusOptions, getJobStatusColour } from '../helper';\nimport { Components, Colours } from '../core.config';\n\nclass StatusSelectorPopup extends PureComponent {\n render() {\n const { title, filter, includeAll, allText, onClose, onSelect } = this.props;\n let statuses = filter\n ? filter.map(status => {\n return {\n name: status,\n color: getJobStatusColour(status),\n };\n })\n : jobStatusOptions;\n if (includeAll)\n statuses = [\n {\n name: allText || 'Show All',\n color: this.props.colourBrandingMain,\n },\n ...statuses,\n ];\n\n return (\n <Components.MiddlePopup style={[styles.statusPopup, { height: statuses.length * 50 + 40 }]} onClose={onClose}>\n <Text style={styles.statusPopupTitle}>{title || 'Select Status'}</Text>\n <View style={styles.statusPopupOptionsContainer}>\n {statuses.map(status => {\n return (\n <TouchableOpacity key={status.name} onPress={() => onSelect(status.name)}>\n <View style={[styles.jobStatusContainer, { backgroundColor: status.color }]}>\n <Text style={styles.jobStatusText}>{status.name}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </View>\n </Components.MiddlePopup>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n statusPopup: {\n width: 160,\n padding: 16,\n borderRadius: 12,\n },\n statusPopupTitle: {\n fontFamily: 'sf-bold',\n color: Colours.TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n statusPopupOptionsContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(StatusSelectorPopup);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","PureComponent","View","StyleSheet","TouchableOpacity","Text","connect","getJobStatusOptions","Components","Colours","values","StatusSelectorPopup","render","title","includeAll","allText","onClose","onSelect","props","statuses","text","color","colourBrandingMain","createElement","MiddlePopup","style","styles","statusPopup","height","length","statusPopupTitle","statusPopupOptionsContainer","map","status","key","onPress","jobStatusContainer","backgroundColor","jobStatusText","create","width","padding","borderRadius","fontFamily","TEXT_DARK","fontSize","marginBottom","flex","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","state","getMainBrandingColourFromState","statusTypes","reducerKey","jobstatuses"],"sources":["StatusSelectorPopup.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { getJobStatusOptions } from '../helper';\nimport { Components, Colours } from '../core.config';\nimport { values } from '../values.config';\n\nclass StatusSelectorPopup extends PureComponent {\n render() {\n const { title, includeAll, allText, onClose, onSelect } = this.props;\n let statuses = getJobStatusOptions(this.props);\n if (includeAll)\n statuses = [\n {\n text: allText || 'Show All',\n color: this.props.colourBrandingMain,\n },\n ...statuses,\n ];\n\n return (\n <Components.MiddlePopup style={[styles.statusPopup, { height: statuses.length * 50 + 40 }]} onClose={onClose}>\n <Text style={styles.statusPopupTitle}>{title || 'Select Status'}</Text>\n <View style={styles.statusPopupOptionsContainer}>\n {statuses.map(status => {\n return (\n <TouchableOpacity key={status.text} onPress={() => onSelect(status.text)}>\n <View style={[styles.jobStatusContainer, { backgroundColor: status.color }]}>\n <Text style={styles.jobStatusText}>{status.text}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </View>\n </Components.MiddlePopup>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n statusPopup: {\n width: 160,\n padding: 16,\n borderRadius: 12,\n },\n statusPopupTitle: {\n fontFamily: 'sf-bold',\n color: Colours.TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n statusPopupOptionsContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n statusTypes: state[values.reducerKey].jobstatuses,\n };\n};\n\nexport default connect(mapStateToProps, {})(StatusSelectorPopup);\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,15 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { Component } from 'react';
5
5
  import { Text, View, ScrollView, StyleSheet } from 'react-native';
6
6
  import { connect } from 'react-redux';
7
7
  import _ from 'lodash';
8
- import { generalActions } from '../apis';
9
- import { jobsLoaded } from '../actions';
8
+ import { maintenanceActions } from '../apis';
9
+ import { jobsLoaded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';
10
10
  import MaintenanceWidgetItem from './MaintenanceWidgetItem';
11
11
  import { Services } from '../feature.config';
12
- import { Colours, Components, Config } from '../core.config';
12
+ import { Colours, Components } from '../core.config';
13
13
  import { values } from '../values.config';
14
14
  const MAX_ITEMS = 10;
15
15
  class WidgetSmall extends Component {
@@ -28,12 +28,12 @@ class WidgetSmall extends Component {
28
28
  userCategory
29
29
  } = this.props;
30
30
  if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;
31
- return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;
31
+ return userCategory === 'staff' ? values.emptyRequestsStaff : values.emptyRequestsUser;
32
32
  });
33
33
  _defineProperty(this, "refresh", () => {
34
34
  this.onLoadingChanged(true, async () => {
35
35
  try {
36
- const res = await generalActions.getJobsRecursive(this.props.site);
36
+ const res = await maintenanceActions.getJobsRecursive(this.props.site);
37
37
  // console.log('WidgetSmall - refresh', res.data);
38
38
  this.props.jobsLoaded(res);
39
39
  } catch (error) {
@@ -52,7 +52,7 @@ class WidgetSmall extends Component {
52
52
  });
53
53
  });
54
54
  _defineProperty(this, "onPressAll", () => {
55
- Services.navigation.navigate('maintenance', {
55
+ Services.navigation.navigate(values.screenMaintenance, {
56
56
  options: this.props.options
57
57
  });
58
58
  });
@@ -61,6 +61,8 @@ class WidgetSmall extends Component {
61
61
  };
62
62
  }
63
63
  componentDidMount() {
64
+ this.props.jobStatusesUpdate(this.props.site);
65
+ this.props.jobHideSeenUpdate(this.props.site);
64
66
  this.refresh();
65
67
  }
66
68
  componentDidUpdate(prevProps) {
@@ -164,7 +166,9 @@ const mapStateToProps = state => {
164
166
  };
165
167
  };
166
168
  export default connect(mapStateToProps, {
167
- jobsLoaded
169
+ jobsLoaded,
170
+ jobStatusesUpdate,
171
+ jobHideSeenUpdate
168
172
  }, null, {
169
173
  forwardRef: true
170
174
  })(WidgetSmall);
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","generalActions","jobsLoaded","MaintenanceWidgetItem","Services","Colours","Components","Config","values","MAX_ITEMS","WidgetSmall","constructor","props","_defineProperty","options","isEmpty","Title","strings","featureKey","textFeatureTitle","userCategory","EmptyText","env","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","_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 { generalActions } 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' ? 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 generalActions.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, 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
+ {"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":[]}
@@ -13,7 +13,7 @@ const FeatureConfig = {
13
13
  title: values.textFeatureTitle,
14
14
  gridMenu: {
15
15
  icon: values.iconGridMenu,
16
- viewBox: '0 0 30 30',
16
+ viewBox: values.gridViewBox,
17
17
  navigate: values.screenMaintenance
18
18
  },
19
19
  addMenu: {
@@ -26,7 +26,7 @@ const FeatureConfig = {
26
26
  value: values.featureKey
27
27
  }
28
28
  },
29
- moreMenu: {
29
+ moreMenu: values.hasMoreOption ? {
30
30
  order: values.orderMoreMenu,
31
31
  title: values.textMoreMenuTitle,
32
32
  navigate: values.screenMaintenance,
@@ -40,7 +40,7 @@ const FeatureConfig = {
40
40
  value: 'KIOSK'
41
41
  }]
42
42
  }
43
- },
43
+ } : undefined,
44
44
  kioskAction: {
45
45
  order: values.orderKioskAction,
46
46
  icon: values.iconKioskAction,
@@ -1 +1 @@
1
- {"version":3,"names":["PlussCore","values","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","featureKey","aliases","title","textFeatureTitle","gridMenu","icon","iconGridMenu","viewBox","navigate","screenMaintenance","addMenu","order","orderAddMenu","iconAddMenu","textAddMenuTitle","screenServiceRequest","visibleExps","type","value","moreMenu","orderMoreMenu","textMoreMenuTitle","exps","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: '0 0 30 30',\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: {\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 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,EAAE,WAAW;IACpBC,QAAQ,EAAEf,MAAM,CAACgB;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,KAAK,EAAElB,MAAM,CAACmB,YAAY;IAC1BP,IAAI,EAAEZ,MAAM,CAACoB,WAAW;IACxBX,KAAK,EAAET,MAAM,CAACqB,gBAAgB;IAC9BN,QAAQ,EAAEf,MAAM,CAACsB,oBAAoB;IACrCC,WAAW,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAEC,KAAK,EAAEzB,MAAM,CAACO;IAAW;EAC3D,CAAC;EACDmB,QAAQ,EAAE;IACRR,KAAK,EAAElB,MAAM,CAAC2B,aAAa;IAC3BlB,KAAK,EAAET,MAAM,CAAC4B,iBAAiB;IAC/Bb,QAAQ,EAAEf,MAAM,CAACgB,iBAAiB;IAClCO,WAAW,EAAE;MACXC,IAAI,EAAE,KAAK;MACXK,IAAI,EAAE,CACJ;QAAEL,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAqB,CAAC,EAClD;QAAED,IAAI,EAAE,aAAa;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE3C;EACF,CAAC;EACDK,WAAW,EAAE;IACXZ,KAAK,EAAElB,MAAM,CAAC+B,gBAAgB;IAC9BnB,IAAI,EAAEZ,MAAM,CAACgC,eAAe;IAC5BvB,KAAK,EAAET,MAAM,CAACiC,oBAAoB;IAClClB,QAAQ,EAAEf,MAAM,CAACsB;EACnB,CAAC;EACDY,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,EAAEjD,UAAU,EAAEkD,gBAAgB,KAAK;IACnD/C,aAAa,CAAC8B,GAAG,GAAGgB,WAAW;IAC/BlD,QAAQ,CAACC,UAAU,GAAGA,UAAU;IAChCC,cAAc,CAACC,gBAAgB,GAAGgD,gBAAgB;IAClDrD,SAAS,CAACsD,MAAM,CAACH,IAAI,CAACC,WAAW,EAAEjD,UAAU,CAAC;EAChD;AACF,CAAC;AACD,eAAeG,aAAa","ignoreList":[]}
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":[]}
@@ -1,25 +1,47 @@
1
1
  import { Colours } from './core.config';
2
+ const STATUS_NOT_ACTIONED = 'Not Actioned';
3
+ const STATUS_IN_PROGRESS = 'In Progress';
4
+ const STATUS_COMPLETED = 'Completed';
2
5
  const jobStatusOptions = [{
3
- name: 'Unassigned',
4
- color: Colours.LINEGREY
6
+ text: 'Open',
7
+ order: 0,
8
+ color: Colours.LINEGREY,
9
+ category: STATUS_NOT_ACTIONED
5
10
  }, {
6
- name: 'In Progress',
7
- color: Colours.COLOUR_TEAL
11
+ text: 'In Progress',
12
+ order: 1,
13
+ color: Colours.COLOUR_TEAL,
14
+ category: STATUS_IN_PROGRESS
8
15
  }, {
9
- name: 'Completed',
10
- color: Colours.COLOUR_GREEN_LIGHT
16
+ text: 'Completed',
17
+ order: 2,
18
+ color: Colours.COLOUR_GREEN_LIGHT,
19
+ category: STATUS_COMPLETED
11
20
  }];
12
- const getJobStatusColour = status => {
13
- const option = jobStatusOptions.find(item => item.name === status);
14
- return option ? option.color : jobStatusOptions[0].color;
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;
15
35
  };
16
- const getJobStatusProps = status => {
17
- const statusText = status || jobStatusOptions[0].name;
18
- const statusColor = getJobStatusColour(statusText);
19
- return {
20
- statusText,
21
- statusColor
22
- };
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];
23
44
  };
24
- export { jobStatusOptions, getJobStatusColour, getJobStatusProps };
45
+ const getJobPriority = priority => jobPriorityOptions.find(p => p.label === priority) || jobPriorityOptions.find(p => p.default);
46
+ export { jobStatusOptions, jobPriorityOptions, getJobStatusOptions, getDefaultJobStatuses, getIncompleteJobStatuses, getJobStatus, getJobPriority };
25
47
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Colours","jobStatusOptions","name","color","LINEGREY","COLOUR_TEAL","COLOUR_GREEN_LIGHT","getJobStatusColour","status","option","find","item","getJobStatusProps","statusText","statusColor"],"sources":["helper.js"],"sourcesContent":["import { Colours } from './core.config';\n\nconst jobStatusOptions = [\n {\n name: 'Unassigned',\n color: Colours.LINEGREY,\n },\n {\n name: 'In Progress',\n color: Colours.COLOUR_TEAL,\n },\n {\n name: '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 getJobStatusProps = status => {\n const statusText = status || jobStatusOptions[0].name;\n const statusColor = getJobStatusColour(statusText);\n\n return { statusText, statusColor };\n};\n\nexport { jobStatusOptions, getJobStatusColour, getJobStatusProps };\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,MAAMC,gBAAgB,GAAG,CACvB;EACEC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAEH,OAAO,CAACI;AACjB,CAAC,EACD;EACEF,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAEH,OAAO,CAACK;AACjB,CAAC,EACD;EACEH,IAAI,EAAE,WAAW;EACjBC,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,MAAMK,UAAU,GAAGL,MAAM,IAAIP,gBAAgB,CAAC,CAAC,CAAC,CAACC,IAAI;EACrD,MAAMY,WAAW,GAAGP,kBAAkB,CAACM,UAAU,CAAC;EAElD,OAAO;IAAEA,UAAU;IAAEC;EAAY,CAAC;AACpC,CAAC;AAED,SAASb,gBAAgB,EAAEM,kBAAkB,EAAEK,iBAAiB","ignoreList":[]}
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":[]}