@plusscommunities/pluss-maintenance-app 6.0.5 → 6.0.6-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/types.js +4 -3
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/maintenanceActions.js +17 -15
- package/dist/module/apis/maintenanceActions.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +4 -3
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +3 -2
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +2 -1
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +6 -3
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/feature.config.js +18 -33
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/index.js +15 -10
- package/dist/module/index.js.map +1 -1
- package/dist/module/screens/MaintenancePage.js +7 -3
- package/dist/module/screens/MaintenancePage.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +105 -30
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +2 -1
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +552 -84
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +30 -0
- package/dist/module/values.config.a.js.map +1 -0
- package/dist/module/values.config.b.js +30 -0
- package/dist/module/values.config.b.js.map +1 -0
- package/dist/module/values.config.c.js +30 -0
- package/dist/module/values.config.c.js.map +1 -0
- package/dist/module/values.config.d.js +30 -0
- package/dist/module/values.config.d.js.map +1 -0
- package/dist/module/values.config.default.js +30 -0
- package/dist/module/values.config.default.js.map +1 -0
- package/dist/module/values.config.js +30 -0
- package/dist/module/values.config.js.map +1 -0
- package/package.json +9 -3
- package/src/actions/types.js +5 -3
- package/src/apis/maintenanceActions.js +30 -14
- package/src/components/MaintenanceList.js +5 -3
- package/src/components/MaintenanceListItem.js +7 -2
- package/src/components/MaintenanceWidgetItem.js +2 -1
- package/src/components/WidgetSmall.js +6 -3
- package/src/feature.config.js +18 -30
- package/src/index.js +15 -8
- package/src/screens/MaintenancePage.js +5 -4
- package/src/screens/RequestDetail.js +100 -32
- package/src/screens/RequestNotes.js +2 -1
- package/src/screens/ServiceRequest.js +591 -149
- package/src/values.config.a.js +30 -0
- package/src/values.config.b.js +30 -0
- package/src/values.config.c.js +30 -0
- package/src/values.config.d.js +30 -0
- package/src/values.config.default.js +30 -0
- package/src/values.config.js +30 -0
@@ -1,4 +1,5 @@
|
|
1
|
-
|
2
|
-
export const
|
3
|
-
export const
|
1
|
+
import { values } from '../values.config';
|
2
|
+
export const JOBS_LOADED = values.actionJobsLoaded;
|
3
|
+
export const JOB_ADDED = values.actionJobAdded;
|
4
|
+
export const JOBS_ADDED = values.actionJobsAdded;
|
4
5
|
//# sourceMappingURL=types.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["JOBS_LOADED","JOB_ADDED","JOBS_ADDED"],"sources":["types.js"],"sourcesContent":["
|
1
|
+
{"version":3,"names":["values","JOBS_LOADED","actionJobsLoaded","JOB_ADDED","actionJobAdded","JOBS_ADDED","actionJobsAdded"],"sources":["types.js"],"sourcesContent":["import { values } from '../values.config';\n\nexport const JOBS_LOADED = values.actionJobsLoaded;\nexport const JOB_ADDED = values.actionJobAdded;\nexport const JOBS_ADDED = values.actionJobsAdded;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,kBAAkB;AAEzC,OAAO,MAAMC,WAAW,GAAGD,MAAM,CAACE,gBAAgB;AAClD,OAAO,MAAMC,SAAS,GAAGH,MAAM,CAACI,cAAc;AAC9C,OAAO,MAAMC,UAAU,GAAGL,MAAM,CAACM,eAAe"}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import { Helper, Session } from '../core.config';
|
2
|
+
import { values } from '../values.config';
|
2
3
|
export const maintenanceActions = {
|
3
4
|
getJob: (site, id) => {
|
4
5
|
return Session.authedFunction({
|
5
6
|
method: 'POST',
|
6
|
-
url: Helper.getUrl(
|
7
|
+
url: Helper.getUrl(values.serviceKey, 'getJob'),
|
7
8
|
data: {
|
8
9
|
site,
|
9
10
|
id
|
@@ -13,7 +14,7 @@ export const maintenanceActions = {
|
|
13
14
|
getJobByJobId: (site, jobId) => {
|
14
15
|
return Session.authedFunction({
|
15
16
|
method: 'POST',
|
16
|
-
url: Helper.getUrl(
|
17
|
+
url: Helper.getUrl(values.serviceKey, 'getJob'),
|
17
18
|
data: {
|
18
19
|
site,
|
19
20
|
jobId
|
@@ -23,7 +24,7 @@ export const maintenanceActions = {
|
|
23
24
|
getJobs: (site, status = '', type = '') => {
|
24
25
|
return Session.authedFunction({
|
25
26
|
method: 'POST',
|
26
|
-
url: Helper.getUrl(
|
27
|
+
url: Helper.getUrl(values.serviceKey, 'getJobs'),
|
27
28
|
data: {
|
28
29
|
site,
|
29
30
|
status,
|
@@ -46,7 +47,7 @@ export const maintenanceActions = {
|
|
46
47
|
}
|
47
48
|
return Session.authedFunction({
|
48
49
|
method: 'GET',
|
49
|
-
url: Helper.getUrl(
|
50
|
+
url: Helper.getUrl(values.serviceKey, 'get/requests', query)
|
50
51
|
});
|
51
52
|
},
|
52
53
|
getJobsRecursive: (site, status, type, lastKey, jobs = []) => {
|
@@ -60,10 +61,10 @@ export const maintenanceActions = {
|
|
60
61
|
});
|
61
62
|
});
|
62
63
|
},
|
63
|
-
sendMaintenanceRequest: (userID, userName, phone, room, title, description, date, type, images, location, isHome, homeText) => {
|
64
|
+
sendMaintenanceRequest: (userID, userName, phone, room, title, description, date, type, images, location, isHome, homeText, customFields) => {
|
64
65
|
const request = {
|
65
66
|
method: 'POST',
|
66
|
-
url: Helper.getUrl(
|
67
|
+
url: Helper.getUrl(values.serviceKey, 'sendMaintenance'),
|
67
68
|
data: {
|
68
69
|
userID,
|
69
70
|
userName,
|
@@ -76,7 +77,8 @@ export const maintenanceActions = {
|
|
76
77
|
images,
|
77
78
|
location,
|
78
79
|
isHome,
|
79
|
-
homeText
|
80
|
+
homeText,
|
81
|
+
customFields
|
80
82
|
}
|
81
83
|
};
|
82
84
|
return Session.authedFunction(request);
|
@@ -84,7 +86,7 @@ export const maintenanceActions = {
|
|
84
86
|
editJob: (job, site) => {
|
85
87
|
return Session.authedFunction({
|
86
88
|
method: 'POST',
|
87
|
-
url: Helper.getUrl(
|
89
|
+
url: Helper.getUrl(values.serviceKey, 'editJob'),
|
88
90
|
data: {
|
89
91
|
job,
|
90
92
|
site
|
@@ -94,7 +96,7 @@ export const maintenanceActions = {
|
|
94
96
|
editJobStatus: (id, status) => {
|
95
97
|
return Session.authedFunction({
|
96
98
|
method: 'POST',
|
97
|
-
url: Helper.getUrl(
|
99
|
+
url: Helper.getUrl(values.serviceKey, 'editJobStatus'),
|
98
100
|
data: {
|
99
101
|
id,
|
100
102
|
status
|
@@ -104,7 +106,7 @@ export const maintenanceActions = {
|
|
104
106
|
assignJob: (jobId, userId) => {
|
105
107
|
return Session.authedFunction({
|
106
108
|
method: 'POST',
|
107
|
-
url: Helper.getUrl(
|
109
|
+
url: Helper.getUrl(values.serviceKey, 'update/assign'),
|
108
110
|
data: {
|
109
111
|
id: jobId,
|
110
112
|
userId
|
@@ -114,7 +116,7 @@ export const maintenanceActions = {
|
|
114
116
|
getAssignees: site => {
|
115
117
|
return Session.authedFunction({
|
116
118
|
method: 'GET',
|
117
|
-
url: Helper.getUrl(
|
119
|
+
url: Helper.getUrl(values.serviceKey, 'get/assignees', {
|
118
120
|
site
|
119
121
|
})
|
120
122
|
});
|
@@ -122,7 +124,7 @@ export const maintenanceActions = {
|
|
122
124
|
addNote: (jobId, note, attachments) => {
|
123
125
|
return Session.authedFunction({
|
124
126
|
method: 'POST',
|
125
|
-
url: Helper.getUrl(
|
127
|
+
url: Helper.getUrl(values.serviceKey, 'requests/note'),
|
126
128
|
data: {
|
127
129
|
id: jobId,
|
128
130
|
note,
|
@@ -134,7 +136,7 @@ export const maintenanceActions = {
|
|
134
136
|
editNote: (jobId, noteId, note, attachments) => {
|
135
137
|
return Session.authedFunction({
|
136
138
|
method: 'POST',
|
137
|
-
url: Helper.getUrl(
|
139
|
+
url: Helper.getUrl(values.serviceKey, 'requests/note'),
|
138
140
|
data: {
|
139
141
|
id: jobId,
|
140
142
|
note,
|
@@ -147,7 +149,7 @@ export const maintenanceActions = {
|
|
147
149
|
deleteNote: (jobId, noteId) => {
|
148
150
|
return Session.authedFunction({
|
149
151
|
method: 'POST',
|
150
|
-
url: Helper.getUrl(
|
152
|
+
url: Helper.getUrl(values.serviceKey, 'requests/note'),
|
151
153
|
data: {
|
152
154
|
id: jobId,
|
153
155
|
noteId,
|
@@ -156,7 +158,7 @@ export const maintenanceActions = {
|
|
156
158
|
});
|
157
159
|
},
|
158
160
|
getJobTypes: async site => {
|
159
|
-
const url = Helper.getUrl(
|
161
|
+
const url = Helper.getUrl(values.serviceKey, 'getjobtypes');
|
160
162
|
return Session.authedFunction({
|
161
163
|
method: 'POST',
|
162
164
|
url,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Helper","Session","maintenanceActions","getJob","site","id","authedFunction","method","url","getUrl","data","getJobByJobId","jobId","getJobs","status","type","getJobs2","lastKey","query","JSON","stringify","getJobsRecursive","jobs","Promise","resolve","then","jobRes","newJobs","Items","LastKey","sendMaintenanceRequest","userID","userName","phone","room","title","description","date","images","location","isHome","homeText","request","editJob","job","editJobStatus","assignJob","userId","getAssignees","addNote","note","attachments","action","editNote","noteId","deleteNote","getJobTypes"],"sources":["maintenanceActions.js"],"sourcesContent":["import { Helper, Session } from '../core.config';\n\nexport const maintenanceActions = {\n getJob: (site, id) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(
|
1
|
+
{"version":3,"names":["Helper","Session","values","maintenanceActions","getJob","site","id","authedFunction","method","url","getUrl","serviceKey","data","getJobByJobId","jobId","getJobs","status","type","getJobs2","lastKey","query","JSON","stringify","getJobsRecursive","jobs","Promise","resolve","then","jobRes","newJobs","Items","LastKey","sendMaintenanceRequest","userID","userName","phone","room","title","description","date","images","location","isHome","homeText","customFields","request","editJob","job","editJobStatus","assignJob","userId","getAssignees","addNote","note","attachments","action","editNote","noteId","deleteNote","getJobTypes"],"sources":["maintenanceActions.js"],"sourcesContent":["import { Helper, Session } from '../core.config';\nimport { values } from '../values.config';\n\nexport const maintenanceActions = {\n getJob: (site, id) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJob'),\n data: { site, id },\n });\n },\n getJobByJobId: (site, jobId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJob'),\n data: { site, jobId },\n });\n },\n getJobs: (site, status = '', type = '') => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'getJobs'),\n data: { site, status, type },\n });\n },\n getJobs2: (site, status, type, lastKey) => {\n const query = { site };\n if (status) {\n query.status = status;\n }\n if (type) {\n query.type = type;\n }\n if (lastKey) {\n query.lastKey = JSON.stringify(lastKey);\n }\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/requests', query),\n });\n },\n getJobsRecursive: (site, status, type, lastKey, jobs = []) => {\n return new Promise(resolve => {\n maintenanceActions.getJobs2(site, status, type, lastKey).then(jobRes => {\n const newJobs = [...jobs, ...jobRes.data.Items];\n if (!jobRes.data.LastKey) {\n return resolve(newJobs);\n }\n return resolve(maintenanceActions.getJobsRecursive(site, status, type, jobRes.data.LastKey, newJobs));\n });\n });\n },\n sendMaintenanceRequest: (\n userID,\n userName,\n phone,\n room,\n title,\n description,\n date,\n type,\n images,\n location,\n isHome,\n homeText,\n customFields,\n ) => {\n const request = {\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'sendMaintenance'),\n data: {\n userID,\n userName,\n phone,\n room,\n title,\n description,\n date,\n type,\n images,\n location,\n isHome,\n homeText,\n customFields,\n },\n };\n return Session.authedFunction(request);\n },\n editJob: (job, site) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'editJob'),\n data: { job, site },\n });\n },\n editJobStatus: (id, status) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'editJobStatus'),\n data: { id, status },\n });\n },\n assignJob: (jobId, userId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/assign'),\n data: {\n id: jobId,\n userId,\n },\n });\n },\n getAssignees: site => {\n return Session.authedFunction({\n method: 'GET',\n url: Helper.getUrl(values.serviceKey, 'get/assignees', { site }),\n });\n },\n addNote: (jobId, note, attachments) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n note,\n attachments,\n action: 'AddNote',\n },\n });\n },\n editNote: (jobId, noteId, note, attachments) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n note,\n attachments,\n noteId,\n action: 'EditNote',\n },\n });\n },\n deleteNote: (jobId, noteId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'requests/note'),\n data: {\n id: jobId,\n noteId,\n action: 'DeleteNote',\n },\n });\n },\n getJobTypes: async site => {\n const url = Helper.getUrl(values.serviceKey, 'getjobtypes');\n return Session.authedFunction({\n method: 'POST',\n url,\n data: { site },\n });\n },\n};\n"],"mappings":"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"}
|
@@ -10,6 +10,7 @@ import { jobsLoaded, jobAdded, jobsAdded } from '../actions';
|
|
10
10
|
import MaintenanceListItem from '../components/MaintenanceListItem';
|
11
11
|
import FilterPopupMenu from './FilterPopupMenu';
|
12
12
|
import { Components, Colours, Config, Helper } from '../core.config';
|
13
|
+
import { values } from '../values.config';
|
13
14
|
class MaintenanceList extends Component {
|
14
15
|
constructor(props) {
|
15
16
|
super(props);
|
@@ -217,7 +218,7 @@ class MaintenanceList extends Component {
|
|
217
218
|
return /*#__PURE__*/React.createElement(View, {
|
218
219
|
style: styles.searchContainer
|
219
220
|
}, /*#__PURE__*/React.createElement(Components.GenericInput, {
|
220
|
-
placeholder:
|
221
|
+
placeholder: `Search by ${values.textEntityName} ID or Address`,
|
221
222
|
value: this.state.searchText,
|
222
223
|
onChangeText: this.onSearchText,
|
223
224
|
onSubmitEditing: this.onSearchSubmit,
|
@@ -335,9 +336,9 @@ const styles = StyleSheet.create({
|
|
335
336
|
const mapStateToProps = state => {
|
336
337
|
const {
|
337
338
|
user,
|
338
|
-
jobs,
|
339
339
|
notifications
|
340
340
|
} = state;
|
341
|
+
const jobs = state[values.reducerKey];
|
341
342
|
const jobsOrdered = _.orderBy(jobs.jobs, ['createdUnix'], ['desc']);
|
342
343
|
const hasPermission = _.includes(user.permissions, 'maintenanceTracking');
|
343
344
|
return {
|
@@ -346,7 +347,7 @@ const mapStateToProps = state => {
|
|
346
347
|
site: user.site,
|
347
348
|
userCategory: user.category,
|
348
349
|
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
349
|
-
dataUpdated: notifications.dataUpdated[
|
350
|
+
dataUpdated: notifications.dataUpdated[values.updateKey]
|
350
351
|
};
|
351
352
|
};
|
352
353
|
export default connect(mapStateToProps, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","View","StyleSheet","FlatList","TouchableOpacity","Text","_","connect","maintenanceActions","jobsLoaded","jobAdded","jobsAdded","MaintenanceListItem","FilterPopupMenu","Components","Colours","Config","Helper","MaintenanceList","constructor","props","_defineProperty","onLoadingChanged","selectedStatus","selectedType","state","res","getJobsRecursive","site","initialStatus","isEmpty","error","console","log","data","getJobTypes","getSite","types","map","t","label","typeName","value","splice","setState","jobId","loading","job","getJobByJobId","source","searchText","selectedAssignee","jobs","filteredList","jobIdMatch","find","j","filter","room","toLowerCase","indexOf","fetchJob","includes","status","type","AssigneeId","jobIndex","unshift","refresh","callback","resetDataSource","showFilterPopup","selected","selectedStatusText","statusText","assignee","selectedAssigneeName","assigneeName","onToggleFilter","filterTexts","push","join","hasPermission","initialStatusText","componentDidMount","refreshTypes","componentDidUpdate","prevProps","dataUpdated","isEqual","getEmptyStateText","options","EmptyText","userCategory","env","strings","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","renderEmptyList","createElement","EmptyStateMain","title","style","marginHorizontal","renderFilterButton","onPress","styles","filterButton","filterButtonText","color","colourBrandingMain","getFilterButtonText","renderSearch","searchContainer","GenericInput","placeholder","onChangeText","onSearchText","onSubmitEditing","onSearchSubmit","squaredCorners","hasClear","returnKeyType","renderListHeader","ListHeaderComponent","height","renderList","keyboardShouldPersistTaps","flex","contentContainerStyle","paddingBottom","keyExtractor","item","id","renderItem","itemStyle","ListEmptyComponent","renderFilterPopup","onClose","onSelectFilter","render","container","create","backgroundColor","filterContainerOuter","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","filterTitle","fontFamily","fontSize","letterSpacing","filterContainer","filterText","marginRight","filterIcon","mapStateToProps","user","notifications","jobsOrdered","orderBy","permissions","category","getMainBrandingColourFromState","forwardRef"],"sources":["MaintenanceList.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native';\nimport _ from 'lodash';\nimport { connect } from 'react-redux';\nimport { maintenanceActions } from '../apis';\nimport { jobsLoaded, jobAdded, jobsAdded } from '../actions';\nimport MaintenanceListItem from '../components/MaintenanceListItem';\nimport FilterPopupMenu from './FilterPopupMenu';\nimport { Components, Colours, Config, Helper } from '../core.config';\n\nclass MaintenanceList extends Component {\n constructor(props) {\n super(props);\n\n this.initialStatus = props.hasPermission ? 'Unassigned|In Progress' : '';\n this.initialStatusText = props.hasPermission ? 'Incomplete' : '';\n\n this.state = {\n types: [],\n filteredList: props.jobs,\n loading: false,\n searchText: '',\n showFilterPopup: false,\n selectedStatus: this.initialStatus,\n selectedStatusText: this.initialStatusText,\n selectedType: '',\n selectedAssignee: '',\n selectedAssigneeName: '',\n };\n }\n\n componentDidMount() {\n this.refresh();\n this.refreshTypes();\n\n this.resetDataSource();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n if (!_.isEqual(prevProps.jobs, this.props.jobs)) this.resetDataSource();\n }\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const { selectedStatus, selectedType } = this.state;\n // console.log('filters', { selectedStatus, selectedType });\n const res = await maintenanceActions.getJobsRecursive(this.props.site, selectedStatus, selectedType);\n // console.log('refresh', res?.data);\n if (selectedStatus !== this.initialStatus || !_.isEmpty(selectedType)) {\n this.props.jobsAdded(res);\n } else {\n this.props.jobsLoaded(res);\n }\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n refreshTypes = async () => {\n const { data } = await maintenanceActions.getJobTypes(Helper.getSite(this.props.site));\n const types = data.map(t => {\n return { label: t.typeName, value: t.typeName };\n });\n types.splice(0, 0, { label: 'All', value: '' });\n // console.log('refreshTypes', types);\n this.setState({ types });\n };\n\n fetchJob = jobId => {\n if (this.state.loading) return;\n\n this.onLoadingChanged(true, async () => {\n try {\n const job = await maintenanceActions.getJobByJobId(this.props.site, jobId);\n // console.log('fetchJob', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('fetchJob error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n getEmptyStateText() {\n if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n return this.props.options.EmptyText;\n }\n return this.props.userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n }\n\n resetDataSource = (source = '') => {\n const { searchText, selectedStatus, selectedType, selectedAssignee } = this.state;\n const { jobs } = this.props;\n\n let filteredList = jobs;\n let jobIdMatch = null;\n if (searchText) {\n jobIdMatch = _.find(jobs, j => j.jobId === searchText);\n filteredList = jobs.filter(j => {\n if (j.room && j.room.toLowerCase().indexOf(searchText.toLowerCase()) > -1) {\n return true;\n }\n return false;\n });\n if (!jobIdMatch) this.fetchJob(searchText);\n }\n if (selectedStatus) filteredList = filteredList.filter(j => selectedStatus.includes(j.status));\n if (selectedType) filteredList = filteredList.filter(j => selectedType.includes(j.type));\n if (selectedAssignee) filteredList = filteredList.filter(j => selectedAssignee.includes(j.AssigneeId));\n if (jobIdMatch) {\n const jobIndex = filteredList.indexOf(jobIdMatch);\n if (jobIndex > -1) {\n filteredList.splice(jobIndex, 1);\n }\n filteredList.unshift(jobIdMatch);\n }\n if (source !== 'search') this.refresh();\n\n this.setState({ filteredList });\n };\n\n onLoadingChanged = (loading, callback) => {\n this.setState({ loading }, () => {\n if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);\n if (callback) callback();\n });\n };\n\n onSearchText = value => {\n this.setState({ searchText: value }, () => {\n if (_.isEmpty(this.state.searchText)) this.resetDataSource('search');\n });\n };\n\n onSearchSubmit = () => {\n this.resetDataSource('search');\n };\n\n onToggleFilter = () => {\n this.setState({ showFilterPopup: !this.state.showFilterPopup });\n };\n\n onSelectFilter = selected => {\n this.setState(\n {\n selectedStatus: selected.status,\n selectedStatusText: selected.statusText,\n selectedType: selected.type,\n selectedAssignee: selected.assignee,\n selectedAssigneeName: selected.assigneeName,\n },\n () => {\n this.resetDataSource();\n this.onToggleFilter();\n },\n );\n };\n\n getFilterButtonText = () => {\n const { selectedStatus, selectedStatusText, selectedType, selectedAssignee, selectedAssigneeName } = this.state;\n const filterTexts = [];\n if (!_.isEmpty(selectedStatus)) {\n filterTexts.push(selectedStatusText);\n }\n\n if (!_.isEmpty(selectedType)) {\n filterTexts.push(selectedType);\n }\n if (!_.isEmpty(selectedAssignee)) {\n filterTexts.push(selectedAssigneeName);\n }\n if (_.isEmpty(filterTexts)) {\n return 'Filter';\n }\n return `Filtering by ${filterTexts.join(', ')}`;\n };\n\n renderEmptyList() {\n return this.state.loading ? null : <Components.EmptyStateMain title={this.getEmptyStateText()} style={{ marginHorizontal: 16 }} />;\n }\n\n renderFilterButton() {\n return (\n <TouchableOpacity onPress={this.onToggleFilter}>\n <View style={styles.filterButton}>\n <Text style={[styles.filterButtonText, { color: this.props.colourBrandingMain }]}>{this.getFilterButtonText()}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n\n renderSearch() {\n if (!this.props.hasPermission) return null;\n\n return (\n <View style={styles.searchContainer}>\n <Components.GenericInput\n placeholder=\"Search by Job ID or Location\"\n value={this.state.searchText}\n onChangeText={this.onSearchText}\n onSubmitEditing={this.onSearchSubmit}\n squaredCorners\n hasClear\n // keyboardType={'numeric'}\n returnKeyType={'done'}\n />\n </View>\n );\n }\n\n renderListHeader() {\n const { ListHeaderComponent } = this.props;\n return (\n <View>\n {ListHeaderComponent ? ListHeaderComponent : <View style={{ height: 8 }} />}\n {this.renderFilterButton()}\n {this.renderSearch()}\n </View>\n );\n }\n\n renderList() {\n const { filteredList } = this.state;\n\n return (\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n style={{ flex: 1 }}\n contentContainerStyle={{ paddingBottom: 16 }}\n data={filteredList}\n keyExtractor={item => item.id}\n renderItem={({ item }) => <MaintenanceListItem style={this.props.itemStyle} job={item} />}\n ListEmptyComponent={this.renderEmptyList()}\n ListHeaderComponent={this.renderListHeader()}\n />\n );\n }\n\n renderFilterPopup() {\n const { showFilterPopup, types, selectedStatus, selectedType, selectedAssignee } = this.state;\n if (!showFilterPopup) return null;\n\n return (\n <FilterPopupMenu\n site={this.props.site}\n types={types}\n status={selectedStatus}\n assignee={selectedAssignee}\n type={selectedType}\n onClose={this.onSelectFilter}\n />\n );\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.style]}>\n {this.renderList()}\n {this.renderFilterPopup()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n filterContainerOuter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 16,\n },\n filterTitle: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: '#4d4d4d',\n },\n filterContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n filterText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n marginRight: 6,\n },\n filterIcon: {\n fontSize: 20,\n },\n searchContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingBottom: 8,\n paddingHorizontal: 16,\n },\n filterButton: {\n paddingBottom: 8,\n paddingHorizontal: 16,\n flexDirection: 'row-reverse',\n },\n filterButtonText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, jobs, notifications } = state;\n const jobsOrdered = _.orderBy(jobs.jobs, ['createdUnix'], ['desc']);\n const hasPermission = _.includes(user.permissions, 'maintenanceTracking');\n\n return {\n hasPermission,\n jobs: jobsOrdered,\n site: user.site,\n userCategory: user.category,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n dataUpdated: notifications.dataUpdated['jobs'],\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded, jobAdded, jobsAdded }, null, { forwardRef: true })(MaintenanceList);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AACjF,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,kBAAkB,QAAQ,SAAS;AAC5C,SAASC,UAAU,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,YAAY;AAC5D,OAAOC,mBAAmB,MAAM,mCAAmC;AACnE,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,SAASC,UAAU,EAAEC,OAAO,EAAEC,MAAM,EAAEC,MAAM,QAAQ,gBAAgB;AAEpE,MAAMC,eAAe,SAASlB,SAAS,CAAC;EACtCmB,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,kBA+BL,MAAM;MACd,IAAI,CAACC,gBAAgB,CAAC,IAAI,EAAE,YAAY;QACtC,IAAI;UACF,MAAM;YAAEC,cAAc;YAAEC;UAAa,CAAC,GAAG,IAAI,CAACC,KAAK;UACnD;UACA,MAAMC,GAAG,GAAG,MAAMlB,kBAAkB,CAACmB,gBAAgB,CAAC,IAAI,CAACP,KAAK,CAACQ,IAAI,EAAEL,cAAc,EAAEC,YAAY,CAAC;UACpG;UACA,IAAID,cAAc,KAAK,IAAI,CAACM,aAAa,IAAI,CAACvB,CAAC,CAACwB,OAAO,CAACN,YAAY,CAAC,EAAE;YACrE,IAAI,CAACJ,KAAK,CAACT,SAAS,CAACe,GAAG,CAAC;UAC3B,CAAC,MAAM;YACL,IAAI,CAACN,KAAK,CAACX,UAAU,CAACiB,GAAG,CAAC;UAC5B;QACF,CAAC,CAAC,OAAOK,KAAK,EAAE;UACdC,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEF,KAAK,CAAC;QACrC,CAAC,SAAS;UACR,IAAI,CAACT,gBAAgB,CAAC,KAAK,CAAC;QAC9B;MACF,CAAC,CAAC;IACJ,CAAC;IAAAD,eAAA,uBAEc,YAAY;MACzB,MAAM;QAAEa;MAAK,CAAC,GAAG,MAAM1B,kBAAkB,CAAC2B,WAAW,CAAClB,MAAM,CAACmB,OAAO,CAAC,IAAI,CAAChB,KAAK,CAACQ,IAAI,CAAC,CAAC;MACtF,MAAMS,KAAK,GAAGH,IAAI,CAACI,GAAG,CAACC,CAAC,IAAI;QAC1B,OAAO;UAAEC,KAAK,EAAED,CAAC,CAACE,QAAQ;UAAEC,KAAK,EAAEH,CAAC,CAACE;QAAS,CAAC;MACjD,CAAC,CAAC;MACFJ,KAAK,CAACM,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;QAAEH,KAAK,EAAE,KAAK;QAAEE,KAAK,EAAE;MAAG,CAAC,CAAC;MAC/C;MACA,IAAI,CAACE,QAAQ,CAAC;QAAEP;MAAM,CAAC,CAAC;IAC1B,CAAC;IAAAhB,eAAA,mBAEUwB,KAAK,IAAI;MAClB,IAAI,IAAI,CAACpB,KAAK,CAACqB,OAAO,EAAE;MAExB,IAAI,CAACxB,gBAAgB,CAAC,IAAI,EAAE,YAAY;QACtC,IAAI;UACF,MAAMyB,GAAG,GAAG,MAAMvC,kBAAkB,CAACwC,aAAa,CAAC,IAAI,CAAC5B,KAAK,CAACQ,IAAI,EAAEiB,KAAK,CAAC;UAC1E;UACA,IAAI,CAACzB,KAAK,CAACV,QAAQ,CAACqC,GAAG,CAACb,IAAI,CAAC;QAC/B,CAAC,CAAC,OAAOH,KAAK,EAAE;UACdC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEF,KAAK,CAAC;QACtC,CAAC,SAAS;UACR,IAAI,CAACT,gBAAgB,CAAC,KAAK,CAAC;QAC9B;MACF,CAAC,CAAC;IACJ,CAAC;IAAAD,eAAA,0BASiB,CAAC4B,MAAM,GAAG,EAAE,KAAK;MACjC,MAAM;QAAEC,UAAU;QAAE3B,cAAc;QAAEC,YAAY;QAAE2B;MAAiB,CAAC,GAAG,IAAI,CAAC1B,KAAK;MACjF,MAAM;QAAE2B;MAAK,CAAC,GAAG,IAAI,CAAChC,KAAK;MAE3B,IAAIiC,YAAY,GAAGD,IAAI;MACvB,IAAIE,UAAU,GAAG,IAAI;MACrB,IAAIJ,UAAU,EAAE;QACdI,UAAU,GAAGhD,CAAC,CAACiD,IAAI,CAACH,IAAI,EAAEI,CAAC,IAAIA,CAAC,CAACX,KAAK,KAAKK,UAAU,CAAC;QACtDG,YAAY,GAAGD,IAAI,CAACK,MAAM,CAACD,CAAC,IAAI;UAC9B,IAAIA,CAAC,CAACE,IAAI,IAAIF,CAAC,CAACE,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAACV,UAAU,CAACS,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;YACzE,OAAO,IAAI;UACb;UACA,OAAO,KAAK;QACd,CAAC,CAAC;QACF,IAAI,CAACL,UAAU,EAAE,IAAI,CAACO,QAAQ,CAACX,UAAU,CAAC;MAC5C;MACA,IAAI3B,cAAc,EAAE8B,YAAY,GAAGA,YAAY,CAACI,MAAM,CAACD,CAAC,IAAIjC,cAAc,CAACuC,QAAQ,CAACN,CAAC,CAACO,MAAM,CAAC,CAAC;MAC9F,IAAIvC,YAAY,EAAE6B,YAAY,GAAGA,YAAY,CAACI,MAAM,CAACD,CAAC,IAAIhC,YAAY,CAACsC,QAAQ,CAACN,CAAC,CAACQ,IAAI,CAAC,CAAC;MACxF,IAAIb,gBAAgB,EAAEE,YAAY,GAAGA,YAAY,CAACI,MAAM,CAACD,CAAC,IAAIL,gBAAgB,CAACW,QAAQ,CAACN,CAAC,CAACS,UAAU,CAAC,CAAC;MACtG,IAAIX,UAAU,EAAE;QACd,MAAMY,QAAQ,GAAGb,YAAY,CAACO,OAAO,CAACN,UAAU,CAAC;QACjD,IAAIY,QAAQ,GAAG,CAAC,CAAC,EAAE;UACjBb,YAAY,CAACV,MAAM,CAACuB,QAAQ,EAAE,CAAC,CAAC;QAClC;QACAb,YAAY,CAACc,OAAO,CAACb,UAAU,CAAC;MAClC;MACA,IAAIL,MAAM,KAAK,QAAQ,EAAE,IAAI,CAACmB,OAAO,CAAC,CAAC;MAEvC,IAAI,CAACxB,QAAQ,CAAC;QAAES;MAAa,CAAC,CAAC;IACjC,CAAC;IAAAhC,eAAA,2BAEkB,CAACyB,OAAO,EAAEuB,QAAQ,KAAK;MACxC,IAAI,CAACzB,QAAQ,CAAC;QAAEE;MAAQ,CAAC,EAAE,MAAM;QAC/B,IAAI,IAAI,CAAC1B,KAAK,CAACE,gBAAgB,EAAE,IAAI,CAACF,KAAK,CAACE,gBAAgB,CAAC,IAAI,CAACG,KAAK,CAACqB,OAAO,CAAC;QAChF,IAAIuB,QAAQ,EAAEA,QAAQ,CAAC,CAAC;MAC1B,CAAC,CAAC;IACJ,CAAC;IAAAhD,eAAA,uBAEcqB,KAAK,IAAI;MACtB,IAAI,CAACE,QAAQ,CAAC;QAAEM,UAAU,EAAER;MAAM,CAAC,EAAE,MAAM;QACzC,IAAIpC,CAAC,CAACwB,OAAO,CAAC,IAAI,CAACL,KAAK,CAACyB,UAAU,CAAC,EAAE,IAAI,CAACoB,eAAe,CAAC,QAAQ,CAAC;MACtE,CAAC,CAAC;IACJ,CAAC;IAAAjD,eAAA,yBAEgB,MAAM;MACrB,IAAI,CAACiD,eAAe,CAAC,QAAQ,CAAC;IAChC,CAAC;IAAAjD,eAAA,yBAEgB,MAAM;MACrB,IAAI,CAACuB,QAAQ,CAAC;QAAE2B,eAAe,EAAE,CAAC,IAAI,CAAC9C,KAAK,CAAC8C;MAAgB,CAAC,CAAC;IACjE,CAAC;IAAAlD,eAAA,yBAEgBmD,QAAQ,IAAI;MAC3B,IAAI,CAAC5B,QAAQ,CACX;QACErB,cAAc,EAAEiD,QAAQ,CAACT,MAAM;QAC/BU,kBAAkB,EAAED,QAAQ,CAACE,UAAU;QACvClD,YAAY,EAAEgD,QAAQ,CAACR,IAAI;QAC3Bb,gBAAgB,EAAEqB,QAAQ,CAACG,QAAQ;QACnCC,oBAAoB,EAAEJ,QAAQ,CAACK;MACjC,CAAC,EACD,MAAM;QACJ,IAAI,CAACP,eAAe,CAAC,CAAC;QACtB,IAAI,CAACQ,cAAc,CAAC,CAAC;MACvB,CACF,CAAC;IACH,CAAC;IAAAzD,eAAA,8BAEqB,MAAM;MAC1B,MAAM;QAAEE,cAAc;QAAEkD,kBAAkB;QAAEjD,YAAY;QAAE2B,gBAAgB;QAAEyB;MAAqB,CAAC,GAAG,IAAI,CAACnD,KAAK;MAC/G,MAAMsD,WAAW,GAAG,EAAE;MACtB,IAAI,CAACzE,CAAC,CAACwB,OAAO,CAACP,cAAc,CAAC,EAAE;QAC9BwD,WAAW,CAACC,IAAI,CAACP,kBAAkB,CAAC;MACtC;MAEA,IAAI,CAACnE,CAAC,CAACwB,OAAO,CAACN,YAAY,CAAC,EAAE;QAC5BuD,WAAW,CAACC,IAAI,CAACxD,YAAY,CAAC;MAChC;MACA,IAAI,CAAClB,CAAC,CAACwB,OAAO,CAACqB,gBAAgB,CAAC,EAAE;QAChC4B,WAAW,CAACC,IAAI,CAACJ,oBAAoB,CAAC;MACxC;MACA,IAAItE,CAAC,CAACwB,OAAO,CAACiD,WAAW,CAAC,EAAE;QAC1B,OAAO,QAAQ;MACjB;MACA,OAAQ,gBAAeA,WAAW,CAACE,IAAI,CAAC,IAAI,CAAE,EAAC;IACjD,CAAC;IAvKC,IAAI,CAACpD,aAAa,GAAGT,KAAK,CAAC8D,aAAa,GAAG,wBAAwB,GAAG,EAAE;IACxE,IAAI,CAACC,iBAAiB,GAAG/D,KAAK,CAAC8D,aAAa,GAAG,YAAY,GAAG,EAAE;IAEhE,IAAI,CAACzD,KAAK,GAAG;MACXY,KAAK,EAAE,EAAE;MACTgB,YAAY,EAAEjC,KAAK,CAACgC,IAAI;MACxBN,OAAO,EAAE,KAAK;MACdI,UAAU,EAAE,EAAE;MACdqB,eAAe,EAAE,KAAK;MACtBhD,cAAc,EAAE,IAAI,CAACM,aAAa;MAClC4C,kBAAkB,EAAE,IAAI,CAACU,iBAAiB;MAC1C3D,YAAY,EAAE,EAAE;MAChB2B,gBAAgB,EAAE,EAAE;MACpByB,oBAAoB,EAAE;IACxB,CAAC;EACH;EAEAQ,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAChB,OAAO,CAAC,CAAC;IACd,IAAI,CAACiB,YAAY,CAAC,CAAC;IAEnB,IAAI,CAACf,eAAe,CAAC,CAAC;EACxB;EAEAgB,kBAAkBA,CAACC,SAAS,EAAE;IAC5B,IAAI,CAACA,SAAS,CAACC,WAAW,IAAI,IAAI,CAACpE,KAAK,CAACoE,WAAW,EAAE,IAAI,CAACpB,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC9D,CAAC,CAACmF,OAAO,CAACF,SAAS,CAACnC,IAAI,EAAE,IAAI,CAAChC,KAAK,CAACgC,IAAI,CAAC,EAAE,IAAI,CAACkB,eAAe,CAAC,CAAC;EACzE;EAgDAoB,iBAAiBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAACtE,KAAK,CAACuE,OAAO,IAAI,CAACrF,CAAC,CAACwB,OAAO,CAAC,IAAI,CAACV,KAAK,CAACuE,OAAO,CAACC,SAAS,CAAC,EAAE;MAClE,OAAO,IAAI,CAACxE,KAAK,CAACuE,OAAO,CAACC,SAAS;IACrC;IACA,OAAO,IAAI,CAACxE,KAAK,CAACyE,YAAY,KAAK,OAAO,GAAG7E,MAAM,CAAC8E,GAAG,CAACC,OAAO,CAACC,oBAAoB,GAAGhF,MAAM,CAAC8E,GAAG,CAACC,OAAO,CAACE,mBAAmB;EAC/H;EAyFAC,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACzE,KAAK,CAACqB,OAAO,GAAG,IAAI,gBAAG/C,KAAA,CAAAoG,aAAA,CAACrF,UAAU,CAACsF,cAAc;MAACC,KAAK,EAAE,IAAI,CAACX,iBAAiB,CAAC,CAAE;MAACY,KAAK,EAAE;QAAEC,gBAAgB,EAAE;MAAG;IAAE,CAAE,CAAC;EACpI;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,oBACEzG,KAAA,CAAAoG,aAAA,CAAC/F,gBAAgB;MAACqG,OAAO,EAAE,IAAI,CAAC3B;IAAe,gBAC7C/E,KAAA,CAAAoG,aAAA,CAAClG,IAAI;MAACqG,KAAK,EAAEI,MAAM,CAACC;IAAa,gBAC/B5G,KAAA,CAAAoG,aAAA,CAAC9F,IAAI;MAACiG,KAAK,EAAE,CAACI,MAAM,CAACE,gBAAgB,EAAE;QAAEC,KAAK,EAAE,IAAI,CAACzF,KAAK,CAAC0F;MAAmB,CAAC;IAAE,GAAE,IAAI,CAACC,mBAAmB,CAAC,CAAQ,CAChH,CACU,CAAC;EAEvB;EAEAC,YAAYA,CAAA,EAAG;IACb,IAAI,CAAC,IAAI,CAAC5F,KAAK,CAAC8D,aAAa,EAAE,OAAO,IAAI;IAE1C,oBACEnF,KAAA,CAAAoG,aAAA,CAAClG,IAAI;MAACqG,KAAK,EAAEI,MAAM,CAACO;IAAgB,gBAClClH,KAAA,CAAAoG,aAAA,CAACrF,UAAU,CAACoG,YAAY;MACtBC,WAAW,EAAC,8BAA8B;MAC1CzE,KAAK,EAAE,IAAI,CAACjB,KAAK,CAACyB,UAAW;MAC7BkE,YAAY,EAAE,IAAI,CAACC,YAAa;MAChCC,eAAe,EAAE,IAAI,CAACC,cAAe;MACrCC,cAAc;MACdC,QAAQ;MACR;MAAA;MACAC,aAAa,EAAE;IAAO,CACvB,CACG,CAAC;EAEX;EAEAC,gBAAgBA,CAAA,EAAG;IACjB,MAAM;MAAEC;IAAoB,CAAC,GAAG,IAAI,CAACxG,KAAK;IAC1C,oBACErB,KAAA,CAAAoG,aAAA,CAAClG,IAAI,QACF2H,mBAAmB,GAAGA,mBAAmB,gBAAG7H,KAAA,CAAAoG,aAAA,CAAClG,IAAI;MAACqG,KAAK,EAAE;QAAEuB,MAAM,EAAE;MAAE;IAAE,CAAE,CAAC,EAC1E,IAAI,CAACrB,kBAAkB,CAAC,CAAC,EACzB,IAAI,CAACQ,YAAY,CAAC,CACf,CAAC;EAEX;EAEAc,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEzE;IAAa,CAAC,GAAG,IAAI,CAAC5B,KAAK;IAEnC,oBACE1B,KAAA,CAAAoG,aAAA,CAAChG,QAAQ;MACP4H,yBAAyB,EAAC,QAAQ;MAClCzB,KAAK,EAAE;QAAE0B,IAAI,EAAE;MAAE,CAAE;MACnBC,qBAAqB,EAAE;QAAEC,aAAa,EAAE;MAAG,CAAE;MAC7ChG,IAAI,EAAEmB,YAAa;MACnB8E,YAAY,EAAEC,IAAI,IAAIA,IAAI,CAACC,EAAG;MAC9BC,UAAU,EAAEA,CAAC;QAAEF;MAAK,CAAC,kBAAKrI,KAAA,CAAAoG,aAAA,CAACvF,mBAAmB;QAAC0F,KAAK,EAAE,IAAI,CAAClF,KAAK,CAACmH,SAAU;QAACxF,GAAG,EAAEqF;MAAK,CAAE,CAAE;MAC1FI,kBAAkB,EAAE,IAAI,CAACtC,eAAe,CAAC,CAAE;MAC3C0B,mBAAmB,EAAE,IAAI,CAACD,gBAAgB,CAAC;IAAE,CAC9C,CAAC;EAEN;EAEAc,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAElE,eAAe;MAAElC,KAAK;MAAEd,cAAc;MAAEC,YAAY;MAAE2B;IAAiB,CAAC,GAAG,IAAI,CAAC1B,KAAK;IAC7F,IAAI,CAAC8C,eAAe,EAAE,OAAO,IAAI;IAEjC,oBACExE,KAAA,CAAAoG,aAAA,CAACtF,eAAe;MACde,IAAI,EAAE,IAAI,CAACR,KAAK,CAACQ,IAAK;MACtBS,KAAK,EAAEA,KAAM;MACb0B,MAAM,EAAExC,cAAe;MACvBoD,QAAQ,EAAExB,gBAAiB;MAC3Ba,IAAI,EAAExC,YAAa;MACnBkH,OAAO,EAAE,IAAI,CAACC;IAAe,CAC9B,CAAC;EAEN;EAEAC,MAAMA,CAAA,EAAG;IACP,oBACE7I,KAAA,CAAAoG,aAAA,CAAClG,IAAI;MAACqG,KAAK,EAAE,CAACI,MAAM,CAACmC,SAAS,EAAE,IAAI,CAACzH,KAAK,CAACkF,KAAK;IAAE,GAC/C,IAAI,CAACwB,UAAU,CAAC,CAAC,EACjB,IAAI,CAACW,iBAAiB,CAAC,CACpB,CAAC;EAEX;AACF;AAEA,MAAM/B,MAAM,GAAGxG,UAAU,CAAC4I,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTb,IAAI,EAAE,CAAC;IACPe,eAAe,EAAE;EACnB,CAAC;EACDC,oBAAoB,EAAE;IACpBC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDC,WAAW,EAAE;IACXC,UAAU,EAAE,SAAS;IACrBC,QAAQ,EAAE,EAAE;IACZC,aAAa,EAAE,GAAG;IAClB5C,KAAK,EAAE;EACT,CAAC;EACD6C,eAAe,EAAE;IACfT,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE;EACd,CAAC;EACDQ,UAAU,EAAE;IACVJ,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZI,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVL,QAAQ,EAAE;EACZ,CAAC;EACDvC,eAAe,EAAE;IACfgC,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE,QAAQ;IACpBjB,aAAa,EAAE,CAAC;IAChBkB,iBAAiB,EAAE;EACrB,CAAC;EACDzC,YAAY,EAAE;IACZuB,aAAa,EAAE,CAAC;IAChBkB,iBAAiB,EAAE,EAAE;IACrBH,aAAa,EAAE;EACjB,CAAC;EACDrC,gBAAgB,EAAE;IAChB2C,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,MAAMM,eAAe,GAAGrI,KAAK,IAAI;EAC/B,MAAM;IAAEsI,IAAI;IAAE3G,IAAI;IAAE4G;EAAc,CAAC,GAAGvI,KAAK;EAC3C,MAAMwI,WAAW,GAAG3J,CAAC,CAAC4J,OAAO,CAAC9G,IAAI,CAACA,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;EACnE,MAAM8B,aAAa,GAAG5E,CAAC,CAACwD,QAAQ,CAACiG,IAAI,CAACI,WAAW,EAAE,qBAAqB,CAAC;EAEzE,OAAO;IACLjF,aAAa;IACb9B,IAAI,EAAE6G,WAAW;IACjBrI,IAAI,EAAEmI,IAAI,CAACnI,IAAI;IACfiE,YAAY,EAAEkE,IAAI,CAACK,QAAQ;IAC3BtD,kBAAkB,EAAE/F,OAAO,CAACsJ,8BAA8B,CAAC5I,KAAK,CAAC;IACjE+D,WAAW,EAAEwE,aAAa,CAACxE,WAAW,CAAC,MAAM;EAC/C,CAAC;AACH,CAAC;AAED,eAAejF,OAAO,CAACuJ,eAAe,EAAE;EAAErJ,UAAU;EAAEC,QAAQ;EAAEC;AAAU,CAAC,EAAE,IAAI,EAAE;EAAE2J,UAAU,EAAE;AAAK,CAAC,CAAC,CAACpJ,eAAe,CAAC"}
|
1
|
+
{"version":3,"names":["React","Component","View","StyleSheet","FlatList","TouchableOpacity","Text","_","connect","maintenanceActions","jobsLoaded","jobAdded","jobsAdded","MaintenanceListItem","FilterPopupMenu","Components","Colours","Config","Helper","values","MaintenanceList","constructor","props","_defineProperty","onLoadingChanged","selectedStatus","selectedType","state","res","getJobsRecursive","site","initialStatus","isEmpty","error","console","log","data","getJobTypes","getSite","types","map","t","label","typeName","value","splice","setState","jobId","loading","job","getJobByJobId","source","searchText","selectedAssignee","jobs","filteredList","jobIdMatch","find","j","filter","room","toLowerCase","indexOf","fetchJob","includes","status","type","AssigneeId","jobIndex","unshift","refresh","callback","resetDataSource","showFilterPopup","selected","selectedStatusText","statusText","assignee","selectedAssigneeName","assigneeName","onToggleFilter","filterTexts","push","join","hasPermission","initialStatusText","componentDidMount","refreshTypes","componentDidUpdate","prevProps","dataUpdated","isEqual","getEmptyStateText","options","EmptyText","userCategory","env","strings","EMPTY_REQUESTS_STAFF","EMPTY_REQUESTS_USER","renderEmptyList","createElement","EmptyStateMain","title","style","marginHorizontal","renderFilterButton","onPress","styles","filterButton","filterButtonText","color","colourBrandingMain","getFilterButtonText","renderSearch","searchContainer","GenericInput","placeholder","textEntityName","onChangeText","onSearchText","onSubmitEditing","onSearchSubmit","squaredCorners","hasClear","returnKeyType","renderListHeader","ListHeaderComponent","height","renderList","keyboardShouldPersistTaps","flex","contentContainerStyle","paddingBottom","keyExtractor","item","id","renderItem","itemStyle","ListEmptyComponent","renderFilterPopup","onClose","onSelectFilter","render","container","create","backgroundColor","filterContainerOuter","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","filterTitle","fontFamily","fontSize","letterSpacing","filterContainer","filterText","marginRight","filterIcon","mapStateToProps","user","notifications","reducerKey","jobsOrdered","orderBy","permissions","category","getMainBrandingColourFromState","updateKey","forwardRef"],"sources":["MaintenanceList.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native';\nimport _ from 'lodash';\nimport { connect } from 'react-redux';\nimport { maintenanceActions } from '../apis';\nimport { jobsLoaded, jobAdded, jobsAdded } from '../actions';\nimport MaintenanceListItem from '../components/MaintenanceListItem';\nimport FilterPopupMenu from './FilterPopupMenu';\nimport { Components, Colours, Config, Helper } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenanceList extends Component {\n constructor(props) {\n super(props);\n\n this.initialStatus = props.hasPermission ? 'Unassigned|In Progress' : '';\n this.initialStatusText = props.hasPermission ? 'Incomplete' : '';\n\n this.state = {\n types: [],\n filteredList: props.jobs,\n loading: false,\n searchText: '',\n showFilterPopup: false,\n selectedStatus: this.initialStatus,\n selectedStatusText: this.initialStatusText,\n selectedType: '',\n selectedAssignee: '',\n selectedAssigneeName: '',\n };\n }\n\n componentDidMount() {\n this.refresh();\n this.refreshTypes();\n\n this.resetDataSource();\n }\n\n componentDidUpdate(prevProps) {\n if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();\n if (!_.isEqual(prevProps.jobs, this.props.jobs)) this.resetDataSource();\n }\n\n refresh = () => {\n this.onLoadingChanged(true, async () => {\n try {\n const { selectedStatus, selectedType } = this.state;\n // console.log('filters', { selectedStatus, selectedType });\n const res = await maintenanceActions.getJobsRecursive(this.props.site, selectedStatus, selectedType);\n // console.log('refresh', res?.data);\n if (selectedStatus !== this.initialStatus || !_.isEmpty(selectedType)) {\n this.props.jobsAdded(res);\n } else {\n this.props.jobsLoaded(res);\n }\n } catch (error) {\n console.log('refresh error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n refreshTypes = async () => {\n const { data } = await maintenanceActions.getJobTypes(Helper.getSite(this.props.site));\n const types = data.map(t => {\n return { label: t.typeName, value: t.typeName };\n });\n types.splice(0, 0, { label: 'All', value: '' });\n // console.log('refreshTypes', types);\n this.setState({ types });\n };\n\n fetchJob = jobId => {\n if (this.state.loading) return;\n\n this.onLoadingChanged(true, async () => {\n try {\n const job = await maintenanceActions.getJobByJobId(this.props.site, jobId);\n // console.log('fetchJob', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('fetchJob error', error);\n } finally {\n this.onLoadingChanged(false);\n }\n });\n };\n\n getEmptyStateText() {\n if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n return this.props.options.EmptyText;\n }\n return this.props.userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;\n }\n\n resetDataSource = (source = '') => {\n const { searchText, selectedStatus, selectedType, selectedAssignee } = this.state;\n const { jobs } = this.props;\n\n let filteredList = jobs;\n let jobIdMatch = null;\n if (searchText) {\n jobIdMatch = _.find(jobs, j => j.jobId === searchText);\n filteredList = jobs.filter(j => {\n if (j.room && j.room.toLowerCase().indexOf(searchText.toLowerCase()) > -1) {\n return true;\n }\n return false;\n });\n if (!jobIdMatch) this.fetchJob(searchText);\n }\n if (selectedStatus) filteredList = filteredList.filter(j => selectedStatus.includes(j.status));\n if (selectedType) filteredList = filteredList.filter(j => selectedType.includes(j.type));\n if (selectedAssignee) filteredList = filteredList.filter(j => selectedAssignee.includes(j.AssigneeId));\n if (jobIdMatch) {\n const jobIndex = filteredList.indexOf(jobIdMatch);\n if (jobIndex > -1) {\n filteredList.splice(jobIndex, 1);\n }\n filteredList.unshift(jobIdMatch);\n }\n if (source !== 'search') this.refresh();\n\n this.setState({ filteredList });\n };\n\n onLoadingChanged = (loading, callback) => {\n this.setState({ loading }, () => {\n if (this.props.onLoadingChanged) this.props.onLoadingChanged(this.state.loading);\n if (callback) callback();\n });\n };\n\n onSearchText = value => {\n this.setState({ searchText: value }, () => {\n if (_.isEmpty(this.state.searchText)) this.resetDataSource('search');\n });\n };\n\n onSearchSubmit = () => {\n this.resetDataSource('search');\n };\n\n onToggleFilter = () => {\n this.setState({ showFilterPopup: !this.state.showFilterPopup });\n };\n\n onSelectFilter = selected => {\n this.setState(\n {\n selectedStatus: selected.status,\n selectedStatusText: selected.statusText,\n selectedType: selected.type,\n selectedAssignee: selected.assignee,\n selectedAssigneeName: selected.assigneeName,\n },\n () => {\n this.resetDataSource();\n this.onToggleFilter();\n },\n );\n };\n\n getFilterButtonText = () => {\n const { selectedStatus, selectedStatusText, selectedType, selectedAssignee, selectedAssigneeName } = this.state;\n const filterTexts = [];\n if (!_.isEmpty(selectedStatus)) {\n filterTexts.push(selectedStatusText);\n }\n\n if (!_.isEmpty(selectedType)) {\n filterTexts.push(selectedType);\n }\n if (!_.isEmpty(selectedAssignee)) {\n filterTexts.push(selectedAssigneeName);\n }\n if (_.isEmpty(filterTexts)) {\n return 'Filter';\n }\n return `Filtering by ${filterTexts.join(', ')}`;\n };\n\n renderEmptyList() {\n return this.state.loading ? null : <Components.EmptyStateMain title={this.getEmptyStateText()} style={{ marginHorizontal: 16 }} />;\n }\n\n renderFilterButton() {\n return (\n <TouchableOpacity onPress={this.onToggleFilter}>\n <View style={styles.filterButton}>\n <Text style={[styles.filterButtonText, { color: this.props.colourBrandingMain }]}>{this.getFilterButtonText()}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n\n renderSearch() {\n if (!this.props.hasPermission) return null;\n\n return (\n <View style={styles.searchContainer}>\n <Components.GenericInput\n placeholder={`Search by ${values.textEntityName} ID or Address`}\n value={this.state.searchText}\n onChangeText={this.onSearchText}\n onSubmitEditing={this.onSearchSubmit}\n squaredCorners\n hasClear\n // keyboardType={'numeric'}\n returnKeyType={'done'}\n />\n </View>\n );\n }\n\n renderListHeader() {\n const { ListHeaderComponent } = this.props;\n return (\n <View>\n {ListHeaderComponent ? ListHeaderComponent : <View style={{ height: 8 }} />}\n {this.renderFilterButton()}\n {this.renderSearch()}\n </View>\n );\n }\n\n renderList() {\n const { filteredList } = this.state;\n\n return (\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n style={{ flex: 1 }}\n contentContainerStyle={{ paddingBottom: 16 }}\n data={filteredList}\n keyExtractor={item => item.id}\n renderItem={({ item }) => <MaintenanceListItem style={this.props.itemStyle} job={item} />}\n ListEmptyComponent={this.renderEmptyList()}\n ListHeaderComponent={this.renderListHeader()}\n />\n );\n }\n\n renderFilterPopup() {\n const { showFilterPopup, types, selectedStatus, selectedType, selectedAssignee } = this.state;\n if (!showFilterPopup) return null;\n\n return (\n <FilterPopupMenu\n site={this.props.site}\n types={types}\n status={selectedStatus}\n assignee={selectedAssignee}\n type={selectedType}\n onClose={this.onSelectFilter}\n />\n );\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.style]}>\n {this.renderList()}\n {this.renderFilterPopup()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n filterContainerOuter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 16,\n },\n filterTitle: {\n fontFamily: 'sf-bold',\n fontSize: 11,\n letterSpacing: 0.8,\n color: '#4d4d4d',\n },\n filterContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n filterText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n marginRight: 6,\n },\n filterIcon: {\n fontSize: 20,\n },\n searchContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingBottom: 8,\n paddingHorizontal: 16,\n },\n filterButton: {\n paddingBottom: 8,\n paddingHorizontal: 16,\n flexDirection: 'row-reverse',\n },\n filterButtonText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n },\n});\n\nconst mapStateToProps = state => {\n const { user, notifications } = state;\n const jobs = state[values.reducerKey];\n const jobsOrdered = _.orderBy(jobs.jobs, ['createdUnix'], ['desc']);\n const hasPermission = _.includes(user.permissions, 'maintenanceTracking');\n\n return {\n hasPermission,\n jobs: jobsOrdered,\n site: user.site,\n userCategory: user.category,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n dataUpdated: notifications.dataUpdated[values.updateKey],\n };\n};\n\nexport default connect(mapStateToProps, { jobsLoaded, jobAdded, jobsAdded }, null, { forwardRef: true })(MaintenanceList);\n"],"mappings":"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"}
|
@@ -22,11 +22,12 @@ import moment from 'moment';
|
|
22
22
|
import { getJobStatusProps, jobStatusOptions } from '../helper';
|
23
23
|
import { Services } from '../feature.config';
|
24
24
|
import { Helper, Colours } from '../core.config';
|
25
|
+
import { values } from '../values.config';
|
25
26
|
class MaintenanceListItem extends Component {
|
26
27
|
constructor(...args) {
|
27
28
|
super(...args);
|
28
29
|
_defineProperty(this, "onPressJob", () => {
|
29
|
-
Services.navigation.navigate(
|
30
|
+
Services.navigation.navigate(values.screenRequestDetail, {
|
30
31
|
job: this.props.job
|
31
32
|
});
|
32
33
|
});
|
@@ -102,7 +103,7 @@ class MaintenanceListItem extends Component {
|
|
102
103
|
style: [styles.jobIdText, {
|
103
104
|
color: this.props.colourBrandingMain
|
104
105
|
}]
|
105
|
-
},
|
106
|
+
}, `${values.textEntityName} #${job.jobId}`) : null, /*#__PURE__*/React.createElement(Text, {
|
106
107
|
style: styles.jobTitleText
|
107
108
|
}, job.title), job.room ? /*#__PURE__*/React.createElement(Text, {
|
108
109
|
style: styles.jobLocationText
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Image","Text","TouchableOpacity","View","StyleSheet","_","Icon","connect","moment","getJobStatusProps","jobStatusOptions","Services","Helper","Colours","MaintenanceListItem","constructor","args","_defineProperty","navigation","navigate","job","props","renderCommentCount","commentCount","createElement","style","styles","commentCountContainer","commentCountText","renderDescription","isEmpty","description","jobDescriptionText","renderSeen","showSeen","status","name","seen","jobSeenContainer","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","render","createdTime","createdUnix","createdTimeText","format","assigneeText","Assignee","displayName","statusText","statusColor","onPress","onPressJob","jobContainer","jobInnerContainer","jobTopSection","jobTopLeft","jobId","jobIdText","jobTitleText","title","room","jobLocationText","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","jobTypeText","numberOfLines","jobTopRight","jobCommentImage","source","require","jobBottomSection","jobCreatedText","jobActivityContainer","jobStatusContainer","jobStatusText","jobStatusLine","borderColor","jobStatusLineMask","jobStatusCircle","jobStatusDateText","create","marginVertical","paddingHorizontal","getShadowStyle","flexDirection","alignItems","paddingVertical","borderBottomWidth","borderBottomColor","LINEGREY","flex","fontFamily","fontSize","marginBottom","TEXT_DARK","TEXT_LIGHT","marginTop","padding","minWidth","maxWidth","borderRadius","justifyContent","textAlign","marginLeft","paddingTop","width","height","resizeMode","position","top","right","borderWidth","COLOUR_GREEN","jobStatusIcon","borderStyle","left","zIndex","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["MaintenanceListItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\n// import {\n// getShadowStyle,\n// LINEGREY,\n// TEXT_DARK,\n// TEXT_LIGHT,\n// COLOUR_GREEN,\n// getMainBrandingColourFromState,\n// hexToRGBAstring,\n// getJobStatusProps,\n// jobStatusOptions,\n// } from '../../js';\n// import NavigationService from '../../js/NavigationService';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Helper, Colours } from '../core.config';\n\nclass MaintenanceListItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate('requestDetail', { job: this.props.job });\n };\n\n renderCommentCount() {\n const { job } = this.props;\n if (!job.commentCount) {\n return null;\n }\n return (\n <View style={styles.commentCountContainer}>\n <Text style={styles.commentCountText}>{job.commentCount > 99 ? '99' : job.commentCount}</Text>\n </View>\n );\n }\n\n renderDescription() {\n const { job } = this.props;\n if (_.isEmpty(job.description)) {\n return null;\n }\n return <Text style={styles.jobDescriptionText}>{job.description}</Text>;\n }\n\n renderSeen() {\n const { job } = this.props;\n const showSeen = !job.status || job.status === jobStatusOptions[0].name;\n if (!showSeen || !job.seen) {\n return null;\n }\n return (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n );\n }\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const assigneeText = job.Assignee ? `Assigned to\\n${job.Assignee.displayName}` : '';\n const { statusText, statusColor } = getJobStatusProps(job.status);\n\n return (\n <TouchableOpacity onPress={this.onPressJob}>\n <View style={[styles.jobContainer, this.props.style]}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <View style={styles.jobTopLeft}>\n {job.jobId ? <Text style={[styles.jobIdText, { color: this.props.colourBrandingMain }]}>{`Job #${job.jobId}`}</Text> : null}\n <Text style={styles.jobTitleText}>{job.title}</Text>\n {job.room ? <Text style={styles.jobLocationText}>{job.room}</Text> : null}\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]} numberOfLines={2}>\n {job.type}\n </Text>\n </View>\n {this.renderSeen()}\n </View>\n </View>\n <View style={styles.jobTopRight}>\n <Image style={styles.jobCommentImage} source={require('../images/speechbubble.png')} />\n {this.renderCommentCount()}\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n {/* {this.renderDescription()} */}\n <Text style={styles.jobCreatedText}>{createdTimeText}</Text>\n <View style={styles.jobActivityContainer}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n {/* <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} /> */}\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n <View style={[styles.jobStatusLine, { borderColor: statusColor }]}>\n <View style={styles.jobStatusLineMask} />\n </View>\n <View style={[styles.jobStatusCircle, { backgroundColor: statusColor }]} />\n <Text style={styles.jobStatusDateText}>{assigneeText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n marginVertical: 8,\n paddingHorizontal: 16,\n },\n jobInnerContainer: {\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n paddingHorizontal: 10,\n paddingVertical: 10,\n borderBottomWidth: 1,\n borderBottomColor: Colours.LINEGREY,\n },\n jobTopLeft: {\n flex: 1,\n },\n jobIdText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n marginBottom: 4,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 18,\n color: Colours.TEXT_DARK,\n marginBottom: 4,\n },\n jobLocationText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n color: Colours.TEXT_LIGHT,\n marginBottom: 4,\n },\n jobTypeSeenContainer: {\n marginTop: 4,\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n padding: 4,\n minWidth: 80,\n maxWidth: 140,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n maxWidth: '100%',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobTopRight: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 10,\n paddingTop: 10,\n },\n jobCommentImage: {\n width: 34,\n height: 34,\n resizeMode: 'contain',\n },\n commentCountContainer: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: '#fff',\n width: 20,\n height: 20,\n backgroundColor: Colours.COLOUR_GREEN,\n justifyContent: 'center',\n alignItems: 'center',\n },\n commentCountText: {\n textAlign: 'center',\n fontFamily: 'sf-bold',\n fontSize: 10,\n color: '#fff',\n },\n jobBottomSection: {\n paddingHorizontal: 10,\n paddingVertical: 16,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n marginBottom: 8,\n },\n jobCreatedText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n color: Colours.TEXT_LIGHT,\n marginBottom: 10,\n },\n jobActivityContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n jobStatusLine: {\n borderWidth: 1,\n borderStyle: 'dashed',\n width: 30,\n },\n jobStatusLineMask: {\n position: 'absolute',\n left: -1,\n top: -1,\n width: '100%',\n height: 1,\n backgroundColor: '#fff',\n zIndex: 1,\n },\n jobStatusCircle: {\n width: 18,\n height: 18,\n borderRadius: 9,\n },\n jobStatusDateText: {\n flex: 1,\n textAlign: 'right',\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceListItem);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","Component","Image","Text","TouchableOpacity","View","StyleSheet","_","Icon","connect","moment","getJobStatusProps","jobStatusOptions","Services","Helper","Colours","values","MaintenanceListItem","constructor","args","_defineProperty","navigation","navigate","screenRequestDetail","job","props","renderCommentCount","commentCount","createElement","style","styles","commentCountContainer","commentCountText","renderDescription","isEmpty","description","jobDescriptionText","renderSeen","showSeen","status","name","seen","jobSeenContainer","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","render","createdTime","createdUnix","createdTimeText","format","assigneeText","Assignee","displayName","statusText","statusColor","onPress","onPressJob","jobContainer","jobInnerContainer","jobTopSection","jobTopLeft","jobId","jobIdText","textEntityName","jobTitleText","title","room","jobLocationText","jobTypeSeenContainer","jobTypeContainer","backgroundColor","hexToRGBAstring","jobTypeText","numberOfLines","jobTopRight","jobCommentImage","source","require","jobBottomSection","jobCreatedText","jobActivityContainer","jobStatusContainer","jobStatusText","jobStatusLine","borderColor","jobStatusLineMask","jobStatusCircle","jobStatusDateText","create","marginVertical","paddingHorizontal","getShadowStyle","flexDirection","alignItems","paddingVertical","borderBottomWidth","borderBottomColor","LINEGREY","flex","fontFamily","fontSize","marginBottom","TEXT_DARK","TEXT_LIGHT","marginTop","padding","minWidth","maxWidth","borderRadius","justifyContent","textAlign","marginLeft","paddingTop","width","height","resizeMode","position","top","right","borderWidth","COLOUR_GREEN","jobStatusIcon","borderStyle","left","zIndex","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["MaintenanceListItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\n// import {\n// getShadowStyle,\n// LINEGREY,\n// TEXT_DARK,\n// TEXT_LIGHT,\n// COLOUR_GREEN,\n// getMainBrandingColourFromState,\n// hexToRGBAstring,\n// getJobStatusProps,\n// jobStatusOptions,\n// } from '../../js';\n// import NavigationService from '../../js/NavigationService';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Helper, Colours } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenanceListItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate(values.screenRequestDetail, { job: this.props.job });\n };\n\n renderCommentCount() {\n const { job } = this.props;\n if (!job.commentCount) {\n return null;\n }\n return (\n <View style={styles.commentCountContainer}>\n <Text style={styles.commentCountText}>{job.commentCount > 99 ? '99' : job.commentCount}</Text>\n </View>\n );\n }\n\n renderDescription() {\n const { job } = this.props;\n if (_.isEmpty(job.description)) {\n return null;\n }\n return <Text style={styles.jobDescriptionText}>{job.description}</Text>;\n }\n\n renderSeen() {\n const { job } = this.props;\n const showSeen = !job.status || job.status === jobStatusOptions[0].name;\n if (!showSeen || !job.seen) {\n return null;\n }\n return (\n <View style={styles.jobSeenContainer}>\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>\n </View>\n );\n }\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const assigneeText = job.Assignee ? `Assigned to\\n${job.Assignee.displayName}` : '';\n const { statusText, statusColor } = getJobStatusProps(job.status);\n\n return (\n <TouchableOpacity onPress={this.onPressJob}>\n <View style={[styles.jobContainer, this.props.style]}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <View style={styles.jobTopLeft}>\n {job.jobId ? (\n <Text\n style={[styles.jobIdText, { color: this.props.colourBrandingMain }]}\n >{`${values.textEntityName} #${job.jobId}`}</Text>\n ) : null}\n <Text style={styles.jobTitleText}>{job.title}</Text>\n {job.room ? <Text style={styles.jobLocationText}>{job.room}</Text> : null}\n <View style={styles.jobTypeSeenContainer}>\n <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>\n <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]} numberOfLines={2}>\n {job.type}\n </Text>\n </View>\n {this.renderSeen()}\n </View>\n </View>\n <View style={styles.jobTopRight}>\n <Image style={styles.jobCommentImage} source={require('../images/speechbubble.png')} />\n {this.renderCommentCount()}\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n {/* {this.renderDescription()} */}\n <Text style={styles.jobCreatedText}>{createdTimeText}</Text>\n <View style={styles.jobActivityContainer}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n {/* <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} /> */}\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n <View style={[styles.jobStatusLine, { borderColor: statusColor }]}>\n <View style={styles.jobStatusLineMask} />\n </View>\n <View style={[styles.jobStatusCircle, { backgroundColor: statusColor }]} />\n <Text style={styles.jobStatusDateText}>{assigneeText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n marginVertical: 8,\n paddingHorizontal: 16,\n },\n jobInnerContainer: {\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n paddingHorizontal: 10,\n paddingVertical: 10,\n borderBottomWidth: 1,\n borderBottomColor: Colours.LINEGREY,\n },\n jobTopLeft: {\n flex: 1,\n },\n jobIdText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n marginBottom: 4,\n },\n jobTitleText: {\n fontFamily: 'sf-semibold',\n fontSize: 18,\n color: Colours.TEXT_DARK,\n marginBottom: 4,\n },\n jobLocationText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n color: Colours.TEXT_LIGHT,\n marginBottom: 4,\n },\n jobTypeSeenContainer: {\n marginTop: 4,\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobTypeContainer: {\n padding: 4,\n minWidth: 80,\n maxWidth: 140,\n borderRadius: 4,\n justifyContent: 'center',\n },\n jobTypeText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n textAlign: 'center',\n maxWidth: '100%',\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n },\n jobSeenIcon: {\n fontSize: 12,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n marginLeft: 4,\n },\n jobTopRight: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 10,\n paddingTop: 10,\n },\n jobCommentImage: {\n width: 34,\n height: 34,\n resizeMode: 'contain',\n },\n commentCountContainer: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: '#fff',\n width: 20,\n height: 20,\n backgroundColor: Colours.COLOUR_GREEN,\n justifyContent: 'center',\n alignItems: 'center',\n },\n commentCountText: {\n textAlign: 'center',\n fontFamily: 'sf-bold',\n fontSize: 10,\n color: '#fff',\n },\n jobBottomSection: {\n paddingHorizontal: 10,\n paddingVertical: 16,\n },\n jobDescriptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n marginBottom: 8,\n },\n jobCreatedText: {\n fontFamily: 'sf-medium',\n fontSize: 12,\n color: Colours.TEXT_LIGHT,\n marginBottom: 10,\n },\n jobActivityContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n jobStatusLine: {\n borderWidth: 1,\n borderStyle: 'dashed',\n width: 30,\n },\n jobStatusLineMask: {\n position: 'absolute',\n left: -1,\n top: -1,\n width: '100%',\n height: 1,\n backgroundColor: '#fff',\n zIndex: 1,\n },\n jobStatusCircle: {\n width: 18,\n height: 18,\n borderRadius: 9,\n },\n jobStatusDateText: {\n flex: 1,\n textAlign: 'right',\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceListItem);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,KAAK,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC9E,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,WAAW;AAC/D,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,MAAM,EAAEC,OAAO,QAAQ,gBAAgB;AAChD,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,MAAMC,mBAAmB,SAAShB,SAAS,CAAC;EAAAiB,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,qBAC7B,MAAM;MACjBP,QAAQ,CAACQ,UAAU,CAACC,QAAQ,CAACN,MAAM,CAACO,mBAAmB,EAAE;QAAEC,GAAG,EAAE,IAAI,CAACC,KAAK,CAACD;MAAI,CAAC,CAAC;IACnF,CAAC;EAAA;EAEDE,kBAAkBA,CAAA,EAAG;IACnB,MAAM;MAAEF;IAAI,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1B,IAAI,CAACD,GAAG,CAACG,YAAY,EAAE;MACrB,OAAO,IAAI;IACb;IACA,oBACE3B,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACC;IAAsB,gBACxC/B,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACE;IAAiB,GAAER,GAAG,CAACG,YAAY,GAAG,EAAE,GAAG,IAAI,GAAGH,GAAG,CAACG,YAAmB,CACzF,CAAC;EAEX;EAEAM,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAET;IAAI,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1B,IAAIlB,CAAC,CAAC2B,OAAO,CAACV,GAAG,CAACW,WAAW,CAAC,EAAE;MAC9B,OAAO,IAAI;IACb;IACA,oBAAOnC,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACM;IAAmB,GAAEZ,GAAG,CAACW,WAAkB,CAAC;EACzE;EAEAE,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEb;IAAI,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1B,MAAMa,QAAQ,GAAG,CAACd,GAAG,CAACe,MAAM,IAAIf,GAAG,CAACe,MAAM,KAAK3B,gBAAgB,CAAC,CAAC,CAAC,CAAC4B,IAAI;IACvE,IAAI,CAACF,QAAQ,IAAI,CAACd,GAAG,CAACiB,IAAI,EAAE;MAC1B,OAAO,IAAI;IACb;IACA,oBACEzC,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACY;IAAiB,gBACnC1C,KAAA,CAAA4B,aAAA,CAACpB,IAAI;MAACgC,IAAI,EAAC,OAAO;MAACG,IAAI,EAAC,cAAc;MAACC,SAAS,EAAE,CAACd,MAAM,CAACe,WAAW,EAAE;QAAEC,KAAK,EAAE,IAAI,CAACrB,KAAK,CAACsB;MAAmB,CAAC;IAAE,CAAE,CAAC,eACpH/C,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAE,CAACC,MAAM,CAACkB,WAAW,EAAE;QAAEF,KAAK,EAAE,IAAI,CAACrB,KAAK,CAACsB;MAAmB,CAAC;IAAE,GAAC,MAAU,CACnF,CAAC;EAEX;EAEAE,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEzB;IAAI,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1B,MAAMyB,WAAW,GAAGxC,MAAM,CAACc,GAAG,CAAC2B,WAAW,CAAC;IAC3C,MAAMC,eAAe,GAAI,GAAEF,WAAW,CAACG,MAAM,CAAC,aAAa,CAAE,MAAKH,WAAW,CAACG,MAAM,CAAC,OAAO,CAAE,EAAC;IAC/F,MAAMC,YAAY,GAAG9B,GAAG,CAAC+B,QAAQ,GAAI,gBAAe/B,GAAG,CAAC+B,QAAQ,CAACC,WAAY,EAAC,GAAG,EAAE;IACnF,MAAM;MAAEC,UAAU;MAAEC;IAAY,CAAC,GAAG/C,iBAAiB,CAACa,GAAG,CAACe,MAAM,CAAC;IAEjE,oBACEvC,KAAA,CAAA4B,aAAA,CAACxB,gBAAgB;MAACuD,OAAO,EAAE,IAAI,CAACC;IAAW,gBACzC5D,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,CAACC,MAAM,CAAC+B,YAAY,EAAE,IAAI,CAACpC,KAAK,CAACI,KAAK;IAAE,gBACnD7B,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACgC;IAAkB,gBACpC9D,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACiC;IAAc,gBAChC/D,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACkC;IAAW,GAC5BxC,GAAG,CAACyC,KAAK,gBACRjE,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MACH0B,KAAK,EAAE,CAACC,MAAM,CAACoC,SAAS,EAAE;QAAEpB,KAAK,EAAE,IAAI,CAACrB,KAAK,CAACsB;MAAmB,CAAC;IAAE,GACnE,GAAE/B,MAAM,CAACmD,cAAe,KAAI3C,GAAG,CAACyC,KAAM,EAAQ,CAAC,GAChD,IAAI,eACRjE,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACsC;IAAa,GAAE5C,GAAG,CAAC6C,KAAY,CAAC,EACnD7C,GAAG,CAAC8C,IAAI,gBAAGtE,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACyC;IAAgB,GAAE/C,GAAG,CAAC8C,IAAW,CAAC,GAAG,IAAI,eACzEtE,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAAC0C;IAAqB,gBACvCxE,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,CAACC,MAAM,CAAC2C,gBAAgB,EAAE;QAAEC,eAAe,EAAE3D,OAAO,CAAC4D,eAAe,CAAC,IAAI,CAAClD,KAAK,CAACsB,kBAAkB,EAAE,GAAG;MAAE,CAAC;IAAE,gBACvH/C,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAE,CAACC,MAAM,CAAC8C,WAAW,EAAE;QAAE9B,KAAK,EAAE,IAAI,CAACrB,KAAK,CAACsB;MAAmB,CAAC,CAAE;MAAC8B,aAAa,EAAE;IAAE,GAC3FrD,GAAG,CAACmB,IACD,CACF,CAAC,EACN,IAAI,CAACN,UAAU,CAAC,CACb,CACF,CAAC,eACPrC,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACgD;IAAY,gBAC9B9E,KAAA,CAAA4B,aAAA,CAAC1B,KAAK;MAAC2B,KAAK,EAAEC,MAAM,CAACiD,eAAgB;MAACC,MAAM,EAAEC,OAAO,CAAC,4BAA4B;IAAE,CAAE,CAAC,EACtF,IAAI,CAACvD,kBAAkB,CAAC,CACrB,CACF,CAAC,eACP1B,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACoD;IAAiB,gBAEnClF,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACqD;IAAe,GAAE/B,eAAsB,CAAC,eAC5DpD,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAACsD;IAAqB,gBACvCpF,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,CAACC,MAAM,CAACuD,kBAAkB,EAAE;QAAEX,eAAe,EAAEhB;MAAY,CAAC;IAAE,gBAEzE1D,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACwD;IAAc,GAAE7B,UAAiB,CACjD,CAAC,eACPzD,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,CAACC,MAAM,CAACyD,aAAa,EAAE;QAAEC,WAAW,EAAE9B;MAAY,CAAC;IAAE,gBAChE1D,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEC,MAAM,CAAC2D;IAAkB,CAAE,CACpC,CAAC,eACPzF,KAAA,CAAA4B,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,CAACC,MAAM,CAAC4D,eAAe,EAAE;QAAEhB,eAAe,EAAEhB;MAAY,CAAC;IAAE,CAAE,CAAC,eAC3E1D,KAAA,CAAA4B,aAAA,CAACzB,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAAC6D;IAAkB,GAAErC,YAAmB,CACvD,CACF,CACF,CACF,CACU,CAAC;EAEvB;AACF;AAEA,MAAMxB,MAAM,GAAGxB,UAAU,CAACsF,MAAM,CAAC;EAC/B/B,YAAY,EAAE;IACZgC,cAAc,EAAE,CAAC;IACjBC,iBAAiB,EAAE;EACrB,CAAC;EACDhC,iBAAiB,EAAE;IACjB,GAAGhD,MAAM,CAACiF,cAAc,CAAC;EAC3B,CAAC;EACDhC,aAAa,EAAE;IACbiC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,UAAU;IACtBH,iBAAiB,EAAE,EAAE;IACrBI,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAErF,OAAO,CAACsF;EAC7B,CAAC;EACDrC,UAAU,EAAE;IACVsC,IAAI,EAAE;EACR,CAAC;EACDpC,SAAS,EAAE;IACTqC,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZC,YAAY,EAAE;EAChB,CAAC;EACDrC,YAAY,EAAE;IACZmC,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZ1D,KAAK,EAAE/B,OAAO,CAAC2F,SAAS;IACxBD,YAAY,EAAE;EAChB,CAAC;EACDlC,eAAe,EAAE;IACfgC,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZ1D,KAAK,EAAE/B,OAAO,CAAC4F,UAAU;IACzBF,YAAY,EAAE;EAChB,CAAC;EACDjC,oBAAoB,EAAE;IACpBoC,SAAS,EAAE,CAAC;IACZZ,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDxB,gBAAgB,EAAE;IAChBoC,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,EAAE;IACZC,QAAQ,EAAE,GAAG;IACbC,YAAY,EAAE,CAAC;IACfC,cAAc,EAAE;EAClB,CAAC;EACDrC,WAAW,EAAE;IACX2B,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZU,SAAS,EAAE,QAAQ;IACnBH,QAAQ,EAAE;EACZ,CAAC;EACDrE,gBAAgB,EAAE;IAChBsD,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBkB,UAAU,EAAE;EACd,CAAC;EACDtE,WAAW,EAAE;IACX2D,QAAQ,EAAE;EACZ,CAAC;EACDxD,WAAW,EAAE;IACXuD,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZW,UAAU,EAAE;EACd,CAAC;EACDrC,WAAW,EAAE;IACXmB,UAAU,EAAE,QAAQ;IACpBgB,cAAc,EAAE,QAAQ;IACxBnB,iBAAiB,EAAE,EAAE;IACrBsB,UAAU,EAAE;EACd,CAAC;EACDrC,eAAe,EAAE;IACfsC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE;EACd,CAAC;EACDxF,qBAAqB,EAAE;IACrByF,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRV,YAAY,EAAE,EAAE;IAChBW,WAAW,EAAE,CAAC;IACdnC,WAAW,EAAE,MAAM;IACnB6B,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACV5C,eAAe,EAAE3D,OAAO,CAAC6G,YAAY;IACrCX,cAAc,EAAE,QAAQ;IACxBhB,UAAU,EAAE;EACd,CAAC;EACDjE,gBAAgB,EAAE;IAChBkF,SAAS,EAAE,QAAQ;IACnBX,UAAU,EAAE,SAAS;IACrBC,QAAQ,EAAE,EAAE;IACZ1D,KAAK,EAAE;EACT,CAAC;EACDoC,gBAAgB,EAAE;IAChBY,iBAAiB,EAAE,EAAE;IACrBI,eAAe,EAAE;EACnB,CAAC;EACD9D,kBAAkB,EAAE;IAClBmE,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZ1D,KAAK,EAAE/B,OAAO,CAAC2F,SAAS;IACxBD,YAAY,EAAE;EAChB,CAAC;EACDtB,cAAc,EAAE;IACdoB,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZ1D,KAAK,EAAE/B,OAAO,CAAC4F,UAAU;IACzBF,YAAY,EAAE;EAChB,CAAC;EACDrB,oBAAoB,EAAE;IACpBY,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDZ,kBAAkB,EAAE;IAClBW,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBgB,cAAc,EAAE,QAAQ;IACxBI,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,EAAE;IACVxB,iBAAiB,EAAE,CAAC;IACpBkB,YAAY,EAAE;EAChB,CAAC;EACDa,aAAa,EAAE;IACb/E,KAAK,EAAE,MAAM;IACb0D,QAAQ,EAAE;EACZ,CAAC;EACDlB,aAAa,EAAE;IACbxC,KAAK,EAAE,MAAM;IACboE,SAAS,EAAE,QAAQ;IACnBX,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ,CAAC;EACDjB,aAAa,EAAE;IACboC,WAAW,EAAE,CAAC;IACdG,WAAW,EAAE,QAAQ;IACrBT,KAAK,EAAE;EACT,CAAC;EACD5B,iBAAiB,EAAE;IACjB+B,QAAQ,EAAE,UAAU;IACpBO,IAAI,EAAE,CAAC,CAAC;IACRN,GAAG,EAAE,CAAC,CAAC;IACPJ,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,CAAC;IACT5C,eAAe,EAAE,MAAM;IACvBsD,MAAM,EAAE;EACV,CAAC;EACDtC,eAAe,EAAE;IACf2B,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVN,YAAY,EAAE;EAChB,CAAC;EACDrB,iBAAiB,EAAE;IACjBW,IAAI,EAAE,CAAC;IACPY,SAAS,EAAE,OAAO;IAClBX,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZ1D,KAAK,EAAE/B,OAAO,CAAC2F;EACjB;AACF,CAAC,CAAC;AAEF,MAAMuB,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLnF,kBAAkB,EAAEhC,OAAO,CAACoH,8BAA8B,CAACD,KAAK;EAClE,CAAC;AACH,CAAC;AAED,eAAezH,OAAO,CAACwH,eAAe,EAAE,CAAC,CAAC,CAAC,CAAChH,mBAAmB,CAAC"}
|
@@ -10,11 +10,12 @@ import _ from 'lodash';
|
|
10
10
|
import { getJobStatusProps, jobStatusOptions } from '../helper';
|
11
11
|
import { Services } from '../feature.config';
|
12
12
|
import { Colours, Helper } from '../core.config';
|
13
|
+
import { values } from '../values.config';
|
13
14
|
class MaintenanceWidgetItem extends Component {
|
14
15
|
constructor(...args) {
|
15
16
|
super(...args);
|
16
17
|
_defineProperty(this, "onPressJob", () => {
|
17
|
-
Services.navigation.navigate(
|
18
|
+
Services.navigation.navigate(values.screenRequestDetail, {
|
18
19
|
job: this.props.job
|
19
20
|
});
|
20
21
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatusProps","jobStatusOptions","Services","Colours","Helper","MaintenanceWidgetItem","constructor","args","_defineProperty","navigation","navigate","job","props","render","createdTime","createdUnix","createdTimeText","format","statusText","statusColor","status","seenText","name","seen","createElement","key","id","onPress","onPressJob","style","styles","jobContainer","jobInnerContainer","jobTopSection","numberOfLines","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","jobStatusIcon","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["MaintenanceWidgetItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate(
|
1
|
+
{"version":3,"names":["React","Component","Text","View","StyleSheet","TouchableOpacity","connect","Icon","moment","_","getJobStatusProps","jobStatusOptions","Services","Colours","Helper","values","MaintenanceWidgetItem","constructor","args","_defineProperty","navigation","navigate","screenRequestDetail","job","props","render","createdTime","createdUnix","createdTimeText","format","statusText","statusColor","status","seenText","name","seen","createElement","key","id","onPress","onPressJob","style","styles","jobContainer","jobInnerContainer","jobTopSection","numberOfLines","jobTitleText","title","jobCreatedTimeText","jobSeenContainer","isEmpty","type","iconStyle","jobSeenIcon","color","colourBrandingMain","jobSeenText","jobBottomSection","jobStatusContainer","backgroundColor","jobStatusText","create","padding","width","height","getShadowStyle","flex","paddingTop","fontFamily","fontSize","TEXT_DARK","TEXT_LIGHT","flexDirection","alignItems","marginRight","TEXT_SUPER_LIGHT","justifyContent","paddingVertical","borderTopWidth","borderTopColor","LINEGREY","paddingHorizontal","borderRadius","jobStatusIcon","textAlign","mapStateToProps","state","getMainBrandingColourFromState"],"sources":["MaintenanceWidgetItem.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Text, View, StyleSheet, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport { getJobStatusProps, jobStatusOptions } from '../helper';\nimport { Services } from '../feature.config';\nimport { Colours, Helper } from '../core.config';\nimport { values } from '../values.config';\n\nclass MaintenanceWidgetItem extends Component {\n onPressJob = () => {\n Services.navigation.navigate(values.screenRequestDetail, { job: this.props.job });\n };\n\n render() {\n const { job } = this.props;\n const createdTime = moment(job.createdUnix);\n const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;\n const { statusText, statusColor } = getJobStatusProps(job.status);\n const seenText = (() => {\n if (!job.status || job.status === jobStatusOptions[0].name) {\n return job.seen ? 'Seen' : 'Unseen';\n }\n return '';\n })();\n\n return (\n <TouchableOpacity key={job.id} onPress={this.onPressJob}>\n <View style={styles.jobContainer}>\n <View style={styles.jobInnerContainer}>\n <View style={styles.jobTopSection}>\n <Text numberOfLines={2} style={styles.jobTitleText}>\n {job.title}\n </Text>\n <Text style={styles.jobCreatedTimeText}>{createdTimeText}</Text>\n <View style={styles.jobSeenContainer}>\n {job.seen && !_.isEmpty(seenText) && (\n <Icon name=\"check\" type=\"font-awesome\" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />\n )}\n <Text style={[styles.jobSeenText, job.seen && { color: this.props.colourBrandingMain }]}>{seenText}</Text>\n </View>\n </View>\n <View style={styles.jobBottomSection}>\n <View style={[styles.jobStatusContainer, { backgroundColor: statusColor }]}>\n {/* <Icon name=\"wrench\" type=\"font-awesome\" iconStyle={styles.jobStatusIcon} /> */}\n <Text style={styles.jobStatusText}>{statusText}</Text>\n </View>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n jobContainer: {\n padding: 10,\n },\n jobInnerContainer: {\n width: 140,\n height: 160,\n ...Helper.getShadowStyle(),\n },\n jobTopSection: {\n flex: 1,\n padding: 10,\n paddingTop: 20,\n },\n jobTitleText: {\n flex: 1,\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n jobCreatedTimeText: {\n fontFamily: 'sf-medium',\n fontSize: 11,\n color: Colours.TEXT_LIGHT,\n paddingTop: 3,\n },\n jobSeenContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingTop: 5,\n },\n jobSeenIcon: {\n fontSize: 12,\n marginRight: 4,\n },\n jobSeenText: {\n fontFamily: 'sf-semibold',\n fontSize: 12,\n color: Colours.TEXT_SUPER_LIGHT,\n },\n jobBottomSection: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 10,\n borderTopWidth: 1,\n borderTopColor: Colours.LINEGREY,\n },\n jobStatusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 105,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n },\n jobStatusIcon: {\n color: '#fff',\n fontSize: 14,\n },\n jobStatusText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenanceWidgetItem);\n"],"mappings":"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"}
|
@@ -10,6 +10,7 @@ import { jobsLoaded } from '../actions';
|
|
10
10
|
import MaintenanceWidgetItem from './MaintenanceWidgetItem';
|
11
11
|
import { Services } from '../feature.config';
|
12
12
|
import { Colours, Components, Config } from '../core.config';
|
13
|
+
import { values } from '../values.config';
|
13
14
|
const MAX_ITEMS = 10;
|
14
15
|
class WidgetSmall extends Component {
|
15
16
|
constructor(props) {
|
@@ -19,7 +20,7 @@ class WidgetSmall extends Component {
|
|
19
20
|
options
|
20
21
|
} = this.props;
|
21
22
|
if (options && !_.isEmpty(options.Title)) return options.Title;
|
22
|
-
return
|
23
|
+
return this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;
|
23
24
|
});
|
24
25
|
_defineProperty(this, "getEmptyStateText", () => {
|
25
26
|
const {
|
@@ -147,17 +148,19 @@ const styles = StyleSheet.create({
|
|
147
148
|
}
|
148
149
|
});
|
149
150
|
const mapStateToProps = state => {
|
151
|
+
var _state$strings;
|
150
152
|
const {
|
151
153
|
user,
|
152
|
-
jobs,
|
153
154
|
notifications
|
154
155
|
} = state;
|
156
|
+
const jobs = state[values.reducerKey];
|
155
157
|
return {
|
156
158
|
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
157
159
|
jobs: _.orderBy(jobs.jobs, ['createdUnix'], ['desc']),
|
158
160
|
site: user.site,
|
159
161
|
userCategory: user.category,
|
160
|
-
dataUpdated: notifications.dataUpdated.
|
162
|
+
dataUpdated: notifications.dataUpdated[values.updateKey],
|
163
|
+
strings: ((_state$strings = state.strings) === null || _state$strings === void 0 ? void 0 : _state$strings.config) || {}
|
161
164
|
};
|
162
165
|
};
|
163
166
|
export default connect(mapStateToProps, {
|