@plusscommunities/pluss-maintenance-app 6.0.7-auth.0 → 6.0.8-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.
Files changed (61) hide show
  1. package/dist/module/actions/types.js +4 -3
  2. package/dist/module/actions/types.js.map +1 -1
  3. package/dist/module/apis/maintenanceActions.js +17 -15
  4. package/dist/module/apis/maintenanceActions.js.map +1 -1
  5. package/dist/module/components/MaintenanceList.js +5 -4
  6. package/dist/module/components/MaintenanceList.js.map +1 -1
  7. package/dist/module/components/MaintenanceListItem.js +3 -2
  8. package/dist/module/components/MaintenanceListItem.js.map +1 -1
  9. package/dist/module/components/MaintenanceWidgetItem.js +2 -1
  10. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
  11. package/dist/module/components/WidgetSmall.js +8 -5
  12. package/dist/module/components/WidgetSmall.js.map +1 -1
  13. package/dist/module/feature.config.js +21 -36
  14. package/dist/module/feature.config.js.map +1 -1
  15. package/dist/module/index.js +15 -10
  16. package/dist/module/index.js.map +1 -1
  17. package/dist/module/reducers/JobsReducer.js +2 -1
  18. package/dist/module/reducers/JobsReducer.js.map +1 -1
  19. package/dist/module/screens/MaintenancePage.js +7 -3
  20. package/dist/module/screens/MaintenancePage.js.map +1 -1
  21. package/dist/module/screens/RequestDetail.js +106 -31
  22. package/dist/module/screens/RequestDetail.js.map +1 -1
  23. package/dist/module/screens/RequestNotes.js +2 -1
  24. package/dist/module/screens/RequestNotes.js.map +1 -1
  25. package/dist/module/screens/ServiceRequest.js +581 -86
  26. package/dist/module/screens/ServiceRequest.js.map +1 -1
  27. package/dist/module/values.config.a.js +30 -0
  28. package/dist/module/values.config.a.js.map +1 -0
  29. package/dist/module/values.config.b.js +30 -0
  30. package/dist/module/values.config.b.js.map +1 -0
  31. package/dist/module/values.config.c.js +30 -0
  32. package/dist/module/values.config.c.js.map +1 -0
  33. package/dist/module/values.config.d.js +30 -0
  34. package/dist/module/values.config.d.js.map +1 -0
  35. package/dist/module/values.config.default.js +35 -0
  36. package/dist/module/values.config.default.js.map +1 -0
  37. package/dist/module/values.config.forms.js +35 -0
  38. package/dist/module/values.config.forms.js.map +1 -0
  39. package/dist/module/values.config.js +35 -0
  40. package/dist/module/values.config.js.map +1 -0
  41. package/package.json +9 -6
  42. package/src/actions/types.js +5 -3
  43. package/src/apis/maintenanceActions.js +30 -14
  44. package/src/components/MaintenanceList.js +6 -4
  45. package/src/components/MaintenanceListItem.js +7 -2
  46. package/src/components/MaintenanceWidgetItem.js +2 -1
  47. package/src/components/WidgetSmall.js +8 -5
  48. package/src/feature.config.js +30 -40
  49. package/src/index.js +15 -8
  50. package/src/reducers/JobsReducer.js +2 -1
  51. package/src/screens/MaintenancePage.js +5 -4
  52. package/src/screens/RequestDetail.js +101 -33
  53. package/src/screens/RequestNotes.js +2 -1
  54. package/src/screens/ServiceRequest.js +625 -152
  55. package/src/values.config.a.js +30 -0
  56. package/src/values.config.b.js +30 -0
  57. package/src/values.config.c.js +30 -0
  58. package/src/values.config.d.js +30 -0
  59. package/src/values.config.default.js +35 -0
  60. package/src/values.config.forms.js +35 -0
  61. package/src/values.config.js +35 -0
