@plusscommunities/pluss-maintenance-app 7.0.19 → 7.0.20
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/apis/maintenanceActions.js +8 -0
- package/dist/module/apis/maintenanceActions.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +118 -3
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +1 -1
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +16 -4
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +2 -1
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.default.js +2 -1
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.enquiry.js +2 -1
- package/dist/module/values.config.enquiry.js.map +1 -1
- package/dist/module/values.config.feedback.js +2 -1
- package/dist/module/values.config.feedback.js.map +1 -1
- package/dist/module/values.config.food.js +2 -1
- package/dist/module/values.config.food.js.map +1 -1
- package/dist/module/values.config.js +2 -1
- package/dist/module/values.config.js.map +1 -1
- package/package.json +1 -1
- package/src/apis/maintenanceActions.js +6 -0
- package/src/screens/RequestDetail.js +104 -1
- package/src/screens/RequestNotes.js +1 -1
- package/src/screens/ServiceRequest.js +18 -5
- package/src/values.config.a.js +1 -0
- package/src/values.config.default.js +1 -0
- package/src/values.config.enquiry.js +1 -0
- package/src/values.config.feedback.js +1 -0
- package/src/values.config.food.js +1 -0
- package/src/values.config.js +1 -0
|
@@ -181,6 +181,14 @@ export const maintenanceActions = {
|
|
|
181
181
|
site
|
|
182
182
|
}
|
|
183
183
|
});
|
|
184
|
+
},
|
|
185
|
+
getExternalSync: jobId => {
|
|
186
|
+
return Session.authedFunction({
|
|
187
|
+
method: 'GET',
|
|
188
|
+
url: Helper.getUrl(values.serviceKey, 'get/externalsync', {
|
|
189
|
+
id: jobId
|
|
190
|
+
})
|
|
191
|
+
});
|
|
184
192
|
}
|
|
185
193
|
};
|
|
186
194
|
//# sourceMappingURL=maintenanceActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Helper","Session","values","maintenanceActions","getJob","site","id","authedFunction","method","url","getUrl","serviceKey","data","getJobByJobId","jobId","getJobs","status","type","getJobs2","priority","lastKey","query","JSON","stringify","getJobsRecursive","jobs","Promise","resolve","then","jobRes","newJobs","Items","LastKey","sendMaintenanceRequest","userID","userName","phone","room","title","description","date","images","location","isHome","homeText","customFields","request","editJob","job","editJobStatus","editJobPriority","assignJob","userId","getAssignees","addNote","note","attachments","action","editNote","noteId","deleteNote","getJobTypes"],"sources":["maintenanceActions.js"],"sourcesContent":["import { Helper, Session } from '../core.config';\nimport { values } from '../values.config';\n\nexport const maintenanceActions = {\n getJob: (site, id) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJob'),\n data: { site, id },\n });\n },\n getJobByJobId: (site, jobId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJob'),\n data: { site, jobId },\n });\n },\n getJobs: (site, status = '', type = '') => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJobs'),\n data: { site, status, type },\n });\n },\n getJobs2: (site, status, priority, type, lastKey) => {\n const query = { site };\n if (status) {\n query.status = status;\n }\n if (priority) {\n query.priority = priority;\n }\n if (type) {\n query.type = type;\n }\n if (lastKey) {\n query.lastKey = JSON.stringify(lastKey);\n }\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/requests', query),\n });\n },\n getJobsRecursive: (site, status, priority, type, lastKey, jobs = []) => {\n return new Promise(resolve => {\n maintenanceActions.getJobs2(site, status, priority, type, lastKey).then(jobRes => {\n const newJobs = [...jobs, ...jobRes.data.Items];\n if (!jobRes.data.LastKey) {\n return resolve(newJobs);\n }\n return resolve(maintenanceActions.getJobsRecursive(site, status, priority, type, jobRes.data.LastKey, newJobs));\n });\n });\n },\n sendMaintenanceRequest: (\n userID,\n userName,\n phone,\n room,\n title,\n description,\n date,\n type,\n images,\n location,\n isHome,\n homeText,\n customFields,\n ) => {\n const request = {\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'sendMaintenance'),\n data: {\n userID,\n userName,\n phone,\n room,\n title,\n description,\n date,\n type,\n images,\n location,\n isHome,\n homeText,\n customFields,\n },\n };\n return Session.authedFunction(request);\n },\n editJob: (job, site) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'editJob'),\n data: { job, site },\n });\n },\n editJobStatus: (id, status) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'editJobStatus'),\n data: { id, status },\n });\n },\n editJobPriority: (id, priority) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/priority'),\n data: { id, priority },\n });\n },\n assignJob: (jobId, userId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/assign'),\n data: {\n id: jobId,\n userId,\n },\n });\n },\n getAssignees: site => {\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/assignees', { site }),\n });\n },\n addNote: (jobId, note, attachments, images) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n note,\n attachments,\n images,\n action: 'AddNote',\n },\n });\n },\n editNote: (jobId, noteId, note, attachments, images) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n note,\n attachments,\n images,\n noteId,\n action: 'EditNote',\n },\n });\n },\n deleteNote: (jobId, noteId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n noteId,\n action: 'DeleteNote',\n },\n });\n },\n getJobTypes: async site => {\n const url = Helper.getUrl(values.serviceKey, 'getjobtypes');\n return Session.authedFunction({\n method: 'POST',\n url,\n data: { site },\n });\n },\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Helper","Session","values","maintenanceActions","getJob","site","id","authedFunction","method","url","getUrl","serviceKey","data","getJobByJobId","jobId","getJobs","status","type","getJobs2","priority","lastKey","query","JSON","stringify","getJobsRecursive","jobs","Promise","resolve","then","jobRes","newJobs","Items","LastKey","sendMaintenanceRequest","userID","userName","phone","room","title","description","date","images","location","isHome","homeText","customFields","request","editJob","job","editJobStatus","editJobPriority","assignJob","userId","getAssignees","addNote","note","attachments","action","editNote","noteId","deleteNote","getJobTypes","getExternalSync"],"sources":["maintenanceActions.js"],"sourcesContent":["import { Helper, Session } from '../core.config';\nimport { values } from '../values.config';\n\nexport const maintenanceActions = {\n getJob: (site, id) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJob'),\n data: { site, id },\n });\n },\n getJobByJobId: (site, jobId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJob'),\n data: { site, jobId },\n });\n },\n getJobs: (site, status = '', type = '') => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJobs'),\n data: { site, status, type },\n });\n },\n getJobs2: (site, status, priority, type, lastKey) => {\n const query = { site };\n if (status) {\n query.status = status;\n }\n if (priority) {\n query.priority = priority;\n }\n if (type) {\n query.type = type;\n }\n if (lastKey) {\n query.lastKey = JSON.stringify(lastKey);\n }\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/requests', query),\n });\n },\n getJobsRecursive: (site, status, priority, type, lastKey, jobs = []) => {\n return new Promise(resolve => {\n maintenanceActions.getJobs2(site, status, priority, type, lastKey).then(jobRes => {\n const newJobs = [...jobs, ...jobRes.data.Items];\n if (!jobRes.data.LastKey) {\n return resolve(newJobs);\n }\n return resolve(maintenanceActions.getJobsRecursive(site, status, priority, type, jobRes.data.LastKey, newJobs));\n });\n });\n },\n sendMaintenanceRequest: (\n userID,\n userName,\n phone,\n room,\n title,\n description,\n date,\n type,\n images,\n location,\n isHome,\n homeText,\n customFields,\n ) => {\n const request = {\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'sendMaintenance'),\n data: {\n userID,\n userName,\n phone,\n room,\n title,\n description,\n date,\n type,\n images,\n location,\n isHome,\n homeText,\n customFields,\n },\n };\n return Session.authedFunction(request);\n },\n editJob: (job, site) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'editJob'),\n data: { job, site },\n });\n },\n editJobStatus: (id, status) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'editJobStatus'),\n data: { id, status },\n });\n },\n editJobPriority: (id, priority) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/priority'),\n data: { id, priority },\n });\n },\n assignJob: (jobId, userId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/assign'),\n data: {\n id: jobId,\n userId,\n },\n });\n },\n getAssignees: site => {\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/assignees', { site }),\n });\n },\n addNote: (jobId, note, attachments, images) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n note,\n attachments,\n images,\n action: 'AddNote',\n },\n });\n },\n editNote: (jobId, noteId, note, attachments, images) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n note,\n attachments,\n images,\n noteId,\n action: 'EditNote',\n },\n });\n },\n deleteNote: (jobId, noteId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n noteId,\n action: 'DeleteNote',\n },\n });\n },\n getJobTypes: async site => {\n const url = Helper.getUrl(values.serviceKey, 'getjobtypes');\n return Session.authedFunction({\n method: 'POST',\n url,\n data: { site },\n });\n },\n getExternalSync: (jobId) => {\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/externalsync', { id: jobId }),\n });\n },\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,6 +28,8 @@ class RequestDetail extends Component {
|
|
|
28
28
|
// console.log('getJob', JSON.stringify(res.data, null, 2));
|
|
29
29
|
this.props.jobAdded(res.data);
|
|
30
30
|
this.updateJobState(res.data);
|
|
31
|
+
// Refresh external sync data when job is refreshed
|
|
32
|
+
this.getExternalSync();
|
|
31
33
|
} catch (error) {
|
|
32
34
|
console.log('getJob error', error.toString());
|
|
33
35
|
// check for 403 or 404 error
|
|
@@ -55,6 +57,31 @@ class RequestDetail extends Component {
|
|
|
55
57
|
console.log('getAssignees error', error);
|
|
56
58
|
}
|
|
57
59
|
});
|
|
60
|
+
_defineProperty(this, "getExternalSync", async () => {
|
|
61
|
+
var _this$props$job;
|
|
62
|
+
// Only fetch if user has maintenance tracking permission
|
|
63
|
+
if (!this.hasPermission()) return;
|
|
64
|
+
if (!((_this$props$job = this.props.job) !== null && _this$props$job !== void 0 && _this$props$job.id)) return;
|
|
65
|
+
try {
|
|
66
|
+
this.setState({
|
|
67
|
+
loadingExternalSync: true
|
|
68
|
+
});
|
|
69
|
+
const res = await maintenanceActions.getExternalSync(this.props.job.id);
|
|
70
|
+
this.setState({
|
|
71
|
+
externalSync: res.data,
|
|
72
|
+
loadingExternalSync: false
|
|
73
|
+
});
|
|
74
|
+
} catch (error) {
|
|
75
|
+
var _error$response;
|
|
76
|
+
// 404 is expected if no sync - don't show error
|
|
77
|
+
if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) !== 404) {
|
|
78
|
+
console.log('getExternalSync error', error);
|
|
79
|
+
}
|
|
80
|
+
this.setState({
|
|
81
|
+
loadingExternalSync: false
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
58
85
|
_defineProperty(this, "markSeen", () => {
|
|
59
86
|
const {
|
|
60
87
|
user
|
|
@@ -333,7 +360,9 @@ class RequestDetail extends Component {
|
|
|
333
360
|
galleryImages: [],
|
|
334
361
|
showMessages: false,
|
|
335
362
|
assignees: [],
|
|
336
|
-
selectedPDF: null
|
|
363
|
+
selectedPDF: null,
|
|
364
|
+
externalSync: null,
|
|
365
|
+
loadingExternalSync: false
|
|
337
366
|
};
|
|
338
367
|
this.scrollView = /*#__PURE__*/React.createRef();
|
|
339
368
|
this.commentReply = /*#__PURE__*/React.createRef();
|
|
@@ -345,6 +374,7 @@ class RequestDetail extends Component {
|
|
|
345
374
|
this.getJob();
|
|
346
375
|
this.updateJobState(this.props.job);
|
|
347
376
|
this.getAssignees();
|
|
377
|
+
this.getExternalSync();
|
|
348
378
|
}
|
|
349
379
|
updateJobState(defaultJob) {
|
|
350
380
|
const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || defaultJob;
|
|
@@ -609,6 +639,49 @@ class RequestDetail extends Component {
|
|
|
609
639
|
}
|
|
610
640
|
return content;
|
|
611
641
|
}
|
|
642
|
+
renderExternalSync() {
|
|
643
|
+
const {
|
|
644
|
+
externalSync,
|
|
645
|
+
loadingExternalSync
|
|
646
|
+
} = this.state;
|
|
647
|
+
|
|
648
|
+
// Only show if user has permission and external sync data exists
|
|
649
|
+
if (!this.hasPermission()) return null;
|
|
650
|
+
if (!externalSync || loadingExternalSync) return null;
|
|
651
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
652
|
+
style: [styles.externalSyncContainer, Helper.getShadowStyle()]
|
|
653
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
654
|
+
style: styles.externalSyncHeader
|
|
655
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
656
|
+
style: styles.externalSyncTitle
|
|
657
|
+
}, "External Sync"), /*#__PURE__*/React.createElement(Icon, {
|
|
658
|
+
name: "sync",
|
|
659
|
+
type: "material",
|
|
660
|
+
iconStyle: [styles.externalSyncIcon, {
|
|
661
|
+
color: this.props.colourBrandingMain
|
|
662
|
+
}]
|
|
663
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
664
|
+
style: styles.externalSyncContent
|
|
665
|
+
}, externalSync.systemType && /*#__PURE__*/React.createElement(View, {
|
|
666
|
+
style: styles.externalSyncRow
|
|
667
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
668
|
+
style: styles.externalSyncLabel
|
|
669
|
+
}, "System:"), /*#__PURE__*/React.createElement(Text, {
|
|
670
|
+
style: styles.externalSyncValue
|
|
671
|
+
}, externalSync.systemType)), externalSync.externalId && /*#__PURE__*/React.createElement(View, {
|
|
672
|
+
style: styles.externalSyncRow
|
|
673
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
674
|
+
style: styles.externalSyncLabel
|
|
675
|
+
}, "External ID:"), /*#__PURE__*/React.createElement(Text, {
|
|
676
|
+
style: styles.externalSyncValue
|
|
677
|
+
}, externalSync.externalId)), externalSync.syncedAt && /*#__PURE__*/React.createElement(View, {
|
|
678
|
+
style: styles.externalSyncRow
|
|
679
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
680
|
+
style: styles.externalSyncLabel
|
|
681
|
+
}, "Synced:"), /*#__PURE__*/React.createElement(Text, {
|
|
682
|
+
style: styles.externalSyncValue
|
|
683
|
+
}, moment(externalSync.syncedAt).format('D MMM YYYY h:mma')))));
|
|
684
|
+
}
|
|
612
685
|
renderCustomFields() {
|
|
613
686
|
const {
|
|
614
687
|
job
|
|
@@ -698,7 +771,7 @@ class RequestDetail extends Component {
|
|
|
698
771
|
style: styles.nameText
|
|
699
772
|
}, job.userName), !_.isEmpty(job.phone) && /*#__PURE__*/React.createElement(Text, {
|
|
700
773
|
style: styles.phoneText
|
|
701
|
-
}, job.phone)))));
|
|
774
|
+
}, job.phone))), this.renderExternalSync()));
|
|
702
775
|
}
|
|
703
776
|
renderMessages() {
|
|
704
777
|
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Components.CommentSection, {
|
|
@@ -770,7 +843,7 @@ class RequestDetail extends Component {
|
|
|
770
843
|
return /*#__PURE__*/React.createElement(Components.Forbidden, null);
|
|
771
844
|
}
|
|
772
845
|
return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
773
|
-
behavior:
|
|
846
|
+
behavior: 'padding',
|
|
774
847
|
style: styles.container
|
|
775
848
|
}, /*#__PURE__*/React.createElement(Components.Header, {
|
|
776
849
|
leftIcon: "angle-left",
|
|
@@ -1104,6 +1177,48 @@ const styles = StyleSheet.create({
|
|
|
1104
1177
|
fontFamily: 'sf-semibold',
|
|
1105
1178
|
fontSize: 16,
|
|
1106
1179
|
color: '#65686D'
|
|
1180
|
+
},
|
|
1181
|
+
externalSyncContainer: {
|
|
1182
|
+
backgroundColor: '#fff',
|
|
1183
|
+
marginTop: 16,
|
|
1184
|
+
borderRadius: 8,
|
|
1185
|
+
padding: 16
|
|
1186
|
+
},
|
|
1187
|
+
externalSyncHeader: {
|
|
1188
|
+
flexDirection: 'row',
|
|
1189
|
+
justifyContent: 'space-between',
|
|
1190
|
+
alignItems: 'center',
|
|
1191
|
+
marginBottom: 12,
|
|
1192
|
+
paddingBottom: 12,
|
|
1193
|
+
borderBottomWidth: 1,
|
|
1194
|
+
borderBottomColor: Colours.LINEGREY
|
|
1195
|
+
},
|
|
1196
|
+
externalSyncTitle: {
|
|
1197
|
+
fontFamily: 'sf-semibold',
|
|
1198
|
+
fontSize: 16,
|
|
1199
|
+
color: Colours.TEXT_DARKEST
|
|
1200
|
+
},
|
|
1201
|
+
externalSyncIcon: {
|
|
1202
|
+
fontSize: 20
|
|
1203
|
+
},
|
|
1204
|
+
externalSyncContent: {
|
|
1205
|
+
paddingTop: 4
|
|
1206
|
+
},
|
|
1207
|
+
externalSyncRow: {
|
|
1208
|
+
flexDirection: 'row',
|
|
1209
|
+
marginBottom: 10
|
|
1210
|
+
},
|
|
1211
|
+
externalSyncLabel: {
|
|
1212
|
+
fontFamily: 'sf-semibold',
|
|
1213
|
+
fontSize: 14,
|
|
1214
|
+
color: Colours.TEXT_DARK,
|
|
1215
|
+
width: 100
|
|
1216
|
+
},
|
|
1217
|
+
externalSyncValue: {
|
|
1218
|
+
fontFamily: 'sf-regular',
|
|
1219
|
+
fontSize: 14,
|
|
1220
|
+
color: Colours.TEXT_DARKEST,
|
|
1221
|
+
flex: 1
|
|
1107
1222
|
}
|
|
1108
1223
|
});
|
|
1109
1224
|
const mapStateToProps = state => {
|