@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.
- package/dist/module/actions/JobActions.js.map +1 -1
- package/dist/module/actions/index.js.map +1 -1
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/generalActions.js +2 -8
- package/dist/module/apis/generalActions.js.map +1 -1
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/components/FilterPopupMenu.js +5 -19
- package/dist/module/components/FilterPopupMenu.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +13 -49
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +7 -21
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +3 -12
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/StatusSelectorPopup.js +0 -5
- package/dist/module/components/StatusSelectorPopup.js.map +1 -1
- package/dist/module/components/WidgetLarge.js +0 -3
- package/dist/module/components/WidgetLarge.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +5 -22
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/core.config.js.map +1 -1
- package/dist/module/feature.config.js +2 -3
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/helper.js +0 -3
- package/dist/module/helper.js.map +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/reducers/JobsReducer.js +6 -14
- package/dist/module/reducers/JobsReducer.js.map +1 -1
- package/dist/module/screens/JobTypePicker.js +5 -14
- package/dist/module/screens/JobTypePicker.js.map +1 -1
- package/dist/module/screens/MaintenancePage.js +3 -14
- package/dist/module/screens/MaintenancePage.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +15 -59
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +7 -40
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +7 -59
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- 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);
|
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":"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"}
|
@@ -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,
|
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);
|
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,
|
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"}
|
package/dist/module/helper.js
CHANGED
@@ -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,
|
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"}
|
package/dist/module/index.js.map
CHANGED
@@ -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,
|
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 {
|
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 {
|
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
|
-
|
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,
|
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"
|
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","
|
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
|