@@ -1,4 +1,5 @@
1
- export const JOBS_LOADED = 'JOBS_LOADED';
2
- export const JOB_ADDED = 'JOB_ADDED';
3
- export const JOBS_ADDED = 'JOBS_ADDED';
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":["export const JOBS_LOADED = 'JOBS_LOADED';\nexport const JOB_ADDED = 'JOB_ADDED';\nexport const JOBS_ADDED = 'JOBS_ADDED';\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,aAAa;AACxC,OAAO,MAAMC,SAAS,GAAG,WAAW;AACpC,OAAO,MAAMC,UAAU,GAAG,YAAY","ignoreList":[]}
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","ignoreList":[]}
@@ -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('maintenance', 'getJob'),
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('maintenance', 'getJob'),
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('maintenance', 'getJobs'),
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('maintenance', 'get/requests', query)
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('maintenance', 'sendMaintenance'),
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('maintenance', 'editJob'),
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('maintenance', 'editJobStatus'),
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('maintenance', 'update/assign'),
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('maintenance', 'get/assignees', {
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('maintenance', 'requests/note'),
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('maintenance', 'requests/note'),
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('maintenance', 'requests/note'),
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('maintenance', 'getjobtypes');
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('maintenance', 'getJob'),\n data: { site, id },\n });\n },\n getJobByJobId: (site, jobId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('maintenance', 'getJob'),\n data: { site, jobId },\n });\n },\n getJobs: (site, status = '', type = '') => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('maintenance', '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('maintenance', '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: (userID, userName, phone, room, title, description, date, type, images, location, isHome, homeText) => {\n const request = {\n method: 'POST',\n url: Helper.getUrl('maintenance', '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 },\n };\n return Session.authedFunction(request);\n },\n editJob: (job, site) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('maintenance', 'editJob'),\n data: { job, site },\n });\n },\n editJobStatus: (id, status) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('maintenance', 'editJobStatus'),\n data: { id, status },\n });\n },\n assignJob: (jobId, userId) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('maintenance', '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('maintenance', 'get/assignees', { site }),\n });\n },\n addNote: (jobId, note, attachments) => {\n return Session.authedFunction({\n method: 'POST',\n url: Helper.getUrl('maintenance', '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('maintenance', '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('maintenance', 'requests/note'),\n data: {\n id: jobId,\n noteId,\n action: 'DeleteNote',\n },\n });\n },\n getJobTypes: async site => {\n const url = Helper.getUrl('maintenance', 'getjobtypes');\n return Session.authedFunction({\n method: 'POST',\n url,\n data: { site },\n });\n },\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Helper","Session","values","maintenanceActions","getJob","site","id","authedFunction","method","url","getUrl","serviceKey","data","getJobByJobId","jobId","getJobs","status","type","getJobs2","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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","ignoreList":[]}
@@ -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);
@@ -191,7 +192,7 @@ class MaintenanceList extends Component {
191
192
  if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {
192
193
  return this.props.options.EmptyText;
193
194
  }
194
- return this.props.userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;
195
+ return this.props.userCategory === 'staff' ? values.emptyRequestsStaff : values.emptyRequestsUser;
195
196
  }
196
197
  renderEmptyList() {
197
198
  return this.state.loading ? null : /*#__PURE__*/React.createElement(Components.EmptyStateMain, {
@@ -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: "Search by Job ID or Location",
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['jobs']
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":"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","ignoreList":[]}
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","emptyRequestsStaff","emptyRequestsUser","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' ? values.emptyRequestsStaff : values.emptyRequestsUser;\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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","ignoreList":[]}
@@ -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('requestDetail', {
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
- }, `Job #${job.jobId}`) : null, /*#__PURE__*/React.createElement(Text, {
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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","ignoreList":[]}
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":"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","ignoreList":[]}
@@ -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('requestDetail', {
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('requestDetail', { 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":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AACvE,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,WAAW;AAC/D,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,OAAO,EAAEC,MAAM,QAAQ,gBAAgB;AAEhD,MAAMC,qBAAqB,SAASd,SAAS,CAAC;EAAAe,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,qBAC/B,MAAM;MACjBN,QAAQ,CAACO,UAAU,CAACC,QAAQ,CAAC,eAAe,EAAE;QAAEC,GAAG,EAAE,IAAI,CAACC,KAAK,CAACD;MAAI,CAAC,CAAC;IACxE,CAAC;EAAA;EAEDE,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEF;IAAI,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1B,MAAME,WAAW,GAAGhB,MAAM,CAACa,GAAG,CAACI,WAAW,CAAC;IAC3C,MAAMC,eAAe,GAAG,GAAGF,WAAW,CAACG,MAAM,CAAC,aAAa,CAAC,MAAMH,WAAW,CAACG,MAAM,CAAC,OAAO,CAAC,EAAE;IAC/F,MAAM;MAAEC,UAAU;MAAEC;IAAY,CAAC,GAAGnB,iBAAiB,CAACW,GAAG,CAACS,MAAM,CAAC;IACjE,MAAMC,QAAQ,GAAG,CAAC,MAAM;MACtB,IAAI,CAACV,GAAG,CAACS,MAAM,IAAIT,GAAG,CAACS,MAAM,KAAKnB,gBAAgB,CAAC,CAAC,CAAC,CAACqB,IAAI,EAAE;QAC1D,OAAOX,GAAG,CAACY,IAAI,GAAG,MAAM,GAAG,QAAQ;MACrC;MACA,OAAO,EAAE;IACX,CAAC,EAAE,CAAC;IAEJ,oBACEjC,KAAA,CAAAkC,aAAA,CAAC7B,gBAAgB;MAAC8B,GAAG,EAAEd,GAAG,CAACe,EAAG;MAACC,OAAO,EAAE,IAAI,CAACC;IAAW,gBACtDtC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACC;IAAa,gBAC/BzC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACE;IAAkB,gBACpC1C,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACG;IAAc,gBAChC3C,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAAC0C,aAAa,EAAE,CAAE;MAACL,KAAK,EAAEC,MAAM,CAACK;IAAa,GAChDxB,GAAG,CAACyB,KACD,CAAC,eACP9C,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACO;IAAmB,GAAErB,eAAsB,CAAC,eAChE1B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACQ;IAAiB,GAClC3B,GAAG,CAACY,IAAI,IAAI,CAACxB,CAAC,CAACwC,OAAO,CAAClB,QAAQ,CAAC,iBAC/B/B,KAAA,CAAAkC,aAAA,CAAC3B,IAAI;MAACyB,IAAI,EAAC,OAAO;MAACkB,IAAI,EAAC,cAAc;MAACC,SAAS,EAAE,CAACX,MAAM,CAACY,WAAW,EAAE;QAAEC,KAAK,EAAE,IAAI,CAAC/B,KAAK,CAACgC;MAAmB,CAAC;IAAE,CAAE,CACpH,eACDtD,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAACqC,KAAK,EAAE,CAACC,MAAM,CAACe,WAAW,EAAElC,GAAG,CAACY,IAAI,IAAI;QAAEoB,KAAK,EAAE,IAAI,CAAC/B,KAAK,CAACgC;MAAmB,CAAC;IAAE,GAAEvB,QAAe,CACrG,CACF,CAAC,eACP/B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAEC,MAAM,CAACgB;IAAiB,gBACnCxD,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;MAACoC,KAAK,EAAE,CAACC,MAAM,CAACiB,kBAAkB,EAAE;QAAEC,eAAe,EAAE7B;MAAY,CAAC;IAAE,gBAEzE7B,KAAA,CAAAkC,aAAA,CAAChC,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACmB;IAAc,GAAE/B,UAAiB,CACjD,CACF,CACF,CACF,CACU,CAAC;EAEvB;AACF;AAEA,MAAMY,MAAM,GAAGpC,UAAU,CAACwD,MAAM,CAAC;EAC/BnB,YAAY,EAAE;IACZoB,OAAO,EAAE;EACX,CAAC;EACDnB,iBAAiB,EAAE;IACjBoB,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,GAAG;IACX,GAAGjD,MAAM,CAACkD,cAAc,CAAC;EAC3B,CAAC;EACDrB,aAAa,EAAE;IACbsB,IAAI,EAAE,CAAC;IACPJ,OAAO,EAAE,EAAE;IACXK,UAAU,EAAE;EACd,CAAC;EACDrB,YAAY,EAAE;IACZoB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZf,KAAK,EAAExC,OAAO,CAACwD;EACjB,CAAC;EACDtB,kBAAkB,EAAE;IAClBoB,UAAU,EAAE,WAAW;IACvBC,QAAQ,EAAE,EAAE;IACZf,KAAK,EAAExC,OAAO,CAACyD,UAAU;IACzBJ,UAAU,EAAE;EACd,CAAC;EACDlB,gBAAgB,EAAE;IAChBuB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBN,UAAU,EAAE;EACd,CAAC;EACDd,WAAW,EAAE;IACXgB,QAAQ,EAAE,EAAE;IACZK,WAAW,EAAE;EACf,CAAC;EACDlB,WAAW,EAAE;IACXY,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZf,KAAK,EAAExC,OAAO,CAAC6D;EACjB,CAAC;EACDlB,gBAAgB,EAAE;IAChBgB,UAAU,EAAE,QAAQ;IACpBG,cAAc,EAAE,QAAQ;IACxBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,CAAC;IACjBC,cAAc,EAAEjE,OAAO,CAACkE;EAC1B,CAAC;EACDtB,kBAAkB,EAAE;IAClBc,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBG,cAAc,EAAE,eAAe;IAC/Bb,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,EAAE;IACViB,iBAAiB,EAAE,CAAC;IACpBC,YAAY,EAAE;EAChB,CAAC;EACDC,aAAa,EAAE;IACb7B,KAAK,EAAE,MAAM;IACbe,QAAQ,EAAE;EACZ,CAAC;EACDT,aAAa,EAAE;IACbN,KAAK,EAAE,MAAM;IACb8B,SAAS,EAAE,QAAQ;IACnBhB,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,MAAMgB,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACL/B,kBAAkB,EAAEzC,OAAO,CAACyE,8BAA8B,CAACD,KAAK;EAClE,CAAC;AACH,CAAC;AAED,eAAe/E,OAAO,CAAC8E,eAAe,EAAE,CAAC,CAAC,CAAC,CAACrE,qBAAqB,CAAC","ignoreList":[]}
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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","ignoreList":[]}
@@ -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 Config.env.strings.MAINTENANCE;
23
+ return this.props.strings[`${values.featureKey}_textFeatureTitle`] || values.textFeatureTitle;
23
24
  });
24
25
  _defineProperty(this, "getEmptyStateText", () => {
25
26
  const {
@@ -27,7 +28,7 @@ class WidgetSmall extends Component {
27
28
  userCategory
28
29
  } = this.props;
29
30
  if (options && !_.isEmpty(options.EmptyText)) return options.EmptyText;
30
- return userCategory === 'staff' ? Config.env.strings.EMPTY_REQUESTS_STAFF : Config.env.strings.EMPTY_REQUESTS_USER;
31
+ return userCategory === 'staff' ? values.emptyRequestsStaff : values.emptyRequestsUser;
31
32
  });
32
33
  _defineProperty(this, "refresh", () => {
33
34
  this.onLoadingChanged(true, async () => {
@@ -51,7 +52,7 @@ class WidgetSmall extends Component {
51
52
  });
52
53
  });
53
54
  _defineProperty(this, "onPressAll", () => {
54
- Services.navigation.navigate('maintenance', {
55
+ Services.navigation.navigate(values.screenMaintenance, {
55
56
  options: this.props.options
56
57
  });
57
58
  });
@@ -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.jobs
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, {