@plusscommunities/pluss-maintenance-app 6.1.2-beta.0 → 7.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/actions/JobActions.js +44 -1
- package/dist/module/actions/JobActions.js.map +1 -1
- package/dist/module/actions/types.js +3 -0
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/index.js +3 -1
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/apis/{generalActions.js → maintenanceActions.js} +44 -45
- package/dist/module/apis/maintenanceActions.js.map +1 -0
- package/dist/module/components/FilterPopupMenu.js +78 -26
- package/dist/module/components/FilterPopupMenu.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +70 -45
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +54 -42
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +16 -20
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/PrioritySelectorPopup.js +82 -0
- package/dist/module/components/PrioritySelectorPopup.js.map +1 -0
- package/dist/module/components/StatusSelectorPopup.js +9 -13
- package/dist/module/components/StatusSelectorPopup.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +13 -9
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/feature.config.js +3 -3
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/helper.js +39 -17
- package/dist/module/helper.js.map +1 -1
- package/dist/module/reducers/JobsReducer.js +33 -3
- package/dist/module/reducers/JobsReducer.js.map +1 -1
- package/dist/module/screens/JobTypePicker.js +3 -3
- package/dist/module/screens/JobTypePicker.js.map +1 -1
- package/dist/module/screens/MaintenancePage.js +2 -2
- package/dist/module/screens/RequestDetail.js +340 -88
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +437 -26
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +596 -93
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +9 -1
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.default.js +15 -1
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.forms.js +42 -0
- package/dist/module/values.config.forms.js.map +1 -0
- package/dist/module/values.config.js +34 -20
- package/dist/module/values.config.js.map +1 -1
- package/package.json +11 -11
- package/src/actions/JobActions.js +53 -1
- package/src/actions/types.js +4 -0
- package/src/apis/index.js +5 -1
- package/src/apis/{generalActions.js → maintenanceActions.js} +51 -43
- package/src/components/FilterPopupMenu.js +75 -24
- package/src/components/MaintenanceList.js +64 -33
- package/src/components/MaintenanceListItem.js +53 -31
- package/src/components/MaintenanceWidgetItem.js +18 -14
- package/src/components/PrioritySelectorPopup.js +79 -0
- package/src/components/StatusSelectorPopup.js +8 -13
- package/src/components/WidgetSmall.js +9 -7
- package/src/feature.config.js +15 -13
- package/src/helper.js +51 -13
- package/src/reducers/JobsReducer.js +27 -2
- package/src/screens/JobTypePicker.js +1 -1
- package/src/screens/RequestDetail.js +324 -75
- package/src/screens/RequestNotes.js +434 -33
- package/src/screens/ServiceRequest.js +642 -157
- package/src/values.config.a.js +8 -0
- package/src/values.config.default.js +14 -0
- package/src/values.config.forms.js +42 -0
- package/src/values.config.js +34 -20
- package/dist/module/apis/generalActions.js.map +0 -1
- package/dist/module/values.config.b.js +0 -28
- package/dist/module/values.config.b.js.map +0 -1
- package/dist/module/values.config.c.js +0 -28
- package/dist/module/values.config.c.js.map +0 -1
- package/dist/module/values.config.d.js +0 -28
- package/dist/module/values.config.d.js.map +0 -1
- package/src/values.config.b.js +0 -28
- package/src/values.config.c.js +0 -28
- package/src/values.config.d.js +0 -28
@@ -1,13 +1,13 @@
|
|
1
|
-
function _defineProperty(
|
2
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
4
4
|
import React, { Component } from 'react';
|
5
5
|
import { Text, View, StyleSheet, TouchableOpacity } from 'react-native';
|
6
6
|
import { connect } from 'react-redux';
|
7
|
-
import { Icon } from '
|
7
|
+
import { Icon } from '@rneui/themed';
|
8
8
|
import moment from 'moment';
|
9
9
|
import _ from 'lodash';
|
10
|
-
import {
|
10
|
+
import { getJobStatus } from '../helper';
|
11
11
|
import { Services } from '../feature.config';
|
12
12
|
import { Colours, Helper } from '../core.config';
|
13
13
|
import { values } from '../values.config';
|
@@ -22,16 +22,14 @@ class MaintenanceWidgetItem extends Component {
|
|
22
22
|
}
|
23
23
|
render() {
|
24
24
|
const {
|
25
|
-
job
|
25
|
+
job,
|
26
|
+
hideSeen
|
26
27
|
} = this.props;
|
27
28
|
const createdTime = moment(job.createdUnix);
|
28
29
|
const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;
|
29
|
-
const
|
30
|
-
statusText,
|
31
|
-
statusColor
|
32
|
-
} = getJobStatusProps(job.status);
|
30
|
+
const status = getJobStatus(job.status, this.props);
|
33
31
|
const seenText = (() => {
|
34
|
-
if (!job.status || job.status ===
|
32
|
+
if (!job.status || job.status === getJobStatus(null, this.props).text) {
|
35
33
|
return job.seen ? 'Seen' : 'Unseen';
|
36
34
|
}
|
37
35
|
return '';
|
@@ -50,7 +48,7 @@ class MaintenanceWidgetItem extends Component {
|
|
50
48
|
style: styles.jobTitleText
|
51
49
|
}, job.title), /*#__PURE__*/React.createElement(Text, {
|
52
50
|
style: styles.jobCreatedTimeText
|
53
|
-
}, createdTimeText), /*#__PURE__*/React.createElement(View, {
|
51
|
+
}, createdTimeText), !hideSeen ? /*#__PURE__*/React.createElement(View, {
|
54
52
|
style: styles.jobSeenContainer
|
55
53
|
}, job.seen && !_.isEmpty(seenText) && /*#__PURE__*/React.createElement(Icon, {
|
56
54
|
name: "check",
|
@@ -62,19 +60,15 @@ class MaintenanceWidgetItem extends Component {
|
|
62
60
|
style: [styles.jobSeenText, job.seen && {
|
63
61
|
color: this.props.colourBrandingMain
|
64
62
|
}]
|
65
|
-
}, seenText))), /*#__PURE__*/React.createElement(View, {
|
63
|
+
}, seenText)) : null), /*#__PURE__*/React.createElement(View, {
|
66
64
|
style: styles.jobBottomSection
|
67
65
|
}, /*#__PURE__*/React.createElement(View, {
|
68
66
|
style: [styles.jobStatusContainer, {
|
69
|
-
backgroundColor:
|
67
|
+
backgroundColor: status === null || status === void 0 ? void 0 : status.color
|
70
68
|
}]
|
71
|
-
}, /*#__PURE__*/React.createElement(
|
72
|
-
name: "wrench",
|
73
|
-
type: "font-awesome",
|
74
|
-
iconStyle: styles.jobStatusIcon
|
75
|
-
}), /*#__PURE__*/React.createElement(Text, {
|
69
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
76
70
|
style: styles.jobStatusText
|
77
|
-
},
|
71
|
+
}, status === null || status === void 0 ? void 0 : status.text))))));
|
78
72
|
}
|
79
73
|
}
|
80
74
|
const styles = StyleSheet.create({
|
@@ -146,7 +140,9 @@ const styles = StyleSheet.create({
|
|
146
140
|
});
|
147
141
|
const mapStateToProps = state => {
|
148
142
|
return {
|
149
|
-
colourBrandingMain: Colours.getMainBrandingColourFromState(state)
|
143
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
144
|
+
statusTypes: state[values.reducerKey].jobstatuses,
|
145
|
+
hideSeen: state[values.reducerKey].hideSeen
|
150
146
|
};
|
151
147
|
};
|
152
148
|
export default connect(mapStateToProps, {})(MaintenanceWidgetItem);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","
|
1
|
+
{"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatus","Services","Colours","Helper","values","MaintenanceWidgetItem","constructor","args","_defineProperty","navigation","navigate","screenRequestDetail","job","props","render","hideSeen","createdTime","createdUnix","createdTimeText","format","status","seenText","text","seen","createElement","key","id","onPress","onPressJob","style","styles","jobContainer","jobInnerContainer","jobTopSection","numberOfLines","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","name","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","jobStatusIcon","textAlign","mapStateToProps","state","getMainBrandingColourFromState","statusTypes","reducerKey","jobstatuses"],"sources":["MaintenanceWidgetItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from '@rneui/themed';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatus } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate(values.screenRequestDetail, { job: this.props.job });\n };\n\n render() {\n const { job, hideSeen } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const status = getJobStatus(job.status, this.props);\n const seenText = (() => {\n if (!job.status || job.status === getJobStatus(null, this.props).text) {\n return job.seen ? 'Seen' : 'Unseen';\n }\n return '';\n })();\n\n return (\n <TouchableOpacity key={job.id} onPress={this.onPressJob}>\n <View style={styles.jobContainer}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <Text numberOfLines={2} style={styles.jobTitleText}>\n {job.title}\n </Text>\n <Text style={styles.jobCreatedTimeText}>{createdTimeText}</Text>\n {!hideSeen ? (\n <View style={styles.jobSeenContainer}>\n {job.seen && !_.isEmpty(seenText) && (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n )}\n <Text style={[styles.jobSeenText, job.seen && { color: this.props.colourBrandingMain }]}>{seenText}</Text>\n </View>\n ) : null}\n </View>\n <View style={styles.jobBottomSection}>\n <View style={[styles.jobStatusContainer, { backgroundColor: status?.color }]}>\n {/* <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} /> */}\n <Text style={styles.jobStatusText}>{status?.text}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n padding: 10,\n },\n jobInnerContainer: {\n width: 140,\n height: 160,\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flex: 1,\n padding: 10,\n paddingTop: 20,\n },\n jobTitleText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n jobCreatedTimeText: {\n fontFamily: 'sf-medium',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n paddingTop: 3,\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingTop: 5,\n },\n jobSeenIcon: {\n fontSize: 12,\n marginRight: 4,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: Colours.TEXT_SUPER_LIGHT,\n },\n jobBottomSection: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 10,\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n statusTypes: state[values.reducerKey].jobstatuses,\n hideSeen: state[values.reducerKey].hideSeen,\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceWidgetItem);\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import React, { PureComponent } from 'react';
|
2
|
+
import { View, StyleSheet, TouchableOpacity, Text } from 'react-native';
|
3
|
+
import { connect } from 'react-redux';
|
4
|
+
import { jobPriorityOptions } from '../helper';
|
5
|
+
import { Components, Colours } from '../core.config';
|
6
|
+
class PrioritySelectorPopup extends PureComponent {
|
7
|
+
render() {
|
8
|
+
const {
|
9
|
+
title,
|
10
|
+
includeAll,
|
11
|
+
allText,
|
12
|
+
onClose,
|
13
|
+
onSelect
|
14
|
+
} = this.props;
|
15
|
+
let priorities = jobPriorityOptions;
|
16
|
+
if (includeAll) priorities = [{
|
17
|
+
label: allText || 'Show All',
|
18
|
+
color: this.props.colourBrandingMain
|
19
|
+
}, ...priorities];
|
20
|
+
return /*#__PURE__*/React.createElement(Components.MiddlePopup, {
|
21
|
+
style: [styles.statusPopup, {
|
22
|
+
height: priorities.length * 50 + 40
|
23
|
+
}],
|
24
|
+
onClose: onClose
|
25
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
26
|
+
style: styles.statusPopupTitle
|
27
|
+
}, title || 'Select Priority'), /*#__PURE__*/React.createElement(View, {
|
28
|
+
style: styles.statusPopupOptionsContainer
|
29
|
+
}, priorities.map(priority => {
|
30
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
31
|
+
key: priority.label,
|
32
|
+
onPress: () => onSelect(priority.label)
|
33
|
+
}, /*#__PURE__*/React.createElement(View, {
|
34
|
+
style: [styles.jobStatusContainer, {
|
35
|
+
backgroundColor: priority.color
|
36
|
+
}]
|
37
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
38
|
+
style: styles.jobStatusText
|
39
|
+
}, priority.label)));
|
40
|
+
})));
|
41
|
+
}
|
42
|
+
}
|
43
|
+
const styles = StyleSheet.create({
|
44
|
+
statusPopup: {
|
45
|
+
width: 160,
|
46
|
+
padding: 16,
|
47
|
+
borderRadius: 12
|
48
|
+
},
|
49
|
+
statusPopupTitle: {
|
50
|
+
fontFamily: 'sf-bold',
|
51
|
+
color: Colours.TEXT_DARK,
|
52
|
+
fontSize: 18,
|
53
|
+
marginBottom: 16
|
54
|
+
},
|
55
|
+
statusPopupOptionsContainer: {
|
56
|
+
flex: 1,
|
57
|
+
justifyContent: 'space-between'
|
58
|
+
},
|
59
|
+
jobStatusContainer: {
|
60
|
+
flexDirection: 'row',
|
61
|
+
alignItems: 'center',
|
62
|
+
justifyContent: 'space-between',
|
63
|
+
width: 105,
|
64
|
+
height: 30,
|
65
|
+
paddingHorizontal: 8,
|
66
|
+
borderRadius: 4
|
67
|
+
},
|
68
|
+
jobStatusText: {
|
69
|
+
color: '#fff',
|
70
|
+
textAlign: 'center',
|
71
|
+
fontFamily: 'sf-semibold',
|
72
|
+
fontSize: 13,
|
73
|
+
flex: 1
|
74
|
+
}
|
75
|
+
});
|
76
|
+
const mapStateToProps = state => {
|
77
|
+
return {
|
78
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state)
|
79
|
+
};
|
80
|
+
};
|
81
|
+
export default connect(mapStateToProps, {})(PrioritySelectorPopup);
|
82
|
+
//# sourceMappingURL=PrioritySelectorPopup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["React","PureComponent","View","StyleSheet","TouchableOpacity","Text","connect","jobPriorityOptions","Components","Colours","PrioritySelectorPopup","render","title","includeAll","allText","onClose","onSelect","props","priorities","label","color","colourBrandingMain","createElement","MiddlePopup","style","styles","statusPopup","height","length","statusPopupTitle","statusPopupOptionsContainer","map","priority","key","onPress","jobStatusContainer","backgroundColor","jobStatusText","create","width","padding","borderRadius","fontFamily","TEXT_DARK","fontSize","marginBottom","flex","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["PrioritySelectorPopup.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { jobPriorityOptions } from '../helper';\nimport { Components, Colours } from '../core.config';\n\nclass PrioritySelectorPopup extends PureComponent {\n render() {\n const { title, includeAll, allText, onClose, onSelect } = this.props;\n let priorities = jobPriorityOptions;\n if (includeAll)\n priorities = [\n {\n label: allText || 'Show All',\n color: this.props.colourBrandingMain,\n },\n ...priorities,\n ];\n\n return (\n <Components.MiddlePopup style={[styles.statusPopup, { height: priorities.length * 50 + 40 }]} onClose={onClose}>\n <Text style={styles.statusPopupTitle}>{title || 'Select Priority'}</Text>\n <View style={styles.statusPopupOptionsContainer}>\n {priorities.map(priority => {\n return (\n <TouchableOpacity key={priority.label} onPress={() => onSelect(priority.label)}>\n <View style={[styles.jobStatusContainer, { backgroundColor: priority.color }]}>\n <Text style={styles.jobStatusText}>{priority.label}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </View>\n </Components.MiddlePopup>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n statusPopup: {\n width: 160,\n padding: 16,\n borderRadius: 12,\n },\n statusPopupTitle: {\n fontFamily: 'sf-bold',\n color: Colours.TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n statusPopupOptionsContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(PrioritySelectorPopup);\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,26 +1,21 @@
|
|
1
1
|
import React, { PureComponent } from 'react';
|
2
2
|
import { View, StyleSheet, TouchableOpacity, Text } from 'react-native';
|
3
3
|
import { connect } from 'react-redux';
|
4
|
-
import {
|
4
|
+
import { getJobStatusOptions } from '../helper';
|
5
5
|
import { Components, Colours } from '../core.config';
|
6
|
+
import { values } from '../values.config';
|
6
7
|
class StatusSelectorPopup extends PureComponent {
|
7
8
|
render() {
|
8
9
|
const {
|
9
10
|
title,
|
10
|
-
filter,
|
11
11
|
includeAll,
|
12
12
|
allText,
|
13
13
|
onClose,
|
14
14
|
onSelect
|
15
15
|
} = this.props;
|
16
|
-
let statuses =
|
17
|
-
return {
|
18
|
-
name: status,
|
19
|
-
color: getJobStatusColour(status)
|
20
|
-
};
|
21
|
-
}) : jobStatusOptions;
|
16
|
+
let statuses = getJobStatusOptions(this.props);
|
22
17
|
if (includeAll) statuses = [{
|
23
|
-
|
18
|
+
text: allText || 'Show All',
|
24
19
|
color: this.props.colourBrandingMain
|
25
20
|
}, ...statuses];
|
26
21
|
return /*#__PURE__*/React.createElement(Components.MiddlePopup, {
|
@@ -34,15 +29,15 @@ class StatusSelectorPopup extends PureComponent {
|
|
34
29
|
style: styles.statusPopupOptionsContainer
|
35
30
|
}, statuses.map(status => {
|
36
31
|
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
37
|
-
key: status.
|
38
|
-
onPress: () => onSelect(status.
|
32
|
+
key: status.text,
|
33
|
+
onPress: () => onSelect(status.text)
|
39
34
|
}, /*#__PURE__*/React.createElement(View, {
|
40
35
|
style: [styles.jobStatusContainer, {
|
41
36
|
backgroundColor: status.color
|
42
37
|
}]
|
43
38
|
}, /*#__PURE__*/React.createElement(Text, {
|
44
39
|
style: styles.jobStatusText
|
45
|
-
}, status.
|
40
|
+
}, status.text)));
|
46
41
|
})));
|
47
42
|
}
|
48
43
|
}
|
@@ -81,7 +76,8 @@ const styles = StyleSheet.create({
|
|
81
76
|
});
|
82
77
|
const mapStateToProps = state => {
|
83
78
|
return {
|
84
|
-
colourBrandingMain: Colours.getMainBrandingColourFromState(state)
|
79
|
+
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
80
|
+
statusTypes: state[values.reducerKey].jobstatuses
|
85
81
|
};
|
86
82
|
};
|
87
83
|
export default connect(mapStateToProps, {})(StatusSelectorPopup);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","PureComponent","View","StyleSheet","TouchableOpacity","Text","connect","
|
1
|
+
{"version":3,"names":["React","PureComponent","View","StyleSheet","TouchableOpacity","Text","connect","getJobStatusOptions","Components","Colours","values","StatusSelectorPopup","render","title","includeAll","allText","onClose","onSelect","props","statuses","text","color","colourBrandingMain","createElement","MiddlePopup","style","styles","statusPopup","height","length","statusPopupTitle","statusPopupOptionsContainer","map","status","key","onPress","jobStatusContainer","backgroundColor","jobStatusText","create","width","padding","borderRadius","fontFamily","TEXT_DARK","fontSize","marginBottom","flex","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","state","getMainBrandingColourFromState","statusTypes","reducerKey","jobstatuses"],"sources":["StatusSelectorPopup.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { getJobStatusOptions } from '../helper';\nimport { Components, Colours } from '../core.config';\nimport { values } from '../values.config';\n\nclass StatusSelectorPopup extends PureComponent {\n render() {\n const { title, includeAll, allText, onClose, onSelect } = this.props;\n let statuses = getJobStatusOptions(this.props);\n if (includeAll)\n statuses = [\n {\n text: allText || 'Show All',\n color: this.props.colourBrandingMain,\n },\n ...statuses,\n ];\n\n return (\n <Components.MiddlePopup style={[styles.statusPopup, { height: statuses.length * 50 + 40 }]} onClose={onClose}>\n <Text style={styles.statusPopupTitle}>{title || 'Select Status'}</Text>\n <View style={styles.statusPopupOptionsContainer}>\n {statuses.map(status => {\n return (\n <TouchableOpacity key={status.text} onPress={() => onSelect(status.text)}>\n <View style={[styles.jobStatusContainer, { backgroundColor: status.color }]}>\n <Text style={styles.jobStatusText}>{status.text}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </View>\n </Components.MiddlePopup>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n statusPopup: {\n width: 160,\n padding: 16,\n borderRadius: 12,\n },\n statusPopupTitle: {\n fontFamily: 'sf-bold',\n color: Colours.TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n statusPopupOptionsContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n statusTypes: state[values.reducerKey].jobstatuses,\n };\n};\n\nexport default connect(mapStateToProps, {})(StatusSelectorPopup);\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,15 +1,15 @@
|
|
1
|
-
function _defineProperty(
|
2
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
4
4
|
import React, { Component } from 'react';
|
5
5
|
import { Text, View, ScrollView, StyleSheet } from 'react-native';
|
6
6
|
import { connect } from 'react-redux';
|
7
7
|
import _ from 'lodash';
|
8
|
-
import {
|
9
|
-
import { jobsLoaded } from '../actions';
|
8
|
+
import { maintenanceActions } from '../apis';
|
9
|
+
import { jobsLoaded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';
|
10
10
|
import MaintenanceWidgetItem from './MaintenanceWidgetItem';
|
11
11
|
import { Services } from '../feature.config';
|
12
|
-
import { Colours, Components
|
12
|
+
import { Colours, Components } from '../core.config';
|
13
13
|
import { values } from '../values.config';
|
14
14
|
const MAX_ITEMS = 10;
|
15
15
|
class WidgetSmall extends Component {
|
@@ -28,12 +28,12 @@ class WidgetSmall extends Component {
|
|
28
28
|
userCategory
|
29
29
|
} = this.props;
|
30
30
|
if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;
|
31
|
-
return userCategory === 'staff' ?
|
31
|
+
return userCategory === 'staff' ? values.emptyRequestsStaff : values.emptyRequestsUser;
|
32
32
|
});
|
33
33
|
_defineProperty(this, "refresh", () => {
|
34
34
|
this.onLoadingChanged(true, async () => {
|
35
35
|
try {
|
36
|
-
const res = await
|
36
|
+
const res = await maintenanceActions.getJobsRecursive(this.props.site);
|
37
37
|
// console.log('WidgetSmall - refresh', res.data);
|
38
38
|
this.props.jobsLoaded(res);
|
39
39
|
} catch (error) {
|
@@ -52,7 +52,7 @@ class WidgetSmall extends Component {
|
|
52
52
|
});
|
53
53
|
});
|
54
54
|
_defineProperty(this, "onPressAll", () => {
|
55
|
-
Services.navigation.navigate(
|
55
|
+
Services.navigation.navigate(values.screenMaintenance, {
|
56
56
|
options: this.props.options
|
57
57
|
});
|
58
58
|
});
|
@@ -61,6 +61,8 @@ class WidgetSmall extends Component {
|
|
61
61
|
};
|
62
62
|
}
|
63
63
|
componentDidMount() {
|
64
|
+
this.props.jobStatusesUpdate(this.props.site);
|
65
|
+
this.props.jobHideSeenUpdate(this.props.site);
|
64
66
|
this.refresh();
|
65
67
|
}
|
66
68
|
componentDidUpdate(prevProps) {
|
@@ -164,7 +166,9 @@ const mapStateToProps = state => {
|
|
164
166
|
};
|
165
167
|
};
|
166
168
|
export default connect(mapStateToProps, {
|
167
|
-
jobsLoaded
|
169
|
+
jobsLoaded,
|
170
|
+
jobStatusesUpdate,
|
171
|
+
jobHideSeenUpdate
|
168
172
|
}, null, {
|
169
173
|
forwardRef: true
|
170
174
|
})(WidgetSmall);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","generalActions","jobsLoaded","MaintenanceWidgetItem","Services","Colours","Components","Config","values","MAX_ITEMS","WidgetSmall","constructor","props","_defineProperty","options","isEmpty","Title","strings","featureKey","textFeatureTitle","userCategory","EmptyText","env","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","onLoadingChanged","res","getJobsRecursive","site","error","console","log","loading","callback","setState","state","navigation","navigate","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","renderContent","jobs","createElement","style","styles","loadingPadding","LoadingStateWidget","height","EmptyStateWidget","title","getEmptyStateText","horizontal","contentContainerStyle","paddingLeft","paddingRight","showsHorizontalScrollIndicator","slice","map","job","key","id","render","colourBrandingMain","sectionContainer","sectionPadding","sectionHeading","sectionTitle","getTitle","InlineButton","onPress","onPressAll","color","touchableStyle","paddingTop","textStyle","create","backgroundColor","paddingHorizontal","paddingBottom","marginBottom","flexDirection","alignContent","justifyContent","fontFamily","fontSize","TEXT_DARKEST","mapStateToProps","_state$strings","user","notifications","reducerKey","getMainBrandingColourFromState","orderBy","category","updateKey","config","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, ScrollView, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { generalActions } from '../apis';\nimport { jobsLoaded } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components, Config } from '../core.config';\nimport { values } from '../values.config';\n\nconst MAX_ITEMS = 10;\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = { loading: false };\n }\n\n componentDidMount() {\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;\n };\n\n getEmptyStateText = () => {\n const { options, userCategory } = this.props;\n if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;\n return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n };\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await generalActions.getJobsRecursive(this.props.site);\n // console.log('WidgetSmall - refresh', res.data);\n this.props.jobsLoaded(res);\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n onLoadingChanged = (loading, callback) => {\n this.setState({ loading }, () => {\n if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);\n if (callback) callback();\n });\n };\n\n onPressAll = () => {\n Services.navigation.navigate('maintenance', { options: this.props.options });\n };\n\n renderContent() {\n const { jobs } = this.props;\n if (_.isEmpty(jobs)) {\n if (this.state.loading) {\n return (\n <View style={styles.loadingPadding}>\n <Components.LoadingStateWidget height={180} />\n </View>\n );\n }\n return (\n <View style={styles.loadingPadding}>\n <Components.EmptyStateWidget title={this.getEmptyStateText()} height={180} />\n </View>\n );\n }\n return (\n <ScrollView horizontal contentContainerStyle={{ paddingLeft: 6, paddingRight: 8 }} showsHorizontalScrollIndicator={false}>\n {jobs.slice(0, MAX_ITEMS).map(job => {\n return <MaintenanceWidgetItem key={job.id} job={job} />;\n })}\n </ScrollView>\n );\n }\n\n render() {\n const { colourBrandingMain } = this.props;\n\n return (\n <View style={styles.sectionContainer}>\n <View style={styles.sectionPadding}>\n <View style={styles.sectionHeading}>\n <Text style={styles.sectionTitle}>{this.getTitle()}</Text>\n <Components.InlineButton\n onPress={this.onPressAll}\n color={colourBrandingMain}\n touchableStyle={{ paddingTop: 6 }}\n textStyle={{ color: '#fff' }}\n >\n View All\n </Components.InlineButton>\n </View>\n </View>\n {this.renderContent()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n sectionContainer: {\n backgroundColor: '#fff',\n paddingTop: 16,\n },\n sectionPadding: {\n paddingHorizontal: 16,\n paddingBottom: 6,\n },\n loadingPadding: {\n paddingHorizontal: 16,\n },\n sectionHeading: {\n marginBottom: 4,\n flexDirection: 'row',\n alignContent: 'flex-start',\n justifyContent: 'space-between',\n },\n sectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, notifications } = state;\n const jobs = state[values.reducerKey];\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),\n site: user.site,\n userCategory: user.category,\n dataUpdated: notifications.dataUpdated[values.updateKey],\n strings: state.strings?.config || {},\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded }, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Component","Text","View","ScrollView","StyleSheet","connect","_","maintenanceActions","jobsLoaded","jobStatusesUpdate","jobHideSeenUpdate","MaintenanceWidgetItem","Services","Colours","Components","values","MAX_ITEMS","WidgetSmall","constructor","props","_defineProperty","options","isEmpty","Title","strings","featureKey","textFeatureTitle","userCategory","EmptyText","emptyRequestsStaff","emptyRequestsUser","onLoadingChanged","res","getJobsRecursive","site","error","console","log","loading","callback","setState","state","navigation","navigate","screenMaintenance","componentDidMount","refresh","componentDidUpdate","prevProps","dataUpdated","renderContent","jobs","createElement","style","styles","loadingPadding","LoadingStateWidget","height","EmptyStateWidget","title","getEmptyStateText","horizontal","contentContainerStyle","paddingLeft","paddingRight","showsHorizontalScrollIndicator","slice","map","job","key","id","render","colourBrandingMain","sectionContainer","sectionPadding","sectionHeading","sectionTitle","getTitle","InlineButton","onPress","onPressAll","color","touchableStyle","paddingTop","textStyle","create","backgroundColor","paddingHorizontal","paddingBottom","marginBottom","flexDirection","alignContent","justifyContent","fontFamily","fontSize","TEXT_DARKEST","mapStateToProps","_state$strings","user","notifications","reducerKey","getMainBrandingColourFromState","orderBy","category","updateKey","config","forwardRef"],"sources":["WidgetSmall.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, ScrollView, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { maintenanceActions } from '../apis';\nimport { jobsLoaded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';\nimport MaintenanceWidgetItem from './MaintenanceWidgetItem';\nimport { Services } from '../feature.config';\nimport { Colours, Components } from '../core.config';\nimport { values } from '../values.config';\n\nconst MAX_ITEMS = 10;\n\nclass WidgetSmall extends Component {\n constructor(props) {\n super(props);\n this.state = { loading: false };\n }\n\n componentDidMount() {\n this.props.jobStatusesUpdate(this.props.site);\n this.props.jobHideSeenUpdate(this.props.site);\n this.refresh();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n }\n\n getTitle = () => {\n const { options } = this.props;\n if (options && !_.isEmpty(options.Title)) return options.Title;\n return this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;\n };\n\n getEmptyStateText = () => {\n const { options, userCategory } = this.props;\n if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;\n return userCategory === 'staff' ? values.emptyRequestsStaff : values.emptyRequestsUser;\n };\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const res = await maintenanceActions.getJobsRecursive(this.props.site);\n // console.log('WidgetSmall - refresh', res.data);\n this.props.jobsLoaded(res);\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n onLoadingChanged = (loading, callback) => {\n this.setState({ loading }, () => {\n if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);\n if (callback) callback();\n });\n };\n\n onPressAll = () => {\n Services.navigation.navigate(values.screenMaintenance, { options: this.props.options });\n };\n\n renderContent() {\n const { jobs } = this.props;\n if (_.isEmpty(jobs)) {\n if (this.state.loading) {\n return (\n <View style={styles.loadingPadding}>\n <Components.LoadingStateWidget height={180} />\n </View>\n );\n }\n return (\n <View style={styles.loadingPadding}>\n <Components.EmptyStateWidget title={this.getEmptyStateText()} height={180} />\n </View>\n );\n }\n return (\n <ScrollView horizontal contentContainerStyle={{ paddingLeft: 6, paddingRight: 8 }} showsHorizontalScrollIndicator={false}>\n {jobs.slice(0, MAX_ITEMS).map(job => {\n return <MaintenanceWidgetItem key={job.id} job={job} />;\n })}\n </ScrollView>\n );\n }\n\n render() {\n const { colourBrandingMain } = this.props;\n\n return (\n <View style={styles.sectionContainer}>\n <View style={styles.sectionPadding}>\n <View style={styles.sectionHeading}>\n <Text style={styles.sectionTitle}>{this.getTitle()}</Text>\n <Components.InlineButton\n onPress={this.onPressAll}\n color={colourBrandingMain}\n touchableStyle={{ paddingTop: 6 }}\n textStyle={{ color: '#fff' }}\n >\n View All\n </Components.InlineButton>\n </View>\n </View>\n {this.renderContent()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n sectionContainer: {\n backgroundColor: '#fff',\n paddingTop: 16,\n },\n sectionPadding: {\n paddingHorizontal: 16,\n paddingBottom: 6,\n },\n loadingPadding: {\n paddingHorizontal: 16,\n },\n sectionHeading: {\n marginBottom: 4,\n flexDirection: 'row',\n alignContent: 'flex-start',\n justifyContent: 'space-between',\n },\n sectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, notifications } = state;\n const jobs = state[values.reducerKey];\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),\n site: user.site,\n userCategory: user.category,\n dataUpdated: notifications.dataUpdated[values.updateKey],\n strings: state.strings?.config || {},\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded, jobStatusesUpdate, jobHideSeenUpdate }, null, { forwardRef: true })(WidgetSmall);\n"],"mappings":"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","ignoreList":[]}
|
@@ -13,7 +13,7 @@ const FeatureConfig = {
|
|
13
13
|
title: values.textFeatureTitle,
|
14
14
|
gridMenu: {
|
15
15
|
icon: values.iconGridMenu,
|
16
|
-
viewBox:
|
16
|
+
viewBox: values.gridViewBox,
|
17
17
|
navigate: values.screenMaintenance
|
18
18
|
},
|
19
19
|
addMenu: {
|
@@ -26,7 +26,7 @@ const FeatureConfig = {
|
|
26
26
|
value: values.featureKey
|
27
27
|
}
|
28
28
|
},
|
29
|
-
moreMenu: {
|
29
|
+
moreMenu: values.hasMoreOption ? {
|
30
30
|
order: values.orderMoreMenu,
|
31
31
|
title: values.textMoreMenuTitle,
|
32
32
|
navigate: values.screenMaintenance,
|
@@ -40,7 +40,7 @@ const FeatureConfig = {
|
|
40
40
|
value: 'KIOSK'
|
41
41
|
}]
|
42
42
|
}
|
43
|
-
},
|
43
|
+
} : undefined,
|
44
44
|
kioskAction: {
|
45
45
|
order: values.orderKioskAction,
|
46
46
|
icon: values.iconKioskAction,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["PlussCore","values","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","featureKey","aliases","title","textFeatureTitle","gridMenu","icon","iconGridMenu","viewBox","navigate","screenMaintenance","addMenu","order","orderAddMenu","iconAddMenu","textAddMenuTitle","screenServiceRequest","visibleExps","type","value","moreMenu","orderMoreMenu","textMoreMenuTitle","exps","kioskAction","orderKioskAction","iconKioskAction","textKioskActionTitle","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\nimport { values } from './values.config';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: values.featureKey,\n aliases: values.aliases,\n title: values.textFeatureTitle,\n gridMenu: {\n icon: values.iconGridMenu,\n viewBox:
|
1
|
+
{"version":3,"names":["PlussCore","values","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","featureKey","aliases","title","textFeatureTitle","gridMenu","icon","iconGridMenu","viewBox","gridViewBox","navigate","screenMaintenance","addMenu","order","orderAddMenu","iconAddMenu","textAddMenuTitle","screenServiceRequest","visibleExps","type","value","moreMenu","hasMoreOption","orderMoreMenu","textMoreMenuTitle","exps","undefined","kioskAction","orderKioskAction","iconKioskAction","textKioskActionTitle","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\nimport { values } from './values.config';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: values.featureKey,\n aliases: values.aliases,\n title: values.textFeatureTitle,\n gridMenu: {\n icon: values.iconGridMenu,\n viewBox: values.gridViewBox,\n navigate: values.screenMaintenance,\n },\n addMenu: {\n order: values.orderAddMenu,\n icon: values.iconAddMenu,\n title: values.textAddMenuTitle,\n navigate: values.screenServiceRequest,\n visibleExps: { type: 'feature', value: values.featureKey },\n },\n moreMenu: values.hasMoreOption\n ? {\n order: values.orderMoreMenu,\n title: values.textMoreMenuTitle,\n navigate: values.screenMaintenance,\n visibleExps: {\n type: 'and',\n exps: [\n { type: 'notHidden', value: 'maintenanceRequest' },\n { type: 'notUserType', value: 'KIOSK' },\n ],\n },\n }\n : undefined,\n kioskAction: {\n order: values.orderKioskAction,\n icon: values.iconKioskAction,\n title: values.textKioskActionTitle,\n navigate: values.screenServiceRequest,\n },\n hideTabBar: [],\n env: {\n baseStage: '',\n baseAPIUrl: '',\n hasGradientHeader: false,\n defaultProfileImage: '',\n tinyChatDefault: '',\n baseUploadsUrl: '',\n allowMediaDownload: false,\n allowMediaSharing: false,\n awsUploadsBucket: '',\n awsStorageBucket: '',\n preferredSite: '',\n strings: {},\n newEventDefaults: '',\n defaultAllowComments: true,\n },\n init: (environment, navigation, notificationBell) => {\n FeatureConfig.env = environment;\n Services.navigation = navigation;\n BaseComponents.NotificationBell = notificationBell;\n PlussCore.Config.init(environment, navigation);\n },\n};\nexport default FeatureConfig;\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,QAAQ,GAAG;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAE;AACpB,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,GAAG,EAAEN,MAAM,CAACO,UAAU;EACtBC,OAAO,EAAER,MAAM,CAACQ,OAAO;EACvBC,KAAK,EAAET,MAAM,CAACU,gBAAgB;EAC9BC,QAAQ,EAAE;IACRC,IAAI,EAAEZ,MAAM,CAACa,YAAY;IACzBC,OAAO,EAAEd,MAAM,CAACe,WAAW;IAC3BC,QAAQ,EAAEhB,MAAM,CAACiB;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,KAAK,EAAEnB,MAAM,CAACoB,YAAY;IAC1BR,IAAI,EAAEZ,MAAM,CAACqB,WAAW;IACxBZ,KAAK,EAAET,MAAM,CAACsB,gBAAgB;IAC9BN,QAAQ,EAAEhB,MAAM,CAACuB,oBAAoB;IACrCC,WAAW,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAEC,KAAK,EAAE1B,MAAM,CAACO;IAAW;EAC3D,CAAC;EACDoB,QAAQ,EAAE3B,MAAM,CAAC4B,aAAa,GAC1B;IACET,KAAK,EAAEnB,MAAM,CAAC6B,aAAa;IAC3BpB,KAAK,EAAET,MAAM,CAAC8B,iBAAiB;IAC/Bd,QAAQ,EAAEhB,MAAM,CAACiB,iBAAiB;IAClCO,WAAW,EAAE;MACXC,IAAI,EAAE,KAAK;MACXM,IAAI,EAAE,CACJ;QAAEN,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAqB,CAAC,EAClD;QAAED,IAAI,EAAE,aAAa;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE3C;EACF,CAAC,GACDM,SAAS;EACbC,WAAW,EAAE;IACXd,KAAK,EAAEnB,MAAM,CAACkC,gBAAgB;IAC9BtB,IAAI,EAAEZ,MAAM,CAACmC,eAAe;IAC5B1B,KAAK,EAAET,MAAM,CAACoC,oBAAoB;IAClCpB,QAAQ,EAAEhB,MAAM,CAACuB;EACnB,CAAC;EACDc,UAAU,EAAE,EAAE;EACdC,GAAG,EAAE;IACHC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE,EAAE;IACdC,iBAAiB,EAAE,KAAK;IACxBC,mBAAmB,EAAE,EAAE;IACvBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,EAAE;IAClBC,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE,KAAK;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,EAAE;IACjBC,OAAO,EAAE,CAAC,CAAC;IACXC,gBAAgB,EAAE,EAAE;IACpBC,oBAAoB,EAAE;EACxB,CAAC;EACDC,IAAI,EAAEA,CAACC,WAAW,EAAEpD,UAAU,EAAEqD,gBAAgB,KAAK;IACnDlD,aAAa,CAACiC,GAAG,GAAGgB,WAAW;IAC/BrD,QAAQ,CAACC,UAAU,GAAGA,UAAU;IAChCC,cAAc,CAACC,gBAAgB,GAAGmD,gBAAgB;IAClDxD,SAAS,CAACyD,MAAM,CAACH,IAAI,CAACC,WAAW,EAAEpD,UAAU,CAAC;EAChD;AACF,CAAC;AACD,eAAeG,aAAa","ignoreList":[]}
|
package/dist/module/helper.js
CHANGED
@@ -1,25 +1,47 @@
|
|
1
1
|
import { Colours } from './core.config';
|
2
|
+
const STATUS_NOT_ACTIONED = 'Not Actioned';
|
3
|
+
const STATUS_IN_PROGRESS = 'In Progress';
|
4
|
+
const STATUS_COMPLETED = 'Completed';
|
2
5
|
const jobStatusOptions = [{
|
3
|
-
|
4
|
-
|
6
|
+
text: 'Open',
|
7
|
+
order: 0,
|
8
|
+
color: Colours.LINEGREY,
|
9
|
+
category: STATUS_NOT_ACTIONED
|
5
10
|
}, {
|
6
|
-
|
7
|
-
|
11
|
+
text: 'In Progress',
|
12
|
+
order: 1,
|
13
|
+
color: Colours.COLOUR_TEAL,
|
14
|
+
category: STATUS_IN_PROGRESS
|
8
15
|
}, {
|
9
|
-
|
10
|
-
|
16
|
+
text: 'Completed',
|
17
|
+
order: 2,
|
18
|
+
color: Colours.COLOUR_GREEN_LIGHT,
|
19
|
+
category: STATUS_COMPLETED
|
11
20
|
}];
|
12
|
-
const
|
13
|
-
|
14
|
-
|
21
|
+
const jobPriorityOptions = [{
|
22
|
+
label: 'Low',
|
23
|
+
color: Colours.COLOUR_GREEN,
|
24
|
+
default: true
|
25
|
+
}, {
|
26
|
+
label: 'Medium',
|
27
|
+
color: Colours.COLOUR_TANGERINE
|
28
|
+
}, {
|
29
|
+
label: 'High',
|
30
|
+
color: Colours.COLOUR_RED
|
31
|
+
}];
|
32
|
+
const getJobStatusOptions = props => {
|
33
|
+
var _props$statusTypes;
|
34
|
+
return props !== null && props !== void 0 && (_props$statusTypes = props.statusTypes) !== null && _props$statusTypes !== void 0 && _props$statusTypes.length ? props === null || props === void 0 ? void 0 : props.statusTypes : jobStatusOptions;
|
15
35
|
};
|
16
|
-
const
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
36
|
+
const getDefaultJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_NOT_ACTIONED);
|
37
|
+
const getIncompleteJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_IN_PROGRESS);
|
38
|
+
const getJobStatus = (status, props) => {
|
39
|
+
const statusOptions = getJobStatusOptions(props);
|
40
|
+
// console.log('getJobStatus', JSON.stringify({ status, statusOptions }, null, 2));
|
41
|
+
let statusOption = null;
|
42
|
+
if (status) statusOption = statusOptions.find(s => s.text === status);
|
43
|
+
return statusOption || getDefaultJobStatuses(props)[0];
|
23
44
|
};
|
24
|
-
|
45
|
+
const getJobPriority = priority => jobPriorityOptions.find(p => p.label === priority) || jobPriorityOptions.find(p => p.default);
|
46
|
+
export { jobStatusOptions, jobPriorityOptions, getJobStatusOptions, getDefaultJobStatuses, getIncompleteJobStatuses, getJobStatus, getJobPriority };
|
25
47
|
//# sourceMappingURL=helper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Colours","jobStatusOptions","
|
1
|
+
{"version":3,"names":["Colours","STATUS_NOT_ACTIONED","STATUS_IN_PROGRESS","STATUS_COMPLETED","jobStatusOptions","text","order","color","LINEGREY","category","COLOUR_TEAL","COLOUR_GREEN_LIGHT","jobPriorityOptions","label","COLOUR_GREEN","default","COLOUR_TANGERINE","COLOUR_RED","getJobStatusOptions","props","_props$statusTypes","statusTypes","length","getDefaultJobStatuses","filter","s","getIncompleteJobStatuses","getJobStatus","status","statusOptions","statusOption","find","getJobPriority","priority","p"],"sources":["helper.js"],"sourcesContent":["import { Colours } from './core.config';\n\nconst STATUS_NOT_ACTIONED = 'Not Actioned';\nconst STATUS_IN_PROGRESS = 'In Progress';\nconst STATUS_COMPLETED = 'Completed';\n\nconst jobStatusOptions = [\n {\n text: 'Open',\n order: 0,\n color: Colours.LINEGREY,\n category: STATUS_NOT_ACTIONED,\n },\n {\n text: 'In Progress',\n order: 1,\n color: Colours.COLOUR_TEAL,\n category: STATUS_IN_PROGRESS,\n },\n {\n text: 'Completed',\n order: 2,\n color: Colours.COLOUR_GREEN_LIGHT,\n category: STATUS_COMPLETED,\n },\n];\n\nconst jobPriorityOptions = [\n {\n label: 'Low',\n color: Colours.COLOUR_GREEN,\n default: true,\n },\n {\n label: 'Medium',\n color: Colours.COLOUR_TANGERINE,\n },\n {\n label: 'High',\n color: Colours.COLOUR_RED,\n },\n];\n\nconst getJobStatusOptions = props => props?.statusTypes?.length ? props?.statusTypes : jobStatusOptions;\n\nconst getDefaultJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_NOT_ACTIONED);\n\nconst getIncompleteJobStatuses = props => getJobStatusOptions(props).filter(s => s.category === STATUS_IN_PROGRESS);\n\nconst getJobStatus = (status, props) => {\n const statusOptions = getJobStatusOptions(props);\n // console.log('getJobStatus', JSON.stringify({ status, statusOptions }, null, 2));\n let statusOption = null;\n if (status) statusOption = statusOptions.find(s => s.text === status);\n return statusOption || getDefaultJobStatuses(props)[0];\n}\n\nconst getJobPriority = priority => jobPriorityOptions.find(p => p.label === priority) || jobPriorityOptions.find(p => p.default);\n\nexport {\n jobStatusOptions,\n jobPriorityOptions,\n getJobStatusOptions,\n getDefaultJobStatuses,\n getIncompleteJobStatuses,\n getJobStatus,\n getJobPriority,\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,MAAMC,mBAAmB,GAAG,cAAc;AAC1C,MAAMC,kBAAkB,GAAG,aAAa;AACxC,MAAMC,gBAAgB,GAAG,WAAW;AAEpC,MAAMC,gBAAgB,GAAG,CACvB;EACEC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAEP,OAAO,CAACQ,QAAQ;EACvBC,QAAQ,EAAER;AACZ,CAAC,EACD;EACEI,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAEP,OAAO,CAACU,WAAW;EAC1BD,QAAQ,EAAEP;AACZ,CAAC,EACD;EACEG,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAEP,OAAO,CAACW,kBAAkB;EACjCF,QAAQ,EAAEN;AACZ,CAAC,CACF;AAED,MAAMS,kBAAkB,GAAG,CACzB;EACEC,KAAK,EAAE,KAAK;EACZN,KAAK,EAAEP,OAAO,CAACc,YAAY;EAC3BC,OAAO,EAAE;AACX,CAAC,EACD;EACEF,KAAK,EAAE,QAAQ;EACfN,KAAK,EAAEP,OAAO,CAACgB;AACjB,CAAC,EACD;EACEH,KAAK,EAAE,MAAM;EACbN,KAAK,EAAEP,OAAO,CAACiB;AACjB,CAAC,CACF;AAED,MAAMC,mBAAmB,GAAGC,KAAK;EAAA,IAAAC,kBAAA;EAAA,OAAID,KAAK,aAALA,KAAK,gBAAAC,kBAAA,GAALD,KAAK,CAAEE,WAAW,cAAAD,kBAAA,eAAlBA,kBAAA,CAAoBE,MAAM,GAAGH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,WAAW,GAAGjB,gBAAgB;AAAA;AAEvG,MAAMmB,qBAAqB,GAAGJ,KAAK,IAAID,mBAAmB,CAACC,KAAK,CAAC,CAACK,MAAM,CAACC,CAAC,IAAIA,CAAC,CAAChB,QAAQ,KAAKR,mBAAmB,CAAC;AAEjH,MAAMyB,wBAAwB,GAAGP,KAAK,IAAID,mBAAmB,CAACC,KAAK,CAAC,CAACK,MAAM,CAACC,CAAC,IAAIA,CAAC,CAAChB,QAAQ,KAAKP,kBAAkB,CAAC;AAEnH,MAAMyB,YAAY,GAAGA,CAACC,MAAM,EAAET,KAAK,KAAK;EACtC,MAAMU,aAAa,GAAGX,mBAAmB,CAACC,KAAK,CAAC;EAChD;EACA,IAAIW,YAAY,GAAG,IAAI;EACvB,IAAIF,MAAM,EAAEE,YAAY,GAAGD,aAAa,CAACE,IAAI,CAACN,CAAC,IAAIA,CAAC,CAACpB,IAAI,KAAKuB,MAAM,CAAC;EACrE,OAAOE,YAAY,IAAIP,qBAAqB,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAMa,cAAc,GAAGC,QAAQ,IAAIrB,kBAAkB,CAACmB,IAAI,CAACG,CAAC,IAAIA,CAAC,CAACrB,KAAK,KAAKoB,QAAQ,CAAC,IAAIrB,kBAAkB,CAACmB,IAAI,CAACG,CAAC,IAAIA,CAAC,CAACnB,OAAO,CAAC;AAEhI,SACEX,gBAAgB,EAChBQ,kBAAkB,EAClBM,mBAAmB,EACnBK,qBAAqB,EACrBG,wBAAwB,EACxBC,YAAY,EACZK,cAAc","ignoreList":[]}
|