@plusscommunities/pluss-maintenance-app-a 6.0.13 → 6.0.16
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/index.js +1 -0
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/apis/userActions.js +23 -0
- package/dist/module/apis/userActions.js.map +1 -0
- package/dist/module/index.js +2 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/screens/MaintenanceUserPicker.js +130 -0
- package/dist/module/screens/MaintenanceUserPicker.js.map +1 -0
- package/dist/module/screens/RequestDetail.js +77 -5
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +346 -28
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +1 -0
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.default.js +1 -0
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.enquiry.js +43 -0
- package/dist/module/values.config.enquiry.js.map +1 -0
- package/dist/module/values.config.feedback.js +43 -0
- package/dist/module/values.config.feedback.js.map +1 -0
- package/dist/module/values.config.food.js +43 -0
- package/dist/module/values.config.food.js.map +1 -0
- package/dist/module/values.config.forms.js +1 -0
- package/dist/module/values.config.forms.js.map +1 -1
- package/dist/module/values.config.js +1 -0
- package/dist/module/values.config.js.map +1 -1
- package/package.json +3 -2
- package/src/apis/index.js +1 -0
- package/src/apis/userActions.js +21 -0
- package/src/index.js +2 -0
- package/src/screens/MaintenanceUserPicker.js +107 -0
- package/src/screens/RequestDetail.js +70 -4
- package/src/screens/ServiceRequest.js +365 -43
- package/src/values.config.a.js +1 -0
- package/src/values.config.default.js +1 -0
- package/src/values.config.enquiry.js +43 -0
- package/src/values.config.feedback.js +43 -0
- package/src/values.config.food.js +43 -0
- package/src/values.config.forms.js +1 -0
- package/src/values.config.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Apis","stringActions"],"sources":["index.js"],"sourcesContent":["import { Apis } from '../core.config';\n\nexport const stringActions = Apis.stringActions;\n\nexport * from './maintenanceActions';\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,gBAAgB;AAErC,OAAO,MAAMC,aAAa,GAAGD,IAAI,CAACC,aAAa;AAE/C,cAAc,sBAAsB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Apis","stringActions"],"sources":["index.js"],"sourcesContent":["import { Apis } from '../core.config';\n\nexport const stringActions = Apis.stringActions;\n\nexport * from './maintenanceActions';\nexport * from './userActions';\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,gBAAgB;AAErC,OAAO,MAAMC,aAAa,GAAGD,IAAI,CAACC,aAAa;AAE/C,cAAc,sBAAsB;AACpC,cAAc,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Helper, Session } from '../core.config';
|
|
2
|
+
export const userActions = {
|
|
3
|
+
getSiteUsers: async site => {
|
|
4
|
+
return Session.authedFunction({
|
|
5
|
+
method: 'GET',
|
|
6
|
+
url: Helper.getUrl('users', 'users/site', {
|
|
7
|
+
site,
|
|
8
|
+
compact: true
|
|
9
|
+
})
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
fetchUser: async (site, userId) => {
|
|
13
|
+
return Session.authedFunction({
|
|
14
|
+
method: 'POST',
|
|
15
|
+
url: Helper.getUrl('users', 'getsingle'),
|
|
16
|
+
data: {
|
|
17
|
+
site,
|
|
18
|
+
userId
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=userActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Helper","Session","userActions","getSiteUsers","site","authedFunction","method","url","getUrl","compact","fetchUser","userId","data"],"sources":["userActions.js"],"sourcesContent":["import { Helper, Session } from '../core.config';\n\nexport const userActions = {\n getSiteUsers: async site => {\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl('users', 'users/site', { site, compact: true }),\n });\n },\n\n fetchUser: async (site, userId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('users', 'getsingle'),\n data: {\n site,\n userId,\n },\n });\n },\n};\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,gBAAgB;AAEhD,OAAO,MAAMC,WAAW,GAAG;EACzBC,YAAY,EAAE,MAAMC,IAAI,IAAI;IAC1B,OAAOH,OAAO,CAACI,cAAc,CAAC;MAC5BC,MAAM,EAAE,KAAK;MACbC,GAAG,EAAEP,MAAM,CAACQ,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE;QAAEJ,IAAI;QAAEK,OAAO,EAAE;MAAK,CAAC;IACnE,CAAC,CAAC;EACJ,CAAC;EAEDC,SAAS,EAAE,MAAAA,CAAON,IAAI,EAAEO,MAAM,KAAK;IACjC,OAAOV,OAAO,CAACI,cAAc,CAAC;MAC5BC,MAAM,EAAE,MAAM;MACdC,GAAG,EAAEP,MAAM,CAACQ,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;MACxCI,IAAI,EAAE;QACJR,IAAI;QACJO;MACF;IACF,CAAC,CAAC;EACJ;AACF,CAAC","ignoreList":[]}
|
package/dist/module/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import RequestDetail from './screens/RequestDetail';
|
|
|
3
3
|
import ServiceRequest from './screens/ServiceRequest';
|
|
4
4
|
import JobTypePicker from './screens/JobTypePicker';
|
|
5
5
|
import RequestNotes from './screens/RequestNotes';
|
|
6
|
+
import MaintenanceUserPicker from './screens/MaintenanceUserPicker';
|
|
6
7
|
import JobsReducer from './reducers/JobsReducer';
|
|
7
8
|
import { values } from './values.config';
|
|
8
9
|
export const Reducers = (() => {
|
|
@@ -17,6 +18,7 @@ export const Screens = (() => {
|
|
|
17
18
|
screens[values.screenServiceRequest] = ServiceRequest;
|
|
18
19
|
screens[values.screenJobTypePicker] = JobTypePicker;
|
|
19
20
|
screens[values.screenRequestNotes] = RequestNotes;
|
|
21
|
+
screens[values.screenUserPicker] = MaintenanceUserPicker;
|
|
20
22
|
return screens;
|
|
21
23
|
})();
|
|
22
24
|
export { default as Config } from './feature.config';
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","JobsReducer","values","Reducers","reducers","reducerKey","Screens","screens","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import MaintenancePage from './screens/MaintenancePage';\nimport RequestDetail from './screens/RequestDetail';\nimport ServiceRequest from './screens/ServiceRequest';\nimport JobTypePicker from './screens/JobTypePicker';\nimport RequestNotes from './screens/RequestNotes';\nimport JobsReducer from './reducers/JobsReducer';\nimport { values } from './values.config';\n\nexport const Reducers = (() => {\n const reducers = {};\n reducers[values.reducerKey] = JobsReducer;\n return reducers;\n})();\nexport const Screens = (() => {\n const screens = {};\n screens[values.screenMaintenance] = MaintenancePage;\n screens[values.screenRequestDetail] = RequestDetail;\n screens[values.screenServiceRequest] = ServiceRequest;\n screens[values.screenJobTypePicker] = JobTypePicker;\n screens[values.screenRequestNotes] = RequestNotes;\n return screens;\n})();\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,2BAA2B;AACvD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,cAAc,MAAM,0BAA0B;AACrD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,WAAW,MAAM,wBAAwB;AAChD,SAASC,MAAM,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,QAAQ,GAAG,CAAC,MAAM;EAC7B,MAAMC,QAAQ,GAAG,CAAC,CAAC;EACnBA,QAAQ,CAACF,MAAM,CAACG,UAAU,CAAC,GAAGJ,WAAW;EACzC,OAAOG,QAAQ;AACjB,CAAC,EAAE,CAAC;AACJ,OAAO,MAAME,OAAO,GAAG,CAAC,MAAM;EAC5B,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClBA,OAAO,CAACL,MAAM,CAACM,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","MaintenanceUserPicker","JobsReducer","values","Reducers","reducers","reducerKey","Screens","screens","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","screenUserPicker","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import MaintenancePage from './screens/MaintenancePage';\nimport RequestDetail from './screens/RequestDetail';\nimport ServiceRequest from './screens/ServiceRequest';\nimport JobTypePicker from './screens/JobTypePicker';\nimport RequestNotes from './screens/RequestNotes';\nimport MaintenanceUserPicker from './screens/MaintenanceUserPicker';\nimport JobsReducer from './reducers/JobsReducer';\nimport { values } from './values.config';\n\nexport const Reducers = (() => {\n const reducers = {};\n reducers[values.reducerKey] = JobsReducer;\n return reducers;\n})();\nexport const Screens = (() => {\n const screens = {};\n screens[values.screenMaintenance] = MaintenancePage;\n screens[values.screenRequestDetail] = RequestDetail;\n screens[values.screenServiceRequest] = ServiceRequest;\n screens[values.screenJobTypePicker] = JobTypePicker;\n screens[values.screenRequestNotes] = RequestNotes;\n screens[values.screenUserPicker] = MaintenanceUserPicker;\n return screens;\n})();\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,2BAA2B;AACvD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,cAAc,MAAM,0BAA0B;AACrD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,qBAAqB,MAAM,iCAAiC;AACnE,OAAOC,WAAW,MAAM,wBAAwB;AAChD,SAASC,MAAM,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,QAAQ,GAAG,CAAC,MAAM;EAC7B,MAAMC,QAAQ,GAAG,CAAC,CAAC;EACnBA,QAAQ,CAACF,MAAM,CAACG,UAAU,CAAC,GAAGJ,WAAW;EACzC,OAAOG,QAAQ;AACjB,CAAC,EAAE,CAAC;AACJ,OAAO,MAAME,OAAO,GAAG,CAAC,MAAM;EAC5B,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClBA,OAAO,CAACL,MAAM,CAACM,iBAAiB,CAAC,GAAGb,eAAe;EACnDY,OAAO,CAACL,MAAM,CAACO,mBAAmB,CAAC,GAAGb,aAAa;EACnDW,OAAO,CAACL,MAAM,CAACQ,oBAAoB,CAAC,GAAGb,cAAc;EACrDU,OAAO,CAACL,MAAM,CAACS,mBAAmB,CAAC,GAAGb,aAAa;EACnDS,OAAO,CAACL,MAAM,CAACU,kBAAkB,CAAC,GAAGb,YAAY;EACjDQ,OAAO,CAACL,MAAM,CAACW,gBAAgB,CAAC,GAAGb,qBAAqB;EACxD,OAAOO,OAAO;AAChB,CAAC,EAAE,CAAC;AACJ,SAASO,OAAO,IAAIC,MAAM,QAAQ,kBAAkB;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,0BAA0B;AACjE,SAASF,OAAO,IAAIG,WAAW,QAAQ,0BAA0B","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
+
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 'react';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import { TouchableOpacity, View, ScrollView, Text } from 'react-native';
|
|
7
|
+
import { connect } from 'react-redux';
|
|
8
|
+
import { Icon } from 'react-native-elements';
|
|
9
|
+
import { Services } from '../feature.config';
|
|
10
|
+
import { Components, Colours } from '../core.config';
|
|
11
|
+
class MaintenanceUserPicker extends Component {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
_defineProperty(this, "state", {
|
|
15
|
+
currentUser: null
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
UNSAFE_componentWillMount() {
|
|
19
|
+
this.setState({
|
|
20
|
+
currentUser: this.props.currentUser
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
onPressBack() {
|
|
24
|
+
Services.navigation.goBack();
|
|
25
|
+
}
|
|
26
|
+
onUserPress(user) {
|
|
27
|
+
this.props.onSelectUser(user);
|
|
28
|
+
this.setState({
|
|
29
|
+
currentUser: user
|
|
30
|
+
});
|
|
31
|
+
setTimeout(() => {
|
|
32
|
+
this.onPressBack();
|
|
33
|
+
}, 200);
|
|
34
|
+
}
|
|
35
|
+
renderMain() {
|
|
36
|
+
if (_.isEmpty(this.props.users)) {
|
|
37
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
38
|
+
style: {
|
|
39
|
+
marginTop: 16
|
|
40
|
+
}
|
|
41
|
+
}, /*#__PURE__*/React.createElement(Components.Spinner, null));
|
|
42
|
+
}
|
|
43
|
+
return /*#__PURE__*/React.createElement(Components.FormCard, {
|
|
44
|
+
style: {
|
|
45
|
+
marginTop: 16
|
|
46
|
+
}
|
|
47
|
+
}, this.renderOptions());
|
|
48
|
+
}
|
|
49
|
+
renderOptions() {
|
|
50
|
+
return this.props.users.map((user, index) => {
|
|
51
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
52
|
+
key: index,
|
|
53
|
+
onPress: this.onUserPress.bind(this, user)
|
|
54
|
+
}, /*#__PURE__*/React.createElement(Components.FormCardSection, {
|
|
55
|
+
label: user.displayName,
|
|
56
|
+
labelStyle: {
|
|
57
|
+
height: 0,
|
|
58
|
+
margin: 0
|
|
59
|
+
},
|
|
60
|
+
hasUnderline: true,
|
|
61
|
+
hasContent: true
|
|
62
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
63
|
+
style: styles.rowContainer
|
|
64
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
65
|
+
style: styles.userContainer
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Components.ProfilePic, {
|
|
67
|
+
ProfilePic: user.profilePic,
|
|
68
|
+
Diameter: 30
|
|
69
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
70
|
+
style: styles.labelText
|
|
71
|
+
}, user.displayName)), /*#__PURE__*/React.createElement(Icon, {
|
|
72
|
+
name: "check-circle",
|
|
73
|
+
type: "font-awesome",
|
|
74
|
+
iconStyle: [{
|
|
75
|
+
color: '#d5d9e0',
|
|
76
|
+
fontSize: 20
|
|
77
|
+
}, _.isEqual(user, this.state.currentUser) && {
|
|
78
|
+
color: Colours.COLOUR_GREEN
|
|
79
|
+
}]
|
|
80
|
+
}))));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
render() {
|
|
84
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
85
|
+
style: styles.container
|
|
86
|
+
}, /*#__PURE__*/React.createElement(Components.Header, {
|
|
87
|
+
leftIcon: "angle-left",
|
|
88
|
+
onPressLeft: this.onPressBack.bind(this),
|
|
89
|
+
text: "Select user"
|
|
90
|
+
}), /*#__PURE__*/React.createElement(ScrollView, {
|
|
91
|
+
style: {
|
|
92
|
+
flex: 1
|
|
93
|
+
}
|
|
94
|
+
}, this.renderMain()));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const styles = {
|
|
98
|
+
container: {
|
|
99
|
+
flex: 1,
|
|
100
|
+
position: 'relative',
|
|
101
|
+
backgroundColor: '#f0f0f5'
|
|
102
|
+
},
|
|
103
|
+
row: {
|
|
104
|
+
flexDirection: 'row',
|
|
105
|
+
alignItems: 'center',
|
|
106
|
+
minHeight: 22
|
|
107
|
+
},
|
|
108
|
+
text: {
|
|
109
|
+
flex: 1,
|
|
110
|
+
fontFamily: 'sf-regular',
|
|
111
|
+
fontSize: 14,
|
|
112
|
+
color: Colours.TEXT_DARK
|
|
113
|
+
},
|
|
114
|
+
rowContainer: {
|
|
115
|
+
flexDirection: 'row',
|
|
116
|
+
justifyContent: 'space-between'
|
|
117
|
+
},
|
|
118
|
+
userContainer: {
|
|
119
|
+
flexDirection: 'row',
|
|
120
|
+
alignItems: 'center'
|
|
121
|
+
},
|
|
122
|
+
labelText: {
|
|
123
|
+
fontFamily: 'sf-medium',
|
|
124
|
+
fontSize: 16,
|
|
125
|
+
color: Colours.TEXT_DARK,
|
|
126
|
+
marginLeft: 8
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
export default connect(null, {})(MaintenanceUserPicker);
|
|
130
|
+
//# sourceMappingURL=MaintenanceUserPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","MaintenanceUserPicker","constructor","args","_defineProperty","currentUser","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onUserPress","user","onSelectUser","setTimeout","renderMain","isEmpty","users","createElement","style","marginTop","Spinner","FormCard","renderOptions","map","index","key","onPress","bind","FormCardSection","label","displayName","labelStyle","height","margin","hasUnderline","hasContent","styles","rowContainer","userContainer","ProfilePic","profilePic","Diameter","labelText","name","type","iconStyle","color","fontSize","isEqual","state","COLOUR_GREEN","render","container","Header","leftIcon","onPressLeft","text","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","fontFamily","TEXT_DARK","justifyContent","marginLeft"],"sources":["MaintenanceUserPicker.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { Services } from '../feature.config';\nimport { Components, Colours } from '../core.config';\n\nclass MaintenanceUserPicker extends Component {\n state = {\n currentUser: null,\n };\n\n UNSAFE_componentWillMount() {\n this.setState({ currentUser: this.props.currentUser });\n }\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onUserPress(user) {\n this.props.onSelectUser(user);\n this.setState({ currentUser: user });\n setTimeout(() => {\n this.onPressBack();\n }, 200);\n }\n\n renderMain() {\n if (_.isEmpty(this.props.users)) {\n return (\n <View style={{ marginTop: 16 }}>\n <Components.Spinner />\n </View>\n );\n }\n\n return <Components.FormCard style={{ marginTop: 16 }}>{this.renderOptions()}</Components.FormCard>;\n }\n\n renderOptions() {\n return this.props.users.map((user, index) => {\n return (\n <TouchableOpacity key={index} onPress={this.onUserPress.bind(this, user)}>\n <Components.FormCardSection label={user.displayName} labelStyle={{ height: 0, margin: 0 }} hasUnderline hasContent>\n <View style={styles.rowContainer}>\n <View style={styles.userContainer}>\n <Components.ProfilePic ProfilePic={user.profilePic} Diameter={30} />\n <Text style={styles.labelText}>{user.displayName}</Text>\n </View>\n <Icon\n name=\"check-circle\"\n type=\"font-awesome\"\n iconStyle={[{ color: '#d5d9e0', fontSize: 20 }, _.isEqual(user, this.state.currentUser) && { color: Colours.COLOUR_GREEN }]}\n />\n </View>\n </Components.FormCardSection>\n </TouchableOpacity>\n );\n });\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack.bind(this)} text=\"Select user\" />\n <ScrollView style={{ flex: 1 }}>{this.renderMain()}</ScrollView>\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 22,\n },\n text: {\n flex: 1,\n fontFamily: 'sf-regular',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n rowContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n userContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n marginLeft: 8,\n },\n};\n\nexport default connect(null, {})(MaintenanceUserPicker);"],"mappings":"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","ignoreList":[]}
|
|
@@ -332,7 +332,8 @@ class RequestDetail extends Component {
|
|
|
332
332
|
galleryOpen: false,
|
|
333
333
|
galleryImages: [],
|
|
334
334
|
showMessages: false,
|
|
335
|
-
assignees: []
|
|
335
|
+
assignees: [],
|
|
336
|
+
selectedPDF: null
|
|
336
337
|
};
|
|
337
338
|
this.scrollView = /*#__PURE__*/React.createRef();
|
|
338
339
|
this.commentReply = /*#__PURE__*/React.createRef();
|
|
@@ -535,6 +536,32 @@ class RequestDetail extends Component {
|
|
|
535
536
|
}
|
|
536
537
|
return null;
|
|
537
538
|
}
|
|
539
|
+
renderDocument(documents) {
|
|
540
|
+
const {
|
|
541
|
+
colourBrandingMain
|
|
542
|
+
} = this.props;
|
|
543
|
+
if (!_.isNil(documents) && !_.isEmpty(documents)) {
|
|
544
|
+
return documents.map((document, index) => {
|
|
545
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
546
|
+
key: index,
|
|
547
|
+
style: styles.documentContainer,
|
|
548
|
+
onPress: () => this.setState({
|
|
549
|
+
selectedPDF: document
|
|
550
|
+
})
|
|
551
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
552
|
+
style: {
|
|
553
|
+
...styles.documentTypeContainer,
|
|
554
|
+
backgroundColor: colourBrandingMain
|
|
555
|
+
}
|
|
556
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
557
|
+
style: styles.documentTypeText
|
|
558
|
+
}, document.ext)), /*#__PURE__*/React.createElement(Text, {
|
|
559
|
+
style: styles.documentText
|
|
560
|
+
}, `${document.name}${document.uploading ? ` - ${document.uploadProgress}` : ''}`));
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
return null;
|
|
564
|
+
}
|
|
538
565
|
renderImagePopup() {
|
|
539
566
|
return /*#__PURE__*/React.createElement(Components.ImagePopup, {
|
|
540
567
|
visible: this.state.galleryOpen,
|
|
@@ -543,6 +570,17 @@ class RequestDetail extends Component {
|
|
|
543
570
|
ref: "imagePopup"
|
|
544
571
|
});
|
|
545
572
|
}
|
|
573
|
+
renderDocumentPopup() {
|
|
574
|
+
if (_.isEmpty(this.state.selectedPDF)) return null;
|
|
575
|
+
return /*#__PURE__*/React.createElement(Components.PDFPopup, {
|
|
576
|
+
source: this.state.selectedPDF.url,
|
|
577
|
+
onClose: () => this.setState({
|
|
578
|
+
selectedPDF: null
|
|
579
|
+
}),
|
|
580
|
+
title: this.state.selectedPDF.name,
|
|
581
|
+
pdfCount: 1
|
|
582
|
+
});
|
|
583
|
+
}
|
|
546
584
|
renderAssignee() {
|
|
547
585
|
const {
|
|
548
586
|
job
|
|
@@ -598,10 +636,12 @@ class RequestDetail extends Component {
|
|
|
598
636
|
}, field.answer && Array.isArray(field.answer) ? field.answer.join(', ') : '');
|
|
599
637
|
case 'image':
|
|
600
638
|
return /*#__PURE__*/React.createElement(View, {
|
|
601
|
-
style:
|
|
602
|
-
marginTop: 8
|
|
603
|
-
}
|
|
639
|
+
style: styles.customImage
|
|
604
640
|
}, this.renderImage(field.answer));
|
|
641
|
+
case 'document':
|
|
642
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
643
|
+
style: styles.customDocument
|
|
644
|
+
}, this.renderDocument(field.answer));
|
|
605
645
|
default:
|
|
606
646
|
return /*#__PURE__*/React.createElement(Text, {
|
|
607
647
|
style: styles.customText
|
|
@@ -746,7 +786,7 @@ class RequestDetail extends Component {
|
|
|
746
786
|
}
|
|
747
787
|
}, /*#__PURE__*/React.createElement(View, {
|
|
748
788
|
style: styles.innerContainer
|
|
749
|
-
}, this.renderTop(), this.renderAssignee(), this.rendeDetails(), this.renderMessages())), this.renderMessagesReply(), this.renderStatusPopup(), this.renderPriorityPopup(), this.renderImagePopup(), /*#__PURE__*/React.createElement(DateTimePicker, {
|
|
789
|
+
}, this.renderTop(), this.renderAssignee(), this.rendeDetails(), this.renderMessages())), this.renderMessagesReply(), this.renderStatusPopup(), this.renderPriorityPopup(), this.renderImagePopup(), this.renderDocumentPopup(), /*#__PURE__*/React.createElement(DateTimePicker, {
|
|
750
790
|
isVisible: this.state.isDateTimePickerVisible,
|
|
751
791
|
onConfirm: this.onDateSelected,
|
|
752
792
|
onCancel: this.onCloseDatePicker,
|
|
@@ -1020,6 +1060,13 @@ const styles = StyleSheet.create({
|
|
|
1020
1060
|
color: Colours.TEXT_DARKEST,
|
|
1021
1061
|
paddingVertical: 8
|
|
1022
1062
|
},
|
|
1063
|
+
customImage: {
|
|
1064
|
+
marginTop: 8
|
|
1065
|
+
},
|
|
1066
|
+
customDocument: {
|
|
1067
|
+
marginTop: 8,
|
|
1068
|
+
marginBottom: 16
|
|
1069
|
+
},
|
|
1023
1070
|
customStaticTitle: {
|
|
1024
1071
|
fontSize: 20,
|
|
1025
1072
|
fontFamily: 'sf-semibold',
|
|
@@ -1032,6 +1079,31 @@ const styles = StyleSheet.create({
|
|
|
1032
1079
|
color: Colours.TEXT_DARKEST,
|
|
1033
1080
|
lineHeight: 24,
|
|
1034
1081
|
marginBottom: 10
|
|
1082
|
+
},
|
|
1083
|
+
documentContainer: {
|
|
1084
|
+
flexDirection: 'row',
|
|
1085
|
+
alignItems: 'center',
|
|
1086
|
+
justifyContent: 'space-between',
|
|
1087
|
+
paddingVertical: 4
|
|
1088
|
+
},
|
|
1089
|
+
documentTypeContainer: {
|
|
1090
|
+
width: 50,
|
|
1091
|
+
height: 60,
|
|
1092
|
+
justifyContent: 'center',
|
|
1093
|
+
alignItems: 'center',
|
|
1094
|
+
borderRadius: 5,
|
|
1095
|
+
marginRight: 8
|
|
1096
|
+
},
|
|
1097
|
+
documentTypeText: {
|
|
1098
|
+
color: '#fff',
|
|
1099
|
+
fontFamily: 'sf-semibold',
|
|
1100
|
+
textAlign: 'center'
|
|
1101
|
+
},
|
|
1102
|
+
documentText: {
|
|
1103
|
+
flex: 1,
|
|
1104
|
+
fontFamily: 'sf-semibold',
|
|
1105
|
+
fontSize: 16,
|
|
1106
|
+
color: '#65686D'
|
|
1035
1107
|
}
|
|
1036
1108
|
});
|
|
1037
1109
|
const mapStateToProps = state => {
|