@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,19 +1,19 @@
|
|
|
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, Text, TouchableOpacity, Modal, KeyboardAvoidingView, Platform, FlatList, Dimensions, ImageBackground, Keyboard } from
|
|
6
|
-
import { connect } from
|
|
7
|
-
import { Icon } from
|
|
8
|
-
import _ from
|
|
9
|
-
import moment from
|
|
10
|
-
import { jobAdded } from
|
|
11
|
-
import { maintenanceActions } from
|
|
12
|
-
import { getBottomSpace } from
|
|
13
|
-
import { Services } from
|
|
14
|
-
import { Components, Colours, Helper } from
|
|
15
|
-
import { values } from
|
|
16
|
-
const SCREEN_WIDTH = Dimensions.get(
|
|
4
|
+
import React, { Component } from "react";
|
|
5
|
+
import { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView, Platform, FlatList, Dimensions, ImageBackground, Keyboard } from "react-native";
|
|
6
|
+
import { connect } from "react-redux";
|
|
7
|
+
import { Icon } from "react-native-elements";
|
|
8
|
+
import _ from "lodash";
|
|
9
|
+
import moment from "moment";
|
|
10
|
+
import { jobAdded } from "../actions";
|
|
11
|
+
import { maintenanceActions } from "../apis";
|
|
12
|
+
import { getBottomSpace } from "react-native-iphone-x-helper";
|
|
13
|
+
import { Services } from "../feature.config";
|
|
14
|
+
import { Components, Colours, Helper } from "../core.config";
|
|
15
|
+
import { values } from "../values.config";
|
|
16
|
+
const SCREEN_WIDTH = Dimensions.get("window").width;
|
|
17
17
|
const PHOTO_SIZE = (SCREEN_WIDTH - 64) / 3;
|
|
18
18
|
class RequestNotes extends Component {
|
|
19
19
|
constructor(props) {
|
|
@@ -75,7 +75,7 @@ class RequestNotes extends Component {
|
|
|
75
75
|
editingNote: null
|
|
76
76
|
};
|
|
77
77
|
if (!!this.state.editingNote) {
|
|
78
|
-
newState.noteInput =
|
|
78
|
+
newState.noteInput = "";
|
|
79
79
|
newState.noteAttachments = [];
|
|
80
80
|
newState.noteImages = [];
|
|
81
81
|
}
|
|
@@ -91,7 +91,7 @@ class RequestNotes extends Component {
|
|
|
91
91
|
this.setState({
|
|
92
92
|
noteAttachments: n.Attachments || [],
|
|
93
93
|
noteImages,
|
|
94
|
-
noteInput: n.Note ||
|
|
94
|
+
noteInput: n.Note || "",
|
|
95
95
|
addNoteOpen: true,
|
|
96
96
|
editingNote: n.Id,
|
|
97
97
|
noteMenuOpen: null
|
|
@@ -117,7 +117,7 @@ class RequestNotes extends Component {
|
|
|
117
117
|
job: res.data.job,
|
|
118
118
|
submittingNote: false,
|
|
119
119
|
addNoteOpen: false,
|
|
120
|
-
noteInput:
|
|
120
|
+
noteInput: "",
|
|
121
121
|
noteAttachments: [],
|
|
122
122
|
noteImages: [{
|
|
123
123
|
add: true
|
|
@@ -129,7 +129,7 @@ class RequestNotes extends Component {
|
|
|
129
129
|
this.props.onChange && this.props.onChange();
|
|
130
130
|
});
|
|
131
131
|
} catch (err) {
|
|
132
|
-
console.log(
|
|
132
|
+
console.log("error");
|
|
133
133
|
console.log(err);
|
|
134
134
|
this.setState({
|
|
135
135
|
submittingNote: false,
|
|
@@ -206,7 +206,7 @@ class RequestNotes extends Component {
|
|
|
206
206
|
this.imageUploader.showUploadMenu();
|
|
207
207
|
});
|
|
208
208
|
_defineProperty(this, "toggleFullscreenVideo", url => {
|
|
209
|
-
if (typeof url !==
|
|
209
|
+
if (typeof url !== "string") url = "";
|
|
210
210
|
this.setState({
|
|
211
211
|
showFullscreenVideo: url.length > 0,
|
|
212
212
|
currentVideoUrl: url
|
|
@@ -216,7 +216,7 @@ class RequestNotes extends Component {
|
|
|
216
216
|
const imagesUpdate = this.getImages();
|
|
217
217
|
imagesUpdate.splice(imagesUpdate.length - 1, 0, {
|
|
218
218
|
uploading: true,
|
|
219
|
-
uploadProgress:
|
|
219
|
+
uploadProgress: "0%",
|
|
220
220
|
uploadUri,
|
|
221
221
|
imageUri,
|
|
222
222
|
allowRetry: true
|
|
@@ -238,7 +238,7 @@ class RequestNotes extends Component {
|
|
|
238
238
|
const imagesUpdate = this.getImages();
|
|
239
239
|
imagesUpdate.map(img => {
|
|
240
240
|
if (img.uploadUri === uploadUri && img.uploading) {
|
|
241
|
-
img.url = uri.replace(
|
|
241
|
+
img.url = uri.replace("/general/", "/general1400/");
|
|
242
242
|
img.thumbNailExists = false;
|
|
243
243
|
img.thumbNailUrl = Helper.getThumb300(img.url);
|
|
244
244
|
img.allowRetry = true;
|
|
@@ -251,7 +251,7 @@ class RequestNotes extends Component {
|
|
|
251
251
|
imagesUpdate.map(img => {
|
|
252
252
|
if (img.uploadUri === uploadUri) {
|
|
253
253
|
img.uploading = true; // Requried for retry
|
|
254
|
-
img.uploadProgress =
|
|
254
|
+
img.uploadProgress = "";
|
|
255
255
|
img.allowRetry = true;
|
|
256
256
|
}
|
|
257
257
|
});
|
|
@@ -272,7 +272,7 @@ class RequestNotes extends Component {
|
|
|
272
272
|
job: {},
|
|
273
273
|
selectedPDF: null,
|
|
274
274
|
noteAttachments: [],
|
|
275
|
-
noteInput:
|
|
275
|
+
noteInput: "",
|
|
276
276
|
addNoteOpen: false,
|
|
277
277
|
noteImages: [{
|
|
278
278
|
add: true
|
|
@@ -373,7 +373,7 @@ class RequestNotes extends Component {
|
|
|
373
373
|
galleryImages,
|
|
374
374
|
galleryIndex
|
|
375
375
|
} = this.state;
|
|
376
|
-
console.log(
|
|
376
|
+
console.log("renderimagepopup", {
|
|
377
377
|
galleryOpen,
|
|
378
378
|
galleryImages,
|
|
379
379
|
galleryIndex
|
|
@@ -479,8 +479,8 @@ class RequestNotes extends Component {
|
|
|
479
479
|
width: 1400
|
|
480
480
|
},
|
|
481
481
|
quality: 0.8,
|
|
482
|
-
fileName:
|
|
483
|
-
popupTitle:
|
|
482
|
+
fileName: "serviceNoteImage",
|
|
483
|
+
popupTitle: "Upload Image",
|
|
484
484
|
userId: this.props.user.uid,
|
|
485
485
|
allowsEditing: false,
|
|
486
486
|
multiple: true,
|
|
@@ -575,7 +575,7 @@ class RequestNotes extends Component {
|
|
|
575
575
|
visible: this.state.addNoteOpen
|
|
576
576
|
}, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
577
577
|
style: styles.container,
|
|
578
|
-
behavior: Platform.OS ===
|
|
578
|
+
behavior: Platform.OS === "ios" && "padding"
|
|
579
579
|
}, this.renderUploadMenu(), /*#__PURE__*/React.createElement(Components.Header, {
|
|
580
580
|
leftText: "Cancel",
|
|
581
581
|
onPressLeft: this.closeAddNote,
|
|
@@ -631,8 +631,8 @@ class RequestNotes extends Component {
|
|
|
631
631
|
const styles = {
|
|
632
632
|
container: {
|
|
633
633
|
flex: 1,
|
|
634
|
-
position:
|
|
635
|
-
backgroundColor:
|
|
634
|
+
position: "relative",
|
|
635
|
+
backgroundColor: "#fff"
|
|
636
636
|
},
|
|
637
637
|
scrollContainer: {
|
|
638
638
|
flex: 1
|
|
@@ -650,8 +650,8 @@ const styles = {
|
|
|
650
650
|
marginBottom: 16
|
|
651
651
|
},
|
|
652
652
|
noteContainerTop: {
|
|
653
|
-
flexDirection:
|
|
654
|
-
alignItems:
|
|
653
|
+
flexDirection: "row",
|
|
654
|
+
alignItems: "center"
|
|
655
655
|
},
|
|
656
656
|
profilePic: {
|
|
657
657
|
marginRight: 8
|
|
@@ -660,44 +660,44 @@ const styles = {
|
|
|
660
660
|
flex: 1
|
|
661
661
|
},
|
|
662
662
|
noteContainerName: {
|
|
663
|
-
fontFamily:
|
|
663
|
+
fontFamily: "sf-semibold",
|
|
664
664
|
fontSize: 13,
|
|
665
665
|
color: Colours.TEXT_DARKEST
|
|
666
666
|
},
|
|
667
667
|
noteContainerText: {
|
|
668
668
|
marginTop: 8,
|
|
669
|
-
fontFamily:
|
|
669
|
+
fontFamily: "sf-regular",
|
|
670
670
|
fontSize: 13,
|
|
671
671
|
color: Colours.TEXT_DARKEST
|
|
672
672
|
},
|
|
673
673
|
noteTimestamp: {
|
|
674
674
|
marginTop: 8,
|
|
675
|
-
fontFamily:
|
|
675
|
+
fontFamily: "sf-semibold",
|
|
676
676
|
fontSize: 11,
|
|
677
677
|
color: Colours.TEXT_LIGHT
|
|
678
678
|
},
|
|
679
679
|
noteContainerTopRight: {
|
|
680
680
|
flex: 1,
|
|
681
|
-
flexDirection:
|
|
682
|
-
alignItems:
|
|
681
|
+
flexDirection: "row-reverse",
|
|
682
|
+
alignItems: "center"
|
|
683
683
|
},
|
|
684
684
|
noteContainerButtonContainer: {
|
|
685
685
|
width: 24,
|
|
686
686
|
height: 24,
|
|
687
687
|
borderRadius: 12,
|
|
688
|
-
alignItems:
|
|
689
|
-
justifyContent:
|
|
688
|
+
alignItems: "center",
|
|
689
|
+
justifyContent: "center",
|
|
690
690
|
marginLeft: 8
|
|
691
691
|
},
|
|
692
692
|
noteContainerButtonIcon: {
|
|
693
693
|
fontSize: 13,
|
|
694
|
-
color:
|
|
694
|
+
color: "#fff"
|
|
695
695
|
},
|
|
696
696
|
inputSection: {
|
|
697
697
|
marginTop: 24
|
|
698
698
|
},
|
|
699
699
|
sectionHeading: {
|
|
700
|
-
fontFamily:
|
|
700
|
+
fontFamily: "qs-bold",
|
|
701
701
|
fontSize: 24,
|
|
702
702
|
color: Colours.TEXT_DARKEST
|
|
703
703
|
},
|
|
@@ -710,9 +710,9 @@ const styles = {
|
|
|
710
710
|
imageContainer: {
|
|
711
711
|
width: PHOTO_SIZE,
|
|
712
712
|
height: PHOTO_SIZE,
|
|
713
|
-
borderStyle:
|
|
714
|
-
justifyContent:
|
|
715
|
-
alignItems:
|
|
713
|
+
borderStyle: "dashed",
|
|
714
|
+
justifyContent: "center",
|
|
715
|
+
alignItems: "center",
|
|
716
716
|
borderWidth: 1,
|
|
717
717
|
borderColor: Colours.LINEGREY,
|
|
718
718
|
backgroundColor: Colours.BOXGREY,
|
|
@@ -722,13 +722,13 @@ const styles = {
|
|
|
722
722
|
imageContainerNotEmpty: {
|
|
723
723
|
borderWidth: 1,
|
|
724
724
|
borderColor: Colours.LINEGREY,
|
|
725
|
-
backgroundColor:
|
|
726
|
-
borderStyle:
|
|
725
|
+
backgroundColor: "#fff",
|
|
726
|
+
borderStyle: "dashed"
|
|
727
727
|
},
|
|
728
728
|
imageBackground: {
|
|
729
729
|
flex: 1,
|
|
730
|
-
height:
|
|
731
|
-
width:
|
|
730
|
+
height: "100%",
|
|
731
|
+
width: "100%",
|
|
732
732
|
borderRadius: 4
|
|
733
733
|
},
|
|
734
734
|
imageCircle: {
|
|
@@ -736,52 +736,52 @@ const styles = {
|
|
|
736
736
|
height: 90,
|
|
737
737
|
borderRadius: 45,
|
|
738
738
|
backgroundColor: Colours.PINKISH_GREY,
|
|
739
|
-
justifyContent:
|
|
739
|
+
justifyContent: "center"
|
|
740
740
|
},
|
|
741
741
|
addImageIcon: {
|
|
742
|
-
color:
|
|
742
|
+
color: "#fff",
|
|
743
743
|
fontSize: 32
|
|
744
744
|
},
|
|
745
745
|
imagePlayContainer: {
|
|
746
|
-
position:
|
|
746
|
+
position: "absolute",
|
|
747
747
|
top: 0,
|
|
748
748
|
left: 0,
|
|
749
749
|
right: 0,
|
|
750
750
|
bottom: 0,
|
|
751
|
-
alignItems:
|
|
752
|
-
justifyContent:
|
|
751
|
+
alignItems: "center",
|
|
752
|
+
justifyContent: "center"
|
|
753
753
|
},
|
|
754
754
|
imageControlIcon: {
|
|
755
|
-
color:
|
|
755
|
+
color: "#fff",
|
|
756
756
|
fontSize: 20,
|
|
757
|
-
textShadowColor:
|
|
757
|
+
textShadowColor: "rgba(0,0,0,0.3)",
|
|
758
758
|
textShadowOffset: {
|
|
759
759
|
width: 2,
|
|
760
760
|
height: 2
|
|
761
761
|
}
|
|
762
762
|
},
|
|
763
763
|
removeImage: {
|
|
764
|
-
position:
|
|
764
|
+
position: "absolute",
|
|
765
765
|
top: 0,
|
|
766
766
|
right: 0,
|
|
767
767
|
padding: 4,
|
|
768
768
|
width: 40,
|
|
769
769
|
height: 40,
|
|
770
|
-
alignItems:
|
|
771
|
-
justifyContent:
|
|
770
|
+
alignItems: "center",
|
|
771
|
+
justifyContent: "center"
|
|
772
772
|
},
|
|
773
773
|
sideBySideImages: {
|
|
774
774
|
flex: 1,
|
|
775
|
-
flexDirection:
|
|
775
|
+
flexDirection: "row",
|
|
776
776
|
marginTop: 12,
|
|
777
777
|
marginHorizontal: -8
|
|
778
778
|
},
|
|
779
779
|
sideBySideImageContainer: {
|
|
780
|
-
backgroundColor:
|
|
780
|
+
backgroundColor: "#fff",
|
|
781
781
|
width: 60,
|
|
782
782
|
height: 50,
|
|
783
783
|
borderRadius: 2,
|
|
784
|
-
overflow:
|
|
784
|
+
overflow: "hidden",
|
|
785
785
|
marginRight: 2
|
|
786
786
|
}
|
|
787
787
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","ScrollView","View","Text","TouchableOpacity","Modal","KeyboardAvoidingView","Platform","FlatList","Dimensions","ImageBackground","Keyboard","connect","Icon","_","moment","jobAdded","maintenanceActions","getBottomSpace","Services","Components","Colours","Helper","values","SCREEN_WIDTH","get","width","PHOTO_SIZE","RequestNotes","constructor","props","_defineProperty","navigation","goBack","a","setState","selectedPDF","n","noteToDelete","deleteNote","job","id","state","Id","newNotes","filter","Notes","note","newJob","onChange","uploadingAttachments","some","noteAttachments","Uploading","uploadingImages","noteImages","uploading","isEmpty","noteInput","img","add","addNoteOpen","editingNote","newState","Images","map","i","url","thumbNailUrl","getThumb300","Attachments","Note","noteMenuOpen","isReadyToSaveNote","submittingNote","attachments","Title","Source","images","res","editNote","addNote","data","uploadingImage","err","console","log","callback","imagesList","cloneDeep","Array","isArray","length","getImages","checkThumb","setInterval","imagesUpdate","Promise","all","image","resolve","newImage","push","thumbNailExists","allowRetry","imageExists","thumbnailsExist","every","clearInterval","setImages","index","splice","dismiss","imageUploader","showUploadMenu","showFullscreenVideo","currentVideoUrl","uploadUri","imageUri","uploadProgress","progress","uri","percentage","replace","waitForThumbnails","get1400","galleryOpen","galleryImages","galleryIndex","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","componentWillUnmount","find","j","openGallery","closeGallery","renderAttachment","createElement","Attachment","onPress","onOpenAttachment","key","title","renderPlayableImageUrl","containerStyle","thumbUrl","isVideo","style","flex","source","styles","imagePlayContainer","toggleFullscreenVideo","bind","name","type","iconStyle","imageControlIcon","imageUrl","resizeMode","imageContainer","renderImages","isNil","horizontal","sideBySideImages","_p","sideBySideImageContainer","renderImagePopup","ImagePopup","visible","onClose","renderNote","noteContainer","noteContainerTop","ProfilePic","Diameter","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","PDFPopup","onCloseAttachment","pdfCount","renderNoteDeleteConfirm","ConfirmPopup","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","text","renderFooterContent","Spinner","InlineButton","color","confirmAddNote","fillTouchable","large","renderUploadMenu","ImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onUploadProgress","onLibrarySelected","size","quality","fileName","popupTitle","userId","allowsEditing","multiple","hideLibrary","renderImage","item","isVideoUrl","activeOpacity","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","addImageIcon","ImageUploadProgress","uploader","imageBackground","getImageSource","removeImage","renderImageList","imageListContainer","keyboardShouldPersistTaps","enableEmptySections","renderItem","keyExtractor","numColumns","scrollEnabled","renderVideoPlayerPopup","VideoPopup","showFullscreenButton","renderAdd","animationType","container","behavior","OS","Header","leftText","onPressLeft","closeAddNote","scrollContainer","contentContainerStyle","innerContainer","TextStyle","GenericInputSection","label","placeholder","value","onChangeText","isValid","autoCapitalize","minHeight","autoCorrect","multiline","autoGrow","required","squaredCorners","sectionStyle","inputSection","attachmentInfo","popupFooter","render","leftIcon","onPressBack","AddButton","openAddNote","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","TEXT_DARKEST","TEXT_LIGHT","height","borderRadius","justifyContent","sectionHeading","marginVertical","borderStyle","borderWidth","borderColor","LINEGREY","BOXGREY","PINKISH_GREY","top","left","right","bottom","textShadowColor","textShadowOffset","marginHorizontal","overflow","mapStateToProps","getMainBrandingColourFromState","colourBrandingLight","getLightBrandingColourFromState","reducerKey"],"sources":["RequestNotes.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { ScrollView, View, Text, TouchableOpacity, Modal, KeyboardAvoidingView, Platform, FlatList, Dimensions, ImageBackground, Keyboard } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { jobAdded } from '../actions';\nimport { maintenanceActions } from '../apis';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper } from '../core.config';\nimport { values } from '../values.config';\n\nconst SCREEN_WIDTH = Dimensions.get('window').width;\nconst PHOTO_SIZE = (SCREEN_WIDTH - 64) / 3;\n\nclass RequestNotes extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n job: {},\n selectedPDF: null,\n noteAttachments: [],\n noteInput: '',\n addNoteOpen: false,\n noteImages: [{ add: true }],\n uploadingImage: false,\n galleryOpen: false,\n galleryImages: [],\n galleryIndex: 0\n };\n this.checkThumb = null;\n }\n\n componentDidMount() {\n this.updateJobState();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.jobs !== this.props.jobs) {\n this.updateJobState();\n }\n }\n\n componentWillUnmount() {\n clearInterval(this.checkThumb);\n }\n\n updateJobState() {\n const job = _.find(this.props.jobs, j => j.id === this.props.job.id) || this.props.job;\n this.setState({ job });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n onPressDeleteNote = n => {\n this.setState({\n noteToDelete: n,\n });\n };\n\n onPressConfirmDelete = () => {\n maintenanceActions.deleteNote(this.props.job.id, this.state.noteToDelete.Id);\n const newNotes = _.filter(this.state.job.Notes, note => {\n return note.Id !== this.state.noteToDelete.Id;\n });\n const newJob = { ...this.props.job };\n newJob.Notes = newNotes;\n this.props.jobAdded(newJob);\n this.props.onChange && this.props.onChange();\n this.setState({\n job: newJob,\n noteToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ noteToDelete: null });\n };\n\n isReadyToSaveNote = () => {\n const uploadingAttachments = _.some(this.state.noteAttachments, n => n.Uploading);\n const uploadingImages = _.some(this.state.noteImages, n => n.uploading);\n if (uploadingAttachments || uploadingImages) return false;\n return !_.isEmpty(this.state.noteInput) || !_.isEmpty(this.state.noteAttachments) || !_.isEmpty(this.state.noteImages.filter(img => !img.add));\n };\n\n openAddNote = () => {\n this.setState({\n addNoteOpen: true,\n editingNote: null,\n });\n };\n\n closeAddNote = () => {\n const newState = {\n addNoteOpen: false,\n editingNote: null,\n };\n if (!!this.state.editingNote) {\n newState.noteInput = '';\n newState.noteAttachments = [];\n newState.noteImages = [];\n }\n this.setState(newState);\n };\n\n openEditNote = n => {\n const noteImages = [...((n.Images || []).map(i => ({ url: i, thumbNailUrl: Helper.getThumb300(i) }))), { add: true }];\n this.setState({\n noteAttachments: n.Attachments || [],\n noteImages,\n noteInput: n.Note || '',\n addNoteOpen: true,\n editingNote: n.Id,\n noteMenuOpen: null,\n });\n };\n\n confirmAddNote = async () => {\n if (!this.isReadyToSaveNote()) {\n return;\n }\n\n try {\n this.setState({ submittingNote: true });\n const attachments = this.state.noteAttachments.filter(a => !a.add).map(a => {\n return {\n Title: a.Title,\n Source: a.Source,\n };\n });\n const images = this.state.noteImages.filter(img => !img.add).map(img => img.url);\n const res = await (this.state.editingNote\n ? maintenanceActions.editNote(\n this.props.job.id,\n this.state.editingNote,\n this.state.noteInput,\n attachments,\n images,\n )\n : maintenanceActions.addNote(\n this.props.job.id,\n this.state.noteInput,\n attachments,\n images,\n ));\n this.setState(\n {\n job: res.data.job,\n submittingNote: false,\n addNoteOpen: false,\n noteInput: '',\n noteAttachments: [],\n noteImages: [{ add: true }],\n uploadingImage: false,\n editingNote: null,\n },\n () => {\n this.props.jobAdded(res.data.job);\n this.props.onChange && this.props.onChange();\n },\n );\n } catch (err) {\n console.log('error');\n console.log(err);\n this.setState({\n submittingNote: false,\n uploadingImage: false,\n });\n }\n };\n\n setImages = (noteImages, uploadingImage = false, callback = null) => {\n this.setState({ noteImages, uploadingImage }, callback);\n };\n\n getImages = () => {\n const { noteImages } = this.state;\n const imagesList = _.cloneDeep(noteImages);\n if (!imagesList || !Array.isArray(imagesList) || imagesList.length === 0) {\n return [{ add: true }];\n }\n return imagesList;\n };\n\n getImageUrls = () => {\n const imagesList = this.getImages();\n return _.filter(imagesList, img => {\n return !img.uploading && !img.add;\n }).map(img => {\n return img.url;\n });\n };\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const imagesList = this.getImages();\n const imagesUpdate = [];\n await Promise.all(\n imagesList.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n imagesUpdate.push(newImage);\n if (newImage.url && !newImage.thumbNailExists) {\n newImage.uploading = false;\n newImage.allowRetry = false;\n newImage.thumbNailExists = await Helper.imageExists(newImage.thumbNailUrl);\n resolve(newImage.thumbNailExists);\n }\n resolve(true);\n });\n }),\n );\n const thumbnailsExist = imagesUpdate.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setImages(imagesUpdate);\n }\n }, 2000);\n };\n\n removeImage = (index) => {\n const imagesUpdate = this.getImages();\n imagesUpdate.splice(index, 1);\n\n this.setImages(imagesUpdate);\n };\n\n showUploadMenu = () => {\n Keyboard.dismiss();\n const { uploadingImage, submittingNote } = this.state;\n if (uploadingImage || submittingNote) return;\n this.imageUploader.showUploadMenu();\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n openGallery(images, index) {\n this.setState({ galleryOpen: true, galleryImages: images, galleryIndex: index });\n }\n\n closeGallery() {\n this.setState({ galleryOpen: false, galleryImages: [], galleryIndex: 0 });\n }\n\n onUploadStarted = (uploadUri, imageUri) => {\n const imagesUpdate = this.getImages();\n imagesUpdate.splice(imagesUpdate.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n });\n\n this.setImages(imagesUpdate, true);\n };\n\n onUploadProgress = progress => {\n const imagesUpdate = this.getImages();\n imagesUpdate.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, true);\n };\n\n onUploadSuccess = async (uri, uploadUri) => {\n const imagesUpdate = this.getImages();\n imagesUpdate.map(img => {\n if (img.uploadUri === uploadUri && img.uploading) {\n img.url = uri.replace('/general/', '/general1400/');\n img.thumbNailExists = false;\n img.thumbNailUrl = Helper.getThumb300(img.url);\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate, false, () => this.waitForThumbnails());\n };\n\n onUploadFailed = uploadUri => {\n const imagesUpdate = this.getImages();\n imagesUpdate.map(img => {\n if (img.uploadUri === uploadUri) {\n img.uploading = true; // Requried for retry\n img.uploadProgress = '';\n img.allowRetry = true;\n }\n });\n\n this.setImages(imagesUpdate);\n };\n\n onLibrarySelected = uri => {\n const imagesUpdate = this.getImages();\n imagesUpdate.splice(imagesUpdate.length - 1, 0, {\n uploading: false,\n allowRetry: false,\n url: Helper.get1400(uri),\n thumbNailExists: true,\n thumbNailUrl: Helper.getThumb300(uri),\n });\n\n this.setImages(imagesUpdate);\n };\n\n renderAttachment(a, i) {\n return (\n <Components.Attachment\n onPress={() => {\n this.onOpenAttachment(a);\n }}\n key={i}\n title={a.Title}\n />\n );\n }\n\n renderPlayableImageUrl(images, index, containerStyle) {\n const url = images[index];\n const thumbUrl = Helper.getThumb300(url);\n\n if (Helper.isVideo(url)) {\n return (\n <ImageBackground style={[{ flex: 1 }, containerStyle]} source={{ uri: thumbUrl }}>\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n </ImageBackground>\n );\n }\n\n const imageUrl = Helper.get1400(url);\n return (\n <TouchableOpacity style={containerStyle} onPress={this.openGallery.bind(this, images, index || 0)}>\n <ImageBackground resizeMode='cover' style={styles.imageContainer} source={{ uri: imageUrl }} />\n </TouchableOpacity>\n );\n }\n\n renderImages(note) {\n if (!note) return null\n if (!_.isNil(note.Images) && !_.isEmpty(note.Images)) {\n return (\n <ScrollView horizontal style={styles.sideBySideImages}>\n {note.Images.map((_p, index) =>\n this.renderPlayableImageUrl(note.Images, index, styles.sideBySideImageContainer),\n )}\n </ScrollView>\n );\n }\n return null;\n }\n\n renderImagePopup() {\n const { galleryOpen, galleryImages, galleryIndex } = this.state;\n console.log('renderimagepopup', { galleryOpen, galleryImages, galleryIndex });\n return (\n <Components.ImagePopup\n visible={galleryOpen}\n images={galleryImages}\n index={galleryIndex}\n onClose={this.closeGallery.bind(this)}\n />\n );\n }\n\n renderNote(n) {\n return (\n <View style={styles.noteContainer} key={n.Id}>\n <View style={styles.noteContainerTop}>\n <Components.ProfilePic Diameter={30} ProfilePic={n.User.profilePic} style={styles.profilePic} />\n <View style={styles.noteContainerTopRight}>\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.onPressDeleteNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n {this.props.user.uid === n.User.id && (\n <TouchableOpacity\n onPress={() => {\n this.openEditNote(n);\n }}\n >\n <View style={[styles.noteContainerButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"pencil\" type=\"font-awesome\" iconStyle={styles.noteContainerButtonIcon} />\n </View>\n </TouchableOpacity>\n )}\n <View style={styles.noteContainerTopFill}>\n <Text style={styles.noteContainerName}>{n.User.displayName}</Text>\n </View>\n </View>\n </View>\n <Text style={styles.noteContainerText}>{n.Note}</Text>\n {(n.Attachments || []).map((a, i) => this.renderAttachment(a, i))}\n {this.renderImages(n)}\n <Text style={styles.noteTimestamp}>\n {moment\n .utc(n.Timestamp)\n .local()\n .format(Helper.TIMESTAMP_FORMAT)}\n </Text>\n </View>\n );\n }\n\n renderNotes() {\n return (this.state.job.Notes || []).map((n, i) => {\n return this.renderNote(n, i);\n });\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <Components.PDFPopup\n source={this.state.selectedPDF.Source}\n onClose={this.onCloseAttachment}\n title={this.state.selectedPDF.Title}\n pdfCount={1}\n />\n );\n }\n\n renderNoteDeleteConfirm() {\n return (\n <Components.ConfirmPopup\n visible={!!this.state.noteToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this note?\"\n />\n );\n }\n\n renderFooterContent() {\n if (this.state.submittingNote) {\n return <Components.Spinner />;\n }\n return (\n <Components.InlineButton color={this.props.colourBrandingMain} onPress={this.confirmAddNote} fillTouchable large>\n Save\n </Components.InlineButton>\n );\n }\n\n renderUploadMenu() {\n return (\n <Components.ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onUploadProgress={this.onUploadProgress}\n onLibrarySelected={this.onLibrarySelected}\n size={{ width: 1400 }}\n quality={0.8}\n fileName={'serviceNoteImage'}\n popupTitle={'Upload Image'}\n userId={this.props.user.uid}\n allowsEditing={false}\n multiple\n hideLibrary\n />\n );\n }\n\n renderImage(item, index) {\n const isVideoUrl = Helper.isVideo(item.url);\n const imagesList = this.getImages();\n\n if (item.add) {\n return (\n <TouchableOpacity activeOpacity={0.8} onPress={() => this.showUploadMenu()}>\n <View\n style={[\n styles.imageContainer,\n imagesList.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n <View style={styles.imageCircle}>\n <Icon name=\"camera\" type=\"font-awesome\" iconStyle={styles.addImageIcon} />\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n return (\n <View\n style={[\n styles.imageContainer,\n imagesList.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n {item.uploading ? (\n <Components.ImageUploadProgress uploader={this.imageUploader} image={item} color={this.props.colourBrandingMain} />\n ) : (\n <ImageBackground\n style={styles.imageBackground}\n source={Helper.getImageSource(item.thumbNailExists ? item.thumbNailUrl : (item.url || item))}\n >\n {isVideoUrl && (\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, item.url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n )}\n <TouchableOpacity style={styles.removeImage} onPress={() => this.removeImage(index)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} style={styles.removeImage} />\n </TouchableOpacity>\n </ImageBackground>\n )}\n </View>\n );\n }\n\n renderImageList() {\n const imagesList = this.getImages();\n\n return (\n <View style={styles.imageListContainer}>\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n enableEmptySections\n data={imagesList}\n renderItem={({ item, index }) => this.renderImage(item, index)}\n keyExtractor={(item, index) => index}\n numColumns={3}\n scrollEnabled={false}\n />\n </View>\n );\n }\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return (\n <Components.VideoPopup\n uri={currentVideoUrl}\n visible={showFullscreenVideo}\n showFullscreenButton={false}\n onClose={this.toggleFullscreenVideo}\n />\n );\n }\n\n renderAdd() {\n return (\n <Modal animationType=\"slide\" visible={this.state.addNoteOpen}>\n <KeyboardAvoidingView style={styles.container} behavior={Platform.OS === 'ios' && 'padding'}>\n {this.renderUploadMenu()}\n <Components.Header leftText=\"Cancel\" onPressLeft={this.closeAddNote} text=\"\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n <Components.TextStyle type=\"pageHeading\">Add Staff Note</Components.TextStyle>\n <Components.GenericInputSection\n label=\"Content\"\n placeholder=\"Insert your notes here...\"\n value={this.state.noteInput}\n onChangeText={noteInput => this.setState({ noteInput })}\n isValid={() => {\n return !_.isEmpty(this.state.noteInput);\n }}\n autoCapitalize=\"sentences\"\n minHeight={135}\n autoCorrect\n multiline\n autoGrow\n required\n squaredCorners\n sectionStyle={styles.inputSection}\n />\n <Components.GenericInputSection label=\"Attachments\" sectionStyle={styles.inputSection}>\n {this.renderImageList()}\n {this.state.editingNote ? (\n (this.state.noteAttachments || []).map((a, i) => this.renderAttachment(a, i))\n ) : (\n <Components.TextStyle type=\"body\" style={styles.attachmentInfo}>\n PDFs can only be attached to notes from the Community Manager.\n </Components.TextStyle>\n )}\n </Components.GenericInputSection>\n </ScrollView>\n <View style={styles.popupFooter}>{this.renderFooterContent()}</View>\n {this.renderVideoPlayerPopup()}\n </KeyboardAvoidingView>\n </Modal>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n {this.renderPDF()}\n {this.renderNoteDeleteConfirm()}\n {this.renderAdd()}\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text=\"Staff Notes\" />\n <ScrollView style={styles.scrollContainer} contentContainerStyle={styles.innerContainer}>\n {this.renderNotes()}\n </ScrollView>\n <Components.AddButton onPress={this.openAddNote} />\n {this.renderImagePopup()}\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#fff',\n },\n scrollContainer: {\n flex: 1,\n },\n innerContainer: {\n padding: 16,\n },\n popupFooter: {\n paddingHorizontal: 16,\n paddingBottom: getBottomSpace() + 16,\n },\n noteContainer: {\n ...Helper.getShadowStyle(),\n padding: 8,\n marginBottom: 16,\n },\n noteContainerTop: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n profilePic: {\n marginRight: 8,\n },\n noteContainerTopFill: {\n flex: 1,\n },\n noteContainerName: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteContainerText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n fontSize: 13,\n color: Colours.TEXT_DARKEST,\n },\n noteTimestamp: {\n marginTop: 8,\n fontFamily: 'sf-semibold',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n },\n noteContainerTopRight: {\n flex: 1,\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n noteContainerButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n marginLeft: 8,\n },\n noteContainerButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n inputSection: {\n marginTop: 24,\n },\n sectionHeading: {\n fontFamily: 'qs-bold',\n fontSize: 24,\n color: Colours.TEXT_DARKEST,\n },\n attachmentInfo: {\n marginTop: 8,\n },\n imageListContainer: {\n marginVertical: 8,\n },\n imageContainer: {\n width: PHOTO_SIZE,\n height: PHOTO_SIZE,\n borderStyle: 'dashed',\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n backgroundColor: Colours.BOXGREY,\n borderRadius: 4,\n marginLeft: 8,\n },\n imageContainerNotEmpty: {\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n backgroundColor: '#fff',\n borderStyle: 'dashed',\n },\n imageBackground: {\n flex: 1,\n height: '100%',\n width: '100%',\n borderRadius: 4,\n },\n imageCircle: {\n width: 90,\n height: 90,\n borderRadius: 45,\n backgroundColor: Colours.PINKISH_GREY,\n justifyContent: 'center',\n },\n addImageIcon: {\n color: '#fff',\n fontSize: 32,\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 20,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n removeImage: {\n position: 'absolute',\n top: 0,\n right: 0,\n padding: 4,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n },\n sideBySideImages: {\n flex: 1,\n flexDirection: 'row',\n marginTop: 12,\n marginHorizontal: -8,\n },\n sideBySideImageContainer: {\n backgroundColor: '#fff',\n width: 60,\n height: 50,\n borderRadius: 2,\n overflow: 'hidden',\n marginRight: 2,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n colourBrandingLight: Colours.getLightBrandingColourFromState(state),\n jobs: state[values.reducerKey].jobs,\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestNotes);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Component","ScrollView","View","Text","TouchableOpacity","Modal","KeyboardAvoidingView","Platform","FlatList","Dimensions","ImageBackground","Keyboard","connect","Icon","_","moment","jobAdded","maintenanceActions","getBottomSpace","Services","Components","Colours","Helper","values","SCREEN_WIDTH","get","width","PHOTO_SIZE","RequestNotes","constructor","props","_defineProperty","navigation","goBack","a","setState","selectedPDF","n","noteToDelete","deleteNote","job","id","state","Id","newNotes","filter","Notes","note","newJob","onChange","uploadingAttachments","some","noteAttachments","Uploading","uploadingImages","noteImages","uploading","isEmpty","noteInput","img","add","addNoteOpen","editingNote","newState","Images","map","i","url","thumbNailUrl","getThumb300","Attachments","Note","noteMenuOpen","isReadyToSaveNote","submittingNote","attachments","Title","Source","images","res","editNote","addNote","data","uploadingImage","err","console","log","callback","imagesList","cloneDeep","Array","isArray","length","getImages","checkThumb","setInterval","imagesUpdate","Promise","all","image","resolve","newImage","push","thumbNailExists","allowRetry","imageExists","thumbnailsExist","every","clearInterval","setImages","index","splice","dismiss","imageUploader","showUploadMenu","showFullscreenVideo","currentVideoUrl","uploadUri","imageUri","uploadProgress","progress","uri","percentage","replace","waitForThumbnails","get1400","galleryOpen","galleryImages","galleryIndex","componentDidMount","updateJobState","componentDidUpdate","prevProps","jobs","componentWillUnmount","find","j","openGallery","closeGallery","renderAttachment","createElement","Attachment","onPress","onOpenAttachment","key","title","renderPlayableImageUrl","containerStyle","thumbUrl","isVideo","style","flex","source","styles","imagePlayContainer","toggleFullscreenVideo","bind","name","type","iconStyle","imageControlIcon","imageUrl","resizeMode","imageContainer","renderImages","isNil","horizontal","sideBySideImages","_p","sideBySideImageContainer","renderImagePopup","ImagePopup","visible","onClose","renderNote","noteContainer","noteContainerTop","ProfilePic","Diameter","User","profilePic","noteContainerTopRight","user","uid","onPressDeleteNote","noteContainerButtonContainer","backgroundColor","colourBrandingMain","noteContainerButtonIcon","openEditNote","noteContainerTopFill","noteContainerName","displayName","noteContainerText","noteTimestamp","utc","Timestamp","local","format","TIMESTAMP_FORMAT","renderNotes","renderPDF","PDFPopup","onCloseAttachment","pdfCount","renderNoteDeleteConfirm","ConfirmPopup","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","text","renderFooterContent","Spinner","InlineButton","color","confirmAddNote","fillTouchable","large","renderUploadMenu","ImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onUploadProgress","onLibrarySelected","size","quality","fileName","popupTitle","userId","allowsEditing","multiple","hideLibrary","renderImage","item","isVideoUrl","activeOpacity","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","addImageIcon","ImageUploadProgress","uploader","imageBackground","getImageSource","removeImage","renderImageList","imageListContainer","keyboardShouldPersistTaps","enableEmptySections","renderItem","keyExtractor","numColumns","scrollEnabled","renderVideoPlayerPopup","VideoPopup","showFullscreenButton","renderAdd","animationType","container","behavior","OS","Header","leftText","onPressLeft","closeAddNote","scrollContainer","contentContainerStyle","innerContainer","TextStyle","GenericInputSection","label","placeholder","value","onChangeText","isValid","autoCapitalize","minHeight","autoCorrect","multiline","autoGrow","required","squaredCorners","sectionStyle","inputSection","attachmentInfo","popupFooter","render","leftIcon","onPressBack","AddButton","openAddNote","position","padding","paddingHorizontal","paddingBottom","getShadowStyle","marginBottom","flexDirection","alignItems","marginRight","fontFamily","fontSize","TEXT_DARKEST","TEXT_LIGHT","height","borderRadius","justifyContent","sectionHeading","marginVertical","borderStyle","borderWidth","borderColor","LINEGREY","BOXGREY","PINKISH_GREY","top","left","right","bottom","textShadowColor","textShadowOffset","marginHorizontal","overflow","mapStateToProps","getMainBrandingColourFromState","colourBrandingLight","getLightBrandingColourFromState","reducerKey"],"sources":["RequestNotes.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport {\n\tScrollView,\n\tView,\n\tText,\n\tTouchableOpacity,\n\tModal,\n\tKeyboardAvoidingView,\n\tPlatform,\n\tFlatList,\n\tDimensions,\n\tImageBackground,\n\tKeyboard,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { Icon } from \"react-native-elements\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { jobAdded } from \"../actions\";\nimport { maintenanceActions } from \"../apis\";\nimport { getBottomSpace } from \"react-native-iphone-x-helper\";\nimport { Services } from \"../feature.config\";\nimport { Components, Colours, Helper } from \"../core.config\";\nimport { values } from \"../values.config\";\n\nconst SCREEN_WIDTH = Dimensions.get(\"window\").width;\nconst PHOTO_SIZE = (SCREEN_WIDTH - 64) / 3;\n\nclass RequestNotes extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tjob: {},\n\t\t\tselectedPDF: null,\n\t\t\tnoteAttachments: [],\n\t\t\tnoteInput: \"\",\n\t\t\taddNoteOpen: false,\n\t\t\tnoteImages: [{ add: true }],\n\t\t\tuploadingImage: false,\n\t\t\tgalleryOpen: false,\n\t\t\tgalleryImages: [],\n\t\t\tgalleryIndex: 0,\n\t\t};\n\t\tthis.checkThumb = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateJobState();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.jobs !== this.props.jobs) {\n\t\t\tthis.updateJobState();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearInterval(this.checkThumb);\n\t}\n\n\tupdateJobState() {\n\t\tconst job =\n\t\t\t_.find(this.props.jobs, (j) => j.id === this.props.job.id) ||\n\t\t\tthis.props.job;\n\t\tthis.setState({ job });\n\t}\n\n\tonPressBack = () => {\n\t\tServices.navigation.goBack();\n\t};\n\n\tonOpenAttachment = (a) => {\n\t\tthis.setState({\n\t\t\tselectedPDF: a,\n\t\t});\n\t};\n\n\tonCloseAttachment = () => {\n\t\tthis.setState({\n\t\t\tselectedPDF: null,\n\t\t});\n\t};\n\n\tonPressDeleteNote = (n) => {\n\t\tthis.setState({\n\t\t\tnoteToDelete: n,\n\t\t});\n\t};\n\n\tonPressConfirmDelete = () => {\n\t\tmaintenanceActions.deleteNote(\n\t\t\tthis.props.job.id,\n\t\t\tthis.state.noteToDelete.Id,\n\t\t);\n\t\tconst newNotes = _.filter(this.state.job.Notes, (note) => {\n\t\t\treturn note.Id !== this.state.noteToDelete.Id;\n\t\t});\n\t\tconst newJob = { ...this.props.job };\n\t\tnewJob.Notes = newNotes;\n\t\tthis.props.jobAdded(newJob);\n\t\tthis.props.onChange && this.props.onChange();\n\t\tthis.setState({\n\t\t\tjob: newJob,\n\t\t\tnoteToDelete: null,\n\t\t});\n\t};\n\n\tonPressCancelDelete = () => {\n\t\tthis.setState({ noteToDelete: null });\n\t};\n\n\tisReadyToSaveNote = () => {\n\t\tconst uploadingAttachments = _.some(\n\t\t\tthis.state.noteAttachments,\n\t\t\t(n) => n.Uploading,\n\t\t);\n\t\tconst uploadingImages = _.some(this.state.noteImages, (n) => n.uploading);\n\t\tif (uploadingAttachments || uploadingImages) return false;\n\t\treturn (\n\t\t\t!_.isEmpty(this.state.noteInput) ||\n\t\t\t!_.isEmpty(this.state.noteAttachments) ||\n\t\t\t!_.isEmpty(this.state.noteImages.filter((img) => !img.add))\n\t\t);\n\t};\n\n\topenAddNote = () => {\n\t\tthis.setState({\n\t\t\taddNoteOpen: true,\n\t\t\teditingNote: null,\n\t\t});\n\t};\n\n\tcloseAddNote = () => {\n\t\tconst newState = {\n\t\t\taddNoteOpen: false,\n\t\t\teditingNote: null,\n\t\t};\n\t\tif (!!this.state.editingNote) {\n\t\t\tnewState.noteInput = \"\";\n\t\t\tnewState.noteAttachments = [];\n\t\t\tnewState.noteImages = [];\n\t\t}\n\t\tthis.setState(newState);\n\t};\n\n\topenEditNote = (n) => {\n\t\tconst noteImages = [\n\t\t\t...(n.Images || []).map((i) => ({\n\t\t\t\turl: i,\n\t\t\t\tthumbNailUrl: Helper.getThumb300(i),\n\t\t\t})),\n\t\t\t{ add: true },\n\t\t];\n\t\tthis.setState({\n\t\t\tnoteAttachments: n.Attachments || [],\n\t\t\tnoteImages,\n\t\t\tnoteInput: n.Note || \"\",\n\t\t\taddNoteOpen: true,\n\t\t\teditingNote: n.Id,\n\t\t\tnoteMenuOpen: null,\n\t\t});\n\t};\n\n\tconfirmAddNote = async () => {\n\t\tif (!this.isReadyToSaveNote()) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tthis.setState({ submittingNote: true });\n\t\t\tconst attachments = this.state.noteAttachments\n\t\t\t\t.filter((a) => !a.add)\n\t\t\t\t.map((a) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tTitle: a.Title,\n\t\t\t\t\t\tSource: a.Source,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\tconst images = this.state.noteImages\n\t\t\t\t.filter((img) => !img.add)\n\t\t\t\t.map((img) => img.url);\n\t\t\tconst res = await (this.state.editingNote\n\t\t\t\t? maintenanceActions.editNote(\n\t\t\t\t\t\tthis.props.job.id,\n\t\t\t\t\t\tthis.state.editingNote,\n\t\t\t\t\t\tthis.state.noteInput,\n\t\t\t\t\t\tattachments,\n\t\t\t\t\t\timages,\n\t\t\t\t\t)\n\t\t\t\t: maintenanceActions.addNote(\n\t\t\t\t\t\tthis.props.job.id,\n\t\t\t\t\t\tthis.state.noteInput,\n\t\t\t\t\t\tattachments,\n\t\t\t\t\t\timages,\n\t\t\t\t\t));\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tjob: res.data.job,\n\t\t\t\t\tsubmittingNote: false,\n\t\t\t\t\taddNoteOpen: false,\n\t\t\t\t\tnoteInput: \"\",\n\t\t\t\t\tnoteAttachments: [],\n\t\t\t\t\tnoteImages: [{ add: true }],\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\teditingNote: null,\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.jobAdded(res.data.job);\n\t\t\t\t\tthis.props.onChange && this.props.onChange();\n\t\t\t\t},\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tconsole.log(\"error\");\n\t\t\tconsole.log(err);\n\t\t\tthis.setState({\n\t\t\t\tsubmittingNote: false,\n\t\t\t\tuploadingImage: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tsetImages = (noteImages, uploadingImage = false, callback = null) => {\n\t\tthis.setState({ noteImages, uploadingImage }, callback);\n\t};\n\n\tgetImages = () => {\n\t\tconst { noteImages } = this.state;\n\t\tconst imagesList = _.cloneDeep(noteImages);\n\t\tif (!imagesList || !Array.isArray(imagesList) || imagesList.length === 0) {\n\t\t\treturn [{ add: true }];\n\t\t}\n\t\treturn imagesList;\n\t};\n\n\tgetImageUrls = () => {\n\t\tconst imagesList = this.getImages();\n\t\treturn _.filter(imagesList, (img) => {\n\t\t\treturn !img.uploading && !img.add;\n\t\t}).map((img) => {\n\t\t\treturn img.url;\n\t\t});\n\t};\n\n\twaitForThumbnails = () => {\n\t\tif (this.checkThumb) return;\n\n\t\tthis.checkThumb = setInterval(async () => {\n\t\t\tconst imagesList = this.getImages();\n\t\t\tconst imagesUpdate = [];\n\t\t\tawait Promise.all(\n\t\t\t\timagesList.map((image) => {\n\t\t\t\t\treturn new Promise(async (resolve) => {\n\t\t\t\t\t\tconst newImage = { ...image };\n\t\t\t\t\t\timagesUpdate.push(newImage);\n\t\t\t\t\t\tif (newImage.url && !newImage.thumbNailExists) {\n\t\t\t\t\t\t\tnewImage.uploading = false;\n\t\t\t\t\t\t\tnewImage.allowRetry = false;\n\t\t\t\t\t\t\tnewImage.thumbNailExists = await Helper.imageExists(\n\t\t\t\t\t\t\t\tnewImage.thumbNailUrl,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(newImage.thumbNailExists);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t);\n\t\t\tconst thumbnailsExist = imagesUpdate.every(\n\t\t\t\t(image) => !image.url || image.thumbNailExists,\n\t\t\t);\n\t\t\tif (thumbnailsExist) {\n\t\t\t\tclearInterval(this.checkThumb);\n\t\t\t\tthis.checkThumb = null;\n\t\t\t\tthis.setImages(imagesUpdate);\n\t\t\t}\n\t\t}, 2000);\n\t};\n\n\tremoveImage = (index) => {\n\t\tconst imagesUpdate = this.getImages();\n\t\timagesUpdate.splice(index, 1);\n\n\t\tthis.setImages(imagesUpdate);\n\t};\n\n\tshowUploadMenu = () => {\n\t\tKeyboard.dismiss();\n\t\tconst { uploadingImage, submittingNote } = this.state;\n\t\tif (uploadingImage || submittingNote) return;\n\t\tthis.imageUploader.showUploadMenu();\n\t};\n\n\ttoggleFullscreenVideo = (url) => {\n\t\tif (typeof url !== \"string\") url = \"\";\n\t\tthis.setState({\n\t\t\tshowFullscreenVideo: url.length > 0,\n\t\t\tcurrentVideoUrl: url,\n\t\t});\n\t};\n\n\topenGallery(images, index) {\n\t\tthis.setState({\n\t\t\tgalleryOpen: true,\n\t\t\tgalleryImages: images,\n\t\t\tgalleryIndex: index,\n\t\t});\n\t}\n\n\tcloseGallery() {\n\t\tthis.setState({ galleryOpen: false, galleryImages: [], galleryIndex: 0 });\n\t}\n\n\tonUploadStarted = (uploadUri, imageUri) => {\n\t\tconst imagesUpdate = this.getImages();\n\t\timagesUpdate.splice(imagesUpdate.length - 1, 0, {\n\t\t\tuploading: true,\n\t\t\tuploadProgress: \"0%\",\n\t\t\tuploadUri,\n\t\t\timageUri,\n\t\t\tallowRetry: true,\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, true);\n\t};\n\n\tonUploadProgress = (progress) => {\n\t\tconst imagesUpdate = this.getImages();\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === progress.uri) {\n\t\t\t\timg.uploadProgress = progress.percentage;\n\t\t\t\timg.uploading = true;\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, true);\n\t};\n\n\tonUploadSuccess = async (uri, uploadUri) => {\n\t\tconst imagesUpdate = this.getImages();\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === uploadUri && img.uploading) {\n\t\t\t\timg.url = uri.replace(\"/general/\", \"/general1400/\");\n\t\t\t\timg.thumbNailExists = false;\n\t\t\t\timg.thumbNailUrl = Helper.getThumb300(img.url);\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate, false, () => this.waitForThumbnails());\n\t};\n\n\tonUploadFailed = (uploadUri) => {\n\t\tconst imagesUpdate = this.getImages();\n\t\timagesUpdate.map((img) => {\n\t\t\tif (img.uploadUri === uploadUri) {\n\t\t\t\timg.uploading = true; // Requried for retry\n\t\t\t\timg.uploadProgress = \"\";\n\t\t\t\timg.allowRetry = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.setImages(imagesUpdate);\n\t};\n\n\tonLibrarySelected = (uri) => {\n\t\tconst imagesUpdate = this.getImages();\n\t\timagesUpdate.splice(imagesUpdate.length - 1, 0, {\n\t\t\tuploading: false,\n\t\t\tallowRetry: false,\n\t\t\turl: Helper.get1400(uri),\n\t\t\tthumbNailExists: true,\n\t\t\tthumbNailUrl: Helper.getThumb300(uri),\n\t\t});\n\n\t\tthis.setImages(imagesUpdate);\n\t};\n\n\trenderAttachment(a, i) {\n\t\treturn (\n\t\t\t<Components.Attachment\n\t\t\t\tonPress={() => {\n\t\t\t\t\tthis.onOpenAttachment(a);\n\t\t\t\t}}\n\t\t\t\tkey={i}\n\t\t\t\ttitle={a.Title}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderPlayableImageUrl(images, index, containerStyle) {\n\t\tconst url = images[index];\n\t\tconst thumbUrl = Helper.getThumb300(url);\n\n\t\tif (Helper.isVideo(url)) {\n\t\t\treturn (\n\t\t\t\t<ImageBackground\n\t\t\t\t\tstyle={[{ flex: 1 }, containerStyle]}\n\t\t\t\t\tsource={{ uri: thumbUrl }}\n\t\t\t\t>\n\t\t\t\t\t<View style={styles.imagePlayContainer}>\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={this.toggleFullscreenVideo.bind(this, url)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"play\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</View>\n\t\t\t\t</ImageBackground>\n\t\t\t);\n\t\t}\n\n\t\tconst imageUrl = Helper.get1400(url);\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={containerStyle}\n\t\t\t\tonPress={this.openGallery.bind(this, images, index || 0)}\n\t\t\t>\n\t\t\t\t<ImageBackground\n\t\t\t\t\tresizeMode=\"cover\"\n\t\t\t\t\tstyle={styles.imageContainer}\n\t\t\t\t\tsource={{ uri: imageUrl }}\n\t\t\t\t/>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderImages(note) {\n\t\tif (!note) return null;\n\t\tif (!_.isNil(note.Images) && !_.isEmpty(note.Images)) {\n\t\t\treturn (\n\t\t\t\t<ScrollView horizontal style={styles.sideBySideImages}>\n\t\t\t\t\t{note.Images.map((_p, index) =>\n\t\t\t\t\t\tthis.renderPlayableImageUrl(\n\t\t\t\t\t\t\tnote.Images,\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tstyles.sideBySideImageContainer,\n\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t</ScrollView>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderImagePopup() {\n\t\tconst { galleryOpen, galleryImages, galleryIndex } = this.state;\n\t\tconsole.log(\"renderimagepopup\", {\n\t\t\tgalleryOpen,\n\t\t\tgalleryImages,\n\t\t\tgalleryIndex,\n\t\t});\n\t\treturn (\n\t\t\t<Components.ImagePopup\n\t\t\t\tvisible={galleryOpen}\n\t\t\t\timages={galleryImages}\n\t\t\t\tindex={galleryIndex}\n\t\t\t\tonClose={this.closeGallery.bind(this)}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderNote(n) {\n\t\treturn (\n\t\t\t<View style={styles.noteContainer} key={n.Id}>\n\t\t\t\t<View style={styles.noteContainerTop}>\n\t\t\t\t\t<Components.ProfilePic\n\t\t\t\t\t\tDiameter={30}\n\t\t\t\t\t\tProfilePic={n.User.profilePic}\n\t\t\t\t\t\tstyle={styles.profilePic}\n\t\t\t\t\t/>\n\t\t\t\t\t<View style={styles.noteContainerTopRight}>\n\t\t\t\t\t\t{this.props.user.uid === n.User.id && (\n\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\tonPress={() => {\n\t\t\t\t\t\t\t\t\tthis.onPressDeleteNote(n);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.noteContainerButtonContainer,\n\t\t\t\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"trash\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.noteContainerButtonIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.props.user.uid === n.User.id && (\n\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\tonPress={() => {\n\t\t\t\t\t\t\t\t\tthis.openEditNote(n);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.noteContainerButtonContainer,\n\t\t\t\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"pencil\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.noteContainerButtonIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<View style={styles.noteContainerTopFill}>\n\t\t\t\t\t\t\t<Text style={styles.noteContainerName}>{n.User.displayName}</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t\t<Text style={styles.noteContainerText}>{n.Note}</Text>\n\t\t\t\t{(n.Attachments || []).map((a, i) => this.renderAttachment(a, i))}\n\t\t\t\t{this.renderImages(n)}\n\t\t\t\t<Text style={styles.noteTimestamp}>\n\t\t\t\t\t{moment.utc(n.Timestamp).local().format(Helper.TIMESTAMP_FORMAT)}\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderNotes() {\n\t\treturn (this.state.job.Notes || []).map((n, i) => {\n\t\t\treturn this.renderNote(n, i);\n\t\t});\n\t}\n\n\trenderPDF() {\n\t\tif (_.isEmpty(this.state.selectedPDF)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Components.PDFPopup\n\t\t\t\tsource={this.state.selectedPDF.Source}\n\t\t\t\tonClose={this.onCloseAttachment}\n\t\t\t\ttitle={this.state.selectedPDF.Title}\n\t\t\t\tpdfCount={1}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderNoteDeleteConfirm() {\n\t\treturn (\n\t\t\t<Components.ConfirmPopup\n\t\t\t\tvisible={!!this.state.noteToDelete}\n\t\t\t\tonConfirm={this.onPressConfirmDelete}\n\t\t\t\tonCancel={this.onPressCancelDelete}\n\t\t\t\tonClose={this.onPressCancelDelete}\n\t\t\t\ttext=\"Are you sure you want to delete this note?\"\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderFooterContent() {\n\t\tif (this.state.submittingNote) {\n\t\t\treturn <Components.Spinner />;\n\t\t}\n\t\treturn (\n\t\t\t<Components.InlineButton\n\t\t\t\tcolor={this.props.colourBrandingMain}\n\t\t\t\tonPress={this.confirmAddNote}\n\t\t\t\tfillTouchable\n\t\t\t\tlarge\n\t\t\t>\n\t\t\t\tSave\n\t\t\t</Components.InlineButton>\n\t\t);\n\t}\n\n\trenderUploadMenu() {\n\t\treturn (\n\t\t\t<Components.ImageUploader\n\t\t\t\tref={(ref) => (this.imageUploader = ref)}\n\t\t\t\tonUploadStarted={this.onUploadStarted}\n\t\t\t\tonUploadSuccess={this.onUploadSuccess}\n\t\t\t\tonUploadFailed={this.onUploadFailed}\n\t\t\t\tonUploadProgress={this.onUploadProgress}\n\t\t\t\tonLibrarySelected={this.onLibrarySelected}\n\t\t\t\tsize={{ width: 1400 }}\n\t\t\t\tquality={0.8}\n\t\t\t\tfileName={\"serviceNoteImage\"}\n\t\t\t\tpopupTitle={\"Upload Image\"}\n\t\t\t\tuserId={this.props.user.uid}\n\t\t\t\tallowsEditing={false}\n\t\t\t\tmultiple\n\t\t\t\thideLibrary\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderImage(item, index) {\n\t\tconst isVideoUrl = Helper.isVideo(item.url);\n\t\tconst imagesList = this.getImages();\n\n\t\tif (item.add) {\n\t\t\treturn (\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.8}\n\t\t\t\t\tonPress={() => this.showUploadMenu()}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\timagesList.length > 1 && styles.imageContainerNotEmpty,\n\t\t\t\t\t\t\tindex % 3 === 0 && { marginLeft: 0 },\n\t\t\t\t\t\t\tindex > 2 && { marginTop: 8 },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={styles.imageCircle}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"camera\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.addImageIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\timagesList.length > 1 && styles.imageContainerNotEmpty,\n\t\t\t\t\tindex % 3 === 0 && { marginLeft: 0 },\n\t\t\t\t\tindex > 2 && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{item.uploading ? (\n\t\t\t\t\t<Components.ImageUploadProgress\n\t\t\t\t\t\tuploader={this.imageUploader}\n\t\t\t\t\t\timage={item}\n\t\t\t\t\t\tcolor={this.props.colourBrandingMain}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<ImageBackground\n\t\t\t\t\t\tstyle={styles.imageBackground}\n\t\t\t\t\t\tsource={Helper.getImageSource(\n\t\t\t\t\t\t\titem.thumbNailExists ? item.thumbNailUrl : item.url || item,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{isVideoUrl && (\n\t\t\t\t\t\t\t<View style={styles.imagePlayContainer}>\n\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\tonPress={this.toggleFullscreenVideo.bind(this, item.url)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tname=\"play\"\n\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tstyle={styles.removeImage}\n\t\t\t\t\t\t\tonPress={() => this.removeImage(index)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={styles.imageControlIcon}\n\t\t\t\t\t\t\t\tstyle={styles.removeImage}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</ImageBackground>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderImageList() {\n\t\tconst imagesList = this.getImages();\n\n\t\treturn (\n\t\t\t<View style={styles.imageListContainer}>\n\t\t\t\t<FlatList\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tenableEmptySections\n\t\t\t\t\tdata={imagesList}\n\t\t\t\t\trenderItem={({ item, index }) => this.renderImage(item, index)}\n\t\t\t\t\tkeyExtractor={(item, index) => index}\n\t\t\t\t\tnumColumns={3}\n\t\t\t\t\tscrollEnabled={false}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideoPlayerPopup() {\n\t\tconst { showFullscreenVideo, currentVideoUrl } = this.state;\n\t\tif (!currentVideoUrl) return;\n\n\t\treturn (\n\t\t\t<Components.VideoPopup\n\t\t\t\turi={currentVideoUrl}\n\t\t\t\tvisible={showFullscreenVideo}\n\t\t\t\tshowFullscreenButton={false}\n\t\t\t\tonClose={this.toggleFullscreenVideo}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderAdd() {\n\t\treturn (\n\t\t\t<Modal animationType=\"slide\" visible={this.state.addNoteOpen}>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tstyle={styles.container}\n\t\t\t\t\tbehavior={Platform.OS === \"ios\" && \"padding\"}\n\t\t\t\t>\n\t\t\t\t\t{this.renderUploadMenu()}\n\t\t\t\t\t<Components.Header\n\t\t\t\t\t\tleftText=\"Cancel\"\n\t\t\t\t\t\tonPressLeft={this.closeAddNote}\n\t\t\t\t\t\ttext=\"\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ScrollView\n\t\t\t\t\t\tstyle={styles.scrollContainer}\n\t\t\t\t\t\tcontentContainerStyle={styles.innerContainer}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Components.TextStyle type=\"pageHeading\">\n\t\t\t\t\t\t\tAdd Staff Note\n\t\t\t\t\t\t</Components.TextStyle>\n\t\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\t\tlabel=\"Content\"\n\t\t\t\t\t\t\tplaceholder=\"Insert your notes here...\"\n\t\t\t\t\t\t\tvalue={this.state.noteInput}\n\t\t\t\t\t\t\tonChangeText={(noteInput) => this.setState({ noteInput })}\n\t\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\t\treturn !_.isEmpty(this.state.noteInput);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tautoCapitalize=\"sentences\"\n\t\t\t\t\t\t\tminHeight={135}\n\t\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\tautoGrow\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tsquaredCorners\n\t\t\t\t\t\t\tsectionStyle={styles.inputSection}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Components.GenericInputSection\n\t\t\t\t\t\t\tlabel=\"Attachments\"\n\t\t\t\t\t\t\tsectionStyle={styles.inputSection}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.renderImageList()}\n\t\t\t\t\t\t\t{this.state.editingNote ? (\n\t\t\t\t\t\t\t\t(this.state.noteAttachments || []).map((a, i) =>\n\t\t\t\t\t\t\t\t\tthis.renderAttachment(a, i),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Components.TextStyle type=\"body\" style={styles.attachmentInfo}>\n\t\t\t\t\t\t\t\t\tPDFs can only be attached to notes from the Community Manager.\n\t\t\t\t\t\t\t\t</Components.TextStyle>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Components.GenericInputSection>\n\t\t\t\t\t</ScrollView>\n\t\t\t\t\t<View style={styles.popupFooter}>{this.renderFooterContent()}</View>\n\t\t\t\t\t{this.renderVideoPlayerPopup()}\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t{this.renderPDF()}\n\t\t\t\t{this.renderNoteDeleteConfirm()}\n\t\t\t\t{this.renderAdd()}\n\t\t\t\t<Components.Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.onPressBack}\n\t\t\t\t\ttext=\"Staff Notes\"\n\t\t\t\t/>\n\t\t\t\t<ScrollView\n\t\t\t\t\tstyle={styles.scrollContainer}\n\t\t\t\t\tcontentContainerStyle={styles.innerContainer}\n\t\t\t\t>\n\t\t\t\t\t{this.renderNotes()}\n\t\t\t\t</ScrollView>\n\t\t\t\t<Components.AddButton onPress={this.openAddNote} />\n\t\t\t\t{this.renderImagePopup()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tscrollContainer: {\n\t\tflex: 1,\n\t},\n\tinnerContainer: {\n\t\tpadding: 16,\n\t},\n\tpopupFooter: {\n\t\tpaddingHorizontal: 16,\n\t\tpaddingBottom: getBottomSpace() + 16,\n\t},\n\tnoteContainer: {\n\t\t...Helper.getShadowStyle(),\n\t\tpadding: 8,\n\t\tmarginBottom: 16,\n\t},\n\tnoteContainerTop: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tprofilePic: {\n\t\tmarginRight: 8,\n\t},\n\tnoteContainerTopFill: {\n\t\tflex: 1,\n\t},\n\tnoteContainerName: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 13,\n\t\tcolor: Colours.TEXT_DARKEST,\n\t},\n\tnoteContainerText: {\n\t\tmarginTop: 8,\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 13,\n\t\tcolor: Colours.TEXT_DARKEST,\n\t},\n\tnoteTimestamp: {\n\t\tmarginTop: 8,\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 11,\n\t\tcolor: Colours.TEXT_LIGHT,\n\t},\n\tnoteContainerTopRight: {\n\t\tflex: 1,\n\t\tflexDirection: \"row-reverse\",\n\t\talignItems: \"center\",\n\t},\n\tnoteContainerButtonContainer: {\n\t\twidth: 24,\n\t\theight: 24,\n\t\tborderRadius: 12,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tmarginLeft: 8,\n\t},\n\tnoteContainerButtonIcon: {\n\t\tfontSize: 13,\n\t\tcolor: \"#fff\",\n\t},\n\tinputSection: {\n\t\tmarginTop: 24,\n\t},\n\tsectionHeading: {\n\t\tfontFamily: \"qs-bold\",\n\t\tfontSize: 24,\n\t\tcolor: Colours.TEXT_DARKEST,\n\t},\n\tattachmentInfo: {\n\t\tmarginTop: 8,\n\t},\n\timageListContainer: {\n\t\tmarginVertical: 8,\n\t},\n\timageContainer: {\n\t\twidth: PHOTO_SIZE,\n\t\theight: PHOTO_SIZE,\n\t\tborderStyle: \"dashed\",\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderWidth: 1,\n\t\tborderColor: Colours.LINEGREY,\n\t\tbackgroundColor: Colours.BOXGREY,\n\t\tborderRadius: 4,\n\t\tmarginLeft: 8,\n\t},\n\timageContainerNotEmpty: {\n\t\tborderWidth: 1,\n\t\tborderColor: Colours.LINEGREY,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderStyle: \"dashed\",\n\t},\n\timageBackground: {\n\t\tflex: 1,\n\t\theight: \"100%\",\n\t\twidth: \"100%\",\n\t\tborderRadius: 4,\n\t},\n\timageCircle: {\n\t\twidth: 90,\n\t\theight: 90,\n\t\tborderRadius: 45,\n\t\tbackgroundColor: Colours.PINKISH_GREY,\n\t\tjustifyContent: \"center\",\n\t},\n\taddImageIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 32,\n\t},\n\timagePlayContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\timageControlIcon: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 20,\n\t\ttextShadowColor: \"rgba(0,0,0,0.3)\",\n\t\ttextShadowOffset: { width: 2, height: 2 },\n\t},\n\tremoveImage: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tright: 0,\n\t\tpadding: 4,\n\t\twidth: 40,\n\t\theight: 40,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tsideBySideImages: {\n\t\tflex: 1,\n\t\tflexDirection: \"row\",\n\t\tmarginTop: 12,\n\t\tmarginHorizontal: -8,\n\t},\n\tsideBySideImageContainer: {\n\t\tbackgroundColor: \"#fff\",\n\t\twidth: 60,\n\t\theight: 50,\n\t\tborderRadius: 2,\n\t\toverflow: \"hidden\",\n\t\tmarginRight: 2,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tuser: state.user,\n\t\tcolourBrandingMain: Colours.getMainBrandingColourFromState(state),\n\t\tcolourBrandingLight: Colours.getLightBrandingColourFromState(state),\n\t\tjobs: state[values.reducerKey].jobs,\n\t};\n};\n\nexport default connect(mapStateToProps, { jobAdded })(RequestNotes);\n"],"mappings":"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","ignoreList":[]}
|