@plusscommunities/pluss-maintenance-app 6.0.11 → 6.0.12-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/actions/JobActions.js +44 -1
- package/dist/module/actions/JobActions.js.map +1 -1
- package/dist/module/actions/types.js +3 -0
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/apis/index.js +2 -0
- package/dist/module/apis/index.js.map +1 -1
- package/dist/module/apis/maintenanceActions.js +21 -6
- package/dist/module/apis/maintenanceActions.js.map +1 -1
- package/dist/module/components/FilterPopupMenu.js +34 -18
- package/dist/module/components/FilterPopupMenu.js.map +1 -1
- package/dist/module/components/MaintenanceList.js +47 -56
- package/dist/module/components/MaintenanceList.js.map +1 -1
- package/dist/module/components/MaintenanceListItem.js +39 -26
- package/dist/module/components/MaintenanceListItem.js.map +1 -1
- package/dist/module/components/MaintenanceWidgetItem.js +12 -12
- package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
- package/dist/module/components/PrioritySelectorPopup.js +82 -0
- package/dist/module/components/PrioritySelectorPopup.js.map +1 -0
- package/dist/module/components/StatusSelectorPopup.js +9 -14
- package/dist/module/components/StatusSelectorPopup.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +7 -3
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/helper.js +39 -25
- package/dist/module/helper.js.map +1 -1
- package/dist/module/reducers/JobsReducer.js +31 -2
- package/dist/module/reducers/JobsReducer.js.map +1 -1
- package/dist/module/screens/RequestDetail.js +90 -18
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/RequestNotes.js +335 -19
- package/dist/module/screens/RequestNotes.js.map +1 -1
- package/dist/module/values.config.a.js +6 -1
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.default.js +6 -1
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.forms.js +6 -1
- package/dist/module/values.config.forms.js.map +1 -1
- package/dist/module/values.config.js +6 -1
- package/dist/module/values.config.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/JobActions.js +53 -1
- package/src/actions/types.js +4 -0
- package/src/apis/index.js +4 -0
- package/src/apis/maintenanceActions.js +18 -6
- package/src/components/FilterPopupMenu.js +40 -21
- package/src/components/MaintenanceList.js +38 -47
- package/src/components/MaintenanceListItem.js +35 -21
- package/src/components/MaintenanceWidgetItem.js +16 -12
- package/src/components/PrioritySelectorPopup.js +79 -0
- package/src/components/StatusSelectorPopup.js +8 -14
- package/src/components/WidgetSmall.js +5 -3
- package/src/helper.js +50 -21
- package/src/reducers/JobsReducer.js +25 -1
- package/src/screens/RequestDetail.js +89 -26
- package/src/screens/RequestNotes.js +348 -28
- package/src/values.config.a.js +5 -0
- package/src/values.config.default.js +5 -0
- package/src/values.config.forms.js +5 -0
- package/src/values.config.js +5 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","iconAddMenu","iconKioskAction","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName"],"sources":["values.config.a.js"],"sourcesContent":["const values = {\n featureKey: 'maintenanceA',\n aliases: ['maintenanceRequestA'],\n reducerKey: 'jobsA',\n serviceKey: 'maintenanceA',\n updateKey: 'jobsA',\n commentKey: 'maintenanceA',\n actionJobsLoaded: 'JOBS_LOADEDA',\n actionJobAdded: 'JOB_ADDEDA',\n actionJobsAdded: 'JOBS_ADDEDA',\n screenMaintenance: 'maintenanceA',\n screenRequestDetail: 'requestDetailA',\n screenServiceRequest: 'serviceRequestA',\n screenJobTypePicker: 'jobTypePickerA',\n screenRequestNotes: 'requestNotesA',\n permissionMaintenanceTracking: 'maintenanceTrackingA',\n permissionMaintenanceAssignment: 'maintenanceAssignmentA',\n iconGridMenu: 'maintenance',\n iconAddMenu: 'request',\n iconKioskAction: 'wrench',\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Request A',\n textAddMenuTitle: 'Request A',\n textMoreMenuTitle: 'Request A',\n textKioskActionTitle: 'Request A',\n textEntityName: 'Job',\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,cAAc;EAC1BC,OAAO,EAAE,CAAC,qBAAqB,CAAC;EAChCC,UAAU,EAAE,OAAO;EACnBC,UAAU,EAAE,cAAc;EAC1BC,SAAS,EAAE,OAAO;EAClBC,UAAU,EAAE,cAAc;EAC1BC,gBAAgB,EAAE,cAAc;EAChCC,cAAc,EAAE,YAAY;EAC5BC,eAAe,EAAE,aAAa;EAC9BC,iBAAiB,EAAE,cAAc;EACjCC,mBAAmB,EAAE,gBAAgB;EACrCC,oBAAoB,EAAE,iBAAiB;EACvCC,mBAAmB,EAAE,gBAAgB;EACrCC,kBAAkB,EAAE,eAAe;EACnCC,6BAA6B,EAAE,sBAAsB;EACrDC,+BAA+B,EAAE,wBAAwB;EACzDC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE,SAAS;EACtBC,eAAe,EAAE,QAAQ;EACzBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,WAAW;EAC7BC,gBAAgB,EAAE,WAAW;EAC7BC,iBAAiB,EAAE,WAAW;EAC9BC,oBAAoB,EAAE,WAAW;EACjCC,cAAc,EAAE;
|
1
|
+
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","actionJobsStatusesLoaded","actionJobsHideSeen","actionJobFilterLoaded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","iconAddMenu","iconKioskAction","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","stringConfigJobStatus","stringConfigHideSeen"],"sources":["values.config.a.js"],"sourcesContent":["const values = {\n featureKey: 'maintenanceA',\n aliases: ['maintenanceRequestA'],\n reducerKey: 'jobsA',\n serviceKey: 'maintenanceA',\n updateKey: 'jobsA',\n commentKey: 'maintenanceA',\n actionJobsLoaded: 'JOBS_LOADEDA',\n actionJobAdded: 'JOB_ADDEDA',\n actionJobsAdded: 'JOBS_ADDEDA',\n actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADEDA',\n actionJobsHideSeen: 'JOBS_HIDE_SEENA',\n actionJobFilterLoaded: 'JOBS_FILTER_LOADEDA',\n screenMaintenance: 'maintenanceA',\n screenRequestDetail: 'requestDetailA',\n screenServiceRequest: 'serviceRequestA',\n screenJobTypePicker: 'jobTypePickerA',\n screenRequestNotes: 'requestNotesA',\n permissionMaintenanceTracking: 'maintenanceTrackingA',\n permissionMaintenanceAssignment: 'maintenanceAssignmentA',\n iconGridMenu: 'maintenance',\n iconAddMenu: 'request',\n iconKioskAction: 'wrench',\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Request A',\n textAddMenuTitle: 'Request A',\n textMoreMenuTitle: 'Request A',\n textKioskActionTitle: 'Request A',\n textEntityName: 'Job',\n stringConfigJobStatus: 'maintenanceJobStatusA',\n stringConfigHideSeen: 'maintenanceDisableSeenA',\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,cAAc;EAC1BC,OAAO,EAAE,CAAC,qBAAqB,CAAC;EAChCC,UAAU,EAAE,OAAO;EACnBC,UAAU,EAAE,cAAc;EAC1BC,SAAS,EAAE,OAAO;EAClBC,UAAU,EAAE,cAAc;EAC1BC,gBAAgB,EAAE,cAAc;EAChCC,cAAc,EAAE,YAAY;EAC5BC,eAAe,EAAE,aAAa;EAC9BC,wBAAwB,EAAE,uBAAuB;EACjDC,kBAAkB,EAAE,iBAAiB;EACrCC,qBAAqB,EAAE,qBAAqB;EAC5CC,iBAAiB,EAAE,cAAc;EACjCC,mBAAmB,EAAE,gBAAgB;EACrCC,oBAAoB,EAAE,iBAAiB;EACvCC,mBAAmB,EAAE,gBAAgB;EACrCC,kBAAkB,EAAE,eAAe;EACnCC,6BAA6B,EAAE,sBAAsB;EACrDC,+BAA+B,EAAE,wBAAwB;EACzDC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE,SAAS;EACtBC,eAAe,EAAE,QAAQ;EACzBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,WAAW;EAC7BC,gBAAgB,EAAE,WAAW;EAC7BC,iBAAiB,EAAE,WAAW;EAC9BC,oBAAoB,EAAE,WAAW;EACjCC,cAAc,EAAE,KAAK;EACrBC,qBAAqB,EAAE,uBAAuB;EAC9CC,oBAAoB,EAAE;AACxB,CAAC;AAED,SAAShC,MAAM","ignoreList":[]}
|
@@ -8,6 +8,9 @@ const values = {
|
|
8
8
|
actionJobsLoaded: 'JOBS_LOADED',
|
9
9
|
actionJobAdded: 'JOB_ADDED',
|
10
10
|
actionJobsAdded: 'JOBS_ADDED',
|
11
|
+
actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADED',
|
12
|
+
actionJobsHideSeen: 'JOBS_HIDE_SEEN',
|
13
|
+
actionJobFilterLoaded: 'JOBS_FILTER_LOADED',
|
11
14
|
screenMaintenance: 'maintenance',
|
12
15
|
screenRequestDetail: 'requestDetail',
|
13
16
|
screenServiceRequest: 'serviceRequest',
|
@@ -31,7 +34,9 @@ const values = {
|
|
31
34
|
textJobType: 'Request Type',
|
32
35
|
emptyRequestsStaff: 'No active Requests',
|
33
36
|
emptyRequestsUser: 'Your Requests will show here',
|
34
|
-
forceCustomFields: false
|
37
|
+
forceCustomFields: false,
|
38
|
+
stringConfigJobStatus: 'maintenanceJobStatus',
|
39
|
+
stringConfigHideSeen: 'maintenanceDisableSeen'
|
35
40
|
};
|
36
41
|
export { values };
|
37
42
|
//# sourceMappingURL=values.config.default.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","gridViewBox","iconAddMenu","iconKioskAction","hasMoreOption","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","textJobType","emptyRequestsStaff","emptyRequestsUser","forceCustomFields"],"sources":["values.config.default.js"],"sourcesContent":["const values = {\n featureKey: 'maintenance',\n aliases: ['maintenanceRequest'],\n reducerKey: 'jobs',\n serviceKey: 'maintenance',\n updateKey: 'jobs',\n commentKey: 'maintenancerequest',\n actionJobsLoaded: 'JOBS_LOADED',\n actionJobAdded: 'JOB_ADDED',\n actionJobsAdded: 'JOBS_ADDED',\n screenMaintenance: 'maintenance',\n screenRequestDetail: 'requestDetail',\n screenServiceRequest: 'serviceRequest',\n screenJobTypePicker: 'jobTypePicker',\n screenRequestNotes: 'requestNotes',\n permissionMaintenanceTracking: 'maintenanceTracking',\n permissionMaintenanceAssignment: 'maintenanceAssignment',\n iconGridMenu: 'maintenance',\n gridViewBox: '0 0 30 30',\n iconAddMenu: 'request',\n iconKioskAction: 'wrench',\n hasMoreOption: true,\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Request',\n textAddMenuTitle: 'Request',\n textMoreMenuTitle: 'Request',\n textKioskActionTitle: 'Request',\n textEntityName: 'Job',\n textJobType: 'Request Type',\n emptyRequestsStaff: 'No active Requests',\n emptyRequestsUser: 'Your Requests will show here',\n forceCustomFields: false,\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,aAAa;EACzBC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,UAAU,EAAE,MAAM;EAClBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE,oBAAoB;EAChCC,gBAAgB,EAAE,aAAa;EAC/BC,cAAc,EAAE,WAAW;EAC3BC,eAAe,EAAE,YAAY;EAC7BC,iBAAiB,EAAE,aAAa;EAChCC,mBAAmB,EAAE,eAAe;EACpCC,oBAAoB,EAAE,gBAAgB;EACtCC,mBAAmB,EAAE,eAAe;EACpCC,kBAAkB,EAAE,cAAc;EAClCC,6BAA6B,EAAE,qBAAqB;EACpDC,+BAA+B,EAAE,uBAAuB;EACxDC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE,WAAW;EACxBC,WAAW,EAAE,SAAS;EACtBC,eAAe,EAAE,QAAQ;EACzBC,aAAa,EAAE,IAAI;EACnBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAC3BC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,KAAK;EACrBC,WAAW,EAAE,cAAc;EAC3BC,kBAAkB,EAAE,oBAAoB;EACxCC,iBAAiB,EAAE,8BAA8B;EACjDC,iBAAiB,EAAE;
|
1
|
+
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","actionJobsStatusesLoaded","actionJobsHideSeen","actionJobFilterLoaded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","gridViewBox","iconAddMenu","iconKioskAction","hasMoreOption","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","textJobType","emptyRequestsStaff","emptyRequestsUser","forceCustomFields","stringConfigJobStatus","stringConfigHideSeen"],"sources":["values.config.default.js"],"sourcesContent":["const values = {\n featureKey: 'maintenance',\n aliases: ['maintenanceRequest'],\n reducerKey: 'jobs',\n serviceKey: 'maintenance',\n updateKey: 'jobs',\n commentKey: 'maintenancerequest',\n actionJobsLoaded: 'JOBS_LOADED',\n actionJobAdded: 'JOB_ADDED',\n actionJobsAdded: 'JOBS_ADDED',\n actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADED',\n actionJobsHideSeen: 'JOBS_HIDE_SEEN',\n actionJobFilterLoaded: 'JOBS_FILTER_LOADED',\n screenMaintenance: 'maintenance',\n screenRequestDetail: 'requestDetail',\n screenServiceRequest: 'serviceRequest',\n screenJobTypePicker: 'jobTypePicker',\n screenRequestNotes: 'requestNotes',\n permissionMaintenanceTracking: 'maintenanceTracking',\n permissionMaintenanceAssignment: 'maintenanceAssignment',\n iconGridMenu: 'maintenance',\n gridViewBox: '0 0 30 30',\n iconAddMenu: 'request',\n iconKioskAction: 'wrench',\n hasMoreOption: true,\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Request',\n textAddMenuTitle: 'Request',\n textMoreMenuTitle: 'Request',\n textKioskActionTitle: 'Request',\n textEntityName: 'Job',\n textJobType: 'Request Type',\n emptyRequestsStaff: 'No active Requests',\n emptyRequestsUser: 'Your Requests will show here',\n forceCustomFields: false,\n stringConfigJobStatus: 'maintenanceJobStatus',\n stringConfigHideSeen: 'maintenanceDisableSeen',\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,aAAa;EACzBC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,UAAU,EAAE,MAAM;EAClBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE,oBAAoB;EAChCC,gBAAgB,EAAE,aAAa;EAC/BC,cAAc,EAAE,WAAW;EAC3BC,eAAe,EAAE,YAAY;EAC7BC,wBAAwB,EAAE,sBAAsB;EAChDC,kBAAkB,EAAE,gBAAgB;EACpCC,qBAAqB,EAAE,oBAAoB;EAC3CC,iBAAiB,EAAE,aAAa;EAChCC,mBAAmB,EAAE,eAAe;EACpCC,oBAAoB,EAAE,gBAAgB;EACtCC,mBAAmB,EAAE,eAAe;EACpCC,kBAAkB,EAAE,cAAc;EAClCC,6BAA6B,EAAE,qBAAqB;EACpDC,+BAA+B,EAAE,uBAAuB;EACxDC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE,WAAW;EACxBC,WAAW,EAAE,SAAS;EACtBC,eAAe,EAAE,QAAQ;EACzBC,aAAa,EAAE,IAAI;EACnBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAC3BC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,KAAK;EACrBC,WAAW,EAAE,cAAc;EAC3BC,kBAAkB,EAAE,oBAAoB;EACxCC,iBAAiB,EAAE,8BAA8B;EACjDC,iBAAiB,EAAE,KAAK;EACxBC,qBAAqB,EAAE,sBAAsB;EAC7CC,oBAAoB,EAAE;AACxB,CAAC;AAED,SAAStC,MAAM","ignoreList":[]}
|
@@ -8,6 +8,9 @@ const values = {
|
|
8
8
|
actionJobsLoaded: 'JOBS_LOADEDForms',
|
9
9
|
actionJobAdded: 'JOB_ADDEDForms',
|
10
10
|
actionJobsAdded: 'JOBS_ADDEDForms',
|
11
|
+
actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADEDForms',
|
12
|
+
actionJobsHideSeen: 'JOBS_HIDE_SEENForms',
|
13
|
+
actionJobFilterLoaded: 'JOBS_FILTER_LOADEDForms',
|
11
14
|
screenMaintenance: 'maintenanceForms',
|
12
15
|
screenRequestDetail: 'requestDetailForms',
|
13
16
|
screenServiceRequest: 'serviceRequestForms',
|
@@ -31,7 +34,9 @@ const values = {
|
|
31
34
|
textJobType: 'Form',
|
32
35
|
emptyRequestsStaff: 'No active Form Submissions',
|
33
36
|
emptyRequestsUser: 'Your Form Submissions will show here',
|
34
|
-
forceCustomFields: true
|
37
|
+
forceCustomFields: true,
|
38
|
+
stringConfigJobStatus: 'maintenanceJobStatusForms',
|
39
|
+
stringConfigHideSeen: 'maintenanceDisableSeenForms'
|
35
40
|
};
|
36
41
|
export { values };
|
37
42
|
//# sourceMappingURL=values.config.forms.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","gridViewBox","iconAddMenu","iconKioskAction","hasMoreOption","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","textJobType","emptyRequestsStaff","emptyRequestsUser","forceCustomFields"],"sources":["values.config.forms.js"],"sourcesContent":["const values = {\n featureKey: 'maintenanceForms',\n aliases: ['maintenanceRequest'],\n reducerKey: 'maintenanceForms',\n serviceKey: 'maintenanceForms',\n updateKey: 'jobsForms',\n commentKey: 'maintenanceForms',\n actionJobsLoaded: 'JOBS_LOADEDForms',\n actionJobAdded: 'JOB_ADDEDForms',\n actionJobsAdded: 'JOBS_ADDEDForms',\n screenMaintenance: 'maintenanceForms',\n screenRequestDetail: 'requestDetailForms',\n screenServiceRequest: 'serviceRequestForms',\n screenJobTypePicker: 'jobTypePickerForms',\n screenRequestNotes: 'requestNotesForms',\n permissionMaintenanceTracking: 'maintenanceTrackingForms',\n permissionMaintenanceAssignment: 'maintenanceAssignmentForms',\n iconGridMenu: 'form',\n gridViewBox: '0 0 256 256',\n iconAddMenu: 'form',\n iconKioskAction: 'form',\n hasMoreOption: false,\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Forms',\n textAddMenuTitle: 'Form Submission',\n textMoreMenuTitle: 'Forms',\n textKioskActionTitle: 'Forms',\n textEntityName: 'Form',\n textJobType: 'Form',\n emptyRequestsStaff: 'No active Form Submissions',\n emptyRequestsUser: 'Your Form Submissions will show here',\n forceCustomFields: true,\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,UAAU,EAAE,kBAAkB;EAC9BC,UAAU,EAAE,kBAAkB;EAC9BC,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE,kBAAkB;EAC9BC,gBAAgB,EAAE,kBAAkB;EACpCC,cAAc,EAAE,gBAAgB;EAChCC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,kBAAkB;EACrCC,mBAAmB,EAAE,oBAAoB;EACzCC,oBAAoB,EAAE,qBAAqB;EAC3CC,mBAAmB,EAAE,oBAAoB;EACzCC,kBAAkB,EAAE,mBAAmB;EACvCC,6BAA6B,EAAE,0BAA0B;EACzDC,+BAA+B,EAAE,4BAA4B;EAC7DC,YAAY,EAAE,MAAM;EACpBC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE,MAAM;EACnBC,eAAe,EAAE,MAAM;EACvBC,aAAa,EAAE,KAAK;EACpBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,OAAO;EACzBC,gBAAgB,EAAE,iBAAiB;EACnCC,iBAAiB,EAAE,OAAO;EAC1BC,oBAAoB,EAAE,OAAO;EAC7BC,cAAc,EAAE,MAAM;EACtBC,WAAW,EAAE,MAAM;EACnBC,kBAAkB,EAAE,4BAA4B;EAChDC,iBAAiB,EAAE,sCAAsC;EACzDC,iBAAiB,EAAE;
|
1
|
+
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","actionJobsStatusesLoaded","actionJobsHideSeen","actionJobFilterLoaded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","gridViewBox","iconAddMenu","iconKioskAction","hasMoreOption","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","textJobType","emptyRequestsStaff","emptyRequestsUser","forceCustomFields","stringConfigJobStatus","stringConfigHideSeen"],"sources":["values.config.forms.js"],"sourcesContent":["const values = {\n featureKey: 'maintenanceForms',\n aliases: ['maintenanceRequest'],\n reducerKey: 'maintenanceForms',\n serviceKey: 'maintenanceForms',\n updateKey: 'jobsForms',\n commentKey: 'maintenanceForms',\n actionJobsLoaded: 'JOBS_LOADEDForms',\n actionJobAdded: 'JOB_ADDEDForms',\n actionJobsAdded: 'JOBS_ADDEDForms',\n actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADEDForms',\n actionJobsHideSeen: 'JOBS_HIDE_SEENForms',\n actionJobFilterLoaded: 'JOBS_FILTER_LOADEDForms',\n screenMaintenance: 'maintenanceForms',\n screenRequestDetail: 'requestDetailForms',\n screenServiceRequest: 'serviceRequestForms',\n screenJobTypePicker: 'jobTypePickerForms',\n screenRequestNotes: 'requestNotesForms',\n permissionMaintenanceTracking: 'maintenanceTrackingForms',\n permissionMaintenanceAssignment: 'maintenanceAssignmentForms',\n iconGridMenu: 'form',\n gridViewBox: '0 0 256 256',\n iconAddMenu: 'form',\n iconKioskAction: 'form',\n hasMoreOption: false,\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Forms',\n textAddMenuTitle: 'Form Submission',\n textMoreMenuTitle: 'Forms',\n textKioskActionTitle: 'Forms',\n textEntityName: 'Form',\n textJobType: 'Form',\n emptyRequestsStaff: 'No active Form Submissions',\n emptyRequestsUser: 'Your Form Submissions will show here',\n forceCustomFields: true,\n stringConfigJobStatus: 'maintenanceJobStatusForms',\n stringConfigHideSeen: 'maintenanceDisableSeenForms',\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,UAAU,EAAE,kBAAkB;EAC9BC,UAAU,EAAE,kBAAkB;EAC9BC,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE,kBAAkB;EAC9BC,gBAAgB,EAAE,kBAAkB;EACpCC,cAAc,EAAE,gBAAgB;EAChCC,eAAe,EAAE,iBAAiB;EAClCC,wBAAwB,EAAE,2BAA2B;EACrDC,kBAAkB,EAAE,qBAAqB;EACzCC,qBAAqB,EAAE,yBAAyB;EAChDC,iBAAiB,EAAE,kBAAkB;EACrCC,mBAAmB,EAAE,oBAAoB;EACzCC,oBAAoB,EAAE,qBAAqB;EAC3CC,mBAAmB,EAAE,oBAAoB;EACzCC,kBAAkB,EAAE,mBAAmB;EACvCC,6BAA6B,EAAE,0BAA0B;EACzDC,+BAA+B,EAAE,4BAA4B;EAC7DC,YAAY,EAAE,MAAM;EACpBC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE,MAAM;EACnBC,eAAe,EAAE,MAAM;EACvBC,aAAa,EAAE,KAAK;EACpBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,OAAO;EACzBC,gBAAgB,EAAE,iBAAiB;EACnCC,iBAAiB,EAAE,OAAO;EAC1BC,oBAAoB,EAAE,OAAO;EAC7BC,cAAc,EAAE,MAAM;EACtBC,WAAW,EAAE,MAAM;EACnBC,kBAAkB,EAAE,4BAA4B;EAChDC,iBAAiB,EAAE,sCAAsC;EACzDC,iBAAiB,EAAE,IAAI;EACvBC,qBAAqB,EAAE,2BAA2B;EAClDC,oBAAoB,EAAE;AACxB,CAAC;AAED,SAAStC,MAAM","ignoreList":[]}
|
@@ -8,6 +8,9 @@ const values = {
|
|
8
8
|
actionJobsLoaded: 'JOBS_LOADED',
|
9
9
|
actionJobAdded: 'JOB_ADDED',
|
10
10
|
actionJobsAdded: 'JOBS_ADDED',
|
11
|
+
actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADED',
|
12
|
+
actionJobsHideSeen: 'JOBS_HIDE_SEEN',
|
13
|
+
actionJobFilterLoaded: 'JOBS_FILTER_LOADED',
|
11
14
|
screenMaintenance: 'maintenance',
|
12
15
|
screenRequestDetail: 'requestDetail',
|
13
16
|
screenServiceRequest: 'serviceRequest',
|
@@ -31,7 +34,9 @@ const values = {
|
|
31
34
|
textJobType: 'Request Type',
|
32
35
|
emptyRequestsStaff: 'No active Requests',
|
33
36
|
emptyRequestsUser: 'Your Requests will show here',
|
34
|
-
forceCustomFields: false
|
37
|
+
forceCustomFields: false,
|
38
|
+
stringConfigJobStatus: 'maintenanceJobStatus',
|
39
|
+
stringConfigHideSeen: 'maintenanceDisableSeen'
|
35
40
|
};
|
36
41
|
export { values };
|
37
42
|
//# sourceMappingURL=values.config.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","gridViewBox","iconAddMenu","iconKioskAction","hasMoreOption","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","textJobType","emptyRequestsStaff","emptyRequestsUser","forceCustomFields"],"sources":["values.config.js"],"sourcesContent":["const values = {\n featureKey: 'maintenance',\n aliases: ['maintenanceRequest'],\n reducerKey: 'jobs',\n serviceKey: 'maintenance',\n updateKey: 'jobs',\n commentKey: 'maintenancerequest',\n actionJobsLoaded: 'JOBS_LOADED',\n actionJobAdded: 'JOB_ADDED',\n actionJobsAdded: 'JOBS_ADDED',\n screenMaintenance: 'maintenance',\n screenRequestDetail: 'requestDetail',\n screenServiceRequest: 'serviceRequest',\n screenJobTypePicker: 'jobTypePicker',\n screenRequestNotes: 'requestNotes',\n permissionMaintenanceTracking: 'maintenanceTracking',\n permissionMaintenanceAssignment: 'maintenanceAssignment',\n iconGridMenu: 'maintenance',\n gridViewBox: '0 0 30 30',\n iconAddMenu: 'request',\n iconKioskAction: 'wrench',\n hasMoreOption: true,\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Request',\n textAddMenuTitle: 'Request',\n textMoreMenuTitle: 'Request',\n textKioskActionTitle: 'Request',\n textEntityName: 'Job',\n textJobType: 'Request Type',\n emptyRequestsStaff: 'No active Requests',\n emptyRequestsUser: 'Your Requests will show here',\n forceCustomFields: false,\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,aAAa;EACzBC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,UAAU,EAAE,MAAM;EAClBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE,oBAAoB;EAChCC,gBAAgB,EAAE,aAAa;EAC/BC,cAAc,EAAE,WAAW;EAC3BC,eAAe,EAAE,YAAY;EAC7BC,iBAAiB,EAAE,aAAa;EAChCC,mBAAmB,EAAE,eAAe;EACpCC,oBAAoB,EAAE,gBAAgB;EACtCC,mBAAmB,EAAE,eAAe;EACpCC,kBAAkB,EAAE,cAAc;EAClCC,6BAA6B,EAAE,qBAAqB;EACpDC,+BAA+B,EAAE,uBAAuB;EACxDC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE,WAAW;EACxBC,WAAW,EAAE,SAAS;EACtBC,eAAe,EAAE,QAAQ;EACzBC,aAAa,EAAE,IAAI;EACnBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAC3BC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,KAAK;EACrBC,WAAW,EAAE,cAAc;EAC3BC,kBAAkB,EAAE,oBAAoB;EACxCC,iBAAiB,EAAE,8BAA8B;EACjDC,iBAAiB,EAAE;
|
1
|
+
{"version":3,"names":["values","featureKey","aliases","reducerKey","serviceKey","updateKey","commentKey","actionJobsLoaded","actionJobAdded","actionJobsAdded","actionJobsStatusesLoaded","actionJobsHideSeen","actionJobFilterLoaded","screenMaintenance","screenRequestDetail","screenServiceRequest","screenJobTypePicker","screenRequestNotes","permissionMaintenanceTracking","permissionMaintenanceAssignment","iconGridMenu","gridViewBox","iconAddMenu","iconKioskAction","hasMoreOption","orderAddMenu","orderMoreMenu","orderKioskAction","textFeatureTitle","textAddMenuTitle","textMoreMenuTitle","textKioskActionTitle","textEntityName","textJobType","emptyRequestsStaff","emptyRequestsUser","forceCustomFields","stringConfigJobStatus","stringConfigHideSeen"],"sources":["values.config.js"],"sourcesContent":["const values = {\n featureKey: 'maintenance',\n aliases: ['maintenanceRequest'],\n reducerKey: 'jobs',\n serviceKey: 'maintenance',\n updateKey: 'jobs',\n commentKey: 'maintenancerequest',\n actionJobsLoaded: 'JOBS_LOADED',\n actionJobAdded: 'JOB_ADDED',\n actionJobsAdded: 'JOBS_ADDED',\n actionJobsStatusesLoaded: 'JOBS_STATUSES_LOADED',\n actionJobsHideSeen: 'JOBS_HIDE_SEEN',\n actionJobFilterLoaded: 'JOBS_FILTER_LOADED',\n screenMaintenance: 'maintenance',\n screenRequestDetail: 'requestDetail',\n screenServiceRequest: 'serviceRequest',\n screenJobTypePicker: 'jobTypePicker',\n screenRequestNotes: 'requestNotes',\n permissionMaintenanceTracking: 'maintenanceTracking',\n permissionMaintenanceAssignment: 'maintenanceAssignment',\n iconGridMenu: 'maintenance',\n gridViewBox: '0 0 30 30',\n iconAddMenu: 'request',\n iconKioskAction: 'wrench',\n hasMoreOption: true,\n orderAddMenu: 5,\n orderMoreMenu: 4,\n orderKioskAction: 1,\n textFeatureTitle: 'Request',\n textAddMenuTitle: 'Request',\n textMoreMenuTitle: 'Request',\n textKioskActionTitle: 'Request',\n textEntityName: 'Job',\n textJobType: 'Request Type',\n emptyRequestsStaff: 'No active Requests',\n emptyRequestsUser: 'Your Requests will show here',\n forceCustomFields: false,\n stringConfigJobStatus: 'maintenanceJobStatus',\n stringConfigHideSeen: 'maintenanceDisableSeen',\n};\n\nexport { values };\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG;EACbC,UAAU,EAAE,aAAa;EACzBC,OAAO,EAAE,CAAC,oBAAoB,CAAC;EAC/BC,UAAU,EAAE,MAAM;EAClBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE,oBAAoB;EAChCC,gBAAgB,EAAE,aAAa;EAC/BC,cAAc,EAAE,WAAW;EAC3BC,eAAe,EAAE,YAAY;EAC7BC,wBAAwB,EAAE,sBAAsB;EAChDC,kBAAkB,EAAE,gBAAgB;EACpCC,qBAAqB,EAAE,oBAAoB;EAC3CC,iBAAiB,EAAE,aAAa;EAChCC,mBAAmB,EAAE,eAAe;EACpCC,oBAAoB,EAAE,gBAAgB;EACtCC,mBAAmB,EAAE,eAAe;EACpCC,kBAAkB,EAAE,cAAc;EAClCC,6BAA6B,EAAE,qBAAqB;EACpDC,+BAA+B,EAAE,uBAAuB;EACxDC,YAAY,EAAE,aAAa;EAC3BC,WAAW,EAAE,WAAW;EACxBC,WAAW,EAAE,SAAS;EACtBC,eAAe,EAAE,QAAQ;EACzBC,aAAa,EAAE,IAAI;EACnBC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAC3BC,iBAAiB,EAAE,SAAS;EAC5BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,KAAK;EACrBC,WAAW,EAAE,cAAc;EAC3BC,kBAAkB,EAAE,oBAAoB;EACxCC,iBAAiB,EAAE,8BAA8B;EACjDC,iBAAiB,EAAE,KAAK;EACxBC,qBAAqB,EAAE,sBAAsB;EAC7CC,oBAAoB,EAAE;AACxB,CAAC;AAED,SAAStC,MAAM","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED } from './types';
|
1
|
+
import { JOBS_LOADED, JOB_ADDED, JOBS_ADDED, JOBS_STATUSES_LOADED, JOBS_HIDE_SEEN, JOB_FILTER_LOADED } from './types';
|
2
|
+
import { stringActions } from '../apis';
|
3
|
+
import { values } from '../values.config';
|
4
|
+
import { jobStatusOptions } from '../helper';
|
2
5
|
|
3
6
|
export const jobsLoaded = jobs => {
|
4
7
|
return {
|
@@ -20,3 +23,52 @@ export const jobsAdded = jobs => {
|
|
20
23
|
payload: jobs,
|
21
24
|
};
|
22
25
|
};
|
26
|
+
|
27
|
+
export const jobStatusesUpdate = (site, callback = null) => {
|
28
|
+
return dispatch => {
|
29
|
+
stringActions
|
30
|
+
.getString(site, values.stringConfigJobStatus)
|
31
|
+
.then(res => {
|
32
|
+
dispatch({
|
33
|
+
type: JOBS_STATUSES_LOADED,
|
34
|
+
payload: res.data,
|
35
|
+
});
|
36
|
+
if (callback) callback(res.data);
|
37
|
+
})
|
38
|
+
.catch(() => {
|
39
|
+
dispatch({
|
40
|
+
type: JOBS_STATUSES_LOADED,
|
41
|
+
payload: jobStatusOptions,
|
42
|
+
});
|
43
|
+
if (callback) callback(jobStatusOptions);
|
44
|
+
});
|
45
|
+
};
|
46
|
+
};
|
47
|
+
|
48
|
+
export const jobHideSeenUpdate = (site, callback = null) => {
|
49
|
+
return (dispatch) => {
|
50
|
+
stringActions
|
51
|
+
.getString(site, values.stringConfigHideSeen)
|
52
|
+
.then((res) => {
|
53
|
+
dispatch({
|
54
|
+
type: JOBS_HIDE_SEEN,
|
55
|
+
payload: res.data,
|
56
|
+
});
|
57
|
+
if (callback) callback(res.data);
|
58
|
+
})
|
59
|
+
.catch((_error) => {
|
60
|
+
dispatch({
|
61
|
+
type: JOBS_HIDE_SEEN,
|
62
|
+
payload: false,
|
63
|
+
});
|
64
|
+
if (callback) callback(false);
|
65
|
+
});
|
66
|
+
};
|
67
|
+
};
|
68
|
+
|
69
|
+
export const jobsFilterLoaded = filters => {
|
70
|
+
return {
|
71
|
+
type: JOB_FILTER_LOADED,
|
72
|
+
payload: filters,
|
73
|
+
};
|
74
|
+
};
|
package/src/actions/types.js
CHANGED
@@ -3,3 +3,7 @@ import { values } from '../values.config';
|
|
3
3
|
export const JOBS_LOADED = values.actionJobsLoaded;
|
4
4
|
export const JOB_ADDED = values.actionJobAdded;
|
5
5
|
export const JOBS_ADDED = values.actionJobsAdded;
|
6
|
+
export const JOBS_STATUSES_LOADED = values.actionJobsStatusesLoaded;
|
7
|
+
export const JOBS_HIDE_SEEN = values.actionJobsHideSeen;
|
8
|
+
export const JOB_FILTER_LOADED = values.actionJobFilterLoaded;
|
9
|
+
|
package/src/apis/index.js
CHANGED
@@ -23,11 +23,14 @@ export const maintenanceActions = {
|
|
23
23
|
data: { site, status, type },
|
24
24
|
});
|
25
25
|
},
|
26
|
-
getJobs2: (site, status, type, lastKey) => {
|
26
|
+
getJobs2: (site, status, priority, type, lastKey) => {
|
27
27
|
const query = { site };
|
28
28
|
if (status) {
|
29
29
|
query.status = status;
|
30
30
|
}
|
31
|
+
if (priority) {
|
32
|
+
query.priority = priority;
|
33
|
+
}
|
31
34
|
if (type) {
|
32
35
|
query.type = type;
|
33
36
|
}
|
@@ -39,14 +42,14 @@ export const maintenanceActions = {
|
|
39
42
|
url: Helper.getUrl(values.serviceKey, 'get/requests', query),
|
40
43
|
});
|
41
44
|
},
|
42
|
-
getJobsRecursive: (site, status, type, lastKey, jobs = []) => {
|
45
|
+
getJobsRecursive: (site, status, priority, type, lastKey, jobs = []) => {
|
43
46
|
return new Promise(resolve => {
|
44
|
-
maintenanceActions.getJobs2(site, status, type, lastKey).then(jobRes => {
|
47
|
+
maintenanceActions.getJobs2(site, status, priority, type, lastKey).then(jobRes => {
|
45
48
|
const newJobs = [...jobs, ...jobRes.data.Items];
|
46
49
|
if (!jobRes.data.LastKey) {
|
47
50
|
return resolve(newJobs);
|
48
51
|
}
|
49
|
-
return resolve(maintenanceActions.getJobsRecursive(site, status, type, jobRes.data.LastKey, newJobs));
|
52
|
+
return resolve(maintenanceActions.getJobsRecursive(site, status, priority, type, jobRes.data.LastKey, newJobs));
|
50
53
|
});
|
51
54
|
});
|
52
55
|
},
|
@@ -100,6 +103,13 @@ export const maintenanceActions = {
|
|
100
103
|
data: { id, status },
|
101
104
|
});
|
102
105
|
},
|
106
|
+
editJobPriority: (id, priority) => {
|
107
|
+
return Session.authedFunction({
|
108
|
+
method: 'POST',
|
109
|
+
url: Helper.getUrl(values.serviceKey, 'update/priority'),
|
110
|
+
data: { id, priority },
|
111
|
+
});
|
112
|
+
},
|
103
113
|
assignJob: (jobId, userId) => {
|
104
114
|
return Session.authedFunction({
|
105
115
|
method: 'POST',
|
@@ -116,7 +126,7 @@ export const maintenanceActions = {
|
|
116
126
|
url: Helper.getUrl(values.serviceKey, 'get/assignees', { site }),
|
117
127
|
});
|
118
128
|
},
|
119
|
-
addNote: (jobId, note, attachments) => {
|
129
|
+
addNote: (jobId, note, attachments, images) => {
|
120
130
|
return Session.authedFunction({
|
121
131
|
method: 'POST',
|
122
132
|
url: Helper.getUrl(values.serviceKey, 'requests/note'),
|
@@ -124,11 +134,12 @@ export const maintenanceActions = {
|
|
124
134
|
id: jobId,
|
125
135
|
note,
|
126
136
|
attachments,
|
137
|
+
images,
|
127
138
|
action: 'AddNote',
|
128
139
|
},
|
129
140
|
});
|
130
141
|
},
|
131
|
-
editNote: (jobId, noteId, note, attachments) => {
|
142
|
+
editNote: (jobId, noteId, note, attachments, images) => {
|
132
143
|
return Session.authedFunction({
|
133
144
|
method: 'POST',
|
134
145
|
url: Helper.getUrl(values.serviceKey, 'requests/note'),
|
@@ -136,6 +147,7 @@ export const maintenanceActions = {
|
|
136
147
|
id: jobId,
|
137
148
|
note,
|
138
149
|
attachments,
|
150
|
+
images,
|
139
151
|
noteId,
|
140
152
|
action: 'EditNote',
|
141
153
|
},
|
@@ -4,6 +4,8 @@ import { connect } from 'react-redux';
|
|
4
4
|
import _ from 'lodash';
|
5
5
|
import { maintenanceActions } from '../apis';
|
6
6
|
import { Colours, Helper } from '../core.config';
|
7
|
+
import { getJobStatusOptions, getIncompleteJobStatuses, jobPriorityOptions } from '../helper';
|
8
|
+
import { values } from '../values.config';
|
7
9
|
|
8
10
|
const SCREEN_HEIGHT = Dimensions.get('window').height;
|
9
11
|
|
@@ -14,31 +16,20 @@ class FilterPopupMenu extends Component {
|
|
14
16
|
this.state = {
|
15
17
|
types: props.types || [],
|
16
18
|
selectedStatus: props.status || '',
|
19
|
+
selectedPriority: props.priority || '',
|
17
20
|
selectedType: props.type || '',
|
18
21
|
selectedAssignee: props.assignee || '',
|
19
22
|
assignees: [],
|
20
23
|
};
|
21
|
-
this.
|
24
|
+
this.priorityOptions = [
|
22
25
|
{
|
23
26
|
label: 'All',
|
24
27
|
value: '',
|
25
28
|
},
|
26
|
-
{
|
27
|
-
label:
|
28
|
-
value:
|
29
|
-
}
|
30
|
-
{
|
31
|
-
label: 'Open',
|
32
|
-
value: 'Unassigned',
|
33
|
-
},
|
34
|
-
{
|
35
|
-
label: 'In Progress',
|
36
|
-
value: 'In Progress',
|
37
|
-
},
|
38
|
-
{
|
39
|
-
label: 'Completed',
|
40
|
-
value: 'Completed',
|
41
|
-
},
|
29
|
+
...jobPriorityOptions.map(p => ({
|
30
|
+
label: p.label,
|
31
|
+
value: p.label,
|
32
|
+
}))
|
42
33
|
];
|
43
34
|
}
|
44
35
|
|
@@ -53,6 +44,26 @@ class FilterPopupMenu extends Component {
|
|
53
44
|
}
|
54
45
|
}
|
55
46
|
|
47
|
+
getStatusOptions = () => {
|
48
|
+
const statusOptions = getJobStatusOptions(this.props);
|
49
|
+
const options = [
|
50
|
+
{
|
51
|
+
label: 'All',
|
52
|
+
value: '',
|
53
|
+
},
|
54
|
+
{
|
55
|
+
label: 'Incomplete',
|
56
|
+
value: `Unassigned|${getIncompleteJobStatuses(this.props).map(s => s.text).join('|')}`,
|
57
|
+
},
|
58
|
+
...statusOptions.map(s => ({
|
59
|
+
label: s.text,
|
60
|
+
value: s.text,
|
61
|
+
})),
|
62
|
+
];
|
63
|
+
// console.log('getStatusOptions', options);
|
64
|
+
return options;
|
65
|
+
}
|
66
|
+
|
56
67
|
getAssignees = async () => {
|
57
68
|
try {
|
58
69
|
const res = await maintenanceActions.getAssignees(this.props.site);
|
@@ -93,11 +104,12 @@ class FilterPopupMenu extends Component {
|
|
93
104
|
|
94
105
|
onDone = () => {
|
95
106
|
const { onClose } = this.props;
|
96
|
-
const { selectedStatus, selectedType, selectedAssignee } = this.state;
|
107
|
+
const { selectedStatus, selectedPriority, selectedType, selectedAssignee } = this.state;
|
97
108
|
if (onClose)
|
98
109
|
onClose({
|
99
110
|
status: selectedStatus,
|
100
|
-
statusText: this.
|
111
|
+
statusText: this.getStatusOptions().find(o => o.value === selectedStatus)?.label,
|
112
|
+
priority: selectedPriority,
|
101
113
|
type: selectedType,
|
102
114
|
assignee: selectedAssignee,
|
103
115
|
assigneeName: this.state.assignees.find(a => a.value === selectedAssignee)?.label,
|
@@ -148,15 +160,20 @@ class FilterPopupMenu extends Component {
|
|
148
160
|
}
|
149
161
|
|
150
162
|
render() {
|
163
|
+
// console.log('FilterPopupMenu', JSON.stringify({ category: this.props.user.category, permissions: this.props.user.permissions }, null, 2))
|
164
|
+
const isStaff = this.props.user.category === 'staff'
|
165
|
+
const canFilterAssignee = !_.includes(this.props.user.permissions, values.permissionMaintenanceAssignment);
|
166
|
+
|
151
167
|
return (
|
152
168
|
<Modal visible transparent animationType="slide" onRequestClose={this.onDone}>
|
153
169
|
<View style={styles.container}>
|
154
170
|
<View style={styles.menu}>
|
155
171
|
{this.renderTitle()}
|
156
172
|
<ScrollView style={styles.optionContent}>
|
157
|
-
{this.renderOptions('Status', this.
|
173
|
+
{this.renderOptions('Status', this.getStatusOptions(), 'selectedStatus')}
|
174
|
+
{isStaff ? this.renderOptions('Priority', this.priorityOptions, 'selectedPriority') : null}
|
158
175
|
{this.renderOptions('Type', this.state.types, 'selectedType')}
|
159
|
-
{this.renderOptions('Assigned To', this.state.assignees, 'selectedAssignee')}
|
176
|
+
{canFilterAssignee ? this.renderOptions('Assigned To', this.state.assignees, 'selectedAssignee') : null}
|
160
177
|
</ScrollView>
|
161
178
|
{this.renderCancel()}
|
162
179
|
</View>
|
@@ -248,8 +265,10 @@ const mapStateToProps = state => {
|
|
248
265
|
const { user } = state;
|
249
266
|
|
250
267
|
return {
|
268
|
+
user,
|
251
269
|
site: user.site,
|
252
270
|
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
271
|
+
statusTypes: state[values.reducerKey].jobstatuses,
|
253
272
|
};
|
254
273
|
};
|
255
274
|
|
@@ -3,53 +3,45 @@ import { View, StyleSheet, FlatList, TouchableOpacity, Text } from 'react-native
|
|
3
3
|
import _ from 'lodash';
|
4
4
|
import { connect } from 'react-redux';
|
5
5
|
import { maintenanceActions } from '../apis';
|
6
|
-
import { jobsLoaded, jobAdded, jobsAdded } from '../actions';
|
6
|
+
import { jobsLoaded, jobAdded, jobsAdded, jobStatusesUpdate, jobHideSeenUpdate, jobsFilterLoaded } from '../actions';
|
7
7
|
import MaintenanceListItem from '../components/MaintenanceListItem';
|
8
8
|
import FilterPopupMenu from './FilterPopupMenu';
|
9
|
-
import { Components, Colours,
|
9
|
+
import { Components, Colours, Helper } from '../core.config';
|
10
10
|
import { values } from '../values.config';
|
11
11
|
|
12
12
|
class MaintenanceList extends Component {
|
13
13
|
constructor(props) {
|
14
14
|
super(props);
|
15
15
|
|
16
|
-
this.initialStatus = props.hasPermission ? 'Unassigned|In Progress' : '';
|
17
|
-
this.initialStatusText = props.hasPermission ? 'Incomplete' : '';
|
18
|
-
|
19
16
|
this.state = {
|
20
17
|
types: [],
|
21
18
|
filteredList: props.jobs,
|
22
19
|
loading: false,
|
23
20
|
searchText: '',
|
24
21
|
showFilterPopup: false,
|
25
|
-
selectedStatus: this.initialStatus,
|
26
|
-
selectedStatusText: this.initialStatusText,
|
27
|
-
selectedType: '',
|
28
|
-
selectedAssignee: '',
|
29
|
-
selectedAssigneeName: '',
|
30
22
|
};
|
31
23
|
}
|
32
24
|
|
33
25
|
componentDidMount() {
|
26
|
+
this.props.jobStatusesUpdate(this.props.site);
|
27
|
+
this.props.jobHideSeenUpdate(this.props.site);
|
34
28
|
this.refresh();
|
35
29
|
this.refreshTypes();
|
36
|
-
|
37
30
|
this.resetDataSource();
|
38
31
|
}
|
39
32
|
|
40
33
|
componentDidUpdate(prevProps) {
|
41
34
|
if (!prevProps.dataUpdated && this.props.dataUpdated) this.refresh();
|
42
|
-
if (!_.isEqual(prevProps.jobs, this.props.jobs)) this.resetDataSource();
|
35
|
+
if (!_.isEqual(prevProps.jobs, this.props.jobs) || !_.isEqual(prevProps.jobfilters, this.props.jobfilters)) this.resetDataSource();
|
43
36
|
}
|
44
37
|
|
45
38
|
refresh = () => {
|
46
39
|
this.onLoadingChanged(true, async () => {
|
47
40
|
try {
|
48
|
-
const {
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
if (selectedStatus !== this.initialStatus || !_.isEmpty(selectedType)) {
|
41
|
+
const { jobfilters } = this.props;
|
42
|
+
const res = await maintenanceActions.getJobsRecursive(this.props.site, jobfilters.status, jobfilters.priority, jobfilters.type);
|
43
|
+
// console.log('refresh', res ? JSON.stringify(res[0], null, 2) : null);
|
44
|
+
if (!_.isEmpty(jobfilters.status) || !_.isEmpty(jobfilters.priority) || !_.isEmpty(jobfilters.type)) {
|
53
45
|
this.props.jobsAdded(res);
|
54
46
|
} else {
|
55
47
|
this.props.jobsLoaded(res);
|
@@ -96,7 +88,8 @@ class MaintenanceList extends Component {
|
|
96
88
|
}
|
97
89
|
|
98
90
|
resetDataSource = (source = '') => {
|
99
|
-
const {
|
91
|
+
const { jobfilters } = this.props;
|
92
|
+
const { searchText } = this.state;
|
100
93
|
const { jobs } = this.props;
|
101
94
|
|
102
95
|
let filteredList = jobs;
|
@@ -111,9 +104,10 @@ class MaintenanceList extends Component {
|
|
111
104
|
});
|
112
105
|
if (!jobIdMatch) this.fetchJob(searchText);
|
113
106
|
}
|
114
|
-
if (
|
115
|
-
if (
|
116
|
-
if (
|
107
|
+
if (jobfilters.status) filteredList = filteredList.filter(j => jobfilters.status.includes(j.status));
|
108
|
+
if (jobfilters.priority) filteredList = filteredList.filter(j => jobfilters.priority.includes(j.priority));
|
109
|
+
if (jobfilters.type) filteredList = filteredList.filter(j => jobfilters.type.includes(j.type));
|
110
|
+
if (jobfilters.assignee) filteredList = filteredList.filter(j => jobfilters.assignee.includes(j.AssigneeId));
|
117
111
|
if (jobIdMatch) {
|
118
112
|
const jobIndex = filteredList.indexOf(jobIdMatch);
|
119
113
|
if (jobIndex > -1) {
|
@@ -148,33 +142,24 @@ class MaintenanceList extends Component {
|
|
148
142
|
};
|
149
143
|
|
150
144
|
onSelectFilter = selected => {
|
151
|
-
this.
|
152
|
-
|
153
|
-
selectedStatus: selected.status,
|
154
|
-
selectedStatusText: selected.statusText,
|
155
|
-
selectedType: selected.type,
|
156
|
-
selectedAssignee: selected.assignee,
|
157
|
-
selectedAssigneeName: selected.assigneeName,
|
158
|
-
},
|
159
|
-
() => {
|
160
|
-
this.resetDataSource();
|
161
|
-
this.onToggleFilter();
|
162
|
-
},
|
163
|
-
);
|
145
|
+
this.props.jobsFilterLoaded(selected);
|
146
|
+
this.onToggleFilter();
|
164
147
|
};
|
165
148
|
|
166
149
|
getFilterButtonText = () => {
|
167
|
-
const {
|
150
|
+
const { jobfilters } = this.props;
|
168
151
|
const filterTexts = [];
|
169
|
-
if (!_.isEmpty(
|
170
|
-
filterTexts.push(
|
152
|
+
if (!_.isEmpty(jobfilters.status)) {
|
153
|
+
filterTexts.push(jobfilters.statusText);
|
171
154
|
}
|
172
|
-
|
173
|
-
|
174
|
-
|
155
|
+
if (!_.isEmpty(jobfilters.priority)) {
|
156
|
+
filterTexts.push(jobfilters.priority);
|
157
|
+
}
|
158
|
+
if (!_.isEmpty(jobfilters.type)) {
|
159
|
+
filterTexts.push(jobfilters.type);
|
175
160
|
}
|
176
|
-
if (!_.isEmpty(
|
177
|
-
filterTexts.push(
|
161
|
+
if (!_.isEmpty(jobfilters.assignee)) {
|
162
|
+
filterTexts.push(jobfilters.assigneeName);
|
178
163
|
}
|
179
164
|
if (_.isEmpty(filterTexts)) {
|
180
165
|
return 'Filter';
|
@@ -244,16 +229,18 @@ class MaintenanceList extends Component {
|
|
244
229
|
}
|
245
230
|
|
246
231
|
renderFilterPopup() {
|
247
|
-
const {
|
232
|
+
const { jobfilters } = this.props;
|
233
|
+
const { showFilterPopup, types } = this.state;
|
248
234
|
if (!showFilterPopup) return null;
|
249
235
|
|
250
236
|
return (
|
251
237
|
<FilterPopupMenu
|
252
238
|
site={this.props.site}
|
253
239
|
types={types}
|
254
|
-
status={
|
255
|
-
|
256
|
-
|
240
|
+
status={jobfilters.status}
|
241
|
+
priority={jobfilters.priority}
|
242
|
+
assignee={jobfilters.assignee}
|
243
|
+
type={jobfilters.type}
|
257
244
|
onClose={this.onSelectFilter}
|
258
245
|
/>
|
259
246
|
);
|
@@ -329,7 +316,11 @@ const mapStateToProps = state => {
|
|
329
316
|
userCategory: user.category,
|
330
317
|
colourBrandingMain: Colours.getMainBrandingColourFromState(state),
|
331
318
|
dataUpdated: notifications.dataUpdated[values.updateKey],
|
319
|
+
statusTypes: state[values.reducerKey].jobstatuses,
|
320
|
+
jobfilters: state[values.reducerKey].jobfilters,
|
332
321
|
};
|
333
322
|
};
|
334
323
|
|
335
|
-
export default connect(mapStateToProps, { jobsLoaded, jobAdded, jobsAdded }, null, { forwardRef: true })(
|
324
|
+
export default connect(mapStateToProps, { jobsLoaded, jobAdded, jobsAdded, jobStatusesUpdate, jobHideSeenUpdate, jobsFilterLoaded }, null, { forwardRef: true })(
|
325
|
+
MaintenanceList,
|
326
|
+
);
|