@plusscommunities/pluss-maintenance-app 6.0.19 → 6.0.21-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/module/actions/JobActions.js +4 -4
  2. package/dist/module/actions/JobActions.js.map +1 -1
  3. package/dist/module/actions/index.js +1 -1
  4. package/dist/module/actions/index.js.map +1 -1
  5. package/dist/module/actions/types.js +1 -1
  6. package/dist/module/actions/types.js.map +1 -1
  7. package/dist/module/apis/index.js +3 -3
  8. package/dist/module/apis/index.js.map +1 -1
  9. package/dist/module/apis/maintenanceActions.js +36 -36
  10. package/dist/module/apis/maintenanceActions.js.map +1 -1
  11. package/dist/module/apis/userActions.js +5 -5
  12. package/dist/module/apis/userActions.js.map +1 -1
  13. package/dist/module/components/FilterPopupMenu.js +49 -49
  14. package/dist/module/components/FilterPopupMenu.js.map +1 -1
  15. package/dist/module/components/MaintenanceList.js +38 -38
  16. package/dist/module/components/MaintenanceList.js.map +1 -1
  17. package/dist/module/components/MaintenanceListItem.js +62 -62
  18. package/dist/module/components/MaintenanceListItem.js.map +1 -1
  19. package/dist/module/components/MaintenanceWidgetItem.js +27 -27
  20. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
  21. package/dist/module/components/PrioritySelectorPopup.js +15 -15
  22. package/dist/module/components/PrioritySelectorPopup.js.map +1 -1
  23. package/dist/module/components/StatusSelectorPopup.js +16 -16
  24. package/dist/module/components/StatusSelectorPopup.js.map +1 -1
  25. package/dist/module/components/WidgetLarge.js +2 -2
  26. package/dist/module/components/WidgetLarge.js.map +1 -1
  27. package/dist/module/components/WidgetSmall.js +19 -19
  28. package/dist/module/components/WidgetSmall.js.map +1 -1
  29. package/dist/module/core.config.js +1 -1
  30. package/dist/module/core.config.js.map +1 -1
  31. package/dist/module/feature.config.js +17 -17
  32. package/dist/module/feature.config.js.map +1 -1
  33. package/dist/module/helper.js +10 -10
  34. package/dist/module/helper.js.map +1 -1
  35. package/dist/module/index.js +11 -11
  36. package/dist/module/index.js.map +1 -1
  37. package/dist/module/reducers/JobsReducer.js +13 -13
  38. package/dist/module/reducers/JobsReducer.js.map +1 -1
  39. package/dist/module/screens/JobTypePicker.js +17 -17
  40. package/dist/module/screens/JobTypePicker.js.map +1 -1
  41. package/dist/module/screens/MaintenancePage.js +10 -10
  42. package/dist/module/screens/MaintenancePage.js.map +1 -1
  43. package/dist/module/screens/MaintenanceUserPicker.js +129 -22
  44. package/dist/module/screens/MaintenanceUserPicker.js.map +1 -1
  45. package/dist/module/screens/RequestDetail.js +146 -146
  46. package/dist/module/screens/RequestDetail.js.map +1 -1
  47. package/dist/module/screens/RequestNotes.js +59 -59
  48. package/dist/module/screens/RequestNotes.js.map +1 -1
  49. package/dist/module/screens/ServiceRequest.js +187 -187
  50. package/dist/module/screens/ServiceRequest.js.map +1 -1
  51. package/dist/module/values.config.a.js +30 -30
  52. package/dist/module/values.config.a.js.map +1 -1
  53. package/dist/module/values.config.default.js +34 -34
  54. package/dist/module/values.config.default.js.map +1 -1
  55. package/dist/module/values.config.enquiry.js +34 -34
  56. package/dist/module/values.config.enquiry.js.map +1 -1
  57. package/dist/module/values.config.feedback.js +34 -34
  58. package/dist/module/values.config.feedback.js.map +1 -1
  59. package/dist/module/values.config.food.js +34 -34
  60. package/dist/module/values.config.food.js.map +1 -1
  61. package/dist/module/values.config.forms.js +34 -34
  62. package/dist/module/values.config.forms.js.map +1 -1
  63. package/dist/module/values.config.js +34 -34
  64. package/dist/module/values.config.js.map +1 -1
  65. package/package.json +51 -51
  66. package/src/actions/JobActions.js +67 -60
  67. package/src/actions/index.js +1 -1
  68. package/src/actions/types.js +1 -2
  69. package/src/apis/index.js +3 -3
  70. package/src/apis/maintenanceActions.js +189 -178
  71. package/src/apis/userActions.js +17 -17
  72. package/src/components/FilterPopupMenu.js +313 -256
  73. package/src/components/MaintenanceList.js +396 -317
  74. package/src/components/MaintenanceListItem.js +347 -288
  75. package/src/components/MaintenanceWidgetItem.js +145 -124
  76. package/src/components/PrioritySelectorPopup.js +81 -68
  77. package/src/components/StatusSelectorPopup.js +81 -70
  78. package/src/components/WidgetLarge.js +5 -5
  79. package/src/components/WidgetSmall.js +153 -133
  80. package/src/core.config.js +27 -3
  81. package/src/feature.config.js +62 -62
  82. package/src/helper.js +58 -53
  83. package/src/index.js +22 -22
  84. package/src/reducers/JobsReducer.js +85 -66
  85. package/src/screens/JobTypePicker.js +115 -92
  86. package/src/screens/MaintenancePage.js +89 -80
  87. package/src/screens/MaintenanceUserPicker.js +252 -100
  88. package/src/screens/RequestDetail.js +1348 -1125
  89. package/src/screens/RequestNotes.js +950 -806
  90. package/src/screens/ServiceRequest.js +1778 -1550
  91. package/src/values.config.a.js +33 -33
  92. package/src/values.config.default.js +39 -39
  93. package/src/values.config.enquiry.js +39 -39
  94. package/src/values.config.feedback.js +39 -39
  95. package/src/values.config.food.js +39 -39
  96. package/src/values.config.forms.js +39 -39
  97. package/src/values.config.js +39 -39
