@plusscommunities/pluss-maintenance-app 4.0.3 → 4.0.4-auth.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 (46) hide show
  1. package/package.json +6 -3
  2. package/dist/module/actions/JobActions.js +0 -20
  3. package/dist/module/actions/JobActions.js.map +0 -1
  4. package/dist/module/actions/index.js +0 -2
  5. package/dist/module/actions/index.js.map +0 -1
  6. package/dist/module/actions/types.js +0 -4
  7. package/dist/module/actions/types.js.map +0 -1
  8. package/dist/module/apis/generalActions.js +0 -186
  9. package/dist/module/apis/generalActions.js.map +0 -1
  10. package/dist/module/apis/index.js +0 -2
  11. package/dist/module/apis/index.js.map +0 -1
  12. package/dist/module/components/FilterPopupMenu.js +0 -235
  13. package/dist/module/components/FilterPopupMenu.js.map +0 -1
  14. package/dist/module/components/MaintenanceList.js +0 -325
  15. package/dist/module/components/MaintenanceList.js.map +0 -1
  16. package/dist/module/components/MaintenanceListItem.js +0 -322
  17. package/dist/module/components/MaintenanceListItem.js.map +0 -1
  18. package/dist/module/components/MaintenanceWidgetItem.js +0 -152
  19. package/dist/module/components/MaintenanceWidgetItem.js.map +0 -1
  20. package/dist/module/components/StatusSelectorPopup.js +0 -88
  21. package/dist/module/components/StatusSelectorPopup.js.map +0 -1
  22. package/dist/module/components/WidgetLarge.js +0 -9
  23. package/dist/module/components/WidgetLarge.js.map +0 -1
  24. package/dist/module/components/WidgetSmall.js +0 -168
  25. package/dist/module/components/WidgetSmall.js.map +0 -1
  26. package/dist/module/core.config.js +0 -17
  27. package/dist/module/core.config.js.map +0 -1
  28. package/dist/module/feature.config.js +0 -90
  29. package/dist/module/feature.config.js.map +0 -1
  30. package/dist/module/helper.js +0 -25
  31. package/dist/module/helper.js.map +0 -1
  32. package/dist/module/images/speechbubble.png +0 -0
  33. package/dist/module/index.js +0 -20
  34. package/dist/module/index.js.map +0 -1
  35. package/dist/module/reducers/JobsReducer.js +0 -62
  36. package/dist/module/reducers/JobsReducer.js.map +0 -1
  37. package/dist/module/screens/JobTypePicker.js +0 -130
  38. package/dist/module/screens/JobTypePicker.js.map +0 -1
  39. package/dist/module/screens/MaintenancePage.js +0 -88
  40. package/dist/module/screens/MaintenancePage.js.map +0 -1
  41. package/dist/module/screens/RequestDetail.js +0 -798
  42. package/dist/module/screens/RequestDetail.js.map +0 -1
  43. package/dist/module/screens/RequestNotes.js +0 -387
  44. package/dist/module/screens/RequestNotes.js.map +0 -1
  45. package/dist/module/screens/ServiceRequest.js +0 -748
  46. package/dist/module/screens/ServiceRequest.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-app",
3
- "version": "4.0.3",
3
+ "version": "4.0.4-auth.0",
4
4
  "description": "Extension package to enable maintenance on Pluss Communities Platform",
5
5
  "main": "dist/module/index.js",
6
6
  "module": "dist/module/index.js",
@@ -15,14 +15,17 @@
15
15
  "patch": "npm version patch",
16
16
  "betaupload": "npm run build && npm publish --access public --tag beta",
17
17
  "betaupload:p": "npm run betapatch && npm run betaupload",
18
+ "authpatch": "npm version prepatch --preid=auth",
19
+ "authupload": "npm i && npm i && npm publish --access public --tag auth",
20
+ "authupload:p": "npm run authpatch && npm run authupload",
18
21
  "upload": "npm run build && npm publish --access public",
19
22
  "upload:p": "npm run patch && npm run upload"
20
23
  },
21
24
  "author": "Phillip Suh",
22
25
  "license": "ISC",
