@plusscommunities/pluss-maintenance-app 3.0.2 → 4.0.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 (39) hide show
  1. package/dist/module/actions/JobActions.js.map +1 -1
  2. package/dist/module/actions/index.js.map +1 -1
  3. package/dist/module/actions/types.js.map +1 -1
  4. package/dist/module/apis/generalActions.js +2 -8
  5. package/dist/module/apis/generalActions.js.map +1 -1
  6. package/dist/module/apis/index.js.map +1 -1
  7. package/dist/module/components/FilterPopupMenu.js +5 -19
  8. package/dist/module/components/FilterPopupMenu.js.map +1 -1
  9. package/dist/module/components/MaintenanceList.js +13 -49
  10. package/dist/module/components/MaintenanceList.js.map +1 -1
  11. package/dist/module/components/MaintenanceListItem.js +7 -21
  12. package/dist/module/components/MaintenanceListItem.js.map +1 -1
  13. package/dist/module/components/MaintenanceWidgetItem.js +3 -12
  14. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
  15. package/dist/module/components/StatusSelectorPopup.js +0 -5
  16. package/dist/module/components/StatusSelectorPopup.js.map +1 -1
  17. package/dist/module/components/WidgetLarge.js +0 -3
  18. package/dist/module/components/WidgetLarge.js.map +1 -1
  19. package/dist/module/components/WidgetSmall.js +5 -22
  20. package/dist/module/components/WidgetSmall.js.map +1 -1
  21. package/dist/module/core.config.js.map +1 -1
  22. package/dist/module/feature.config.js +2 -3
  23. package/dist/module/feature.config.js.map +1 -1
  24. package/dist/module/helper.js +0 -3
  25. package/dist/module/helper.js.map +1 -1
  26. package/dist/module/index.js.map +1 -1
  27. package/dist/module/reducers/JobsReducer.js +6 -14
  28. package/dist/module/reducers/JobsReducer.js.map +1 -1
  29. package/dist/module/screens/JobTypePicker.js +5 -14
  30. package/dist/module/screens/JobTypePicker.js.map +1 -1
  31. package/dist/module/screens/MaintenancePage.js +3 -14
  32. package/dist/module/screens/MaintenancePage.js.map +1 -1
  33. package/dist/module/screens/RequestDetail.js +15 -59
  34. package/dist/module/screens/RequestDetail.js.map +1 -1
  35. package/dist/module/screens/RequestNotes.js +7 -40
  36. package/dist/module/screens/RequestNotes.js.map +1 -1
  37. package/dist/module/screens/ServiceRequest.js +7 -59
  38. package/dist/module/screens/ServiceRequest.js.map +1 -1
  39. package/package.json +4 -4