@@ -1,285 +1,342 @@
1
- import React, { Component } from 'react';
2
- import { View, Text, TouchableOpacity, Modal, ScrollView, Dimensions } from 'react-native';
3
- import { connect } from 'react-redux';
4
- import _ from 'lodash';
5
- import { maintenanceActions } from '../apis';
6
- import { Colours, Helper } from '../core.config';
7
- import { getJobStatusOptions, getIncompleteJobStatuses, jobPriorityOptions, getDefaultJobPriority } from '../helper';
8
- import { values } from '../values.config';
1
+ import React, { Component } from "react";
2
+ import {
3
+ View,
4
+ Text,
5
+ TouchableOpacity,
6
+ Modal,
7
+ ScrollView,
8
+ Dimensions,
9
+ } from "react-native";
10
+ import { connect } from "react-redux";
11
+ import _ from "lodash";
12
+ import { maintenanceActions } from "../apis";
13
+ import { Colours, Helper } from "../core.config";
14
+ import {
15
+ getJobStatusOptions,
16
+ getIncompleteJobStatuses,
17
+ jobPriorityOptions,
18
+ getDefaultJobPriority,
19
+ } from "../helper";
20
+ import { values } from "../values.config";
9
21
 
10
- const SCREEN_HEIGHT = Dimensions.get('window').height;
22
+ const SCREEN_HEIGHT = Dimensions.get("window").height;
11
23
 
