@plusscommunities/pluss-maintenance-app 4.0.4-auth.0 → 6.0.0-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/dist/module/actions/JobActions.js +20 -0
  2. package/dist/module/actions/JobActions.js.map +1 -0
  3. package/dist/module/actions/index.js +2 -0
  4. package/dist/module/actions/index.js.map +1 -0
  5. package/dist/module/actions/types.js +4 -0
  6. package/dist/module/actions/types.js.map +1 -0
  7. package/dist/module/apis/generalActions.js +186 -0
  8. package/dist/module/apis/generalActions.js.map +1 -0
  9. package/dist/module/apis/index.js +2 -0
  10. package/dist/module/apis/index.js.map +1 -0
  11. package/dist/module/components/FilterPopupMenu.js +235 -0
  12. package/dist/module/components/FilterPopupMenu.js.map +1 -0
  13. package/dist/module/components/MaintenanceList.js +325 -0
  14. package/dist/module/components/MaintenanceList.js.map +1 -0
  15. package/dist/module/components/MaintenanceListItem.js +322 -0
  16. package/dist/module/components/MaintenanceListItem.js.map +1 -0
  17. package/dist/module/components/MaintenanceWidgetItem.js +152 -0
  18. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -0
  19. package/dist/module/components/StatusSelectorPopup.js +88 -0
  20. package/dist/module/components/StatusSelectorPopup.js.map +1 -0
  21. package/dist/module/components/WidgetLarge.js +9 -0
  22. package/dist/module/components/WidgetLarge.js.map +1 -0
  23. package/dist/module/components/WidgetSmall.js +168 -0
  24. package/dist/module/components/WidgetSmall.js.map +1 -0
  25. package/dist/module/core.config.js +17 -0
  26. package/dist/module/core.config.js.map +1 -0
  27. package/dist/module/feature.config.js +90 -0
  28. package/dist/module/feature.config.js.map +1 -0
  29. package/dist/module/helper.js +25 -0
  30. package/dist/module/helper.js.map +1 -0
  31. package/dist/module/images/speechbubble.png +0 -0
  32. package/dist/module/index.js +20 -0
  33. package/dist/module/index.js.map +1 -0
  34. package/dist/module/reducers/JobsReducer.js +62 -0
  35. package/dist/module/reducers/JobsReducer.js.map +1 -0
  36. package/dist/module/screens/JobTypePicker.js +130 -0
  37. package/dist/module/screens/JobTypePicker.js.map +1 -0
  38. package/dist/module/screens/MaintenancePage.js +88 -0
  39. package/dist/module/screens/MaintenancePage.js.map +1 -0
  40. package/dist/module/screens/RequestDetail.js +798 -0
  41. package/dist/module/screens/RequestDetail.js.map +1 -0
  42. package/dist/module/screens/RequestNotes.js +387 -0
  43. package/dist/module/screens/RequestNotes.js.map +1 -0
  44. package/dist/module/screens/ServiceRequest.js +748 -0
  45. package/dist/module/screens/ServiceRequest.js.map +1 -0
  46. package/package.json +7 -8
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PlussCore","Services","navigation","BaseComponents","NotificationBell","FeatureConfig","key","aliases","title","gridMenu","icon","viewBox","navigate","addMenu","order","visibleExps","type","value","moreMenu","exps","kioskAction","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config","MAINTENANCE","MAINTENANCE_REQUEST"],"sources":["feature.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from '@plusscommunities/pluss-core-app';\n\nexport const Services = {\n navigation: null,\n};\n\nexport const BaseComponents = {\n NotificationBell: null,\n};\n\nconst FeatureConfig = {\n key: 'maintenance',\n aliases: ['maintenanceRequest'],\n title: 'Request',\n gridMenu: {\n icon: 'maintenance',\n viewBox: '0 0 30 30',\n navigate: 'maintenance',\n },\n addMenu: {\n order: 5,\n icon: 'request',\n title: 'Request',\n navigate: 'serviceRequest',\n visibleExps: { type: 'feature', value: 'maintenance' },\n },\n moreMenu: {\n order: 4,\n title: 'Request',\n navigate: 'maintenance',\n visibleExps: {\n type: 'and',\n exps: [\n { type: 'notHidden', value: 'maintenanceRequest' },\n { type: 'notUserType', value: 'KIOSK' },\n ],\n },\n },\n kioskAction: {\n order: 1,\n icon: 'wrench',\n title: 'Request',\n navigate: 'serviceRequest',\n },\n hideTabBar: [],\n env: {\n baseStage: '',\n baseAPIUrl: '',\n hasGradientHeader: false,\n defaultProfileImage: '',\n tinyChatDefault: '',\n baseUploadsUrl: '',\n allowMediaDownload: false,\n allowMediaSharing: false,\n awsUploadsBucket: '',\n awsStorageBucket: '',\n preferredSite: '',\n strings: {},\n newEventDefaults: '',\n defaultAllowComments: true,\n },\n init: (environment, navigation, notificationBell) => {\n FeatureConfig.env = environment;\n Services.navigation = navigation;\n BaseComponents.NotificationBell = notificationBell;\n PlussCore.Config.init(environment, navigation);\n\n // Override strings\n if (environment && environment.strings) {\n const { MAINTENANCE, MAINTENANCE_REQUEST } = environment.strings;\n if (MAINTENANCE) {\n FeatureConfig.addMenu.title = MAINTENANCE;\n }\n if (MAINTENANCE_REQUEST) {\n FeatureConfig.title = MAINTENANCE_REQUEST;\n FeatureConfig.moreMenu.title = MAINTENANCE_REQUEST;\n FeatureConfig.kioskAction.title = MAINTENANCE_REQUEST;\n }\n }\n },\n};\nexport default FeatureConfig;\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,OAAO,MAAMC,QAAQ,GAAG;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAE;AACpB,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,GAAG,EAAE,aAAa;EAClBC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,KAAK,EAAE,SAAS;EAChBC,QAAQ,EAAE;IACRC,IAAI,EAAE,aAAa;IACnBC,OAAO,EAAE,WAAW;IACpBC,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPC,KAAK,EAAE,CAAC;IACRJ,IAAI,EAAE,SAAS;IACfF,KAAK,EAAE,SAAS;IAChBI,QAAQ,EAAE,gBAAgB;IAC1BG,WAAW,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAEC,KAAK,EAAE;IAAc;EACvD,CAAC;EACDC,QAAQ,EAAE;IACRJ,KAAK,EAAE,CAAC;IACRN,KAAK,EAAE,SAAS;IAChBI,QAAQ,EAAE,aAAa;IACvBG,WAAW,EAAE;MACXC,IAAI,EAAE,KAAK;MACXG,IAAI,EAAE,CACJ;QAAEH,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAqB,CAAC,EAClD;QAAED,IAAI,EAAE,aAAa;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE3C;EACF,CAAC;EACDG,WAAW,EAAE;IACXN,KAAK,EAAE,CAAC;IACRJ,IAAI,EAAE,QAAQ;IACdF,KAAK,EAAE,SAAS;IAChBI,QAAQ,EAAE;EACZ,CAAC;EACDS,UAAU,EAAE,EAAE;EACdC,GAAG,EAAE;IACHC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE,EAAE;IACdC,iBAAiB,EAAE,KAAK;IACxBC,mBAAmB,EAAE,EAAE;IACvBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,EAAE;IAClBC,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE,KAAK;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,EAAE;IACjBC,OAAO,EAAE,CAAC,CAAC;IACXC,gBAAgB,EAAE,EAAE;IACpBC,oBAAoB,EAAE;EACxB,CAAC;EACDC,IAAI,EAAEA,CAACC,WAAW,EAAEpC,UAAU,EAAEqC,gBAAgB,KAAK;IACnDlC,aAAa,CAACiB,GAAG,GAAGgB,WAAW;IAC/BrC,QAAQ,CAACC,UAAU,GAAGA,UAAU;IAChCC,cAAc,CAACC,gBAAgB,GAAGmC,gBAAgB;IAClDvC,SAAS,CAACwC,MAAM,CAACH,IAAI,CAACC,WAAW,EAAEpC,UAAU,CAAC;;IAE9C;IACA,IAAIoC,WAAW,IAAIA,WAAW,CAACJ,OAAO,EAAE;MACtC,MAAM;QAAEO,WAAW;QAAEC;MAAoB,CAAC,GAAGJ,WAAW,CAACJ,OAAO;MAChE,IAAIO,WAAW,EAAE;QACfpC,aAAa,CAACQ,OAAO,CAACL,KAAK,GAAGiC,WAAW;MAC3C;MACA,IAAIC,mBAAmB,EAAE;QACvBrC,aAAa,CAACG,KAAK,GAAGkC,mBAAmB;QACzCrC,aAAa,CAACa,QAAQ,CAACV,KAAK,GAAGkC,mBAAmB;QAClDrC,aAAa,CAACe,WAAW,CAACZ,KAAK,GAAGkC,mBAAmB;MACvD;IACF;EACF;AACF,CAAC;AACD,eAAerC,aAAa"}
@@ -0,0 +1,25 @@
1
+ import { Colours } from './core.config';
2
+ const jobStatusOptions = [{
3
+ name: 'Unassigned',
4
+ color: Colours.LINEGREY
5
+ }, {
6
+ name: 'In Progress',
7
+ color: Colours.COLOUR_TEAL
8
+ }, {
9
+ name: 'Completed',
10
+ color: Colours.COLOUR_GREEN_LIGHT
11
+ }];
12
+ const getJobStatusColour = status => {
13
+ const option = jobStatusOptions.find(item => item.name === status);
14
+ return option ? option.color : jobStatusOptions[0].color;
15
+ };
16
+ const getJobStatusProps = status => {
17
+ const statusText = status || jobStatusOptions[0].name;
18
+ const statusColor = getJobStatusColour(statusText);
19
+ return {
20
+ statusText,
21
+ statusColor
22
+ };
23
+ };
24
+ export { jobStatusOptions, getJobStatusColour, getJobStatusProps };
25
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Colours","jobStatusOptions","name","color","LINEGREY","COLOUR_TEAL","COLOUR_GREEN_LIGHT","getJobStatusColour","status","option","find","item","getJobStatusProps","statusText","statusColor"],"sources":["helper.js"],"sourcesContent":["import { Colours } from './core.config';\n\nconst jobStatusOptions = [\n {\n name: 'Unassigned',\n color: Colours.LINEGREY,\n },\n {\n name: 'In Progress',\n color: Colours.COLOUR_TEAL,\n },\n {\n name: 'Completed',\n color: Colours.COLOUR_GREEN_LIGHT,\n },\n];\n\nconst getJobStatusColour = status => {\n const option = jobStatusOptions.find(item => item.name === status);\n return option ? option.color : jobStatusOptions[0].color;\n};\n\nconst getJobStatusProps = status => {\n const statusText = status || jobStatusOptions[0].name;\n const statusColor = getJobStatusColour(statusText);\n\n return { statusText, statusColor };\n};\n\nexport { jobStatusOptions, getJobStatusColour, getJobStatusProps };\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,MAAMC,gBAAgB,GAAG,CACvB;EACEC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAEH,OAAO,CAACI;AACjB,CAAC,EACD;EACEF,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAEH,OAAO,CAACK;AACjB,CAAC,EACD;EACEH,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAEH,OAAO,CAACM;AACjB,CAAC,CACF;AAED,MAAMC,kBAAkB,GAAGC,MAAM,IAAI;EACnC,MAAMC,MAAM,GAAGR,gBAAgB,CAACS,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACT,IAAI,KAAKM,MAAM,CAAC;EAClE,OAAOC,MAAM,GAAGA,MAAM,CAACN,KAAK,GAAGF,gBAAgB,CAAC,CAAC,CAAC,CAACE,KAAK;AAC1D,CAAC;AAED,MAAMS,iBAAiB,GAAGJ,MAAM,IAAI;EAClC,MAAMK,UAAU,GAAGL,MAAM,IAAIP,gBAAgB,CAAC,CAAC,CAAC,CAACC,IAAI;EACrD,MAAMY,WAAW,GAAGP,kBAAkB,CAACM,UAAU,CAAC;EAElD,OAAO;IAAEA,UAAU;IAAEC;EAAY,CAAC;AACpC,CAAC;AAED,SAASb,gBAAgB,EAAEM,kBAAkB,EAAEK,iBAAiB"}
@@ -0,0 +1,20 @@
1
+ import MaintenancePage from './screens/MaintenancePage';
2
+ import RequestDetail from './screens/RequestDetail';
3
+ import ServiceRequest from './screens/ServiceRequest';
4
+ import JobTypePicker from './screens/JobTypePicker';
5
+ import RequestNotes from './screens/RequestNotes';
6
+ import JobsReducer from './reducers/JobsReducer';
7
+ export const Reducers = {
8
+ jobs: JobsReducer
9
+ };
10
+ export const Screens = {
11
+ maintenance: MaintenancePage,
12
+ requestDetail: RequestDetail,
13
+ serviceRequest: ServiceRequest,
14
+ jobTypePicker: JobTypePicker,
15
+ requestNotes: RequestNotes
16
+ };
17
+ export { default as Config } from './feature.config';
18
+ export { default as WidgetSmall } from './components/WidgetSmall';
19
+ export { default as WidgetLarge } from './components/WidgetLarge';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MaintenancePage","RequestDetail","ServiceRequest","JobTypePicker","RequestNotes","JobsReducer","Reducers","jobs","Screens","maintenance","requestDetail","serviceRequest","jobTypePicker","requestNotes","default","Config","WidgetSmall","WidgetLarge"],"sources":["index.js"],"sourcesContent":["import MaintenancePage from './screens/MaintenancePage';\nimport RequestDetail from './screens/RequestDetail';\nimport ServiceRequest from './screens/ServiceRequest';\nimport JobTypePicker from './screens/JobTypePicker';\nimport RequestNotes from './screens/RequestNotes';\nimport JobsReducer from './reducers/JobsReducer';\n\nexport const Reducers = { jobs: JobsReducer };\nexport const Screens = {\n maintenance: MaintenancePage,\n requestDetail: RequestDetail,\n serviceRequest: ServiceRequest,\n jobTypePicker: JobTypePicker,\n requestNotes: RequestNotes,\n};\nexport { default as Config } from './feature.config';\nexport { default as WidgetSmall } from './components/WidgetSmall';\nexport { default as WidgetLarge } from './components/WidgetLarge';\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,2BAA2B;AACvD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,cAAc,MAAM,0BAA0B;AACrD,OAAOC,aAAa,MAAM,yBAAyB;AACnD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,WAAW,MAAM,wBAAwB;AAEhD,OAAO,MAAMC,QAAQ,GAAG;EAAEC,IAAI,EAAEF;AAAY,CAAC;AAC7C,OAAO,MAAMG,OAAO,GAAG;EACrBC,WAAW,EAAET,eAAe;EAC5BU,aAAa,EAAET,aAAa;EAC5BU,cAAc,EAAET,cAAc;EAC9BU,aAAa,EAAET,aAAa;EAC5BU,YAAY,EAAET;AAChB,CAAC;AACD,SAASU,OAAO,IAAIC,MAAM,QAAQ,kBAAkB;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,0BAA0B;AACjE,SAASF,OAAO,IAAIG,WAAW,QAAQ,0BAA0B"}
@@ -0,0 +1,62 @@
1
+ /* eslint-disable no-param-reassign */
2
+ import _ from 'lodash';
3
+ import { REHYDRATE } from 'redux-persist';
4
+ import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';
5
+ import { ActionTypes } from '../core.config';
6
+ const REDUCER_KEY = 'jobs';
7
+ const INITIAL_STATE = {
8
+ jobs: []
9
+ };
10
+ export default ((state = INITIAL_STATE, action) => {
11
+ let updateJobs = [];
12
+ let index = 0;
13
+ switch (action.type) {
14
+ case ActionTypes.LOGOUT:
15
+ case ActionTypes.CHANGE_ROLE:
16
+ return INITIAL_STATE;
17
+ case JOBS_LOADED:
18
+ return {
19
+ ...state,
20
+ jobs: action.payload.map(job => ({
21
+ title: job.title || job.description,
22
+ ...job
23
+ }))
24
+ };
25
+ case JOBS_ADDED:
26
+ updateJobs = action.payload.map(job => ({
27
+ title: job.title || job.description,
28
+ ...job
29
+ }));
30
+ updateJobs = _.unionWith(updateJobs, state.jobs, (j1, j2) => {
31
+ return j1.id === j2.id;
32
+ });
33
+ return {
34
+ ...state,
35
+ jobs: updateJobs
36
+ };
37
+ case JOB_ADDED:
38
+ updateJobs = [...state.jobs];
39
+ index = updateJobs.findIndex(item => item.id === action.payload.id);
40
+ if (index > -1) {
41
+ updateJobs[index] = action.payload;
42
+ } else {
43
+ updateJobs.push(action.payload);
44
+ }
45
+ return {
46
+ ...state,
47
+ jobs: updateJobs
48
+ };
49
+ case REHYDRATE:
50
+ if (!action.payload) return state;
51
+ if (action.payload[REDUCER_KEY]) {
52
+ if (action.payload[REDUCER_KEY].jobs == null) {
53
+ action.payload[REDUCER_KEY].jobs = [];
54
+ }
55
+ return action.payload[REDUCER_KEY];
56
+ }
57
+ return state;
58
+ default:
59
+ return state;
60
+ }
61
+ });
62
+ //# sourceMappingURL=JobsReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_","REHYDRATE","JOBS_LOADED","JOB_ADDED","JOBS_ADDED","ActionTypes","REDUCER_KEY","INITIAL_STATE","jobs","state","action","updateJobs","index","type","LOGOUT","CHANGE_ROLE","payload","map","job","title","description","unionWith","j1","j2","id","findIndex","item","push"],"sources":["JobsReducer.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport _ from 'lodash';\nimport { REHYDRATE } from 'redux-persist';\nimport { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from '../actions/types';\nimport { ActionTypes } from '../core.config';\n\nconst REDUCER_KEY = 'jobs';\n\nconst INITIAL_STATE = {\n jobs: [],\n};\n\nexport default (state = INITIAL_STATE, action) => {\n let updateJobs = [];\n let index = 0;\n\n switch (action.type) {\n case ActionTypes.LOGOUT:\n case ActionTypes.CHANGE_ROLE:\n return INITIAL_STATE;\n case JOBS_LOADED:\n return { ...state, jobs: action.payload.map(job => ({ title: job.title || job.description, ...job })) };\n case JOBS_ADDED:\n updateJobs = action.payload.map(job => ({ title: job.title || job.description, ...job }));\n updateJobs = _.unionWith(updateJobs, state.jobs, (j1, j2) => {\n return j1.id === j2.id;\n });\n return { ...state, jobs: updateJobs };\n case JOB_ADDED:\n updateJobs = [...state.jobs];\n index = updateJobs.findIndex(item => item.id === action.payload.id);\n if (index > -1) {\n updateJobs[index] = action.payload;\n } else {\n updateJobs.push(action.payload);\n }\n return { ...state, jobs: updateJobs };\n case REHYDRATE:\n if (!action.payload) return state;\n if (action.payload[REDUCER_KEY]) {\n if (action.payload[REDUCER_KEY].jobs == null) {\n action.payload[REDUCER_KEY].jobs = [];\n }\n return action.payload[REDUCER_KEY];\n }\n return state;\n default:\n return state;\n }\n};\n"],"mappings":"AAAA;AACA,OAAOA,CAAC,MAAM,QAAQ;AACtB,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,QAAQ,kBAAkB;AACrE,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,MAAMC,WAAW,GAAG,MAAM;AAE1B,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,gBAAe,CAACC,KAAK,GAAGF,aAAa,EAAEG,MAAM,KAAK;EAChD,IAAIC,UAAU,GAAG,EAAE;EACnB,IAAIC,KAAK,GAAG,CAAC;EAEb,QAAQF,MAAM,CAACG,IAAI;IACjB,KAAKR,WAAW,CAACS,MAAM;IACvB,KAAKT,WAAW,CAACU,WAAW;MAC1B,OAAOR,aAAa;IACtB,KAAKL,WAAW;MACd,OAAO;QAAE,GAAGO,KAAK;QAAED,IAAI,EAAEE,MAAM,CAACM,OAAO,CAACC,GAAG,CAACC,GAAG,KAAK;UAAEC,KAAK,EAAED,GAAG,CAACC,KAAK,IAAID,GAAG,CAACE,WAAW;UAAE,GAAGF;QAAI,CAAC,CAAC;MAAE,CAAC;IACzG,KAAKd,UAAU;MACbO,UAAU,GAAGD,MAAM,CAACM,OAAO,CAACC,GAAG,CAACC,GAAG,KAAK;QAAEC,KAAK,EAAED,GAAG,CAACC,KAAK,IAAID,GAAG,CAACE,WAAW;QAAE,GAAGF;MAAI,CAAC,CAAC,CAAC;MACzFP,UAAU,GAAGX,CAAC,CAACqB,SAAS,CAACV,UAAU,EAAEF,KAAK,CAACD,IAAI,EAAE,CAACc,EAAE,EAAEC,EAAE,KAAK;QAC3D,OAAOD,EAAE,CAACE,EAAE,KAAKD,EAAE,CAACC,EAAE;MACxB,CAAC,CAAC;MACF,OAAO;QAAE,GAAGf,KAAK;QAAED,IAAI,EAAEG;MAAW,CAAC;IACvC,KAAKR,SAAS;MACZQ,UAAU,GAAG,CAAC,GAAGF,KAAK,CAACD,IAAI,CAAC;MAC5BI,KAAK,GAAGD,UAAU,CAACc,SAAS,CAACC,IAAI,IAAIA,IAAI,CAACF,EAAE,KAAKd,MAAM,CAACM,OAAO,CAACQ,EAAE,CAAC;MACnE,IAAIZ,KAAK,GAAG,CAAC,CAAC,EAAE;QACdD,UAAU,CAACC,KAAK,CAAC,GAAGF,MAAM,CAACM,OAAO;MACpC,CAAC,MAAM;QACLL,UAAU,CAACgB,IAAI,CAACjB,MAAM,CAACM,OAAO,CAAC;MACjC;MACA,OAAO;QAAE,GAAGP,KAAK;QAAED,IAAI,EAAEG;MAAW,CAAC;IACvC,KAAKV,SAAS;MACZ,IAAI,CAACS,MAAM,CAACM,OAAO,EAAE,OAAOP,KAAK;MACjC,IAAIC,MAAM,CAACM,OAAO,CAACV,WAAW,CAAC,EAAE;QAC/B,IAAII,MAAM,CAACM,OAAO,CAACV,WAAW,CAAC,CAACE,IAAI,IAAI,IAAI,EAAE;UAC5CE,MAAM,CAACM,OAAO,CAACV,WAAW,CAAC,CAACE,IAAI,GAAG,EAAE;QACvC;QACA,OAAOE,MAAM,CAACM,OAAO,CAACV,WAAW,CAAC;MACpC;MACA,OAAOG,KAAK;IACd;MACE,OAAOA,KAAK;EAChB;AACF,CAAC"}
@@ -0,0 +1,130 @@
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 _ from 'lodash';
6
+ import { TouchableOpacity, View, ScrollView, Text } from 'react-native';
7
+ import { connect } from 'react-redux';
8
+ import { Icon } from 'react-native-elements';
9
+ import { Services } from '../feature.config';
10
+ import { Components, Colours } from '../core.config';
11
+ class JobTypePicker extends Component {
12
+ constructor(...args) {
13
+ super(...args);
14
+ _defineProperty(this, "state", {
15
+ currentType: null
16
+ });
17
+ }
18
+ UNSAFE_componentWillMount() {
19
+ this.setState({
20
+ currentType: this.props.currentType
21
+ });
22
+ }
23
+ onPressBack() {
24
+ Services.navigation.goBack();
25
+ }
26
+ onTypePress(type) {
27
+ this.props.onSelectType(type);
28
+ this.setState({
29
+ currentType: type
30
+ });
31
+ setTimeout(() => {
32
+ this.onPressBack();
33
+ }, 200);
34
+ }
35
+ renderMain() {
36
+ if (_.isEmpty(this.props.types)) {
37
+ return /*#__PURE__*/React.createElement(View, {
38
+ style: {
39
+ marginTop: 16
40
+ }
41
+ }, /*#__PURE__*/React.createElement(Components.Spinner, null));
42
+ }
43
+ return /*#__PURE__*/React.createElement(Components.FormCard, {
44
+ style: {
45
+ marginTop: 16
46
+ }
47
+ }, this.renderOptions());
48
+ }
49
+ renderOptions() {
50
+ return this.props.types.map((rep, index) => {
51
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
52
+ key: index,
53
+ onPress: this.onTypePress.bind(this, rep.typeName)
54
+ }, /*#__PURE__*/React.createElement(Components.FormCardSection, {
55
+ label: rep.typeName,
56
+ labelStyle: {
57
+ height: 0,
58
+ margin: 0
59
+ },
60
+ hasUnderline: true,
61
+ hasContent: true
62
+ }, /*#__PURE__*/React.createElement(View, {
63
+ style: styles.labelContainer
64
+ }, /*#__PURE__*/React.createElement(Text, {
65
+ style: styles.labelText
66
+ }, rep.typeName), /*#__PURE__*/React.createElement(Icon, {
67
+ name: "check-circle"
68
+ //style={styles.uploadButtonInner}
69
+ ,
70
+ type: "font-awesome",
71
+ iconStyle: [{
72
+ color: '#d5d9e0',
73
+ fontSize: 20
74
+ }, rep.typeName === this.state.currentType && {
75
+ color: Colours.COLOUR_GREEN
76
+ }]
77
+ })), !_.isEmpty(rep.description) && /*#__PURE__*/React.createElement(Text, {
78
+ style: styles.description
79
+ }, rep.description)));
80
+ });
81
+ }
82
+ render() {
83
+ return /*#__PURE__*/React.createElement(View, {
84
+ style: styles.container
85
+ }, /*#__PURE__*/React.createElement(Components.Header, {
86
+ leftIcon: "angle-left",
87
+ onPressLeft: this.onPressBack.bind(this),
88
+ text: "Select type"
89
+ }), /*#__PURE__*/React.createElement(ScrollView, {
90
+ style: {
91
+ flex: 1
92
+ }
93
+ }, this.renderMain()));
94
+ }
95
+ }
96
+ const styles = {
97
+ container: {
98
+ flex: 1,
99
+ position: 'relative',
100
+ backgroundColor: '#f0f0f5'
101
+ },
102
+ row: {
103
+ flexDirection: 'row',
104
+ alignItems: 'center',
105
+ minHeight: 22
106
+ },
107
+ text: {
108
+ flex: 1,
109
+ fontFamily: 'sf-regular',
110
+ fontSize: 14,
111
+ color: Colours.TEXT_DARK
112
+ },
113
+ labelContainer: {
114
+ flexDirection: 'row',
115
+ justifyContent: 'space-between'
116
+ },
117
+ labelText: {
118
+ fontFamily: 'sf-medium',
119
+ fontSize: 16,
120
+ color: Colours.TEXT_DARK
121
+ },
122
+ description: {
123
+ marginTop: 5,
124
+ fontSize: 14,
125
+ fontFamily: 'sf-regular',
126
+ color: Colours.TEXT_DARK
127
+ }
128
+ };
129
+ export default connect(null, {})(JobTypePicker);
130
+ //# sourceMappingURL=JobTypePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","_","TouchableOpacity","View","ScrollView","Text","connect","Icon","Services","Components","Colours","JobTypePicker","constructor","args","_defineProperty","currentType","UNSAFE_componentWillMount","setState","props","onPressBack","navigation","goBack","onTypePress","type","onSelectType","setTimeout","renderMain","isEmpty","types","createElement","style","marginTop","Spinner","FormCard","renderOptions","map","rep","index","key","onPress","bind","typeName","FormCardSection","label","labelStyle","height","margin","hasUnderline","hasContent","styles","labelContainer","labelText","name","iconStyle","color","fontSize","state","COLOUR_GREEN","description","render","container","Header","leftIcon","onPressLeft","text","flex","position","backgroundColor","row","flexDirection","alignItems","minHeight","fontFamily","TEXT_DARK","justifyContent"],"sources":["JobTypePicker.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { Services } from '../feature.config';\nimport { Components, Colours } from '../core.config';\n\nclass JobTypePicker extends Component {\n state = {\n currentType: null,\n };\n\n UNSAFE_componentWillMount() {\n this.setState({ currentType: this.props.currentType });\n }\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onTypePress(type) {\n this.props.onSelectType(type);\n this.setState({ currentType: type });\n setTimeout(() => {\n this.onPressBack();\n }, 200);\n }\n\n renderMain() {\n if (_.isEmpty(this.props.types)) {\n return (\n <View style={{ marginTop: 16 }}>\n <Components.Spinner />\n </View>\n );\n }\n\n return <Components.FormCard style={{ marginTop: 16 }}>{this.renderOptions()}</Components.FormCard>;\n }\n\n renderOptions() {\n return this.props.types.map((rep, index) => {\n return (\n <TouchableOpacity key={index} onPress={this.onTypePress.bind(this, rep.typeName)}>\n <Components.FormCardSection label={rep.typeName} labelStyle={{ height: 0, margin: 0 }} hasUnderline hasContent>\n <View style={styles.labelContainer}>\n <Text style={styles.labelText}>{rep.typeName}</Text>\n <Icon\n name=\"check-circle\"\n //style={styles.uploadButtonInner}\n type=\"font-awesome\"\n iconStyle={[{ color: '#d5d9e0', fontSize: 20 }, rep.typeName === this.state.currentType && { color: Colours.COLOUR_GREEN }]}\n />\n </View>\n {!_.isEmpty(rep.description) && <Text style={styles.description}>{rep.description}</Text>}\n </Components.FormCardSection>\n </TouchableOpacity>\n );\n });\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack.bind(this)} text=\"Select type\" />\n <ScrollView style={{ flex: 1 }}>{this.renderMain()}</ScrollView>\n </View>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 22,\n },\n text: {\n flex: 1,\n fontFamily: 'sf-regular',\n fontSize: 14,\n color: Colours.TEXT_DARK,\n },\n labelContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: Colours.TEXT_DARK,\n },\n description: {\n marginTop: 5,\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARK,\n },\n};\n\nexport default connect(null, {})(JobTypePicker);\n"],"mappings":"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"}
@@ -0,0 +1,88 @@
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, StyleSheet } from 'react-native';
6
+ import { connect } from 'react-redux';
7
+ import _ from 'lodash';
8
+ import MaintenanceList from '../components/MaintenanceList';
9
+ import { Services, BaseComponents } from '../feature.config';
10
+ import { Components, Helper, Styles, Config } from '../core.config';
11
+ class MaintenancePage extends Component {
12
+ constructor(props) {
13
+ super(props);
14
+ _defineProperty(this, "onPressBack", () => {
15
+ Services.navigation.goBack();
16
+ });
17
+ _defineProperty(this, "onLoadingChanged", loading => {
18
+ this.setState({
19
+ loading
20
+ });
21
+ });
22
+ this.state = {
23
+ isHomeTab: false,
24
+ loading: false
25
+ };
26
+ }
27
+ componentDidMount() {
28
+ // console.log('!Services.navigation.getParentRoute()', !Services.navigation.getParentRoute());
29
+ this.setState({
30
+ isHomeTab: !Services.navigation.getParentRoute()
31
+ });
32
+ }
33
+ renderHeader() {
34
+ if (this.state.isHomeTab) {
35
+ return /*#__PURE__*/React.createElement(Components.Header, {
36
+ text: this.props.title || Config.env.strings.MAINTENANCE,
37
+ rightContent: _.includes(this.props.user.hidden, 'notifications') ? null : /*#__PURE__*/React.createElement(View, {
38
+ style: styles.notificationContainer
39
+ }, /*#__PURE__*/React.createElement(BaseComponents.NotificationBell, {
40
+ colourBrandingHeader: this.props.colourBrandingHeader,
41
+ containerStyle: Styles.notificationBell
42
+ }))
43
+ });
44
+ }
45
+ return /*#__PURE__*/React.createElement(Components.Header, {
46
+ leftIcon: "angle-left",
47
+ onPressLeft: this.onPressBack,
48
+ text: this.props.title || Config.env.strings.MAINTENANCE
49
+ });
50
+ }
51
+ render() {
52
+ const {
53
+ isHomeTab
54
+ } = this.state;
55
+ return /*#__PURE__*/React.createElement(View, {
56
+ style: styles.container
57
+ }, this.renderHeader(), /*#__PURE__*/React.createElement(Components.LoadingIndicator, {
58
+ visible: this.state.loading
59
+ }), /*#__PURE__*/React.createElement(MaintenanceList, {
60
+ style: styles.maintenanceList,
61
+ onLoadingChanged: this.onLoadingChanged,
62
+ enableAdd: !isHomeTab,
63
+ options: this.props.options
64
+ }));
65
+ }
66
+ }
67
+ const styles = StyleSheet.create({
68
+ container: {
69
+ flex: 1
70
+ },
71
+ notificationContainer: {
72
+ position: 'absolute',
73
+ top: 0,
74
+ bottom: 0,
75
+ right: 0,
76
+ paddingTop: Helper.StatusBarHeight(0)
77
+ },
78
+ maintenanceList: {
79
+ marginTop: 12
80
+ }
81
+ });
82
+ const mapStateToProps = state => {
83
+ return {
84
+ user: state.user
85
+ };
86
+ };
87
+ export default connect(mapStateToProps, {})(MaintenancePage);
88
+ //# sourceMappingURL=MaintenancePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","View","StyleSheet","connect","_","MaintenanceList","Services","BaseComponents","Components","Helper","Styles","Config","MaintenancePage","constructor","props","_defineProperty","navigation","goBack","loading","setState","state","isHomeTab","componentDidMount","getParentRoute","renderHeader","createElement","Header","text","title","env","strings","MAINTENANCE","rightContent","includes","user","hidden","style","styles","notificationContainer","NotificationBell","colourBrandingHeader","containerStyle","notificationBell","leftIcon","onPressLeft","onPressBack","render","container","LoadingIndicator","visible","maintenanceList","onLoadingChanged","enableAdd","options","create","flex","position","top","bottom","right","paddingTop","StatusBarHeight","marginTop","mapStateToProps"],"sources":["MaintenancePage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport MaintenanceList from '../components/MaintenanceList';\nimport { Services, BaseComponents } from '../feature.config';\nimport { Components, Helper, Styles, Config } from '../core.config';\n\nclass MaintenancePage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isHomeTab: false,\n loading: false,\n };\n }\n\n componentDidMount() {\n // console.log('!Services.navigation.getParentRoute()', !Services.navigation.getParentRoute());\n this.setState({ isHomeTab: !Services.navigation.getParentRoute() });\n }\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onLoadingChanged = loading => {\n this.setState({ loading });\n };\n\n renderHeader() {\n if (this.state.isHomeTab) {\n return (\n <Components.Header\n text={this.props.title || Config.env.strings.MAINTENANCE}\n rightContent={\n _.includes(this.props.user.hidden, 'notifications') ? null : (\n <View style={styles.notificationContainer}>\n <BaseComponents.NotificationBell\n colourBrandingHeader={this.props.colourBrandingHeader}\n containerStyle={Styles.notificationBell}\n />\n </View>\n )\n }\n />\n );\n }\n return (\n <Components.Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={this.props.title || Config.env.strings.MAINTENANCE} />\n );\n }\n\n render() {\n const { isHomeTab } = this.state;\n\n return (\n <View style={styles.container}>\n {this.renderHeader()}\n <Components.LoadingIndicator visible={this.state.loading} />\n <MaintenanceList\n style={styles.maintenanceList}\n onLoadingChanged={this.onLoadingChanged}\n enableAdd={!isHomeTab}\n options={this.props.options}\n />\n {/* {isHomeTab && <Components.AddContentButton />} */}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n notificationContainer: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n paddingTop: Helper.StatusBarHeight(0),\n },\n maintenanceList: {\n marginTop: 12,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n };\n};\n\nexport default connect(mapStateToProps, {})(MaintenancePage);\n"],"mappings":"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"}