@@ -1,5 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
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(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  import React, { Component } from 'react';
4
5
  import { Text, View, ScrollView, StyleSheet } from 'react-native';
5
6
  import { connect } from 'react-redux';
@@ -10,11 +11,9 @@ import MaintenanceWidgetItem from './MaintenanceWidgetItem';
10
11
  import { Services } from '../feature.config';
11
12
  import { Colours, Components, Config } from '../core.config';
12
13
  const MAX_ITEMS = 10;
13
-
14
14
  class WidgetSmall extends Component {
15
15
  constructor(props) {
16
16
  super(props);
17
-
18
17
  _defineProperty(this, "getTitle", () => {
19
18
  const {
20
19
  options
@@ -22,7 +21,6 @@ class WidgetSmall extends Component {
22
21
  if (options && !_.isEmpty(options.Title)) return options.Title;
23
22
  return Config.env.strings.MAINTENANCE;
24
23
  });
25
-
26
24
  _defineProperty(this, "getEmptyStateText", () => {
27
25
  const {
28
26
  options,
@@ -31,12 +29,11 @@ class WidgetSmall extends Component {
31
29
  if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;
32
30
  return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;
33
31
  });
34
-
35
32
  _defineProperty(this, "refresh", () => {
36
33
  this.onLoadingChanged(true, async () => {
37
34
  try {
38
- const res = await generalActions.getJobsRecursive(this.props.site); // console.log('WidgetSmall - refresh', res.data);
39
-
35
+ const res = await generalActions.getJobsRecursive(this.props.site);
36
+ // console.log('WidgetSmall - refresh', res.data);
40
37
  this.props.jobsLoaded(res);
41
38
  } catch (error) {
42
39
  console.log('refresh error', error);
@@ -45,7 +42,6 @@ class WidgetSmall extends Component {
45
42
  }
46
43
  });
47
44
  });
48
-
49
45
  _defineProperty(this, "onLoadingChanged", (loading, callback) => {
50
46
  this.setState({
51
47
  loading
@@ -54,31 +50,25 @@ class WidgetSmall extends Component {
54
50
  if (callback) callback();
55
51
  });
56
52
  });
57
-
58
53
  _defineProperty(this, "onPressAll", () => {
59
54
  Services.navigation.navigate('maintenance', {
60
55
  options: this.props.options
61
56
  });
62
57
  });
63
-
64
58
  this.state = {
65
59
  loading: false
66
60
  };
67
61
  }
68
-
69
62
  componentDidMount() {
70
63
  this.refresh();
71
64
  }
72
-
73
65
  componentDidUpdate(prevProps) {
74
66
  if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();
75
67
  }
76
-
77
68
  renderContent() {
78
69
  const {
79
70
  jobs
80
71
  } = this.props;
81
-
82
72
  if (_.isEmpty(jobs)) {
83
73
  if (this.state.loading) {
84
74
  return /*#__PURE__*/React.createElement(View, {
@@ -87,7 +77,6 @@ class WidgetSmall extends Component {
87
77
  height: 180
88
78
  }));
89
79
  }
90
-
91
80
  return /*#__PURE__*/React.createElement(View, {
92
81
  style: styles.loadingPadding
93
82
  }, /*#__PURE__*/React.createElement(Components.EmptyStateWidget, {
@@ -95,7 +84,6 @@ class WidgetSmall extends Component {
95
84
  height: 180
96
85
  }));
97
86
  }
98
-
99
87
  return /*#__PURE__*/React.createElement(ScrollView, {
100
88
  horizontal: true,
101
89
  contentContainerStyle: {
@@ -110,7 +98,6 @@ class WidgetSmall extends Component {
110
98
  });
111
99
  }));
112
100
  }
113
-
114
101
  render() {
115
102
  const {
116
103
  colourBrandingMain
@@ -134,9 +121,7 @@ class WidgetSmall extends Component {
134
121
  }
135
122
  }, "View All"))), this.renderContent());
136
123
  }
137
-
138
124
  }
139
-
140
125
  const styles = StyleSheet.create({
141
126
  sectionContainer: {
142
127
  backgroundColor: '#fff',
@@ -161,7 +146,6 @@ const styles = StyleSheet.create({
161
146
  color: Colours.TEXT_DARKEST
162
147
  }
163
148
  });
164
-
165
149
  const mapStateToProps = state => {
166
150
  const {
167
151
  user,
@@ -176,7 +160,6 @@ const mapStateToProps = state => {
176
160
  dataUpdated: notifications.dataUpdated.jobs
177
161
  };
178
162
  };
179
-
180
163
  export default connect(mapStateToProps, {
181
164
  jobsLoaded
182
165
  }, null, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","generalActions","jobsLoaded","MaintenanceWidgetItem","Services","Colours","Components","Config","MAX_ITEMS","WidgetSmall","constructor","props","options","isEmpty","Title","env","strings","MAINTENANCE","userCategory","EmptyText","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","onLoadingChanged","res","getJobsRecursive","site","error","console","log","loading","callback","setState","state","navigation","navigate","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","renderContent","jobs","styles","loadingPadding","getEmptyStateText","paddingLeft","paddingRight","slice","map","job","id","render","colourBrandingMain","sectionContainer","sectionPadding","sectionHeading","sectionTitle","getTitle","onPressAll","paddingTop","color","create","backgroundColor","paddingHorizontal","paddingBottom","marginBottom","flexDirection","alignContent","justifyContent","fontFamily","fontSize","TEXT_DARKEST","mapStateToProps","user","notifications","getMainBrandingColourFromState","orderBy","category","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, ScrollView, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { generalActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components, Config } from '../core.config';\n\nconst MAX_ITEMS = 10;\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = { loading: false };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return Config.env.strings.MAINTENANCE;\n };\n\n getEmptyStateText = () => {\n const { options, userCategory } = this.props;\n if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;\n return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n };\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await 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, jobs, notifications } = state;\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),\n site: user.site,\n userCategory: user.category,\n dataUpdated: notifications.dataUpdated.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","generalActions","jobsLoaded","MaintenanceWidgetItem","Services","Colours","Components","Config","MAX_ITEMS","WidgetSmall","constructor","props","_defineProperty","options","isEmpty","Title","env","strings","MAINTENANCE","userCategory","EmptyText","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","onLoadingChanged","res","getJobsRecursive","site","error","console","log","loading","callback","setState","state","navigation","navigate","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","renderContent","jobs","createElement","style","styles","loadingPadding","LoadingStateWidget","height","EmptyStateWidget","title","getEmptyStateText","horizontal","contentContainerStyle","paddingLeft","paddingRight","showsHorizontalScrollIndicator","slice","map","job","key","id","render","colourBrandingMain","sectionContainer","sectionPadding","sectionHeading","sectionTitle","getTitle","InlineButton","onPress","onPressAll","color","touchableStyle","paddingTop","textStyle","create","backgroundColor","paddingHorizontal","paddingBottom","marginBottom","flexDirection","alignContent","justifyContent","fontFamily","fontSize","TEXT_DARKEST","mapStateToProps","user","notifications","getMainBrandingColourFromState","orderBy","category","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, ScrollView, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { generalActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components, Config } from '../core.config';\n\nconst MAX_ITEMS = 10;\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = { loading: false };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return Config.env.strings.MAINTENANCE;\n };\n\n getEmptyStateText = () => {\n const { options, userCategory } = this.props;\n if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;\n return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n };\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await 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, jobs, notifications } = state;\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),\n site: user.site,\n userCategory: user.category,\n dataUpdated: notifications.dataUpdated.jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AACjE,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,UAAU,QAAQ,YAAY;AACvC,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,OAAO,EAAEC,UAAU,EAAEC,MAAM,QAAQ,gBAAgB;AAE5D,MAAMC,SAAS,GAAG,EAAE;AAEpB,MAAMC,WAAW,SAASf,SAAS,CAAC;EAClCgB,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,mBAYJ,MAAM;MACf,MAAM;QAAEC;MAAQ,CAAC,GAAG,IAAI,CAACF,KAAK;MAC9B,IAAIE,OAAO,IAAI,CAACb,CAAC,CAACc,OAAO,CAACD,OAAO,CAACE,KAAK,CAAC,EAAE,OAAOF,OAAO,CAACE,KAAK;MAC9D,OAAOR,MAAM,CAACS,GAAG,CAACC,OAAO,CAACC,WAAW;IACvC,CAAC;IAAAN,eAAA,4BAEmB,MAAM;MACxB,MAAM;QAAEC,OAAO;QAAEM;MAAa,CAAC,GAAG,IAAI,CAACR,KAAK;MAC5C,IAAIE,OAAO,IAAI,CAACb,CAAC,CAACc,OAAO,CAACD,OAAO,CAACO,SAAS,CAAC,EAAE,OAAOP,OAAO,CAACO,SAAS;MACtE,OAAOD,YAAY,KAAK,OAAO,GAAGZ,MAAM,CAACS,GAAG,CAACC,OAAO,CAACI,oBAAoB,GAAGd,MAAM,CAACS,GAAG,CAACC,OAAO,CAACK,mBAAmB;IACpH,CAAC;IAAAV,eAAA,kBAES,MAAM;MACd,IAAI,CAACW,gBAAgB,CAAC,IAAI,EAAE,YAAY;QACtC,IAAI;UACF,MAAMC,GAAG,GAAG,MAAMvB,cAAc,CAACwB,gBAAgB,CAAC,IAAI,CAACd,KAAK,CAACe,IAAI,CAAC;UAClE;UACA,IAAI,CAACf,KAAK,CAACT,UAAU,CAACsB,GAAG,CAAC;QAC5B,CAAC,CAAC,OAAOG,KAAK,EAAE;UACdC,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEF,KAAK,CAAC;QACrC,CAAC,SAAS;UACR,IAAI,CAACJ,gBAAgB,CAAC,KAAK,CAAC;QAC9B;MACF,CAAC,CAAC;IACJ,CAAC;IAAAX,eAAA,2BAEkB,CAACkB,OAAO,EAAEC,QAAQ,KAAK;MACxC,IAAI,CAACC,QAAQ,CAAC;QAAEF;MAAQ,CAAC,EAAE,MAAM;QAC/B,IAAI,IAAI,CAACnB,KAAK,CAACY,gBAAgB,EAAE,IAAI,CAACZ,KAAK,CAACY,gBAAgB,CAAC,IAAI,CAACU,KAAK,CAACH,OAAO,CAAC;QAChF,IAAIC,QAAQ,EAAEA,QAAQ,CAAC,CAAC;MAC1B,CAAC,CAAC;IACJ,CAAC;IAAAnB,eAAA,qBAEY,MAAM;MACjBR,QAAQ,CAAC8B,UAAU,CAACC,QAAQ,CAAC,aAAa,EAAE;QAAEtB,OAAO,EAAE,IAAI,CAACF,KAAK,CAACE;MAAQ,CAAC,CAAC;IAC9E,CAAC;IA9CC,IAAI,CAACoB,KAAK,GAAG;MAAEH,OAAO,EAAE;IAAM,CAAC;EACjC;EAEAM,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACC,OAAO,CAAC,CAAC;EAChB;EAEAC,kBAAkBA,CAACC,SAAS,EAAE;IAC5B,IAAI,CAACA,SAAS,CAACC,WAAW,IAAI,IAAI,CAAC7B,KAAK,CAAC6B,WAAW,EAAE,IAAI,CAACH,OAAO,CAAC,CAAC;EACtE;EAuCAI,aAAaA,CAAA,EAAG;IACd,MAAM;MAAEC;IAAK,CAAC,GAAG,IAAI,CAAC/B,KAAK;IAC3B,IAAIX,CAAC,CAACc,OAAO,CAAC4B,IAAI,CAAC,EAAE;MACnB,IAAI,IAAI,CAACT,KAAK,CAACH,OAAO,EAAE;QACtB,oBACErC,KAAA,CAAAkD,aAAA,CAAC/C,IAAI;UAACgD,KAAK,EAAEC,MAAM,CAACC;QAAe,gBACjCrD,KAAA,CAAAkD,aAAA,CAACrC,UAAU,CAACyC,kBAAkB;UAACC,MAAM,EAAE;QAAI,CAAE,CACzC,CAAC;MAEX;MACA,oBACEvD,KAAA,CAAAkD,aAAA,CAAC/C,IAAI;QAACgD,KAAK,EAAEC,MAAM,CAACC;MAAe,gBACjCrD,KAAA,CAAAkD,aAAA,CAACrC,UAAU,CAAC2C,gBAAgB;QAACC,KAAK,EAAE,IAAI,CAACC,iBAAiB,CAAC,CAAE;QAACH,MAAM,EAAE;MAAI,CAAE,CACxE,CAAC;IAEX;IACA,oBACEvD,KAAA,CAAAkD,aAAA,CAAC9C,UAAU;MAACuD,UAAU;MAACC,qBAAqB,EAAE;QAAEC,WAAW,EAAE,CAAC;QAAEC,YAAY,EAAE;MAAE,CAAE;MAACC,8BAA8B,EAAE;IAAM,GACtHd,IAAI,CAACe,KAAK,CAAC,CAAC,EAAEjD,SAAS,CAAC,CAACkD,GAAG,CAACC,GAAG,IAAI;MACnC,oBAAOlE,KAAA,CAAAkD,aAAA,CAACxC,qBAAqB;QAACyD,GAAG,EAAED,GAAG,CAACE,EAAG;QAACF,GAAG,EAAEA;MAAI,CAAE,CAAC;IACzD,CAAC,CACS,CAAC;EAEjB;EAEAG,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAmB,CAAC,GAAG,IAAI,CAACpD,KAAK;IAEzC,oBACElB,KAAA,CAAAkD,aAAA,CAAC/C,IAAI;MAACgD,KAAK,EAAEC,MAAM,CAACmB;IAAiB,gBACnCvE,KAAA,CAAAkD,aAAA,CAAC/C,IAAI;MAACgD,KAAK,EAAEC,MAAM,CAACoB;IAAe,gBACjCxE,KAAA,CAAAkD,aAAA,CAAC/C,IAAI;MAACgD,KAAK,EAAEC,MAAM,CAACqB;IAAe,gBACjCzE,KAAA,CAAAkD,aAAA,CAAChD,IAAI;MAACiD,KAAK,EAAEC,MAAM,CAACsB;IAAa,GAAE,IAAI,CAACC,QAAQ,CAAC,CAAQ,CAAC,eAC1D3E,KAAA,CAAAkD,aAAA,CAACrC,UAAU,CAAC+D,YAAY;MACtBC,OAAO,EAAE,IAAI,CAACC,UAAW;MACzBC,KAAK,EAAET,kBAAmB;MAC1BU,cAAc,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAE;MAClCC,SAAS,EAAE;QAAEH,KAAK,EAAE;MAAO;IAAE,GAC9B,UAEwB,CACrB,CACF,CAAC,EACN,IAAI,CAAC/B,aAAa,CAAC,CAChB,CAAC;EAEX;AACF;AAEA,MAAMI,MAAM,GAAG/C,UAAU,CAAC8E,MAAM,CAAC;EAC/BZ,gBAAgB,EAAE;IAChBa,eAAe,EAAE,MAAM;IACvBH,UAAU,EAAE;EACd,CAAC;EACDT,cAAc,EAAE;IACda,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE;EACjB,CAAC;EACDjC,cAAc,EAAE;IACdgC,iBAAiB,EAAE;EACrB,CAAC;EACDZ,cAAc,EAAE;IACdc,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE,KAAK;IACpBC,YAAY,EAAE,YAAY;IAC1BC,cAAc,EAAE;EAClB,CAAC;EACDhB,YAAY,EAAE;IACZiB,UAAU,EAAE,SAAS;IACrBC,QAAQ,EAAE,EAAE;IACZb,KAAK,EAAEnE,OAAO,CAACiF;EACjB;AACF,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAGtD,KAAK,IAAI;EAC/B,MAAM;IAAEuD,IAAI;IAAE9C,IAAI;IAAE+C;EAAc,CAAC,GAAGxD,KAAK;EAC3C,OAAO;IACL8B,kBAAkB,EAAE1D,OAAO,CAACqF,8BAA8B,CAACzD,KAAK,CAAC;IACjES,IAAI,EAAE1C,CAAC,CAAC2F,OAAO,CAACjD,IAAI,CAACA,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACrDhB,IAAI,EAAE8D,IAAI,CAAC9D,IAAI;IACfP,YAAY,EAAEqE,IAAI,CAACI,QAAQ;IAC3BpD,WAAW,EAAEiD,aAAa,CAACjD,WAAW,CAACE;EACzC,CAAC;AACH,CAAC;AAED,eAAe3C,OAAO,CAACwF,eAAe,EAAE;EAAErF;AAAW,CAAC,EAAE,IAAI,EAAE;EAAE2F,UAAU,EAAE;AAAK,CAAC,CAAC,CAACpF,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["PlussCore","Apis","Fonts","Actions","ActionTypes","Config","Components","Styles","Session","Helper","Constants","Colours"],"sources":["core.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nconst { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours } = PlussCore;\nexport { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAZ,MAA2B,kCAA3B;AAEA,MAAM;EAAEC,IAAF;EAAQC,KAAR;EAAeC,OAAf;EAAwBC,WAAxB;EAAqCC,MAArC;EAA6CC,UAA7C;EAAyDC,MAAzD;EAAiEC,OAAjE;EAA0EC,MAA1E;EAAkFC,SAAlF;EAA6FC;AAA7F,IAAyGX,SAA/G;AACA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,OAAtB,EAA+BC,WAA/B,EAA4CC,MAA5C,EAAoDC,UAApD,EAAgEC,MAAhE,EAAwEC,OAAxE,EAAiFC,MAAjF,EAAyFC,SAAzF,EAAoGC,OAApG"}
1
+ {"version":3,"names":["PlussCore","Apis","Fonts","Actions","ActionTypes","Config","Components","Styles","Session","Helper","Constants","Colours"],"sources":["core.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nconst { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours } = PlussCore;\nexport { Apis, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,MAAM;EAAEC,IAAI;EAAEC,KAAK;EAAEC,OAAO;EAAEC,WAAW;EAAEC,MAAM;EAAEC,UAAU;EAAEC,MAAM;EAAEC,OAAO;EAAEC,MAAM;EAAEC,SAAS;EAAEC;AAAQ,CAAC,GAAGX,SAAS;AACxH,SAASC,IAAI,EAAEC,KAAK,EAAEC,OAAO,EAAEC,WAAW,EAAEC,MAAM,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,SAAS,EAAEC,OAAO"}
@@ -67,18 +67,17 @@ const FeatureConfig = {
67
67
  FeatureConfig.env = environment;
68
68
  Services.navigation = navigation;
69
69
  BaseComponents.NotificationBell = notificationBell;
70
- PlussCore.Config.init(environment, navigation); // Override strings
70
+ PlussCore.Config.init(environment, navigation);
71
71
 
72
+ // Override strings
72
73
  if (environment && environment.strings) {
73
74
  const {
74
75
  MAINTENANCE,
75
76
  MAINTENANCE_REQUEST
76
77
  } = environment.strings;
77
-
78
78
  if (MAINTENANCE) {
79
79
  FeatureConfig.addMenu.title = MAINTENANCE;
80
80
  }
81
-
82
81
  if (MAINTENANCE_REQUEST) {
83
82
  FeatureConfig.title = MAINTENANCE_REQUEST;
84
83
  FeatureConfig.moreMenu.title = MAINTENANCE_REQUEST;
@@ -1 +1 @@
1
- {"version":3,"names":["PlussCore","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","aliases","title","gridMenu","icon","viewBox","navigate","addMenu","order","visibleExps","type","value","moreMenu","exps","kioskAction","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config","MAINTENANCE","MAINTENANCE_REQUEST"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: 'maintenance',\n aliases: ['maintenanceRequest'],\n title: 'Request',\n gridMenu: {\n icon: 'maintenance',\n viewBox: '0 0 30 30',\n navigate: 'maintenance',\n },\n addMenu: {\n order: 5,\n icon: 'request',\n title: 'Request',\n navigate: 'serviceRequest',\n visibleExps: { type: 'feature', value: 'maintenance' },\n },\n moreMenu: {\n order: 4,\n title: 'Request',\n navigate: 'maintenance',\n visibleExps: {\n type: 'and',\n exps: [\n { type: 'notHidden', value: 'maintenanceRequest' },\n { type: 'notUserType', value: 'KIOSK' },\n ],\n },\n },\n kioskAction: {\n order: 1,\n icon: 'wrench',\n title: 'Request',\n navigate: 'serviceRequest',\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 // Override strings\n if (environment && environment.strings) {\n const { MAINTENANCE, MAINTENANCE_REQUEST } = environment.strings;\n if (MAINTENANCE) {\n FeatureConfig.addMenu.title = MAINTENANCE;\n }\n if (MAINTENANCE_REQUEST) {\n FeatureConfig.title = MAINTENANCE_REQUEST;\n FeatureConfig.moreMenu.title = MAINTENANCE_REQUEST;\n FeatureConfig.kioskAction.title = MAINTENANCE_REQUEST;\n }\n }\n },\n};\nexport default FeatureConfig;\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAZ,MAA2B,kCAA3B;AAEA,OAAO,MAAMC,QAAQ,GAAG;EACtBC,UAAU,EAAE;AADU,CAAjB;AAIP,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAE;AADU,CAAvB;AAIP,MAAMC,aAAa,GAAG;EACpBC,GAAG,EAAE,aADe;EAEpBC,OAAO,EAAE,CAAC,oBAAD,CAFW;EAGpBC,KAAK,EAAE,SAHa;EAIpBC,QAAQ,EAAE;IACRC,IAAI,EAAE,aADE;IAERC,OAAO,EAAE,WAFD;IAGRC,QAAQ,EAAE;EAHF,CAJU;EASpBC,OAAO,EAAE;IACPC,KAAK,EAAE,CADA;IAEPJ,IAAI,EAAE,SAFC;IAGPF,KAAK,EAAE,SAHA;IAIPI,QAAQ,EAAE,gBAJH;IAKPG,WAAW,EAAE;MAAEC,IAAI,EAAE,SAAR;MAAmBC,KAAK,EAAE;IAA1B;EALN,CATW;EAgBpBC,QAAQ,EAAE;IACRJ,KAAK,EAAE,CADC;IAERN,KAAK,EAAE,SAFC;IAGRI,QAAQ,EAAE,aAHF;IAIRG,WAAW,EAAE;MACXC,IAAI,EAAE,KADK;MAEXG,IAAI,EAAE,CACJ;QAAEH,IAAI,EAAE,WAAR;QAAqBC,KAAK,EAAE;MAA5B,CADI,EAEJ;QAAED,IAAI,EAAE,aAAR;QAAuBC,KAAK,EAAE;MAA9B,CAFI;IAFK;EAJL,CAhBU;EA4BpBG,WAAW,EAAE;IACXN,KAAK,EAAE,CADI;IAEXJ,IAAI,EAAE,QAFK;IAGXF,KAAK,EAAE,SAHI;IAIXI,QAAQ,EAAE;EAJC,CA5BO;EAkCpBS,UAAU,EAAE,EAlCQ;EAmCpBC,GAAG,EAAE;IACHC,SAAS,EAAE,EADR;IAEHC,UAAU,EAAE,EAFT;IAGHC,iBAAiB,EAAE,KAHhB;IAIHC,mBAAmB,EAAE,EAJlB;IAKHC,eAAe,EAAE,EALd;IAMHC,cAAc,EAAE,EANb;IAOHC,kBAAkB,EAAE,KAPjB;IAQHC,iBAAiB,EAAE,KARhB;IASHC,gBAAgB,EAAE,EATf;IAUHC,gBAAgB,EAAE,EAVf;IAWHC,aAAa,EAAE,EAXZ;IAYHC,OAAO,EAAE,EAZN;IAaHC,gBAAgB,EAAE,EAbf;IAcHC,oBAAoB,EAAE;EAdnB,CAnCe;EAmDpBC,IAAI,EAAE,CAACC,WAAD,EAAcpC,UAAd,EAA0BqC,gBAA1B,KAA+C;IACnDlC,aAAa,CAACiB,GAAd,GAAoBgB,WAApB;IACArC,QAAQ,CAACC,UAAT,GAAsBA,UAAtB;IACAC,cAAc,CAACC,gBAAf,GAAkCmC,gBAAlC;IACAvC,SAAS,CAACwC,MAAV,CAAiBH,IAAjB,CAAsBC,WAAtB,EAAmCpC,UAAnC,EAJmD,CAMnD;;IACA,IAAIoC,WAAW,IAAIA,WAAW,CAACJ,OAA/B,EAAwC;MACtC,MAAM;QAAEO,WAAF;QAAeC;MAAf,IAAuCJ,WAAW,CAACJ,OAAzD;;MACA,IAAIO,WAAJ,EAAiB;QACfpC,aAAa,CAACQ,OAAd,CAAsBL,KAAtB,GAA8BiC,WAA9B;MACD;;MACD,IAAIC,mBAAJ,EAAyB;QACvBrC,aAAa,CAACG,KAAd,GAAsBkC,mBAAtB;QACArC,aAAa,CAACa,QAAd,CAAuBV,KAAvB,GAA+BkC,mBAA/B;QACArC,aAAa,CAACe,WAAd,CAA0BZ,KAA1B,GAAkCkC,mBAAlC;MACD;IACF;EACF;AArEmB,CAAtB;AAuEA,eAAerC,aAAf"}
1
+ {"version":3,"names":["PlussCore","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","aliases","title","gridMenu","icon","viewBox","navigate","addMenu","order","visibleExps","type","value","moreMenu","exps","kioskAction","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config","MAINTENANCE","MAINTENANCE_REQUEST"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: 'maintenance',\n aliases: ['maintenanceRequest'],\n title: 'Request',\n gridMenu: {\n icon: 'maintenance',\n viewBox: '0 0 30 30',\n navigate: 'maintenance',\n },\n addMenu: {\n order: 5,\n icon: 'request',\n title: 'Request',\n navigate: 'serviceRequest',\n visibleExps: { type: 'feature', value: 'maintenance' },\n },\n moreMenu: {\n order: 4,\n title: 'Request',\n navigate: 'maintenance',\n visibleExps: {\n type: 'and',\n exps: [\n { type: 'notHidden', value: 'maintenanceRequest' },\n { type: 'notUserType', value: 'KIOSK' },\n ],\n },\n },\n kioskAction: {\n order: 1,\n icon: 'wrench',\n title: 'Request',\n navigate: 'serviceRequest',\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 // Override strings\n if (environment && environment.strings) {\n const { MAINTENANCE, MAINTENANCE_REQUEST } = environment.strings;\n if (MAINTENANCE) {\n FeatureConfig.addMenu.title = MAINTENANCE;\n }\n if (MAINTENANCE_REQUEST) {\n FeatureConfig.title = MAINTENANCE_REQUEST;\n FeatureConfig.moreMenu.title = MAINTENANCE_REQUEST;\n FeatureConfig.kioskAction.title = MAINTENANCE_REQUEST;\n }\n }\n },\n};\nexport default FeatureConfig;\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,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,EAAE,aAAa;EAClBC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,KAAK,EAAE,SAAS;EAChBC,QAAQ,EAAE;IACRC,IAAI,EAAE,aAAa;IACnBC,OAAO,EAAE,WAAW;IACpBC,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPC,KAAK,EAAE,CAAC;IACRJ,IAAI,EAAE,SAAS;IACfF,KAAK,EAAE,SAAS;IAChBI,QAAQ,EAAE,gBAAgB;IAC1BG,WAAW,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAEC,KAAK,EAAE;IAAc;EACvD,CAAC;EACDC,QAAQ,EAAE;IACRJ,KAAK,EAAE,CAAC;IACRN,KAAK,EAAE,SAAS;IAChBI,QAAQ,EAAE,aAAa;IACvBG,WAAW,EAAE;MACXC,IAAI,EAAE,KAAK;MACXG,IAAI,EAAE,CACJ;QAAEH,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAqB,CAAC,EAClD;QAAED,IAAI,EAAE,aAAa;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE3C;EACF,CAAC;EACDG,WAAW,EAAE;IACXN,KAAK,EAAE,CAAC;IACRJ,IAAI,EAAE,QAAQ;IACdF,KAAK,EAAE,SAAS;IAChBI,QAAQ,EAAE;EACZ,CAAC;EACDS,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,EAAEpC,UAAU,EAAEqC,gBAAgB,KAAK;IACnDlC,aAAa,CAACiB,GAAG,GAAGgB,WAAW;IAC/BrC,QAAQ,CAACC,UAAU,GAAGA,UAAU;IAChCC,cAAc,CAACC,gBAAgB,GAAGmC,gBAAgB;IAClDvC,SAAS,CAACwC,MAAM,CAACH,IAAI,CAACC,WAAW,EAAEpC,UAAU,CAAC;;IAE9C;IACA,IAAIoC,WAAW,IAAIA,WAAW,CAACJ,OAAO,EAAE;MACtC,MAAM;QAAEO,WAAW;QAAEC;MAAoB,CAAC,GAAGJ,WAAW,CAACJ,OAAO;MAChE,IAAIO,WAAW,EAAE;QACfpC,aAAa,CAACQ,OAAO,CAACL,KAAK,GAAGiC,WAAW;MAC3C;MACA,IAAIC,mBAAmB,EAAE;QACvBrC,aAAa,CAACG,KAAK,GAAGkC,mBAAmB;QACzCrC,aAAa,CAACa,QAAQ,CAACV,KAAK,GAAGkC,mBAAmB;QAClDrC,aAAa,CAACe,WAAW,CAACZ,KAAK,GAAGkC,mBAAmB;MACvD;IACF;EACF;AACF,CAAC;AACD,eAAerC,aAAa"}
@@ -9,12 +9,10 @@ const jobStatusOptions = [{
9
9
  name: 'Completed',
10
10
  color: Colours.COLOUR_GREEN_LIGHT
11
11
  }];
12
-
13
12
  const getJobStatusColour = status => {
14
13
  const option = jobStatusOptions.find(item => item.name === status);
15
14
  return option ? option.color : jobStatusOptions[0].color;
16
15
  };
17
-
18
16
  const getJobStatusProps = status => {
19
17
  const statusText = status || jobStatusOptions[0].name;
20
18
  const statusColor = getJobStatusColour(statusText);
@@ -23,6 +21,5 @@ const getJobStatusProps = status => {
23
21
  statusColor
24
22
  };
25
23
  };
26
-
27
24
  export { jobStatusOptions, getJobStatusColour, getJobStatusProps };
28
25
  //# 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,OAAT,QAAwB,eAAxB;AAEA,MAAMC,gBAAgB,GAAG,CACvB;EACEC,IAAI,EAAE,YADR;EAEEC,KAAK,EAAEH,OAAO,CAACI;AAFjB,CADuB,EAKvB;EACEF,IAAI,EAAE,aADR;EAEEC,KAAK,EAAEH,OAAO,CAACK;AAFjB,CALuB,EASvB;EACEH,IAAI,EAAE,WADR;EAEEC,KAAK,EAAEH,OAAO,CAACM;AAFjB,CATuB,CAAzB;;AAeA,MAAMC,kBAAkB,GAAGC,MAAM,IAAI;EACnC,MAAMC,MAAM,GAAGR,gBAAgB,CAACS,IAAjB,CAAsBC,IAAI,IAAIA,IAAI,CAACT,IAAL,KAAcM,MAA5C,CAAf;EACA,OAAOC,MAAM,GAAGA,MAAM,CAACN,KAAV,GAAkBF,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,KAAnD;AACD,CAHD;;AAKA,MAAMS,iBAAiB,GAAGJ,MAAM,IAAI;EAClC,MAAMK,UAAU,GAAGL,MAAM,IAAIP,gBAAgB,CAAC,CAAD,CAAhB,CAAoBC,IAAjD;EACA,MAAMY,WAAW,GAAGP,kBAAkB,CAACM,UAAD,CAAtC;EAEA,OAAO;IAAEA,UAAF;IAAcC;EAAd,CAAP;AACD,CALD;;AAOA,SAASb,gBAAT,EAA2BM,kBAA3B,EAA+CK,iBAA/C"}
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"}
@@ -1 +1 @@
1
- {"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","JobsReducer","Reducers","jobs","Screens","maintenance","requestDetail","serviceRequest","jobTypePicker","requestNotes","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import MaintenancePage from './screens/MaintenancePage';\nimport RequestDetail from './screens/RequestDetail';\nimport ServiceRequest from './screens/ServiceRequest';\nimport JobTypePicker from './screens/JobTypePicker';\nimport RequestNotes from './screens/RequestNotes';\nimport JobsReducer from './reducers/JobsReducer';\n\nexport const Reducers = { jobs: JobsReducer };\nexport const Screens = {\n maintenance: MaintenancePage,\n requestDetail: RequestDetail,\n serviceRequest: ServiceRequest,\n jobTypePicker: JobTypePicker,\n requestNotes: RequestNotes,\n};\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,2BAA5B;AACA,OAAOC,aAAP,MAA0B,yBAA1B;AACA,OAAOC,cAAP,MAA2B,0BAA3B;AACA,OAAOC,aAAP,MAA0B,yBAA1B;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AACA,OAAOC,WAAP,MAAwB,wBAAxB;AAEA,OAAO,MAAMC,QAAQ,GAAG;EAAEC,IAAI,EAAEF;AAAR,CAAjB;AACP,OAAO,MAAMG,OAAO,GAAG;EACrBC,WAAW,EAAET,eADQ;EAErBU,aAAa,EAAET,aAFM;EAGrBU,cAAc,EAAET,cAHK;EAIrBU,aAAa,EAAET,aAJM;EAKrBU,YAAY,EAAET;AALO,CAAhB;AAOP,SAASU,OAAO,IAAIC,MAApB,QAAkC,kBAAlC;AACA,SAASD,OAAO,IAAIE,WAApB,QAAuC,0BAAvC;AACA,SAASF,OAAO,IAAIG,WAApB,QAAuC,0BAAvC"}
1
+ {"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","JobsReducer","Reducers","jobs","Screens","maintenance","requestDetail","serviceRequest","jobTypePicker","requestNotes","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import MaintenancePage from './screens/MaintenancePage';\nimport RequestDetail from './screens/RequestDetail';\nimport ServiceRequest from './screens/ServiceRequest';\nimport JobTypePicker from './screens/JobTypePicker';\nimport RequestNotes from './screens/RequestNotes';\nimport JobsReducer from './reducers/JobsReducer';\n\nexport const Reducers = { jobs: JobsReducer };\nexport const Screens = {\n maintenance: MaintenancePage,\n requestDetail: RequestDetail,\n serviceRequest: ServiceRequest,\n jobTypePicker: JobTypePicker,\n requestNotes: RequestNotes,\n};\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,2BAA2B;AACvD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,cAAc,MAAM,0BAA0B;AACrD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,WAAW,MAAM,wBAAwB;AAEhD,OAAO,MAAMC,QAAQ,GAAG;EAAEC,IAAI,EAAEF;AAAY,CAAC;AAC7C,OAAO,MAAMG,OAAO,GAAG;EACrBC,WAAW,EAAET,eAAe;EAC5BU,aAAa,EAAET,aAAa;EAC5BU,cAAc,EAAET,cAAc;EAC9BU,aAAa,EAAET,aAAa;EAC5BU,YAAY,EAAET;AAChB,CAAC;AACD,SAASU,OAAO,IAAIC,MAAM,QAAQ,kBAAkB;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,0BAA0B;AACjE,SAASF,OAAO,IAAIG,WAAW,QAAQ,0BAA0B"}
@@ -12,20 +12,18 @@ export default (function () {
12
12
  let action = arguments.length > 1 ? arguments[1] : undefined;
13
13
  let updateJobs = [];
14
14
  let index = 0;
15
-
16
15
  switch (action.type) {
17
16
  case ActionTypes.LOGOUT:
18
17
  case ActionTypes.CHANGE_ROLE:
19
18
  return INITIAL_STATE;
20
-
21
19
  case JOBS_LOADED:
22
- return { ...state,
20
+ return {
21
+ ...state,
23
22
  jobs: action.payload.map(job => ({
24
23
  title: job.title || job.description,
25
24
  ...job
26
25
  }))
27
26
  };
28
-
29
27
  case JOBS_ADDED:
30
28
  updateJobs = action.payload.map(job => ({
31
29
  title: job.title || job.description,
@@ -34,37 +32,31 @@ export default (function () {
34
32
  updateJobs = _.unionWith(updateJobs, state.jobs, (j1, j2) => {
35
33
  return j1.id === j2.id;
36
34
  });
37
- return { ...state,
35
+ return {
36
+ ...state,
38
37
  jobs: updateJobs
39
38
  };
40
-
41
39
  case JOB_ADDED:
42
40
  updateJobs = [...state.jobs];
43
41
  index = updateJobs.findIndex(item => item.id === action.payload.id);
44
-
45
42
  if (index > -1) {
46
43
  updateJobs[index] = action.payload;
47
44
  } else {
48
45
  updateJobs.push(action.payload);
49
46
  }
50
-
51
- return { ...state,
47
+ return {
48
+ ...state,
52
49
  jobs: updateJobs
53
50
  };
54
-
55
51
  case REHYDRATE:
56
52
  if (!action.payload) return state;
57
-
58
53
  if (action.payload[REDUCER_KEY]) {
59
54
  if (action.payload[REDUCER_KEY].jobs == null) {
60
55
  action.payload[REDUCER_KEY].jobs = [];
61
56
  }
62
-
63
57
  return action.payload[REDUCER_KEY];
64
58
  }
65
-
66
59
  return state;
67
-
68
60
  default:
69
61
  return state;
70
62
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_","REHYDRATE","JOBS_LOADED","JOB_ADDED","JOBS_ADDED","ActionTypes","REDUCER_KEY","INITIAL_STATE","jobs","state","action","updateJobs","index","type","LOGOUT","CHANGE_ROLE","payload","map","job","title","description","unionWith","j1","j2","id","findIndex","item","push"],"sources":["JobsReducer.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport _ from 'lodash';\nimport { REHYDRATE } from 'redux-persist';\nimport { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';\nimport { ActionTypes } from '../core.config';\n\nconst REDUCER_KEY = 'jobs';\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,CAAP,MAAc,QAAd;AACA,SAASC,SAAT,QAA0B,eAA1B;AACA,SAASC,WAAT,EAAsBC,SAAtB,EAAiCC,UAAjC,QAAmD,kBAAnD;AACA,SAASC,WAAT,QAA4B,gBAA5B;AAEA,MAAMC,WAAW,GAAG,MAApB;AAEA,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE;AADc,CAAtB;AAIA,gBAAe,YAAmC;EAAA,IAAlCC,KAAkC,uEAA1BF,aAA0B;EAAA,IAAXG,MAAW;EAChD,IAAIC,UAAU,GAAG,EAAjB;EACA,IAAIC,KAAK,GAAG,CAAZ;;EAEA,QAAQF,MAAM,CAACG,IAAf;IACE,KAAKR,WAAW,CAACS,MAAjB;IACA,KAAKT,WAAW,CAACU,WAAjB;MACE,OAAOR,aAAP;;IACF,KAAKL,WAAL;MACE,OAAO,EAAE,GAAGO,KAAL;QAAYD,IAAI,EAAEE,MAAM,CAACM,OAAP,CAAeC,GAAf,CAAmBC,GAAG,KAAK;UAAEC,KAAK,EAAED,GAAG,CAACC,KAAJ,IAAaD,GAAG,CAACE,WAA1B;UAAuC,GAAGF;QAA1C,CAAL,CAAtB;MAAlB,CAAP;;IACF,KAAKd,UAAL;MACEO,UAAU,GAAGD,MAAM,CAACM,OAAP,CAAeC,GAAf,CAAmBC,GAAG,KAAK;QAAEC,KAAK,EAAED,GAAG,CAACC,KAAJ,IAAaD,GAAG,CAACE,WAA1B;QAAuC,GAAGF;MAA1C,CAAL,CAAtB,CAAb;MACAP,UAAU,GAAGX,CAAC,CAACqB,SAAF,CAAYV,UAAZ,EAAwBF,KAAK,CAACD,IAA9B,EAAoC,CAACc,EAAD,EAAKC,EAAL,KAAY;QAC3D,OAAOD,EAAE,CAACE,EAAH,KAAUD,EAAE,CAACC,EAApB;MACD,CAFY,CAAb;MAGA,OAAO,EAAE,GAAGf,KAAL;QAAYD,IAAI,EAAEG;MAAlB,CAAP;;IACF,KAAKR,SAAL;MACEQ,UAAU,GAAG,CAAC,GAAGF,KAAK,CAACD,IAAV,CAAb;MACAI,KAAK,GAAGD,UAAU,CAACc,SAAX,CAAqBC,IAAI,IAAIA,IAAI,CAACF,EAAL,KAAYd,MAAM,CAACM,OAAP,CAAeQ,EAAxD,CAAR;;MACA,IAAIZ,KAAK,GAAG,CAAC,CAAb,EAAgB;QACdD,UAAU,CAACC,KAAD,CAAV,GAAoBF,MAAM,CAACM,OAA3B;MACD,CAFD,MAEO;QACLL,UAAU,CAACgB,IAAX,CAAgBjB,MAAM,CAACM,OAAvB;MACD;;MACD,OAAO,EAAE,GAAGP,KAAL;QAAYD,IAAI,EAAEG;MAAlB,CAAP;;IACF,KAAKV,SAAL;MACE,IAAI,CAACS,MAAM,CAACM,OAAZ,EAAqB,OAAOP,KAAP;;MACrB,IAAIC,MAAM,CAACM,OAAP,CAAeV,WAAf,CAAJ,EAAiC;QAC/B,IAAII,MAAM,CAACM,OAAP,CAAeV,WAAf,EAA4BE,IAA5B,IAAoC,IAAxC,EAA8C;UAC5CE,MAAM,CAACM,OAAP,CAAeV,WAAf,EAA4BE,IAA5B,GAAmC,EAAnC;QACD;;QACD,OAAOE,MAAM,CAACM,OAAP,CAAeV,WAAf,CAAP;MACD;;MACD,OAAOG,KAAP;;IACF;MACE,OAAOA,KAAP;EA/BJ;AAiCD,CArCD"}
1
+ {"version":3,"names":["_","REHYDRATE","JOBS_LOADED","JOB_ADDED","JOBS_ADDED","ActionTypes","REDUCER_KEY","INITIAL_STATE","jobs","state","arguments","length","undefined","action","updateJobs","index","type","LOGOUT","CHANGE_ROLE","payload","map","job","title","description","unionWith","j1","j2","id","findIndex","item","push"],"sources":["JobsReducer.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport _ from 'lodash';\nimport { REHYDRATE } from 'redux-persist';\nimport { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';\nimport { ActionTypes } from '../core.config';\n\nconst REDUCER_KEY = 'jobs';\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;AAE5C,MAAMC,WAAW,GAAG,MAAM;AAE1B,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,gBAAe,YAAmC;EAAA,IAAlCC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa;EAAA,IAAEM,MAAM,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3C,IAAIE,UAAU,GAAG,EAAE;EACnB,IAAIC,KAAK,GAAG,CAAC;EAEb,QAAQF,MAAM,CAACG,IAAI;IACjB,KAAKX,WAAW,CAACY,MAAM;IACvB,KAAKZ,WAAW,CAACa,WAAW;MAC1B,OAAOX,aAAa;IACtB,KAAKL,WAAW;MACd,OAAO;QAAE,GAAGO,KAAK;QAAED,IAAI,EAAEK,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,KAAKjB,UAAU;MACbU,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,GAAGd,CAAC,CAACwB,SAAS,CAACV,UAAU,EAAEL,KAAK,CAACD,IAAI,EAAE,CAACiB,EAAE,EAAEC,EAAE,KAAK;QAC3D,OAAOD,EAAE,CAACE,EAAE,KAAKD,EAAE,CAACC,EAAE;MACxB,CAAC,CAAC;MACF,OAAO;QAAE,GAAGlB,KAAK;QAAED,IAAI,EAAEM;MAAW,CAAC;IACvC,KAAKX,SAAS;MACZW,UAAU,GAAG,CAAC,GAAGL,KAAK,CAACD,IAAI,CAAC;MAC5BO,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,GAAGV,KAAK;QAAED,IAAI,EAAEM;MAAW,CAAC;IACvC,KAAKb,SAAS;MACZ,IAAI,CAACY,MAAM,CAACM,OAAO,EAAE,OAAOV,KAAK;MACjC,IAAII,MAAM,CAACM,OAAO,CAACb,WAAW,CAAC,EAAE;QAC/B,IAAIO,MAAM,CAACM,OAAO,CAACb,WAAW,CAAC,CAACE,IAAI,IAAI,IAAI,EAAE;UAC5CK,MAAM,CAACM,OAAO,CAACb,WAAW,CAAC,CAACE,IAAI,GAAG,EAAE;QACvC;QACA,OAAOK,MAAM,CAACM,OAAO,CAACb,WAAW,CAAC;MACpC;MACA,OAAOG,KAAK;IACd;MACE,OAAOA,KAAK;EAChB;AACF,CAAC"}
@@ -1,5 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
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(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  import React, { Component } from 'react';
4
5
  import _ from 'lodash';
5
6
  import { TouchableOpacity, View, ScrollView, Text } from 'react-native';
@@ -7,26 +8,21 @@ import { connect } from 'react-redux';
7
8
  import { Icon } from 'react-native-elements';
8
9
  import { Services } from '../feature.config';
9
10
  import { Components, Colours } from '../core.config';
10
-
11
11
  class JobTypePicker extends Component {
12
12
  constructor() {
13
13
  super(...arguments);
14
-
15
14
  _defineProperty(this, "state", {
16
15
  currentType: null
17
16
  });
18
17
  }
19
-
20
18
  UNSAFE_componentWillMount() {
21
19
  this.setState({
22
20
  currentType: this.props.currentType
23
21
  });
24
22
  }
25
-
26
23
  onPressBack() {
27
24
  Services.navigation.goBack();
28
25
  }
29
-
30
26
  onTypePress(type) {
31
27
  this.props.onSelectType(type);
32
28
  this.setState({
@@ -36,7 +32,6 @@ class JobTypePicker extends Component {
36
32
  this.onPressBack();
37
33
  }, 200);
38
34
  }
39
-
40
35
  renderMain() {
41
36
  if (_.isEmpty(this.props.types)) {
42
37
  return /*#__PURE__*/React.createElement(View, {
@@ -45,14 +40,12 @@ class JobTypePicker extends Component {
45
40
  }
46
41
  }, /*#__PURE__*/React.createElement(Components.Spinner, null));
47
42
  }
48
-
49
43
  return /*#__PURE__*/React.createElement(Components.FormCard, {
50
44
  style: {
51
45
  marginTop: 16
52
46
  }
53
47
  }, this.renderOptions());
54
48
  }
55
-
56
49
  renderOptions() {
57
50
  return this.props.types.map((rep, index) => {
58
51
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
@@ -71,7 +64,8 @@ class JobTypePicker extends Component {
71
64
  }, /*#__PURE__*/React.createElement(Text, {
72
65
  style: styles.labelText
73
66
  }, rep.typeName), /*#__PURE__*/React.createElement(Icon, {
74
- name: "check-circle" //style={styles.uploadButtonInner}
67
+ name: "check-circle"
68
+ //style={styles.uploadButtonInner}
75
69
  ,
76
70
  type: "font-awesome",
77
71
  iconStyle: [{
@@ -85,7 +79,6 @@ class JobTypePicker extends Component {
85
79
  }, rep.description)));
86
80
  });
87
81
  }
88
-
89
82
  render() {
90
83
  return /*#__PURE__*/React.createElement(View, {
91
84
  style: styles.container
@@ -99,9 +92,7 @@ class JobTypePicker extends Component {
99
92
  }
100
93
  }, this.renderMain()));
101
94
  }
102
-
103
95
  }
104
-
105
96
  const styles = {
106
97
  container: {
107
98
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","currentType","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onTypePress","type","onSelectType","setTimeout","renderMain","isEmpty","types","marginTop","renderOptions","map","rep","index","bind","typeName","height","margin","styles","labelContainer","labelText","color","fontSize","state","COLOUR_GREEN","description","render","container","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","text","fontFamily","TEXT_DARK","justifyContent"],"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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"}
1
+ {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","constructor","arguments","_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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"}
@@ -1,5 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
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(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  import React, { Component } from 'react';
4
5
  import { View, StyleSheet } from 'react-native';
5
6
  import { connect } from 'react-redux';
@@ -7,34 +8,28 @@ import _ from 'lodash';
7
8
  import MaintenanceList from '../components/MaintenanceList';
8
9
  import { Services, BaseComponents } from '../feature.config';
9
10
  import { Components, Helper, Styles, Config } from '../core.config';
10
-
11
11
  class MaintenancePage extends Component {
12
12
  constructor(props) {
13
13
  super(props);
14
-
15
14
  _defineProperty(this, "onPressBack", () => {
16
15
  Services.navigation.goBack();
17
16
  });
18
-
19
17
  _defineProperty(this, "onLoadingChanged", loading => {
20
18
  this.setState({
21
19
  loading
22
20
  });
23
21
  });
24
-
25
22
  this.state = {
26
23
  isHomeTab: false,
27
24
  loading: false
28
25
  };
29
26
  }
30
-
31
27
  componentDidMount() {
32
28
  // console.log('!Services.navigation.getParentRoute()', !Services.navigation.getParentRoute());
33
29
  this.setState({
34
30
  isHomeTab: !Services.navigation.getParentRoute()
35
31
  });
36
32
  }
37
-
38
33
  renderHeader() {
39
34
  if (this.state.isHomeTab) {
40
35
  return /*#__PURE__*/React.createElement(Components.Header, {
@@ -47,14 +42,12 @@ class MaintenancePage extends Component {
47
42
  }))
48
43
  });
49
44
  }
50
-
51
45
  return /*#__PURE__*/React.createElement(Components.Header, {
52
46
  leftIcon: "angle-left",
53
47
  onPressLeft: this.onPressBack,
54
48
  text: this.props.title || Config.env.strings.MAINTENANCE
55
49
  });
56
50
  }
57
-
58
51
  render() {
59
52
  const {
60
53
  isHomeTab
@@ -70,9 +63,7 @@ class MaintenancePage extends Component {
70
63
  options: this.props.options
71
64
  }));
72
65
  }
73
-
74
66
  }
75
-
76
67
  const styles = StyleSheet.create({
77
68
  container: {
78
69
  flex: 1
@@ -88,12 +79,10 @@ const styles = StyleSheet.create({
88
79
  marginTop: 12
89
80
  }
90
81
  });
91
-
92
82
  const mapStateToProps = state => {
93
83
  return {
94
84
  user: state.user
95
85
  };
96
86
  };
97
-
98
87
  export default connect(mapStateToProps, {})(MaintenancePage);
99
88
  //# sourceMappingURL=MaintenancePage.js.map