12
24
  class FilterPopupMenu extends Component {
13
- constructor(props) {
14
- super(props);
25
+ constructor(props) {
26
+ super(props);
15
27
 
16
- this.state = {
17
- types: props.types || [],
18
- selectedStatus: props.status || '',
19
- selectedPriority: props.priority || '',
20
- selectedType: props.type || '',
21
- selectedAssignee: props.assignee || '',
22
- assignees: [],
23
- };
24
- }
28
+ this.state = {
29
+ types: props.types || [],
30
+ selectedStatus: props.status || "",
31
+ selectedPriority: props.priority || "",
32
+ selectedType: props.type || "",
33
+ selectedAssignee: props.assignee || "",
34
+ assignees: [],
35
+ };
36
+ }
25
37
 
26
- componentDidMount() {
27
- this.getAssignees();
28
- if (_.isEmpty(this.state.types)) this.refreshTypes();
29
- }
38
+ componentDidMount() {
39
+ this.getAssignees();
40
+ if (_.isEmpty(this.state.types)) this.refreshTypes();
41
+ }
30
42
 
31
- componentDidUpdate(prevProps) {
32
- if (prevProps.site !== this.props.site) {
33
- this.refreshTypes();
34
- }
35
- }
43
+ componentDidUpdate(prevProps) {
44
+ if (prevProps.site !== this.props.site) {
45
+ this.refreshTypes();
46
+ }
47
+ }
36
48
 
37
- getStatusOptions = () => {
38
- const statusOptions = getJobStatusOptions(this.props);
39
- const options = [
40
- {
41
- label: 'All',
42
- value: '',
43
- },
44
- {
45
- label: 'Incomplete',
46
- value: `Unassigned|${getIncompleteJobStatuses(this.props)
47
- .map(s => s.text)
48
- .join('|')}`,
49
- },
50
- ...statusOptions.map(s => ({
51
- label: s.text,
52
- value: s.text,
53
- })),
54
- ];
55
- // console.log('getStatusOptions', JSON.stringify(options, null, 2));
56
- return options;
57
- };
49
+ getStatusOptions = () => {
50
+ const statusOptions = getJobStatusOptions(this.props);
51
+ const options = [
52
+ {
53
+ label: "All",
54
+ value: "",
55
+ },
56
+ {
57
+ label: "Incomplete",
58
+ value: `Unassigned|${getIncompleteJobStatuses(this.props)
59
+ .map((s) => s.text)
60
+ .join("|")}`,
61
+ },
62
+ ...statusOptions.map((s) => ({
63
+ label: s.text,
64
+ value: s.text,
65
+ })),
66
+ ];
67
+ // console.log('getStatusOptions', JSON.stringify(options, null, 2));
68
+ return options;
69
+ };
58
70
 
59
- getPriorityOptions = () => {
60
- const priorityOptions = jobPriorityOptions;
61
- const defaultPriority = getDefaultJobPriority();
62
- const options = [
63
- {
64
- label: 'All',
65
- value: '',
66
- },
67
- ...priorityOptions.map(p => ({
68
- label: p.label,
69
- value: p.label === defaultPriority?.label ? `${p.label}|undefined` : p.label,
70
- })),
71
- ];
72
- // console.log('getPriorityOptions', JSON.stringify(options, null, 2));
73
- return options;
74
- };
71
+ getPriorityOptions = () => {
72
+ const priorityOptions = jobPriorityOptions;
73
+ const defaultPriority = getDefaultJobPriority();
74
+ const options = [
75
+ {
76
+ label: "All",
77
+ value: "",
78
+ },
79
+ ...priorityOptions.map((p) => ({
80
+ label: p.label,
81
+ value:
82
+ p.label === defaultPriority?.label ? `${p.label}|undefined` : p.label,
83
+ })),
84
+ ];
85
+ // console.log('getPriorityOptions', JSON.stringify(options, null, 2));
86
+ return options;
87
+ };
75
88
 
76
- getAssignees = async () => {
77
- try {
78
- const res = await maintenanceActions.getAssignees(this.props.site);
79
- let assignees = res.data.Users.map(t => {
80
- return { label: t.displayName, value: t.id };
81
- });
82
- assignees = _.orderBy(assignees, 'label');
89
+ getAssignees = async () => {
90
+ try {
91
+ const res = await maintenanceActions.getAssignees(this.props.site);
92
+ let assignees = res.data.Users.map((t) => {
93
+ return { label: t.displayName, value: t.id };
94
+ });
95
+ assignees = _.orderBy(assignees, "label");
83
96
 
84
- assignees.splice(0, 0, { label: 'All', value: '' });
97
+ assignees.splice(0, 0, { label: "All", value: "" });
85
98
 
86
- const newState = { assignees };
99
+ const newState = { assignees };
87
100
 
88
- if (!assignees.some(a => a.value === this.state.selectedAssignee)) {
89
- newState.selectedAssignee = '';
90
- }
91
- // console.log('refreshassignees', assignees);
92
- this.setState(newState);
93
- } catch (error) {
94
- console.error('getAssignees', error);
95
- }
96
- };
101
+ if (!assignees.some((a) => a.value === this.state.selectedAssignee)) {
102
+ newState.selectedAssignee = "";
103
+ }
104
+ // console.log('refreshassignees', assignees);
105
+ this.setState(newState);
106
+ } catch (error) {
107
+ console.error("getAssignees", error);
108
+ }
109
+ };
97
110
 
98
- refreshTypes = async () => {
99
- const { data } = await maintenanceActions.getJobTypes(Helper.getSite(this.props.site));
100
- const types = data.map(t => {
101
- return { label: t.typeName, value: t.typeName };
102
- });
103
- types.splice(0, 0, { label: 'All', value: '' });
104
- // console.log('refreshTypes', types);
105
- this.setState({ types });
106
- };
111
+ refreshTypes = async () => {
112
+ const { data } = await maintenanceActions.getJobTypes(
113
+ Helper.getSite(this.props.site),
114
+ );
115
+ const types = data.map((t) => {
116
+ return { label: t.typeName, value: t.typeName };
117
+ });
118
+ types.splice(0, 0, { label: "All", value: "" });
119
+ // console.log('refreshTypes', types);
120
+ this.setState({ types });
121
+ };
107
122
 
108
- onSelectOption = (key, value) => {
109
- const newState = {};
110
- newState[key] = value;
111
- this.setState(newState);
112
- };
123
+ onSelectOption = (key, value) => {
124
+ const newState = {};
125
+ newState[key] = value;
126
+ this.setState(newState);
127
+ };
113
128
 
114
- onDone = () => {
115
- const { onClose } = this.props;
116
- const { selectedStatus, selectedPriority, selectedType, selectedAssignee } = this.state;
117
- if (onClose)
118
- onClose({
119
- status: selectedStatus,
120
- statusText: this.getStatusOptions().find(o => o.value === selectedStatus)?.label,
121
- priority: selectedPriority,
122
- priorityText: this.getPriorityOptions().find(o => o.value === selectedPriority)?.label,
123
- type: selectedType,
124
- assignee: selectedAssignee,
125
- assigneeName: this.state.assignees.find(a => a.value === selectedAssignee)?.label,
126
- });
127
- };
129
+ onDone = () => {
130
+ const { onClose } = this.props;
131
+ const { selectedStatus, selectedPriority, selectedType, selectedAssignee } =
132
+ this.state;
133
+ if (onClose)
134
+ onClose({
135
+ status: selectedStatus,
136
+ statusText: this.getStatusOptions().find(
137
+ (o) => o.value === selectedStatus,
138
+ )?.label,
139
+ priority: selectedPriority,
140
+ priorityText: this.getPriorityOptions().find(
141
+ (o) => o.value === selectedPriority,
142
+ )?.label,
143
+ type: selectedType,
144
+ assignee: selectedAssignee,
145
+ assigneeName: this.state.assignees.find(
146
+ (a) => a.value === selectedAssignee,
147
+ )?.label,
148
+ });
149
+ };
128
150
 
129
- renderTitle() {
130
- const { title } = this.props;
131
- return (
132
- <View style={styles.titleContainer}>
133
- <Text style={styles.titleText}>{title || 'Filter By'}</Text>
134
- </View>
135
- );
136
- }
151
+ renderTitle() {
152
+ const { title } = this.props;
153
+ return (
154
+ <View style={styles.titleContainer}>
155
+ <Text style={styles.titleText}>{title || "Filter By"}</Text>
156
+ </View>
157
+ );
158
+ }
137
159
 
138
- renderCancel() {
139
- const { colourBrandingMain, cancelText } = this.props;
140
- return (
141
- <TouchableOpacity onPress={this.onDone}>
142
- <View style={styles.cancelContainer}>
143
- <Text style={[styles.cancelText, { color: colourBrandingMain }]}>{cancelText || 'Done'}</Text>
144
- </View>
145
- </TouchableOpacity>
146
- );
147
- }
160
+ renderCancel() {
161
+ const { colourBrandingMain, cancelText } = this.props;
162
+ return (
163
+ <TouchableOpacity onPress={this.onDone}>
164
+ <View style={styles.cancelContainer}>
165
+ <Text style={[styles.cancelText, { color: colourBrandingMain }]}>
166
+ {cancelText || "Done"}
167
+ </Text>
168
+ </View>
169
+ </TouchableOpacity>
170
+ );
171
+ }
148
172
 
149
- renderOptions(title, options, selectedKey) {
150
- const { colourBrandingMain } = this.props;
151
- return (
152
- <View style={styles.optionsContainer}>
153
- <Text style={styles.optionsTitle}>{title}</Text>
154
- <View style={styles.options}>
155
- {options.map(o => {
156
- const selected = this.state[selectedKey];
157
- const backgroundColor = o.value === selected ? colourBrandingMain : '#fff';
158
- const color = o.value === selected ? '#fff' : colourBrandingMain;
159
- return (
160
- <TouchableOpacity key={o.label} onPress={() => this.onSelectOption(selectedKey, o.value)}>
161
- <View style={[styles.optionContainer, { backgroundColor, borderColor: colourBrandingMain }]}>
162
- <Text style={[styles.optionText, { color }]}>{o.label}</Text>
163
- </View>
164
- </TouchableOpacity>
165
- );
166
- })}
167
- </View>
168
- </View>
169
- );
170
- }
173
+ renderOptions(title, options, selectedKey) {
174
+ const { colourBrandingMain } = this.props;
175
+ return (
176
+ <View style={styles.optionsContainer}>
177
+ <Text style={styles.optionsTitle}>{title}</Text>
178
+ <View style={styles.options}>
179
+ {options.map((o) => {
180
+ const selected = this.state[selectedKey];
181
+ const backgroundColor =
182
+ o.value === selected ? colourBrandingMain : "#fff";
183
+ const color = o.value === selected ? "#fff" : colourBrandingMain;
184
+ return (
185
+ <TouchableOpacity
186
+ key={o.label}
187
+ onPress={() => this.onSelectOption(selectedKey, o.value)}
188
+ >
189
+ <View
190
+ style={[
191
+ styles.optionContainer,
192
+ { backgroundColor, borderColor: colourBrandingMain },
193
+ ]}
194
+ >
195
+ <Text style={[styles.optionText, { color }]}>{o.label}</Text>
196
+ </View>
197
+ </TouchableOpacity>
198
+ );
199
+ })}
200
+ </View>
201
+ </View>
202
+ );
203
+ }
171
204
 
172
- render() {
173
- // console.log('FilterPopupMenu', JSON.stringify({ category: this.props.user.category, permissions: this.props.user.permissions }, null, 2))
174
- const isStaff = this.props.user.category === 'staff';
175
- const canFilterAssignee = !_.includes(this.props.user.permissions, values.permissionMaintenanceAssignment);
205
+ render() {
206
+ // console.log('FilterPopupMenu', JSON.stringify({ category: this.props.user.category, permissions: this.props.user.permissions }, null, 2))
207
+ const isStaff = this.props.user.category === "staff";
208
+ const canFilterAssignee = !_.includes(
209
+ this.props.user.permissions,
210
+ values.permissionMaintenanceAssignment,
211
+ );
176
212
 
177
- return (
178
- <Modal visible transparent animationType="slide" onRequestClose={this.onDone}>
179
- <View style={styles.container}>
180
- <View style={styles.menu}>
181
- {this.renderTitle()}
182
- <ScrollView style={styles.optionContent}>
183
- {this.renderOptions('Status', this.getStatusOptions(), 'selectedStatus')}
184
- {isStaff ? this.renderOptions('Priority', this.getPriorityOptions(), 'selectedPriority') : null}
185
- {this.renderOptions('Type', this.state.types, 'selectedType')}
186
- {canFilterAssignee ? this.renderOptions('Assigned To', this.state.assignees, 'selectedAssignee') : null}
187
- </ScrollView>
188
- {this.renderCancel()}
189
- </View>
190
- </View>
191
- </Modal>
192
- );
193
- }
213
+ return (
214
+ <Modal
215
+ visible
216
+ transparent
217
+ animationType="slide"
218
+ onRequestClose={this.onDone}
219
+ >
220
+ <View style={styles.container}>
221
+ <View style={styles.menu}>
222
+ {this.renderTitle()}
223
+ <ScrollView style={styles.optionContent}>
224
+ {this.renderOptions(
225
+ "Status",
226
+ this.getStatusOptions(),
227
+ "selectedStatus",
228
+ )}
229
+ {isStaff
230
+ ? this.renderOptions(
231
+ "Priority",
232
+ this.getPriorityOptions(),
233
+ "selectedPriority",
234
+ )
235
+ : null}
236
+ {this.renderOptions("Type", this.state.types, "selectedType")}
237
+ {canFilterAssignee
238
+ ? this.renderOptions(
239
+ "Assigned To",
240
+ this.state.assignees,
241
+ "selectedAssignee",
242
+ )
243
+ : null}
244
+ </ScrollView>
245
+ {this.renderCancel()}
246
+ </View>
247
+ </View>
248
+ </Modal>
249
+ );
250
+ }
194
251
  }