23
26
  "dependencies": {
24
- "@plusscommunities/pluss-core-app": "4.0.2",
25
- "axios": "^0.16.2",
27
+ "@plusscommunities/pluss-core-app": "4.0.4-auth.0",
28
+ "axios": "^1.6.8",
26
29
  "lodash": "^4.17.4",
27
30
  "moment": "^2.18.1",
28
31
  "react": "18.2.0",
@@ -1,20 +0,0 @@
1
- import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from './types';
2
- export const jobsLoaded = jobs => {
3
- return {
4
- type: JOBS_LOADED,
5
- payload: jobs
6
- };
7
- };
8
- export const jobAdded = job => {
9
- return {
10
- type: JOB_ADDED,
11
- payload: job
12
- };
13
- };
14
- export const jobsAdded = jobs => {
15
- return {
16
- type: JOBS_ADDED,
17
- payload: jobs
18
- };
19
- };
20
- //# sourceMappingURL=JobActions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["JOBS_LOADED","JOB_ADDED","JOBS_ADDED","jobsLoaded","jobs","type","payload","jobAdded","job","jobsAdded"],"sources":["JobActions.js"],"sourcesContent":["import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from './types';\n\nexport const jobsLoaded = jobs => {\n return {\n type: JOBS_LOADED,\n payload: jobs,\n };\n};\n\nexport const jobAdded = job => {\n return {\n type: JOB_ADDED,\n payload: job,\n };\n};\n\nexport const jobsAdded = jobs => {\n return {\n type: JOBS_ADDED,\n payload: jobs,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,UAAU,QAAQ,SAAS;AAE5D,OAAO,MAAMC,UAAU,GAAGC,IAAI,IAAI;EAChC,OAAO;IACLC,IAAI,EAAEL,WAAW;IACjBM,OAAO,EAAEF;EACX,CAAC;AACH,CAAC;AAED,OAAO,MAAMG,QAAQ,GAAGC,GAAG,IAAI;EAC7B,OAAO;IACLH,IAAI,EAAEJ,SAAS;IACfK,OAAO,EAAEE;EACX,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,SAAS,GAAGL,IAAI,IAAI;EAC/B,OAAO;IACLC,IAAI,EAAEH,UAAU;IAChBI,OAAO,EAAEF;EACX,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './JobActions';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["export * from './JobActions';\n"],"mappings":"AAAA,cAAc,cAAc"}
@@ -1,4 +0,0 @@
1
- export const JOBS_LOADED = 'JOBS_LOADED';
2
- export const JOB_ADDED = 'JOB_ADDED';
3
- export const JOBS_ADDED = 'JOBS_ADDED';
4
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
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"}
@@ -1,186 +0,0 @@
1
- // import axios from 'axios';
2
- // import { getUrl } from './helper';
3
- // import { authedFunction } from '../js';
4
- import { Helper, Session } from '../core.config';
5
- export const generalActions = {
6
- getJob: (site, id) => {
7
- return Session.authedFunction({
8
- method: 'POST',
9
- url: Helper.getUrl('maintenance', 'getJob'),
10
- data: {
11
- site,
12
- id
13
- }
14
- });
15
- },
16
- getJobByJobId: (site, jobId) => {
17
- return Session.authedFunction({
18
- method: 'POST',
19
- url: Helper.getUrl('maintenance', 'getJob'),
20
- data: {
21
- site,
22
- jobId
23
- }
24
- });
25
- },
26
- getJobs: (site, status = '', type = '') => {
27
- return Session.authedFunction({
28
- method: 'POST',
29
- url: Helper.getUrl('maintenance', 'getJobs'),
30
- data: {
31
- site,
32
- status,
33
- type
34
- }
35
- });
36
- },
37
- getJobs2: (site, status, type, lastKey) => {
38
- const query = {
39
- site
40
- };
41
- if (status) {
42
- query.status = status;
43
- }
44
- if (type) {
45
- query.type = type;
46
- }
47
- if (lastKey) {
48
- query.lastKey = JSON.stringify(lastKey);
49
- }
50
- return Session.authedFunction({
51
- method: 'GET',
52
- url: Helper.getUrl('maintenance', 'get/requests', query)
53
- });
54
- },
55
- getJobsRecursive: (site, status, type, lastKey, jobs = []) => {
56
- return new Promise(resolve => {
57
- generalActions.getJobs2(site, status, type, lastKey).then(jobRes => {
58
- const newJobs = [...jobs, ...jobRes.data.Items];
59
- if (!jobRes.data.LastKey) {
60
- return resolve(newJobs);
61
- }
62
- return resolve(generalActions.getJobsRecursive(site, status, type, jobRes.data.LastKey, newJobs));
63
- });
64
- });
65
- },
66
- sendMaintenanceRequest: (userID, userName, phone, room, title, description, date, type, images, location, isHome, homeText) => {
67
- const request = {
68
- method: 'POST',
69
- url: Helper.getUrl('maintenance', 'sendMaintenance'),
70
- data: {
71
- userID,
72
- userName,
73
- phone,
74
- room,
75
- title,
76
- description,
77
- date,
78
- type,
79
- images,
80
- location,
81
- isHome,
82
- homeText
83
- }
84
- };
85
- return Session.authedFunction(request);
86
- },
87
- editJob: (job, site) => {
88
- return Session.authedFunction({
89
- method: 'POST',
90
- url: Helper.getUrl('maintenance', 'editJob'),
91
- data: {
92
- job,
93
- site
94
- }
95
- });
96
- },
97
- editJobStatus: (id, status) => {
98
- return Session.authedFunction({
99
- method: 'POST',
100
- url: Helper.getUrl('maintenance', 'editJobStatus'),
101
- data: {
102
- id,
103
- status
104
- }
105
- });
106
- },
107
- addNote: (jobId, note, attachments) => {
108
- return Session.authedFunction({
109
- method: 'POST',
110
- url: Helper.getUrl('maintenance', 'requests/note'),
111
- data: {
112
- id: jobId,
113
- note,
114
- attachments,
115
- action: 'AddNote'
116
- }
117
- });
118
- },
119
- editNote: (jobId, noteId, note, attachments) => {
120
- return Session.authedFunction({
121
- method: 'POST',
122
- url: Helper.getUrl('maintenance', 'requests/note'),
123
- data: {
124
- id: jobId,
125
- note,
126
- attachments,
127
- noteId,
128
- action: 'EditNote'
129
- }
130
- });
131
- },
132
- deleteNote: (jobId, noteId) => {
133
- return Session.authedFunction({
134
- method: 'POST',
135
- url: Helper.getUrl('maintenance', 'requests/note'),
136
- data: {
137
- id: jobId,
138
- noteId,
139
- action: 'DeleteNote'
140
- }
141
- });
142
- },
143
- // getWeeklyMenu: async time => {
144
- // //deprecated
145
- // return null;
146
- // },
147
- getJobTypes: async site => {
148
- const url = Helper.getUrl('maintenance', 'getjobtypes');
149
- return Session.authedFunction({
150
- method: 'POST',
151
- url,
152
- data: {
153
- site
154
- }
155
- });
156
- }
157
- // sendBookingRequest: async bookingInfo => {
158
- // return authedFunction({
159
- // method: 'POST',
160
- // data: {
161
- // bookingInfo,
162
- // },
163
- // url: getUrl('utility', 'sendBookingRequest'),
164
- // });
165
- // },
166
- // getString: async (site, id, useDefault) => {
167
- // return axios({
168
- // method: 'GET',
169
- // url: getUrl('strings', `get/${site}_${id}`, useDefault ? { useDefault } : undefined),
170
- // }).catch(error => {
171
- // console.log('getString error', error);
172
- // throw error;
173
- // });
174
- // },
175
- // getGeneralTerms: async () => {
176
- // return axios({
177
- // method: 'GET',
178
- // url: 'https://pluss.plussapp.com.au/strings-prd/get/plussSpace_termsofuse',
179
- // });
180
- // },
181
- // declineTerms: async (site, userID) => {
182
- // //deprecated
183
- // return null;
184
- // },
185
- };
186
- //# sourceMappingURL=generalActions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Helper","Session","generalActions","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","addNote","note","attachments","action","editNote","noteId","deleteNote","getJobTypes"],"sources":["generalActions.js"],"sourcesContent":["// import axios from 'axios';\n// import { getUrl } from './helper';\n// import { authedFunction } from '../js';\nimport { Helper, Session } from '../core.config';\n\nexport const generalActions = {\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 generalActions.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(generalActions.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 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 // getWeeklyMenu: async time => {\n // //deprecated\n // return null;\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 // sendBookingRequest: async bookingInfo => {\n // return authedFunction({\n // method: 'POST',\n // data: {\n // bookingInfo,\n // },\n // url: getUrl('utility', 'sendBookingRequest'),\n // });\n // },\n // getString: async (site, id, useDefault) => {\n // return axios({\n // method: 'GET',\n // url: getUrl('strings', `get/${site}_${id}`, useDefault ? { useDefault } : undefined),\n // }).catch(error => {\n // console.log('getString error', error);\n // throw error;\n // });\n // },\n // getGeneralTerms: async () => {\n // return axios({\n // method: 'GET',\n // url: 'https://pluss.plussapp.com.au/strings-prd/get/plussSpace_termsofuse',\n // });\n // },\n // declineTerms: async (site, userID) => {\n // //deprecated\n // return null;\n // },\n};\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './generalActions';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["export * from './generalActions';\n"],"mappings":"AAAA,cAAc,kBAAkB"}
@@ -1,235 +0,0 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
3
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
- import React, { Component } from 'react';
5
- import { View, Text, TouchableOpacity, Modal } from 'react-native';
6
- import { connect } from 'react-redux';
7
- import _ from 'lodash';
8
- import { generalActions } from '../apis';
9
- import { Colours, Helper } from '../core.config';
10
- class FilterPopupMenu extends Component {
11
- constructor(props) {
12
- super(props);
13
- _defineProperty(this, "refreshTypes", async () => {
14
- const {
15
- data
16
- } = await generalActions.getJobTypes(Helper.getSite(this.props.site));
17
- const types = data.map(t => {
18
- return {
19
- label: t.typeName,
20
- value: t.typeName
21
- };
22
- });
23
- types.splice(0, 0, {
24
- label: 'All',
25
- value: ''
26
- });
27
- // console.log('refreshTypes', types);
28
- this.setState({
29
- types
30
- });
31
- });
32
- _defineProperty(this, "onSelectOption", (key, value) => {
33
- const newState = {};
34
- newState[key] = value;
35
- this.setState(newState);
36
- });
37
- _defineProperty(this, "onDone", () => {
38
- const {
39
- onClose
40
- } = this.props;
41
- const {
42
- selectedStatus,
43
- selectedType
44
- } = this.state;
45
- if (onClose) onClose({
46
- status: selectedStatus,
47
- type: selectedType
48
- });
49
- });
50
- this.state = {
51
- types: props.types || [],
52
- selectedStatus: props.status || '',
53
- selectedType: props.type || ''
54
- };
55
- this.statusOptions = [{
56
- label: 'All',
57
- value: ''
58
- }, {
59
- label: 'Incomplete',
60
- value: 'Unassigned|In Progress'
61
- }, {
62
- label: 'Unassigned',
63
- value: 'Unassigned'
64
- }, {
65
- label: 'In Progress',
66
- value: 'In Progress'
67
- }, {
68
- label: 'Completed',
69
- value: 'Completed'
70
- }];
71
- }
72
- componentDidMount() {
73
- if (_.isEmpty(this.state.types)) this.refreshTypes();
74
- }
75
- componentDidUpdate(prevProps) {
76
- if (prevProps.site !== this.props.site) {
77
- this.refreshTypes();
78
- }
79
- }
80
- renderTitle() {
81
- const {
82
- title
83
- } = this.props;
84
- return /*#__PURE__*/React.createElement(View, {
85
- style: styles.titleContainer
86
- }, /*#__PURE__*/React.createElement(Text, {
87
- style: styles.titleText
88
- }, title || 'Filter By'));
89
- }
90
- renderCancel() {
91
- const {
92
- colourBrandingMain,
93
- cancelText
94
- } = this.props;
95
- return /*#__PURE__*/React.createElement(TouchableOpacity, {
96
- onPress: this.onDone
97
- }, /*#__PURE__*/React.createElement(View, {
98
- style: styles.cancelContainer
99
- }, /*#__PURE__*/React.createElement(Text, {
100
- style: [styles.cancelText, {
101
- color: colourBrandingMain
102
- }]
103
- }, cancelText || 'Done')));
104
- }
105
- renderOptions(title, options, selectedKey) {
106
- const {
107
- colourBrandingMain
108
- } = this.props;
109
- return /*#__PURE__*/React.createElement(View, {
110
- style: styles.optionsContainer
111
- }, /*#__PURE__*/React.createElement(Text, {
112
- style: styles.optionsTitle
113
- }, title), /*#__PURE__*/React.createElement(View, {
114
- style: styles.options
115
- }, options.map(o => {
116
- const selected = this.state[selectedKey];
117
- const backgroundColor = o.value === selected ? colourBrandingMain : '#fff';
118
- const color = o.value === selected ? '#fff' : colourBrandingMain;
119
- return /*#__PURE__*/React.createElement(TouchableOpacity, {
120
- key: o.label,
121
- onPress: () => this.onSelectOption(selectedKey, o.value)
122
- }, /*#__PURE__*/React.createElement(View, {
123
- style: [styles.optionContainer, {
124
- backgroundColor,
125
- borderColor: colourBrandingMain
126
- }]
127
- }, /*#__PURE__*/React.createElement(Text, {
128
- style: [styles.optionText, {
129
- color
130
- }]
131
- }, o.label)));
132
- })));
133
- }
134
- render() {
135
- return /*#__PURE__*/React.createElement(Modal, {
136
- visible: true,
137
- transparent: true,
138
- animationType: "slide",
139
- onRequestClose: this.onDone
140
- }, /*#__PURE__*/React.createElement(View, {
141
- style: styles.container
142
- }, /*#__PURE__*/React.createElement(View, {
143
- style: styles.menu
144
- }, this.renderTitle(), /*#__PURE__*/React.createElement(View, {
145
- style: styles.optionContent
146
- }, this.renderOptions('Status', this.statusOptions, 'selectedStatus'), this.renderOptions('Type', this.state.types, 'selectedType')), this.renderCancel())));
147
- }
148
- }
149
- const styles = {
150
- container: {
151
- position: 'absolute',
152
- bottom: 0,
153
- left: 0,
154
- right: 0,
155
- top: 0,
156
- backgroundColor: 'rgba(0,0,0,0.5)',
157
- zIndex: 1000
158
- },
159
- menu: {
160
- position: 'absolute',
161
- bottom: 0,
162
- left: 0,
163
- right: 0,
164
- backgroundColor: '#fff',
165
- borderTopLeftRadius: 12,
166
- borderTopRightRadius: 12
167
- },
168
- cancelContainer: {
169
- paddingVertical: 16,
170
- borderColor: Colours.LINEGREY,
171
- borderTopWidth: 1,
172
- paddingHorizontal: 16
173
- },
174
- cancelText: {
175
- fontFamily: 'sf-medium',
176
- fontSize: 16,
177
- textAlign: 'center',
178
- color: Colours.TEXT_DARK
179
- },
180
- titleContainer: {
181
- padding: 16,
182
- borderColor: Colours.LINEGREY,
183
- borderBottomWidth: 1
184
- },
185
- titleText: {
186
- fontFamily: 'sf-semibold',
187
- fontSize: 16,
188
- textAlign: 'center',
189
- color: Colours.TEXT_DARK
190
- },
191
- optionContent: {
192
- paddingVertical: 10
193
- },
194
- optionsContainer: {
195
- marginHorizontal: 14
196
- },
197
- optionsTitle: {
198
- fontFamily: 'sf-semibold',
199
- marginBottom: 4
200
- },
201
- options: {
202
- flex: 1,
203
- flexDirection: 'row',
204
- flexWrap: 'wrap'
205
- },
206
- optionContainer: {
207
- flexDirection: 'row',
208
- alignItems: 'center',
209
- justifyContent: 'center',
210
- minWidth: 50,
211
- height: 30,
212
- paddingHorizontal: 8,
213
- borderRadius: 4,
214
- borderWidth: 1,
215
- marginRight: 8,
216
- marginBottom: 8
217
- },
218
- optionText: {
219
- color: '#fff',
220
- textAlign: 'center',
221
- fontFamily: 'sf-semibold',
222
- fontSize: 13
223
- }
224
- };
225
- const mapStateToProps = state => {
226
- const {
227
- user
228
- } = state;
229
- return {
230
- site: user.site,
231
- colourBrandingMain: Colours.getMainBrandingColourFromState(state)
232
- };
233
- };
234
- export default connect(mapStateToProps, {})(FilterPopupMenu);
235
- //# sourceMappingURL=FilterPopupMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Component","View","Text","TouchableOpacity","Modal","connect","_","generalActions","Colours","Helper","FilterPopupMenu","constructor","props","_defineProperty","data","getJobTypes","getSite","site","types","map","t","label","typeName","value","splice","setState","key","newState","onClose","selectedStatus","selectedType","state","status","type","statusOptions","componentDidMount","isEmpty","refreshTypes","componentDidUpdate","prevProps","renderTitle","title","createElement","style","styles","titleContainer","titleText","renderCancel","colourBrandingMain","cancelText","onPress","onDone","cancelContainer","color","renderOptions","options","selectedKey","optionsContainer","optionsTitle","o","selected","backgroundColor","onSelectOption","optionContainer","borderColor","optionText","render","visible","transparent","animationType","onRequestClose","container","menu","optionContent","position","bottom","left","right","top","zIndex","borderTopLeftRadius","borderTopRightRadius","paddingVertical","LINEGREY","borderTopWidth","paddingHorizontal","fontFamily","fontSize","textAlign","TEXT_DARK","padding","borderBottomWidth","marginHorizontal","marginBottom","flex","flexDirection","flexWrap","alignItems","justifyContent","minWidth","height","borderRadius","borderWidth","marginRight","mapStateToProps","user","getMainBrandingColourFromState"],"sources":["FilterPopupMenu.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Modal } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { generalActions } from '../apis';\nimport { Colours, Helper } from '../core.config';\n\nclass FilterPopupMenu extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n types: props.types || [],\n selectedStatus: props.status || '',\n selectedType: props.type || '',\n };\n this.statusOptions = [\n {\n label: 'All',\n value: '',\n },\n {\n label: 'Incomplete',\n value: 'Unassigned|In Progress',\n },\n {\n label: 'Unassigned',\n value: 'Unassigned',\n },\n {\n label: 'In Progress',\n value: 'In Progress',\n },\n {\n label: 'Completed',\n value: 'Completed',\n },\n ];\n }\n\n componentDidMount() {\n if (_.isEmpty(this.state.types)) this.refreshTypes();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.site !== this.props.site) {\n this.refreshTypes();\n }\n }\n\n refreshTypes = async () => {\n const { data } = await generalActions.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 onSelectOption = (key, value) => {\n const newState = {};\n newState[key] = value;\n this.setState(newState);\n };\n\n onDone = () => {\n const { onClose } = this.props;\n const { selectedStatus, selectedType } = this.state;\n if (onClose)\n onClose({\n status: selectedStatus,\n type: selectedType,\n });\n };\n\n renderTitle() {\n const { title } = this.props;\n return (\n <View style={styles.titleContainer}>\n <Text style={styles.titleText}>{title || 'Filter By'}</Text>\n </View>\n );\n }\n\n renderCancel() {\n const { colourBrandingMain, cancelText } = this.props;\n return (\n <TouchableOpacity onPress={this.onDone}>\n <View style={styles.cancelContainer}>\n <Text style={[styles.cancelText, { color: colourBrandingMain }]}>{cancelText || 'Done'}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n\n renderOptions(title, options, selectedKey) {\n const { colourBrandingMain } = this.props;\n return (\n <View style={styles.optionsContainer}>\n <Text style={styles.optionsTitle}>{title}</Text>\n <View style={styles.options}>\n {options.map(o => {\n const selected = this.state[selectedKey];\n const backgroundColor = o.value === selected ? colourBrandingMain : '#fff';\n const color = o.value === selected ? '#fff' : colourBrandingMain;\n return (\n <TouchableOpacity key={o.label} onPress={() => this.onSelectOption(selectedKey, o.value)}>\n <View style={[styles.optionContainer, { backgroundColor, borderColor: colourBrandingMain }]}>\n <Text style={[styles.optionText, { color }]}>{o.label}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </View>\n </View>\n );\n }\n\n render() {\n return (\n <Modal visible transparent animationType=\"slide\" onRequestClose={this.onDone}>\n <View style={styles.container}>\n <View style={styles.menu}>\n {this.renderTitle()}\n <View style={styles.optionContent}>\n {this.renderOptions('Status', this.statusOptions, 'selectedStatus')}\n {this.renderOptions('Type', this.state.types, 'selectedType')}\n </View>\n {this.renderCancel()}\n </View>\n </View>\n </Modal>\n );\n }\n}\n\nconst styles = {\n container: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: 1000,\n },\n menu: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: '#fff',\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n cancelContainer: {\n paddingVertical: 16,\n borderColor: Colours.LINEGREY,\n borderTopWidth: 1,\n paddingHorizontal: 16,\n },\n cancelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n textAlign: 'center',\n color: Colours.TEXT_DARK,\n },\n titleContainer: {\n padding: 16,\n borderColor: Colours.LINEGREY,\n borderBottomWidth: 1,\n },\n titleText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n textAlign: 'center',\n color: Colours.TEXT_DARK,\n },\n optionContent: {\n paddingVertical: 10,\n },\n optionsContainer: {\n marginHorizontal: 14,\n },\n optionsTitle: {\n fontFamily: 'sf-semibold',\n marginBottom: 4,\n },\n options: {\n flex: 1,\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n optionContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: 50,\n height: 30,\n paddingHorizontal: 8,\n borderRadius: 4,\n borderWidth: 1,\n marginRight: 8,\n marginBottom: 8,\n },\n optionText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n};\n\nconst mapStateToProps = state => {\n const { user } = state;\n\n return {\n site: user.site,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(FilterPopupMenu);\n"],"mappings":"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"}