@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.
- package/dist/module/actions/JobActions.js +4 -4
- package/dist/module/actions/JobActions.js.map +1 -1
- package/dist/module/actions/index.js +1 -1
- package/dist/module/actions/index.js.map +1 -1
- package/dist/module/actions/types.js +1 -1
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/index.js +3 -3
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/apis/maintenanceActions.js +36 -36
- package/dist/module/apis/maintenanceActions.js.map +1 -1
- package/dist/module/apis/userActions.js +5 -5
- package/dist/module/apis/userActions.js.map +1 -1
- package/dist/module/components/FilterPopupMenu.js +49 -49
- package/dist/module/components/FilterPopupMenu.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +38 -38
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +62 -62
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +27 -27
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/PrioritySelectorPopup.js +15 -15
- package/dist/module/components/PrioritySelectorPopup.js.map +1 -1
- package/dist/module/components/StatusSelectorPopup.js +16 -16
- package/dist/module/components/StatusSelectorPopup.js.map +1 -1
- package/dist/module/components/WidgetLarge.js +2 -2
- package/dist/module/components/WidgetLarge.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +19 -19
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/core.config.js +1 -1
- package/dist/module/core.config.js.map +1 -1
- package/dist/module/feature.config.js +17 -17
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/helper.js +10 -10
- package/dist/module/helper.js.map +1 -1
- package/dist/module/index.js +11 -11
- package/dist/module/index.js.map +1 -1
- package/dist/module/reducers/JobsReducer.js +13 -13
- package/dist/module/reducers/JobsReducer.js.map +1 -1
- package/dist/module/screens/JobTypePicker.js +17 -17
- package/dist/module/screens/JobTypePicker.js.map +1 -1
- package/dist/module/screens/MaintenancePage.js +10 -10
- package/dist/module/screens/MaintenancePage.js.map +1 -1
- package/dist/module/screens/MaintenanceUserPicker.js +129 -22
- package/dist/module/screens/MaintenanceUserPicker.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +146 -146
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +59 -59
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +187 -187
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +30 -30
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.default.js +34 -34
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.enquiry.js +34 -34
- package/dist/module/values.config.enquiry.js.map +1 -1
- package/dist/module/values.config.feedback.js +34 -34
- package/dist/module/values.config.feedback.js.map +1 -1
- package/dist/module/values.config.food.js +34 -34
- package/dist/module/values.config.food.js.map +1 -1
- package/dist/module/values.config.forms.js +34 -34
- package/dist/module/values.config.forms.js.map +1 -1
- package/dist/module/values.config.js +34 -34
- package/dist/module/values.config.js.map +1 -1
- package/package.json +51 -51
- package/src/actions/JobActions.js +67 -60
- package/src/actions/index.js +1 -1
- package/src/actions/types.js +1 -2
- package/src/apis/index.js +3 -3
- package/src/apis/maintenanceActions.js +189 -178
- package/src/apis/userActions.js +17 -17
- package/src/components/FilterPopupMenu.js +313 -256
- package/src/components/MaintenanceList.js +396 -317
- package/src/components/MaintenanceListItem.js +347 -288
- package/src/components/MaintenanceWidgetItem.js +145 -124
- package/src/components/PrioritySelectorPopup.js +81 -68
- package/src/components/StatusSelectorPopup.js +81 -70
- package/src/components/WidgetLarge.js +5 -5
- package/src/components/WidgetSmall.js +153 -133
- package/src/core.config.js +27 -3
- package/src/feature.config.js +62 -62
- package/src/helper.js +58 -53
- package/src/index.js +22 -22
- package/src/reducers/JobsReducer.js +85 -66
- package/src/screens/JobTypePicker.js +115 -92
- package/src/screens/MaintenancePage.js +89 -80
- package/src/screens/MaintenanceUserPicker.js +252 -100
- package/src/screens/RequestDetail.js +1348 -1125
- package/src/screens/RequestNotes.js +950 -806
- package/src/screens/ServiceRequest.js +1778 -1550
- package/src/values.config.a.js +33 -33
- package/src/values.config.default.js +39 -39
- package/src/values.config.enquiry.js +39 -39
- package/src/values.config.feedback.js +39 -39
- package/src/values.config.food.js +39 -39
- package/src/values.config.forms.js +39 -39
- package/src/values.config.js +39 -39
|
@@ -1,21 +1,21 @@
|
|
|
1
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
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
|
-
import React, { Component } from
|
|
5
|
-
import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } from
|
|
6
|
-
import DateTimePicker from
|
|
7
|
-
import { Icon } from
|
|
8
|
-
import _ from
|
|
9
|
-
import moment from
|
|
10
|
-
import { connect } from
|
|
11
|
-
import { maintenanceActions } from
|
|
12
|
-
import { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from
|
|
13
|
-
import StatusSelectorPopup from
|
|
14
|
-
import PrioritySelectorPopup from
|
|
15
|
-
import { getJobStatus, getJobPriority } from
|
|
16
|
-
import { Services } from
|
|
17
|
-
import { Colours, Helper, Components, Config } from
|
|
18
|
-
import { values } from
|
|
4
|
+
import React, { Component } from "react";
|
|
5
|
+
import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } from "react-native";
|
|
6
|
+
import DateTimePicker from "react-native-modal-datetime-picker";
|
|
7
|
+
import { Icon } from "react-native-elements";
|
|
8
|
+
import _ from "lodash";
|
|
9
|
+
import moment from "moment";
|
|
10
|
+
import { connect } from "react-redux";
|
|
11
|
+
import { maintenanceActions } from "../apis";
|
|
12
|
+
import { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from "../actions";
|
|
13
|
+
import StatusSelectorPopup from "../components/StatusSelectorPopup";
|
|
14
|
+
import PrioritySelectorPopup from "../components/PrioritySelectorPopup";
|
|
15
|
+
import { getJobStatus, getJobPriority } from "../helper";
|
|
16
|
+
import { Services } from "../feature.config";
|
|
17
|
+
import { Colours, Helper, Components, Config } from "../core.config";
|
|
18
|
+
import { values } from "../values.config";
|
|
19
19
|
class RequestDetail extends Component {
|
|
20
20
|
constructor(props) {
|
|
21
21
|
super(props);
|
|
@@ -31,14 +31,14 @@ class RequestDetail extends Component {
|
|
|
31
31
|
// Refresh external sync data when job is refreshed
|
|
32
32
|
this.getExternalSync();
|
|
33
33
|
} catch (error) {
|
|
34
|
-
console.log(
|
|
34
|
+
console.log("getJob error", error.toString());
|
|
35
35
|
// check for 403 or 404 error
|
|
36
36
|
if (error.response.status === 403 || error.response.status === 404) {
|
|
37
37
|
this.setState({
|
|
38
38
|
forbidden: true
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
console.log(
|
|
41
|
+
console.log("getJob error", error);
|
|
42
42
|
} finally {
|
|
43
43
|
this.setState({
|
|
44
44
|
loading: false
|
|
@@ -54,7 +54,7 @@ class RequestDetail extends Component {
|
|
|
54
54
|
assignees: res.data.Users
|
|
55
55
|
});
|
|
56
56
|
} catch (error) {
|
|
57
|
-
console.log(
|
|
57
|
+
console.log("getAssignees error", error);
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
_defineProperty(this, "getExternalSync", async () => {
|
|
@@ -75,7 +75,7 @@ class RequestDetail extends Component {
|
|
|
75
75
|
var _error$response;
|
|
76
76
|
// 404 is expected if no sync - don't show error
|
|
77
77
|
if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) !== 404) {
|
|
78
|
-
console.log(
|
|
78
|
+
console.log("getExternalSync error", error);
|
|
79
79
|
}
|
|
80
80
|
this.setState({
|
|
81
81
|
loadingExternalSync: false
|
|
@@ -101,7 +101,7 @@ class RequestDetail extends Component {
|
|
|
101
101
|
const updated = {
|
|
102
102
|
id: job.id,
|
|
103
103
|
seen: true,
|
|
104
|
-
status: job.status ||
|
|
104
|
+
status: job.status || "Unassigned"
|
|
105
105
|
};
|
|
106
106
|
const res = await maintenanceActions.editJob(updated, user.site);
|
|
107
107
|
// console.log('markSeen updated');
|
|
@@ -112,7 +112,7 @@ class RequestDetail extends Component {
|
|
|
112
112
|
seen: true
|
|
113
113
|
});
|
|
114
114
|
} catch (error) {
|
|
115
|
-
console.log(
|
|
115
|
+
console.log("markSeen error", error);
|
|
116
116
|
this.setState({
|
|
117
117
|
loading: false
|
|
118
118
|
});
|
|
@@ -140,7 +140,7 @@ class RequestDetail extends Component {
|
|
|
140
140
|
this.props.jobAdded(res.data.job);
|
|
141
141
|
this.getJob();
|
|
142
142
|
} catch (error) {
|
|
143
|
-
console.log(
|
|
143
|
+
console.log("updateJob error", error);
|
|
144
144
|
} finally {
|
|
145
145
|
this.setState({
|
|
146
146
|
loading: false
|
|
@@ -157,7 +157,7 @@ class RequestDetail extends Component {
|
|
|
157
157
|
this.props.jobAdded(res.data.job);
|
|
158
158
|
this.getJob();
|
|
159
159
|
} catch (error) {
|
|
160
|
-
console.log(
|
|
160
|
+
console.log("updateJobStatus error", error);
|
|
161
161
|
} finally {
|
|
162
162
|
this.setState({
|
|
163
163
|
loading: false
|
|
@@ -174,7 +174,7 @@ class RequestDetail extends Component {
|
|
|
174
174
|
this.props.jobAdded(res.data.job);
|
|
175
175
|
this.getJob();
|
|
176
176
|
} catch (error) {
|
|
177
|
-
console.log(
|
|
177
|
+
console.log("updateJobPriority error", error);
|
|
178
178
|
} finally {
|
|
179
179
|
this.setState({
|
|
180
180
|
loading: false
|
|
@@ -231,7 +231,7 @@ class RequestDetail extends Component {
|
|
|
231
231
|
});
|
|
232
232
|
_defineProperty(this, "onOpenDatePicker", () => {
|
|
233
233
|
this.setState({
|
|
234
|
-
popUpType:
|
|
234
|
+
popUpType: "date",
|
|
235
235
|
isDateTimePickerVisible: true
|
|
236
236
|
});
|
|
237
237
|
});
|
|
@@ -241,11 +241,11 @@ class RequestDetail extends Component {
|
|
|
241
241
|
});
|
|
242
242
|
});
|
|
243
243
|
_defineProperty(this, "onDateSelected", date => {
|
|
244
|
-
if (this.state.popUpType ===
|
|
244
|
+
if (this.state.popUpType === "date") {
|
|
245
245
|
date = moment(date);
|
|
246
246
|
this.setState({
|
|
247
247
|
expectedDate: date,
|
|
248
|
-
expectedDateText: date.format(
|
|
248
|
+
expectedDateText: date.format("DD/MM/YYYY"),
|
|
249
249
|
isDateTimePickerVisible: false
|
|
250
250
|
}, () => {
|
|
251
251
|
this.updateJob();
|
|
@@ -279,7 +279,7 @@ class RequestDetail extends Component {
|
|
|
279
279
|
this.props.jobAdded(job.data);
|
|
280
280
|
this.getJob();
|
|
281
281
|
} catch (error) {
|
|
282
|
-
console.log(
|
|
282
|
+
console.log("onCommentAdded error", error);
|
|
283
283
|
} finally {
|
|
284
284
|
this.setState({
|
|
285
285
|
loading: false
|
|
@@ -303,7 +303,7 @@ class RequestDetail extends Component {
|
|
|
303
303
|
return false;
|
|
304
304
|
});
|
|
305
305
|
_defineProperty(this, "toggleFullscreenVideo", url => {
|
|
306
|
-
if (typeof url !==
|
|
306
|
+
if (typeof url !== "string") url = "";
|
|
307
307
|
this.setState({
|
|
308
308
|
showFullscreenVideo: url.length > 0,
|
|
309
309
|
currentVideoUrl: url
|
|
@@ -316,10 +316,10 @@ class RequestDetail extends Component {
|
|
|
316
316
|
name: a.displayName
|
|
317
317
|
};
|
|
318
318
|
});
|
|
319
|
-
Services.navigation.navigate(
|
|
319
|
+
Services.navigation.navigate("optionSelector", {
|
|
320
320
|
options,
|
|
321
321
|
selection: this.state.job.AssigneeId,
|
|
322
|
-
title:
|
|
322
|
+
title: "Assign request",
|
|
323
323
|
onSelect: this.onSelectAssignee
|
|
324
324
|
});
|
|
325
325
|
});
|
|
@@ -328,12 +328,12 @@ class RequestDetail extends Component {
|
|
|
328
328
|
loading: true
|
|
329
329
|
}, async () => {
|
|
330
330
|
try {
|
|
331
|
-
console.log(
|
|
331
|
+
console.log("onSelectAssignee", this.props.job.id, assignee.key);
|
|
332
332
|
const res = await maintenanceActions.assignJob(this.props.job.id, assignee.key);
|
|
333
333
|
this.props.jobAdded(res.data.job);
|
|
334
334
|
this.getJob();
|
|
335
335
|
} catch (error) {
|
|
336
|
-
console.log(
|
|
336
|
+
console.log("onSelectAssignee error", error);
|
|
337
337
|
} finally {
|
|
338
338
|
this.setState({
|
|
339
339
|
loading: false
|
|
@@ -344,18 +344,18 @@ class RequestDetail extends Component {
|
|
|
344
344
|
this.state = {
|
|
345
345
|
job: {},
|
|
346
346
|
isDateTimePickerVisible: false,
|
|
347
|
-
popUpType:
|
|
348
|
-
status:
|
|
349
|
-
priority:
|
|
347
|
+
popUpType: "",
|
|
348
|
+
status: "",
|
|
349
|
+
priority: "",
|
|
350
350
|
expectedDate: null,
|
|
351
|
-
expectedDateText:
|
|
351
|
+
expectedDateText: "",
|
|
352
352
|
seen: false,
|
|
353
353
|
showMore: true,
|
|
354
354
|
showStatusPopup: false,
|
|
355
355
|
showPriorityPopup: false,
|
|
356
356
|
loading: false,
|
|
357
357
|
showFullscreenVideo: false,
|
|
358
|
-
currentVideoUrl:
|
|
358
|
+
currentVideoUrl: "",
|
|
359
359
|
galleryOpen: false,
|
|
360
360
|
galleryImages: [],
|
|
361
361
|
showMessages: false,
|
|
@@ -388,7 +388,7 @@ class RequestDetail extends Component {
|
|
|
388
388
|
};
|
|
389
389
|
if (job.expectedDate) {
|
|
390
390
|
newState.expectedDate = moment(job.expectedDate);
|
|
391
|
-
newState.expectedDateText = newState.expectedDate.format(
|
|
391
|
+
newState.expectedDateText = newState.expectedDate.format("DD/MM/YYYY");
|
|
392
392
|
}
|
|
393
393
|
if (job.seen) newState.seen = job.seen;
|
|
394
394
|
this.setState(newState, () => {
|
|
@@ -420,7 +420,7 @@ class RequestDetail extends Component {
|
|
|
420
420
|
const statusOption = getJobStatus(status, this.props);
|
|
421
421
|
const priority = getJobPriority(job.priority);
|
|
422
422
|
const canEdit = this.hasPermission();
|
|
423
|
-
const isStaff = this.props.user.category ===
|
|
423
|
+
const isStaff = this.props.user.category === "staff";
|
|
424
424
|
const showSeen = !status || status === getJobStatus(null, this.props).text;
|
|
425
425
|
return /*#__PURE__*/React.createElement(View, {
|
|
426
426
|
style: {
|
|
@@ -465,7 +465,7 @@ class RequestDetail extends Component {
|
|
|
465
465
|
style: styles.textSectionTextContainer
|
|
466
466
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
467
467
|
style: styles.textSectionText
|
|
468
|
-
}, moment(job.lastActivityUnix).format(
|
|
468
|
+
}, moment(job.lastActivityUnix).format("ddd D MMMM, h:mm A"))))), /*#__PURE__*/React.createElement(View, {
|
|
469
469
|
style: styles.jobInfoContainer
|
|
470
470
|
}, /*#__PURE__*/React.createElement(View, {
|
|
471
471
|
style: styles.jobStatusExpectedContainer
|
|
@@ -587,7 +587,7 @@ class RequestDetail extends Component {
|
|
|
587
587
|
style: styles.documentTypeText
|
|
588
588
|
}, document.ext)), /*#__PURE__*/React.createElement(Text, {
|
|
589
589
|
style: styles.documentText
|
|
590
|
-
}, `${document.name}${document.uploading ? ` - ${document.uploadProgress}` :
|
|
590
|
+
}, `${document.name}${document.uploading ? ` - ${document.uploadProgress}` : ""}`));
|
|
591
591
|
});
|
|
592
592
|
}
|
|
593
593
|
return null;
|
|
@@ -632,7 +632,7 @@ class RequestDetail extends Component {
|
|
|
632
632
|
return /*#__PURE__*/React.createElement(Components.FormCardSectionOptionLauncher, {
|
|
633
633
|
onPress: this.onOpenAssigneePicker,
|
|
634
634
|
title: "Assigned To",
|
|
635
|
-
value: job.Assignee ? job.Assignee.displayName :
|
|
635
|
+
value: job.Assignee ? job.Assignee.displayName : "Unassigned",
|
|
636
636
|
textStyle: styles.detailsText,
|
|
637
637
|
sectionStyle: styles.detailsSection
|
|
638
638
|
}, content);
|
|
@@ -680,7 +680,7 @@ class RequestDetail extends Component {
|
|
|
680
680
|
style: styles.externalSyncLabel
|
|
681
681
|
}, "Synced:"), /*#__PURE__*/React.createElement(Text, {
|
|
682
682
|
style: styles.externalSyncValue
|
|
683
|
-
}, moment(externalSync.syncedAt).format(
|
|
683
|
+
}, moment(externalSync.syncedAt).format("D MMM YYYY h:mma")))));
|
|
684
684
|
}
|
|
685
685
|
renderCustomFields() {
|
|
686
686
|
const {
|
|
@@ -691,27 +691,27 @@ class RequestDetail extends Component {
|
|
|
691
691
|
} = job;
|
|
692
692
|
const renderAnswer = field => {
|
|
693
693
|
switch (field.type) {
|
|
694
|
-
case
|
|
694
|
+
case "date":
|
|
695
695
|
return /*#__PURE__*/React.createElement(Text, {
|
|
696
696
|
style: styles.customText
|
|
697
|
-
}, field.answer ? moment(field.answer,
|
|
698
|
-
case
|
|
697
|
+
}, field.answer ? moment(field.answer, "YYYY-MM-DD").format("DD MMM YYYY") : "");
|
|
698
|
+
case "time":
|
|
699
699
|
return /*#__PURE__*/React.createElement(Text, {
|
|
700
700
|
style: styles.customText
|
|
701
|
-
}, field.answer ? moment(field.answer,
|
|
702
|
-
case
|
|
701
|
+
}, field.answer ? moment(field.answer, "HH:mm").format("h:mm a") : "");
|
|
702
|
+
case "yn":
|
|
703
703
|
return /*#__PURE__*/React.createElement(Text, {
|
|
704
704
|
style: styles.customText
|
|
705
|
-
}, field.answer ?
|
|
706
|
-
case
|
|
705
|
+
}, field.answer ? "Yes" : "No");
|
|
706
|
+
case "checkbox":
|
|
707
707
|
return /*#__PURE__*/React.createElement(Text, {
|
|
708
708
|
style: styles.customText
|
|
709
|
-
}, field.answer && Array.isArray(field.answer) ? field.answer.join(
|
|
710
|
-
case
|
|
709
|
+
}, field.answer && Array.isArray(field.answer) ? field.answer.join(", ") : "");
|
|
710
|
+
case "image":
|
|
711
711
|
return /*#__PURE__*/React.createElement(View, {
|
|
712
712
|
style: styles.customImage
|
|
713
713
|
}, this.renderImage(field.answer));
|
|
714
|
-
case
|
|
714
|
+
case "document":
|
|
715
715
|
return /*#__PURE__*/React.createElement(View, {
|
|
716
716
|
style: styles.customDocument
|
|
717
717
|
}, this.renderDocument(field.answer));
|
|
@@ -722,8 +722,8 @@ class RequestDetail extends Component {
|
|
|
722
722
|
}
|
|
723
723
|
};
|
|
724
724
|
return customFields.map((field, index) => {
|
|
725
|
-
if ([
|
|
726
|
-
if (_.isNil(field.answer) || field.answer ===
|
|
725
|
+
if (["staticTitle", "staticText"].includes(field.type)) return null;
|
|
726
|
+
if (_.isNil(field.answer) || field.answer === "" || Array.isArray(field.answer) && field.answer.length === 0) return null;
|
|
727
727
|
return /*#__PURE__*/React.createElement(View, {
|
|
728
728
|
key: index
|
|
729
729
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
@@ -742,7 +742,7 @@ class RequestDetail extends Component {
|
|
|
742
742
|
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Components.FormCardSectionOptionLauncher, {
|
|
743
743
|
onPress: this.onToggleDetails,
|
|
744
744
|
title: "Details",
|
|
745
|
-
icon: this.state.showMore ?
|
|
745
|
+
icon: this.state.showMore ? "angle-up" : "angle-down",
|
|
746
746
|
textStyle: styles.detailsText,
|
|
747
747
|
sectionStyle: styles.detailsSection
|
|
748
748
|
}), this.state.showMore && /*#__PURE__*/React.createElement(View, null, hasCustomFields ? this.renderCustomFields() : null, !hasCustomFields ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderImage(job.images, job.image), !_.isEmpty(job.description) && /*#__PURE__*/React.createElement(Text, {
|
|
@@ -785,7 +785,7 @@ class RequestDetail extends Component {
|
|
|
785
785
|
site: this.state.job.site || this.state.job.location,
|
|
786
786
|
live: true,
|
|
787
787
|
refreshFrequency: 10000,
|
|
788
|
-
placeHolder:
|
|
788
|
+
placeHolder: "",
|
|
789
789
|
style: {
|
|
790
790
|
flex: 1,
|
|
791
791
|
paddingHorizontal: 0,
|
|
@@ -805,7 +805,7 @@ class RequestDetail extends Component {
|
|
|
805
805
|
height: 36
|
|
806
806
|
},
|
|
807
807
|
textStyle: {
|
|
808
|
-
color:
|
|
808
|
+
color: "#fff"
|
|
809
809
|
},
|
|
810
810
|
fullWidth: true
|
|
811
811
|
}, "Leave Message"));
|
|
@@ -843,7 +843,7 @@ class RequestDetail extends Component {
|
|
|
843
843
|
return /*#__PURE__*/React.createElement(Components.Forbidden, null);
|
|
844
844
|
}
|
|
845
845
|
return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
846
|
-
behavior: Platform.OS ===
|
|
846
|
+
behavior: Platform.OS === "ios" && "padding",
|
|
847
847
|
style: styles.container
|
|
848
848
|
}, /*#__PURE__*/React.createElement(Components.Header, {
|
|
849
849
|
leftIcon: "angle-left",
|
|
@@ -855,7 +855,7 @@ class RequestDetail extends Component {
|
|
|
855
855
|
paddingBottom: 26
|
|
856
856
|
},
|
|
857
857
|
style: {
|
|
858
|
-
height:
|
|
858
|
+
height: "100%"
|
|
859
859
|
}
|
|
860
860
|
}, /*#__PURE__*/React.createElement(View, {
|
|
861
861
|
style: styles.innerContainer
|
|
@@ -871,7 +871,7 @@ class RequestDetail extends Component {
|
|
|
871
871
|
const styles = StyleSheet.create({
|
|
872
872
|
container: {
|
|
873
873
|
flex: 1,
|
|
874
|
-
backgroundColor:
|
|
874
|
+
backgroundColor: "#fff"
|
|
875
875
|
},
|
|
876
876
|
innerContainer: {
|
|
877
877
|
paddingTop: 23,
|
|
@@ -882,49 +882,49 @@ const styles = StyleSheet.create({
|
|
|
882
882
|
paddingHorizontal: 12
|
|
883
883
|
},
|
|
884
884
|
jobIdText: {
|
|
885
|
-
fontFamily:
|
|
885
|
+
fontFamily: "sf-medium",
|
|
886
886
|
fontSize: 12,
|
|
887
887
|
marginBottom: 4
|
|
888
888
|
},
|
|
889
889
|
jobTitleText: {
|
|
890
|
-
fontFamily:
|
|
890
|
+
fontFamily: "sf-semibold",
|
|
891
891
|
fontSize: 20,
|
|
892
892
|
color: Colours.TEXT_DARKEST,
|
|
893
893
|
marginBottom: 8
|
|
894
894
|
},
|
|
895
895
|
jobTypeSeenContainer: {
|
|
896
|
-
flexDirection:
|
|
897
|
-
alignItems:
|
|
896
|
+
flexDirection: "row",
|
|
897
|
+
alignItems: "center"
|
|
898
898
|
},
|
|
899
899
|
jobTypeContainer: {
|
|
900
900
|
padding: 4,
|
|
901
901
|
minWidth: 80,
|
|
902
902
|
maxWidth: 140,
|
|
903
903
|
borderRadius: 4,
|
|
904
|
-
justifyContent:
|
|
904
|
+
justifyContent: "center"
|
|
905
905
|
},
|
|
906
906
|
jobTypeText: {
|
|
907
|
-
fontFamily:
|
|
907
|
+
fontFamily: "sf-semibold",
|
|
908
908
|
fontSize: 12,
|
|
909
|
-
textAlign:
|
|
910
|
-
maxWidth:
|
|
909
|
+
textAlign: "center",
|
|
910
|
+
maxWidth: "100%"
|
|
911
911
|
},
|
|
912
912
|
jobSeenContainer: {
|
|
913
|
-
flexDirection:
|
|
914
|
-
alignItems:
|
|
913
|
+
flexDirection: "row",
|
|
914
|
+
alignItems: "center",
|
|
915
915
|
marginLeft: 10
|
|
916
916
|
},
|
|
917
917
|
jobSeenIcon: {
|
|
918
918
|
fontSize: 12
|
|
919
919
|
},
|
|
920
920
|
jobSeenText: {
|
|
921
|
-
fontFamily:
|
|
921
|
+
fontFamily: "sf-semibold",
|
|
922
922
|
fontSize: 12,
|
|
923
923
|
marginLeft: 4
|
|
924
924
|
},
|
|
925
925
|
jobStatusDateText: {
|
|
926
926
|
marginTop: 8,
|
|
927
|
-
fontFamily:
|
|
927
|
+
fontFamily: "sf-medium",
|
|
928
928
|
fontSize: 13,
|
|
929
929
|
color: Colours.TEXT_LIGHT
|
|
930
930
|
},
|
|
@@ -935,60 +935,60 @@ const styles = StyleSheet.create({
|
|
|
935
935
|
paddingHorizontal: 12
|
|
936
936
|
},
|
|
937
937
|
jobStatusExpectedContainer: {
|
|
938
|
-
flexDirection:
|
|
939
|
-
alignItems:
|
|
940
|
-
justifyContent:
|
|
938
|
+
flexDirection: "row",
|
|
939
|
+
alignItems: "flex-start",
|
|
940
|
+
justifyContent: "space-between"
|
|
941
941
|
},
|
|
942
942
|
jobStatusOuterContainer: {
|
|
943
943
|
// marginRight: 50,
|
|
944
944
|
},
|
|
945
945
|
jobStatusHeading: {
|
|
946
|
-
fontFamily:
|
|
946
|
+
fontFamily: "sf-bold",
|
|
947
947
|
fontSize: 11,
|
|
948
948
|
letterSpacing: 0.8,
|
|
949
949
|
color: Colours.TEXT_DARK,
|
|
950
950
|
marginBottom: 6
|
|
951
951
|
},
|
|
952
952
|
jobStatusContainer: {
|
|
953
|
-
flexDirection:
|
|
954
|
-
alignItems:
|
|
953
|
+
flexDirection: "row",
|
|
954
|
+
alignItems: "center",
|
|
955
955
|
width: 120,
|
|
956
956
|
height: 30,
|
|
957
957
|
paddingHorizontal: 8,
|
|
958
958
|
borderRadius: 4
|
|
959
959
|
},
|
|
960
960
|
jobStatusIcon: {
|
|
961
|
-
color:
|
|
961
|
+
color: "#fff",
|
|
962
962
|
fontSize: 14,
|
|
963
963
|
marginRight: 8
|
|
964
964
|
},
|
|
965
965
|
jobStatusText: {
|
|
966
|
-
color:
|
|
967
|
-
textAlign:
|
|
968
|
-
fontFamily:
|
|
966
|
+
color: "#fff",
|
|
967
|
+
textAlign: "center",
|
|
968
|
+
fontFamily: "sf-semibold",
|
|
969
969
|
fontSize: 13,
|
|
970
970
|
flex: 1,
|
|
971
|
-
textAlign:
|
|
971
|
+
textAlign: "center"
|
|
972
972
|
},
|
|
973
973
|
jobPriorityOuterContainer: {
|
|
974
974
|
marginTop: 12
|
|
975
975
|
},
|
|
976
976
|
jobExpectedDateContainer: {
|
|
977
977
|
backgroundColor: Colours.BOXGREY,
|
|
978
|
-
flexDirection:
|
|
978
|
+
flexDirection: "row",
|
|
979
979
|
width: 115,
|
|
980
980
|
height: 30,
|
|
981
981
|
borderRadius: 4,
|
|
982
|
-
alignItems:
|
|
982
|
+
alignItems: "center",
|
|
983
983
|
paddingLeft: 8
|
|
984
984
|
},
|
|
985
985
|
jobExpectedDate: {
|
|
986
|
-
fontFamily:
|
|
986
|
+
fontFamily: "sf-regular",
|
|
987
987
|
fontSize: 13,
|
|
988
988
|
color: Colours.hexToRGBAstring(Colours.TEXT_DARKEST, 0.5)
|
|
989
989
|
},
|
|
990
990
|
detailsText: {
|
|
991
|
-
fontFamily:
|
|
991
|
+
fontFamily: "sf-semibold",
|
|
992
992
|
fontSize: 16,
|
|
993
993
|
color: Colours.TEXT_DARKEST
|
|
994
994
|
},
|
|
@@ -999,55 +999,55 @@ const styles = StyleSheet.create({
|
|
|
999
999
|
},
|
|
1000
1000
|
sideBySideImages: {
|
|
1001
1001
|
flex: 1,
|
|
1002
|
-
flexDirection:
|
|
1003
|
-
justifyContent:
|
|
1002
|
+
flexDirection: "row",
|
|
1003
|
+
justifyContent: "space-between",
|
|
1004
1004
|
marginBottom: 16
|
|
1005
1005
|
},
|
|
1006
1006
|
sideBySideImageContainer: {
|
|
1007
|
-
backgroundColor:
|
|
1008
|
-
width:
|
|
1007
|
+
backgroundColor: "#fff",
|
|
1008
|
+
width: "48%",
|
|
1009
1009
|
height: 150,
|
|
1010
1010
|
borderRadius: 2,
|
|
1011
|
-
overflow:
|
|
1011
|
+
overflow: "hidden"
|
|
1012
1012
|
},
|
|
1013
1013
|
singleImageContainer: {
|
|
1014
|
-
backgroundColor:
|
|
1015
|
-
width:
|
|
1014
|
+
backgroundColor: "#fff",
|
|
1015
|
+
width: "100%",
|
|
1016
1016
|
height: 150,
|
|
1017
1017
|
flex: 1,
|
|
1018
1018
|
borderRadius: 2,
|
|
1019
|
-
overflow:
|
|
1019
|
+
overflow: "hidden",
|
|
1020
1020
|
marginBottom: 16
|
|
1021
1021
|
},
|
|
1022
1022
|
imageContainer: {
|
|
1023
1023
|
height: 150,
|
|
1024
|
-
width:
|
|
1025
|
-
justifyContent:
|
|
1024
|
+
width: "auto",
|
|
1025
|
+
justifyContent: "center"
|
|
1026
1026
|
},
|
|
1027
1027
|
imagePlayContainer: {
|
|
1028
|
-
position:
|
|
1028
|
+
position: "absolute",
|
|
1029
1029
|
top: 0,
|
|
1030
1030
|
left: 0,
|
|
1031
1031
|
right: 0,
|
|
1032
1032
|
bottom: 0,
|
|
1033
|
-
alignItems:
|
|
1034
|
-
justifyContent:
|
|
1033
|
+
alignItems: "center",
|
|
1034
|
+
justifyContent: "center"
|
|
1035
1035
|
},
|
|
1036
1036
|
imageControlIcon: {
|
|
1037
|
-
color:
|
|
1037
|
+
color: "#fff",
|
|
1038
1038
|
fontSize: 30,
|
|
1039
|
-
textShadowColor:
|
|
1039
|
+
textShadowColor: "rgba(0,0,0,0.3)",
|
|
1040
1040
|
textShadowOffset: {
|
|
1041
1041
|
width: 2,
|
|
1042
1042
|
height: 2
|
|
1043
1043
|
}
|
|
1044
1044
|
},
|
|
1045
1045
|
plusImages: {
|
|
1046
|
-
fontFamily:
|
|
1046
|
+
fontFamily: "sf-bold",
|
|
1047
1047
|
fontSize: 32,
|
|
1048
|
-
textAlign:
|
|
1049
|
-
color:
|
|
1050
|
-
textShadowColor:
|
|
1048
|
+
textAlign: "center",
|
|
1049
|
+
color: "#fff",
|
|
1050
|
+
textShadowColor: "rgba(0, 0, 0, 0.5)",
|
|
1051
1051
|
textShadowOffset: {
|
|
1052
1052
|
width: 0,
|
|
1053
1053
|
height: 2
|
|
@@ -1055,64 +1055,64 @@ const styles = StyleSheet.create({
|
|
|
1055
1055
|
textShadowRadius: 8
|
|
1056
1056
|
},
|
|
1057
1057
|
jobDescriptionText: {
|
|
1058
|
-
fontFamily:
|
|
1058
|
+
fontFamily: "sf-medium",
|
|
1059
1059
|
fontSize: 14,
|
|
1060
1060
|
color: Colours.TEXT_LIGHT,
|
|
1061
1061
|
paddingBottom: 16
|
|
1062
1062
|
},
|
|
1063
1063
|
locationLabel: {
|
|
1064
|
-
fontFamily:
|
|
1064
|
+
fontFamily: "sf-bold",
|
|
1065
1065
|
fontSize: 14,
|
|
1066
1066
|
color: Colours.TEXT_DARKEST
|
|
1067
1067
|
},
|
|
1068
1068
|
locationText: {
|
|
1069
|
-
fontFamily:
|
|
1069
|
+
fontFamily: "sf-regular",
|
|
1070
1070
|
fontSize: 16,
|
|
1071
1071
|
color: Colours.TEXT_DARKEST,
|
|
1072
1072
|
paddingVertical: 8
|
|
1073
1073
|
},
|
|
1074
1074
|
requesterLabel: {
|
|
1075
|
-
fontFamily:
|
|
1075
|
+
fontFamily: "sf-bold",
|
|
1076
1076
|
fontSize: 14,
|
|
1077
1077
|
color: Colours.TEXT_DARKEST,
|
|
1078
1078
|
paddingVertical: 10
|
|
1079
1079
|
},
|
|
1080
1080
|
profileContainer: {
|
|
1081
|
-
flexDirection:
|
|
1082
|
-
alignItems:
|
|
1081
|
+
flexDirection: "row",
|
|
1082
|
+
alignItems: "center"
|
|
1083
1083
|
},
|
|
1084
1084
|
nameContainer: {
|
|
1085
1085
|
marginLeft: 18
|
|
1086
1086
|
},
|
|
1087
1087
|
nameText: {
|
|
1088
|
-
fontSize:
|
|
1088
|
+
fontSize: "sf-semibold",
|
|
1089
1089
|
fontSize: 14,
|
|
1090
1090
|
color: Colours.TEXT_DARKEST,
|
|
1091
1091
|
marginBottom: 4
|
|
1092
1092
|
},
|
|
1093
1093
|
phoneText: {
|
|
1094
|
-
fontSize:
|
|
1094
|
+
fontSize: "sf-medium",
|
|
1095
1095
|
fontSize: 14,
|
|
1096
1096
|
color: Colours.TEXT_LIGHT
|
|
1097
1097
|
},
|
|
1098
1098
|
textSectionInner: {
|
|
1099
|
-
flexDirection:
|
|
1100
|
-
justifyContent:
|
|
1101
|
-
alignItems:
|
|
1099
|
+
flexDirection: "row",
|
|
1100
|
+
justifyContent: "space-between",
|
|
1101
|
+
alignItems: "center",
|
|
1102
1102
|
marginTop: 8
|
|
1103
1103
|
},
|
|
1104
1104
|
textSectionLabel: {
|
|
1105
|
-
fontFamily:
|
|
1105
|
+
fontFamily: "sf-semibold",
|
|
1106
1106
|
fontSize: 12,
|
|
1107
1107
|
lineHeight: 24,
|
|
1108
1108
|
color: Colours.TEXT_DARKEST
|
|
1109
1109
|
},
|
|
1110
1110
|
textSectionTextContainer: {
|
|
1111
|
-
flexDirection:
|
|
1112
|
-
alignItems:
|
|
1111
|
+
flexDirection: "row",
|
|
1112
|
+
alignItems: "center"
|
|
1113
1113
|
},
|
|
1114
1114
|
textSectionText: {
|
|
1115
|
-
fontFamily:
|
|
1115
|
+
fontFamily: "sf-regular",
|
|
1116
1116
|
fontSize: 13,
|
|
1117
1117
|
lineHeight: 24,
|
|
1118
1118
|
color: Colours.TEXT_LIGHT
|
|
@@ -1123,12 +1123,12 @@ const styles = StyleSheet.create({
|
|
|
1123
1123
|
lineHeight: 24
|
|
1124
1124
|
},
|
|
1125
1125
|
customLabel: {
|
|
1126
|
-
fontFamily:
|
|
1126
|
+
fontFamily: "sf-bold",
|
|
1127
1127
|
fontSize: 14,
|
|
1128
1128
|
color: Colours.TEXT_DARKEST
|
|
1129
1129
|
},
|
|
1130
1130
|
customText: {
|
|
1131
|
-
fontFamily:
|
|
1131
|
+
fontFamily: "sf-regular",
|
|
1132
1132
|
fontSize: 16,
|
|
1133
1133
|
color: Colours.TEXT_DARKEST,
|
|
1134
1134
|
paddingVertical: 8
|
|
@@ -1142,59 +1142,59 @@ const styles = StyleSheet.create({
|
|
|
1142
1142
|
},
|
|
1143
1143
|
customStaticTitle: {
|
|
1144
1144
|
fontSize: 20,
|
|
1145
|
-
fontFamily:
|
|
1145
|
+
fontFamily: "sf-semibold",
|
|
1146
1146
|
color: Colours.TEXT_DARKEST,
|
|
1147
1147
|
marginBottom: 10
|
|
1148
1148
|
},
|
|
1149
1149
|
customStaticText: {
|
|
1150
1150
|
fontSize: 17,
|
|
1151
|
-
fontFamily:
|
|
1151
|
+
fontFamily: "sf-regular",
|
|
1152
1152
|
color: Colours.TEXT_DARKEST,
|
|
1153
1153
|
lineHeight: 24,
|
|
1154
1154
|
marginBottom: 10
|
|
1155
1155
|
},
|
|
1156
1156
|
documentContainer: {
|
|
1157
|
-
flexDirection:
|
|
1158
|
-
alignItems:
|
|
1159
|
-
justifyContent:
|
|
1157
|
+
flexDirection: "row",
|
|
1158
|
+
alignItems: "center",
|
|
1159
|
+
justifyContent: "space-between",
|
|
1160
1160
|
paddingVertical: 4
|
|
1161
1161
|
},
|
|
1162
1162
|
documentTypeContainer: {
|
|
1163
1163
|
width: 50,
|
|
1164
1164
|
height: 60,
|
|
1165
|
-
justifyContent:
|
|
1166
|
-
alignItems:
|
|
1165
|
+
justifyContent: "center",
|
|
1166
|
+
alignItems: "center",
|
|
1167
1167
|
borderRadius: 5,
|
|
1168
1168
|
marginRight: 8
|
|
1169
1169
|
},
|
|
1170
1170
|
documentTypeText: {
|
|
1171
|
-
color:
|
|
1172
|
-
fontFamily:
|
|
1173
|
-
textAlign:
|
|
1171
|
+
color: "#fff",
|
|
1172
|
+
fontFamily: "sf-semibold",
|
|
1173
|
+
textAlign: "center"
|
|
1174
1174
|
},
|
|
1175
1175
|
documentText: {
|
|
1176
1176
|
flex: 1,
|
|
1177
|
-
fontFamily:
|
|
1177
|
+
fontFamily: "sf-semibold",
|
|
1178
1178
|
fontSize: 16,
|
|
1179
|
-
color:
|
|
1179
|
+
color: "#65686D"
|
|
1180
1180
|
},
|
|
1181
1181
|
externalSyncContainer: {
|
|
1182
|
-
backgroundColor:
|
|
1183
|
-
|
|
1182
|
+
backgroundColor: "#fff",
|
|
1183
|
+
marginTop: 16,
|
|
1184
1184
|
borderRadius: 8,
|
|
1185
1185
|
padding: 16
|
|
1186
1186
|
},
|
|
1187
1187
|
externalSyncHeader: {
|
|
1188
|
-
flexDirection:
|
|
1189
|
-
justifyContent:
|
|
1190
|
-
alignItems:
|
|
1188
|
+
flexDirection: "row",
|
|
1189
|
+
justifyContent: "space-between",
|
|
1190
|
+
alignItems: "center",
|
|
1191
1191
|
marginBottom: 12,
|
|
1192
1192
|
paddingBottom: 12,
|
|
1193
1193
|
borderBottomWidth: 1,
|
|
1194
1194
|
borderBottomColor: Colours.LINEGREY
|
|
1195
1195
|
},
|
|
1196
1196
|
externalSyncTitle: {
|
|
1197
|
-
fontFamily:
|
|
1197
|
+
fontFamily: "sf-semibold",
|
|
1198
1198
|
fontSize: 16,
|
|
1199
1199
|
color: Colours.TEXT_DARKEST
|
|
1200
1200
|
},
|
|
@@ -1205,17 +1205,17 @@ const styles = StyleSheet.create({
|
|
|
1205
1205
|
paddingTop: 4
|
|
1206
1206
|
},
|
|
1207
1207
|
externalSyncRow: {
|
|
1208
|
-
flexDirection:
|
|
1208
|
+
flexDirection: "row",
|
|
1209
1209
|
marginBottom: 10
|
|
1210
1210
|
},
|
|
1211
1211
|
externalSyncLabel: {
|
|
1212
|
-
fontFamily:
|
|
1212
|
+
fontFamily: "sf-semibold",
|
|
1213
1213
|
fontSize: 14,
|
|
1214
1214
|
color: Colours.TEXT_DARK,
|
|
1215
1215
|
width: 100
|
|
1216
1216
|
},
|
|
1217
1217
|
externalSyncValue: {
|
|
1218
|
-
fontFamily:
|
|
1218
|
+
fontFamily: "sf-regular",
|
|
1219
1219
|
fontSize: 14,
|
|
1220
1220
|
color: Colours.TEXT_DARKEST,
|
|
1221
1221
|
flex: 1
|