195
252
 
196
253
  const styles = {
197
- container: {
198
- position: 'absolute',
199
- bottom: 0,
200
- left: 0,
201
- right: 0,
202
- top: 0,
203
- backgroundColor: 'rgba(0,0,0,0.5)',
204
- zIndex: 1000,
205
- },
206
- menu: {
207
- position: 'absolute',
208
- bottom: 0,
209
- left: 0,
210
- right: 0,
211
- backgroundColor: '#fff',
212
- borderTopLeftRadius: 12,
213
- borderTopRightRadius: 12,
214
- maxHeight: SCREEN_HEIGHT * 0.8,
215
- },
216
- cancelContainer: {
217
- paddingVertical: 16,
218
- borderColor: Colours.LINEGREY,
219
- borderTopWidth: 1,
220
- paddingHorizontal: 16,
221
- },
222
- cancelText: {
223
- fontFamily: 'sf-medium',
224
- fontSize: 16,
225
- textAlign: 'center',
226
- color: Colours.TEXT_DARK,
227
- },
228
- titleContainer: {
229
- padding: 16,
230
- borderColor: Colours.LINEGREY,
231
- borderBottomWidth: 1,
232
- },
233
- titleText: {
234
- fontFamily: 'sf-semibold',
235
- fontSize: 16,
236
- textAlign: 'center',
237
- color: Colours.TEXT_DARK,
238
- },
239
- optionContent: {
240
- paddingVertical: 10,
241
- },
242
- optionsContainer: {
243
- marginHorizontal: 14,
244
- },
245
- optionsTitle: {
246
- fontFamily: 'sf-semibold',
247
- marginBottom: 4,
248
- },
249
- options: {
250
- flex: 1,
251
- flexDirection: 'row',
252
- flexWrap: 'wrap',
253
- },
254
- optionContainer: {
255
- flexDirection: 'row',
256
- alignItems: 'center',
257
- justifyContent: 'center',
258
- minWidth: 50,
259
- height: 30,
260
- paddingHorizontal: 8,
261
- borderRadius: 4,
262
- borderWidth: 1,
263
- marginRight: 8,
264
- marginBottom: 8,
265
- },
266
- optionText: {
267
- color: '#fff',
268
- textAlign: 'center',
269
- fontFamily: 'sf-semibold',
270
- fontSize: 13,
271
- },
254
+ container: {
255
+ position: "absolute",
256
+ bottom: 0,
257
+ left: 0,
258
+ right: 0,
259
+ top: 0,
260
+ backgroundColor: "rgba(0,0,0,0.5)",
261
+ zIndex: 1000,
262
+ },
263
+ menu: {
264
+ position: "absolute",
265
+ bottom: 0,
266
+ left: 0,
267
+ right: 0,
268
+ backgroundColor: "#fff",
269
+ borderTopLeftRadius: 12,
270
+ borderTopRightRadius: 12,
271
+ maxHeight: SCREEN_HEIGHT * 0.8,
272
+ },
273
+ cancelContainer: {
274
+ paddingVertical: 16,
275
+ borderColor: Colours.LINEGREY,
276
+ borderTopWidth: 1,
277
+ paddingHorizontal: 16,
278
+ },
279
+ cancelText: {
280
+ fontFamily: "sf-medium",
281
+ fontSize: 16,
282
+ textAlign: "center",
283
+ color: Colours.TEXT_DARK,
284
+ },
285
+ titleContainer: {
286
+ padding: 16,
287
+ borderColor: Colours.LINEGREY,
288
+ borderBottomWidth: 1,
289
+ },
290
+ titleText: {
291
+ fontFamily: "sf-semibold",
292
+ fontSize: 16,
293
+ textAlign: "center",
294
+ color: Colours.TEXT_DARK,
295
+ },
296
+ optionContent: {
297
+ paddingVertical: 10,
298
+ },
299
+ optionsContainer: {
300
+ marginHorizontal: 14,
301
+ },
302
+ optionsTitle: {
303
+ fontFamily: "sf-semibold",
304
+ marginBottom: 4,
305
+ },
306
+ options: {
307
+ flex: 1,
308
+ flexDirection: "row",
309
+ flexWrap: "wrap",
310
+ },
311
+ optionContainer: {
312
+ flexDirection: "row",
313
+ alignItems: "center",
314
+ justifyContent: "center",
315
+ minWidth: 50,
316
+ height: 30,
317
+ paddingHorizontal: 8,
318
+ borderRadius: 4,
319
+ borderWidth: 1,
320
+ marginRight: 8,
321
+ marginBottom: 8,
322
+ },
323
+ optionText: {
324
+ color: "#fff",
325
+ textAlign: "center",
326
+ fontFamily: "sf-semibold",
327
+ fontSize: 13,
328
+ },
272
329
  };
273
330
 
274
- const mapStateToProps = state => {
275
- const { user } = state;
331
+ const mapStateToProps = (state) => {
332
+ const { user } = state;
276
333
 
277
- return {
278
- user,
279
- site: user.site,
280
- colourBrandingMain: Colours.getMainBrandingColourFromState(state),
281
- statusTypes: state[values.reducerKey].jobstatuses,
282
- };
334
+ return {
335
+ user,
336
+ site: user.site,
337
+ colourBrandingMain: Colours.getMainBrandingColourFromState(state),
338
+ statusTypes: state[values.reducerKey].jobstatuses,
339
+ };
283
340
  };
284
341
 
285
342
  export default connect(mapStateToProps, {})(FilterPopupMenu);