@plusscommunities/pluss-maintenance-web 1.1.37-beta.2 → 1.1.37-beta.4
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/index.cjs.js +127 -110
- package/dist/index.esm.js +132 -115
- package/dist/index.umd.js +127 -110
- package/package.json +1 -1
- package/src/components/AnalyticsHub.js +120 -100
package/dist/index.cjs.js
CHANGED
|
@@ -251,8 +251,8 @@ const JOBS_TYPES_LOADED = values.actionJobsTypesLoaded;
|
|
|
251
251
|
const JOBS_STATUSES_LOADED = values.actionJobsStatusesLoaded;
|
|
252
252
|
const JOBS_HIDE_SEEN = values.actionJobsHideSeen;
|
|
253
253
|
|
|
254
|
-
function ownKeys$
|
|
255
|
-
function _objectSpread$
|
|
254
|
+
function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
255
|
+
function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
256
256
|
const {
|
|
257
257
|
Helper: Helper$6,
|
|
258
258
|
Session: Session$9
|
|
@@ -348,7 +348,7 @@ const maintenanceActions = {
|
|
|
348
348
|
return Session$9.authedFunction({
|
|
349
349
|
method: 'POST',
|
|
350
350
|
url: Helper$6.getUrl(values.serviceKey, 'sendMaintenance'),
|
|
351
|
-
data: _objectSpread$
|
|
351
|
+
data: _objectSpread$8({}, job)
|
|
352
352
|
});
|
|
353
353
|
},
|
|
354
354
|
editJob: (job, site) => {
|
|
@@ -746,8 +746,8 @@ const getJobPriority = priority => {
|
|
|
746
746
|
return priorityOption || getDefaultPriority();
|
|
747
747
|
};
|
|
748
748
|
|
|
749
|
-
function ownKeys$
|
|
750
|
-
function _objectSpread$
|
|
749
|
+
function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
750
|
+
function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
751
751
|
const {
|
|
752
752
|
Session: Session$7,
|
|
753
753
|
Components: Components$7,
|
|
@@ -1113,7 +1113,7 @@ class JobList extends React.Component {
|
|
|
1113
1113
|
});
|
|
1114
1114
|
const customFieldValues = this.getCustomFields(r, customColumns);
|
|
1115
1115
|
const priority = r.priority || defaultPriority;
|
|
1116
|
-
return _objectSpread$
|
|
1116
|
+
return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, r), customFieldValues), {}, {
|
|
1117
1117
|
notes,
|
|
1118
1118
|
progressTime,
|
|
1119
1119
|
completedTime,
|
|
@@ -2046,12 +2046,12 @@ var JobTypes$1 = reactRedux.connect(mapStateToProps$6, {
|
|
|
2046
2046
|
jobTypesUpdate
|
|
2047
2047
|
})(reactRouter.withRouter(JobTypes));
|
|
2048
2048
|
|
|
2049
|
-
function ownKeys$
|
|
2050
|
-
function _objectSpread$
|
|
2049
|
+
function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2050
|
+
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2051
2051
|
const {
|
|
2052
2052
|
Session: Session$5,
|
|
2053
2053
|
Components: Components$5,
|
|
2054
|
-
Colours: Colours$
|
|
2054
|
+
Colours: Colours$3
|
|
2055
2055
|
} = PlussCore__namespace;
|
|
2056
2056
|
class Configuration extends React.Component {
|
|
2057
2057
|
constructor(props) {
|
|
@@ -2252,7 +2252,7 @@ class Configuration extends React.Component {
|
|
|
2252
2252
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2253
2253
|
key: status.text,
|
|
2254
2254
|
className: "statusLabel",
|
|
2255
|
-
style: _objectSpread$
|
|
2255
|
+
style: _objectSpread$6(_objectSpread$6({}, styles$6.statusTextContainer), {}, {
|
|
2256
2256
|
backgroundColor: status.color
|
|
2257
2257
|
})
|
|
2258
2258
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
@@ -2262,23 +2262,23 @@ class Configuration extends React.Component {
|
|
|
2262
2262
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2263
2263
|
className: "fontMedium fontSize-16 text-dark"
|
|
2264
2264
|
}, status.category)), /*#__PURE__*/React__default["default"].createElement(FontAwesome__default["default"], {
|
|
2265
|
-
style: _objectSpread$
|
|
2265
|
+
style: _objectSpread$6(_objectSpread$6({}, styles$6.statusIcon), {}, {
|
|
2266
2266
|
visibility: index === 0 ? 'hidden' : 'visible'
|
|
2267
2267
|
}),
|
|
2268
2268
|
name: 'arrow-up',
|
|
2269
2269
|
onClick: () => this.onMoveStatus(index, true)
|
|
2270
2270
|
}), /*#__PURE__*/React__default["default"].createElement(FontAwesome__default["default"], {
|
|
2271
|
-
style: _objectSpread$
|
|
2271
|
+
style: _objectSpread$6(_objectSpread$6({}, styles$6.statusIcon), {}, {
|
|
2272
2272
|
visibility: index === statusTypes.length - 1 ? 'hidden' : 'visible'
|
|
2273
2273
|
}),
|
|
2274
2274
|
name: 'arrow-down',
|
|
2275
2275
|
onClick: () => this.onMoveStatus(index, false)
|
|
2276
2276
|
}), /*#__PURE__*/React__default["default"].createElement(FontAwesome__default["default"], {
|
|
2277
|
-
style: _objectSpread$
|
|
2277
|
+
style: _objectSpread$6({}, styles$6.statusIcon),
|
|
2278
2278
|
name: "pencil",
|
|
2279
2279
|
onClick: () => this.onEditStatus(index)
|
|
2280
2280
|
}), /*#__PURE__*/React__default["default"].createElement(FontAwesome__default["default"], {
|
|
2281
|
-
style: _objectSpread$
|
|
2281
|
+
style: _objectSpread$6({}, styles$6.statusIcon),
|
|
2282
2282
|
name: "minus-circle",
|
|
2283
2283
|
onClick: () => this.onDeleteStatus(index)
|
|
2284
2284
|
}));
|
|
@@ -2327,8 +2327,8 @@ class Configuration extends React.Component {
|
|
|
2327
2327
|
renderSuccess() {
|
|
2328
2328
|
if (!this.state.success) return null;
|
|
2329
2329
|
return /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2330
|
-
style: _objectSpread$
|
|
2331
|
-
color: Colours$
|
|
2330
|
+
style: _objectSpread$6(_objectSpread$6({}, styles$6.savedText), {}, {
|
|
2331
|
+
color: Colours$3.COLOUR_GREEN
|
|
2332
2332
|
})
|
|
2333
2333
|
}, "Saved");
|
|
2334
2334
|
}
|
|
@@ -2469,7 +2469,7 @@ const styles$6 = {
|
|
|
2469
2469
|
fontSize: 20,
|
|
2470
2470
|
padding: 5,
|
|
2471
2471
|
marginLeft: 10,
|
|
2472
|
-
color: Colours$
|
|
2472
|
+
color: Colours$3.COLOUR_BRANDING_ACTION,
|
|
2473
2473
|
visibility: 'visible'
|
|
2474
2474
|
},
|
|
2475
2475
|
savedText: {
|
|
@@ -2727,13 +2727,13 @@ var RequestsHub$1 = reactRedux.connect(mapStateToProps$4, {
|
|
|
2727
2727
|
jobsLoaded
|
|
2728
2728
|
})(reactRouter.withRouter(RequestsHub));
|
|
2729
2729
|
|
|
2730
|
-
function ownKeys$
|
|
2731
|
-
function _objectSpread$
|
|
2730
|
+
function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2731
|
+
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2732
2732
|
const {
|
|
2733
2733
|
Apis: Apis$1,
|
|
2734
2734
|
Helper: Helper$3,
|
|
2735
2735
|
Session: Session$3,
|
|
2736
|
-
Colours: Colours$
|
|
2736
|
+
Colours: Colours$2,
|
|
2737
2737
|
Components: Components$3
|
|
2738
2738
|
} = PlussCore__namespace;
|
|
2739
2739
|
const IMAGE_SIZE_NOTE = 72;
|
|
@@ -2815,7 +2815,7 @@ class Job extends React.Component {
|
|
|
2815
2815
|
let statusType = statusTypes.find(s => s.text === status);
|
|
2816
2816
|
if (!statusType) {
|
|
2817
2817
|
const defaultStatus = statusTypes.find(s => s.category === STATUS_NOT_ACTIONED);
|
|
2818
|
-
statusType = _objectSpread$
|
|
2818
|
+
statusType = _objectSpread$5(_objectSpread$5({}, defaultStatus), {}, {
|
|
2819
2819
|
text: status
|
|
2820
2820
|
});
|
|
2821
2821
|
}
|
|
@@ -3005,7 +3005,7 @@ class Job extends React.Component {
|
|
|
3005
3005
|
}
|
|
3006
3006
|
maintenanceActions.deleteNote(this.state.jobId, n.Id);
|
|
3007
3007
|
const newNotes = ___default["default"].filter(this.state.job.Notes, note => note.Id !== n.Id);
|
|
3008
|
-
const newJob = _objectSpread$
|
|
3008
|
+
const newJob = _objectSpread$5({}, this.state.job);
|
|
3009
3009
|
newJob.Notes = newNotes;
|
|
3010
3010
|
this.setState({
|
|
3011
3011
|
job: newJob,
|
|
@@ -3089,7 +3089,7 @@ class Job extends React.Component {
|
|
|
3089
3089
|
});
|
|
3090
3090
|
_defineProperty__default["default"](this, "onSelectPriority", async priority => {
|
|
3091
3091
|
this.setState({
|
|
3092
|
-
job: _objectSpread$
|
|
3092
|
+
job: _objectSpread$5(_objectSpread$5({}, this.state.job), {}, {
|
|
3093
3093
|
priority
|
|
3094
3094
|
}),
|
|
3095
3095
|
priorityChangerOpen: false
|
|
@@ -3114,7 +3114,7 @@ class Job extends React.Component {
|
|
|
3114
3114
|
});
|
|
3115
3115
|
_defineProperty__default["default"](this, "onSelectStatus", async status => {
|
|
3116
3116
|
this.setState({
|
|
3117
|
-
job: _objectSpread$
|
|
3117
|
+
job: _objectSpread$5(_objectSpread$5({}, this.state.job), {}, {
|
|
3118
3118
|
status: status
|
|
3119
3119
|
}),
|
|
3120
3120
|
statusChangerOpen: false
|
|
@@ -3533,7 +3533,7 @@ class Job extends React.Component {
|
|
|
3533
3533
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3534
3534
|
className: "maintenanceNote_top"
|
|
3535
3535
|
}, this.props.auth && this.props.auth.user && this.props.auth.user.Id === note.User.id && /*#__PURE__*/React__default["default"].createElement(Components$3.SVGIcon, {
|
|
3536
|
-
colour: Colours$
|
|
3536
|
+
colour: Colours$2.COLOUR_DUSK_LIGHT,
|
|
3537
3537
|
icon: "more15",
|
|
3538
3538
|
className: "maintenanceNote_moreIcon",
|
|
3539
3539
|
onClick: () => this.onOpenNoteMenu(index)
|
|
@@ -3584,7 +3584,7 @@ class Job extends React.Component {
|
|
|
3584
3584
|
}, moment__default["default"].utc(e.timestamp).local().format("D MMM YYYY h:mma")), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3585
3585
|
className: "statusLabel statusLabel-large statusLabel-full",
|
|
3586
3586
|
style: {
|
|
3587
|
-
backgroundColor: Colours$
|
|
3587
|
+
backgroundColor: Colours$2.COLOUR_DUSK
|
|
3588
3588
|
}
|
|
3589
3589
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
3590
3590
|
className: "statusLabel_text"
|
|
@@ -3592,7 +3592,7 @@ class Job extends React.Component {
|
|
|
3592
3592
|
}
|
|
3593
3593
|
renderExternalSyncEntry(e, i) {
|
|
3594
3594
|
const isSuccess = e.EntryType === "ExternalIDSet";
|
|
3595
|
-
const backgroundColor = isSuccess ? Colours$
|
|
3595
|
+
const backgroundColor = isSuccess ? Colours$2.COLOUR_GREEN : Colours$2.COLOUR_RED; // Green for success, red for failure
|
|
3596
3596
|
|
|
3597
3597
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3598
3598
|
className: "ticketHistoryEntry",
|
|
@@ -3652,7 +3652,7 @@ class Job extends React.Component {
|
|
|
3652
3652
|
return /*#__PURE__*/React__default["default"].createElement(FontAwesome__default["default"], {
|
|
3653
3653
|
style: {
|
|
3654
3654
|
fontSize: 20,
|
|
3655
|
-
color: Colours$
|
|
3655
|
+
color: Colours$2.COLOUR_DUSK_LIGHT,
|
|
3656
3656
|
marginLeft: 8
|
|
3657
3657
|
},
|
|
3658
3658
|
name: "spinner fa-pulse fa-fw"
|
|
@@ -3662,7 +3662,7 @@ class Job extends React.Component {
|
|
|
3662
3662
|
className: "statusLabel pointer",
|
|
3663
3663
|
onClick: this.onRetrySync,
|
|
3664
3664
|
style: {
|
|
3665
|
-
backgroundColor: Colours$
|
|
3665
|
+
backgroundColor: Colours$2.COLOUR_RED,
|
|
3666
3666
|
marginLeft: 8
|
|
3667
3667
|
}
|
|
3668
3668
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
@@ -3683,7 +3683,7 @@ class Job extends React.Component {
|
|
|
3683
3683
|
className: "userStatusIcon",
|
|
3684
3684
|
name: "times-circle",
|
|
3685
3685
|
style: {
|
|
3686
|
-
color: Colours$
|
|
3686
|
+
color: Colours$2.COLOUR_RED
|
|
3687
3687
|
}
|
|
3688
3688
|
}), " ", retrySyncError);
|
|
3689
3689
|
}
|
|
@@ -3696,7 +3696,7 @@ class Job extends React.Component {
|
|
|
3696
3696
|
className: "userStatusIcon",
|
|
3697
3697
|
name: "check-circle",
|
|
3698
3698
|
style: {
|
|
3699
|
-
color: Colours$
|
|
3699
|
+
color: Colours$2.COLOUR_GREEN
|
|
3700
3700
|
}
|
|
3701
3701
|
}), " ", "Sync retry initiated. Check back shortly for results.");
|
|
3702
3702
|
}
|
|
@@ -3709,7 +3709,7 @@ class Job extends React.Component {
|
|
|
3709
3709
|
className: "userStatusIcon",
|
|
3710
3710
|
name: "times-circle",
|
|
3711
3711
|
style: {
|
|
3712
|
-
color: Colours$
|
|
3712
|
+
color: Colours$2.COLOUR_RED
|
|
3713
3713
|
}
|
|
3714
3714
|
}), " ", "External sync failed. Use the retry button to attempt again.");
|
|
3715
3715
|
}
|
|
@@ -3753,11 +3753,11 @@ class Job extends React.Component {
|
|
|
3753
3753
|
} = this.state;
|
|
3754
3754
|
if (!job || !job.history) return null;
|
|
3755
3755
|
const source = ___default["default"].sortBy([...job.history.map(e => {
|
|
3756
|
-
return _objectSpread$
|
|
3756
|
+
return _objectSpread$5(_objectSpread$5({}, e), {}, {
|
|
3757
3757
|
EntryType: e.EntryType || "status"
|
|
3758
3758
|
});
|
|
3759
3759
|
}), ...(job.Notes || []).map(e => {
|
|
3760
|
-
return _objectSpread$
|
|
3760
|
+
return _objectSpread$5(_objectSpread$5({}, e), {}, {
|
|
3761
3761
|
timestamp: e.Timestamp,
|
|
3762
3762
|
EntryType: "note"
|
|
3763
3763
|
});
|
|
@@ -3906,7 +3906,7 @@ class Job extends React.Component {
|
|
|
3906
3906
|
onClick: () => {
|
|
3907
3907
|
this.onSelectAssignee();
|
|
3908
3908
|
},
|
|
3909
|
-
colour: Colours$
|
|
3909
|
+
colour: Colours$2.COLOUR_DUSK
|
|
3910
3910
|
})
|
|
3911
3911
|
}));
|
|
3912
3912
|
} else {
|
|
@@ -3980,14 +3980,14 @@ var Job$1 = reactRedux.connect(mapStateToProps$3, {
|
|
|
3980
3980
|
jobStatusesUpdate
|
|
3981
3981
|
})(reactRouter.withRouter(Job));
|
|
3982
3982
|
|
|
3983
|
-
function ownKeys$
|
|
3984
|
-
function _objectSpread$
|
|
3983
|
+
function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3984
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3985
3985
|
const {
|
|
3986
3986
|
Actions,
|
|
3987
3987
|
Components: Components$2,
|
|
3988
3988
|
Helper: Helper$2,
|
|
3989
3989
|
Session: Session$2,
|
|
3990
|
-
Colours,
|
|
3990
|
+
Colours: Colours$1,
|
|
3991
3991
|
Apis
|
|
3992
3992
|
} = PlussCore__namespace;
|
|
3993
3993
|
class AddJob extends React.Component {
|
|
@@ -4006,7 +4006,7 @@ class AddJob extends React.Component {
|
|
|
4006
4006
|
type,
|
|
4007
4007
|
customFields
|
|
4008
4008
|
} = res.data;
|
|
4009
|
-
this.setState(_objectSpread$
|
|
4009
|
+
this.setState(_objectSpread$4(_objectSpread$4({}, res.data), {}, {
|
|
4010
4010
|
prevType: type,
|
|
4011
4011
|
prevCustomFileds: customFields,
|
|
4012
4012
|
type,
|
|
@@ -4254,7 +4254,7 @@ class AddJob extends React.Component {
|
|
|
4254
4254
|
event.target.value = "";
|
|
4255
4255
|
});
|
|
4256
4256
|
_defineProperty__default["default"](this, "onToggleDatePicker", qId => {
|
|
4257
|
-
const showDate = _objectSpread$
|
|
4257
|
+
const showDate = _objectSpread$4({}, this.state.showDate);
|
|
4258
4258
|
showDate[qId] = !showDate[qId];
|
|
4259
4259
|
this.setState({
|
|
4260
4260
|
showDate
|
|
@@ -4735,7 +4735,7 @@ class AddJob extends React.Component {
|
|
|
4735
4735
|
alwaysShowLabel: true,
|
|
4736
4736
|
readOnly: true,
|
|
4737
4737
|
rightContent: !___default["default"].isEmpty(field.answer) && /*#__PURE__*/React__default["default"].createElement(Components$2.SVGIcon, {
|
|
4738
|
-
colour: Colours.COLOUR_DUSK_LIGHT,
|
|
4738
|
+
colour: Colours$1.COLOUR_DUSK_LIGHT,
|
|
4739
4739
|
icon: "close",
|
|
4740
4740
|
className: "timepicker_clear",
|
|
4741
4741
|
onClick: () => this.onChangeDateAnswer(fieldId, undefined, false)
|
|
@@ -4768,7 +4768,7 @@ class AddJob extends React.Component {
|
|
|
4768
4768
|
}
|
|
4769
4769
|
}),
|
|
4770
4770
|
rightContent: !___default["default"].isEmpty(field.answer) && /*#__PURE__*/React__default["default"].createElement(Components$2.SVGIcon, {
|
|
4771
|
-
colour: Colours.COLOUR_DUSK_LIGHT,
|
|
4771
|
+
colour: Colours$1.COLOUR_DUSK_LIGHT,
|
|
4772
4772
|
icon: "close",
|
|
4773
4773
|
className: "timepicker_clear",
|
|
4774
4774
|
onClick: () => this.onChangeTimeAnswer(fieldId, undefined)
|
|
@@ -5793,11 +5793,14 @@ var AddJobType$1 = reactRedux.connect(mapStateToProps$1, {
|
|
|
5793
5793
|
jobTypesUpdate
|
|
5794
5794
|
})(reactRouter.withRouter(AddJobType));
|
|
5795
5795
|
|
|
5796
|
+
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5797
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5796
5798
|
const {
|
|
5797
5799
|
Analytics: Analytics$1,
|
|
5798
5800
|
Session,
|
|
5799
5801
|
Components,
|
|
5800
|
-
Helper
|
|
5802
|
+
Helper,
|
|
5803
|
+
Colours
|
|
5801
5804
|
} = PlussCore__namespace;
|
|
5802
5805
|
const getInitialState = () => ({
|
|
5803
5806
|
requests: 0,
|
|
@@ -5868,72 +5871,85 @@ const AnalyticsHub = _ref => {
|
|
|
5868
5871
|
getData();
|
|
5869
5872
|
}, [startTime, endTime, userType, userCategory, selectedSites]);
|
|
5870
5873
|
const getData = async () => {
|
|
5871
|
-
|
|
5872
|
-
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
5877
|
-
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
5874
|
+
try {
|
|
5875
|
+
setFailedSites([]);
|
|
5876
|
+
if (comparisonMode) {
|
|
5877
|
+
setComparisonData({
|
|
5878
|
+
requests: [],
|
|
5879
|
+
completedRequests: [],
|
|
5880
|
+
comments: [],
|
|
5881
|
+
isLoading: true
|
|
5882
|
+
});
|
|
5883
|
+
const multiSiteResultsObj = await Analytics$1.fetchMultiSiteData(selectedSites, async site => {
|
|
5884
|
+
const {
|
|
5885
|
+
data
|
|
5886
|
+
} = await analyticsActions.getAggregateEntityStats(site, values.analyticsKey, startTime, endTime, true, {
|
|
5887
|
+
userType,
|
|
5888
|
+
userCategory
|
|
5889
|
+
});
|
|
5890
|
+
return data;
|
|
5891
|
+
});
|
|
5892
|
+
const roles = auth.user.Roles;
|
|
5893
|
+
const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
|
|
5894
|
+
let [, data] = _ref2;
|
|
5895
|
+
return data === null;
|
|
5896
|
+
}).map(_ref3 => {
|
|
5897
|
+
let [site] = _ref3;
|
|
5898
|
+
return Helper.getSiteNameFromRoles(site, roles);
|
|
5899
|
+
});
|
|
5900
|
+
setFailedSites(failed);
|
|
5901
|
+
const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
|
|
5902
|
+
let [, data] = _ref4;
|
|
5903
|
+
return data !== null;
|
|
5904
|
+
}).map(_ref5 => {
|
|
5905
|
+
let [site, data] = _ref5;
|
|
5906
|
+
return {
|
|
5907
|
+
site,
|
|
5908
|
+
data
|
|
5909
|
+
};
|
|
5910
|
+
});
|
|
5911
|
+
const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
|
|
5912
|
+
name: Helper.getSiteNameFromRoles(result.site, roles),
|
|
5913
|
+
value: Analytics$1.countActivities(result.data, activityKey, countType)
|
|
5914
|
+
}));
|
|
5915
|
+
setComparisonData({
|
|
5916
|
+
requests: buildComparison("Request", "total"),
|
|
5917
|
+
completedRequests: buildComparison("RequestCompleted", "unique"),
|
|
5918
|
+
comments: buildComparison("Comment", "total"),
|
|
5919
|
+
isLoading: false
|
|
5920
|
+
});
|
|
5921
|
+
} else {
|
|
5922
|
+
setAnalyticsData(getInitialState());
|
|
5923
|
+
const site = selectedSites && selectedSites.length === 1 ? selectedSites[0] : auth.site;
|
|
5924
|
+
const timeDifference = endTime - startTime;
|
|
5925
|
+
const [currentStatsResponse, prevStatsResponse] = await Promise.all([analyticsActions.getAggregateEntityStats(site, values.analyticsKey, startTime, endTime, true, {
|
|
5882
5926
|
userType,
|
|
5883
5927
|
userCategory
|
|
5884
|
-
})
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
|
|
5897
|
-
let [, data] = _ref4;
|
|
5898
|
-
return data !== null;
|
|
5899
|
-
}).map(_ref5 => {
|
|
5900
|
-
let [site, data] = _ref5;
|
|
5901
|
-
return {
|
|
5902
|
-
site,
|
|
5903
|
-
data
|
|
5928
|
+
}), analyticsActions.getAggregateEntityStats(site, values.analyticsKey, startTime - timeDifference, startTime, true, {
|
|
5929
|
+
userType,
|
|
5930
|
+
userCategory
|
|
5931
|
+
})]);
|
|
5932
|
+
const data = {
|
|
5933
|
+
requests: Analytics$1.countActivities(currentStatsResponse.data, "Request", "total"),
|
|
5934
|
+
prevRequests: Analytics$1.countActivities(prevStatsResponse.data, "Request", "total"),
|
|
5935
|
+
completedRequests: Analytics$1.countActivities(currentStatsResponse.data, "RequestCompleted", "unique"),
|
|
5936
|
+
prevCompletedRequests: Analytics$1.countActivities(prevStatsResponse.data, "RequestCompleted", "unique"),
|
|
5937
|
+
comments: Analytics$1.countActivities(currentStatsResponse.data, "Comment", "total"),
|
|
5938
|
+
prevComments: Analytics$1.countActivities(prevStatsResponse.data, "Comment", "total"),
|
|
5939
|
+
isLoading: false
|
|
5904
5940
|
};
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
setAnalyticsData(getInitialState());
|
|
5918
|
-
const site = selectedSites && selectedSites.length === 1 ? selectedSites[0] : auth.site;
|
|
5919
|
-
const timeDifference = endTime - startTime;
|
|
5920
|
-
const [currentStatsResponse, prevStatsResponse] = await Promise.all([analyticsActions.getAggregateEntityStats(site, values.analyticsKey, startTime, endTime, true, {
|
|
5921
|
-
userType,
|
|
5922
|
-
userCategory
|
|
5923
|
-
}), analyticsActions.getAggregateEntityStats(site, values.analyticsKey, startTime - timeDifference, startTime, true, {
|
|
5924
|
-
userType,
|
|
5925
|
-
userCategory
|
|
5926
|
-
})]);
|
|
5927
|
-
const data = {
|
|
5928
|
-
requests: Analytics$1.countActivities(currentStatsResponse.data, "Request", "total"),
|
|
5929
|
-
prevRequests: Analytics$1.countActivities(prevStatsResponse.data, "Request", "total"),
|
|
5930
|
-
completedRequests: Analytics$1.countActivities(currentStatsResponse.data, "RequestCompleted", "unique"),
|
|
5931
|
-
prevCompletedRequests: Analytics$1.countActivities(prevStatsResponse.data, "RequestCompleted", "unique"),
|
|
5932
|
-
comments: Analytics$1.countActivities(currentStatsResponse.data, "Comment", "total"),
|
|
5933
|
-
prevComments: Analytics$1.countActivities(prevStatsResponse.data, "Comment", "total"),
|
|
5934
|
-
isLoading: false
|
|
5935
|
-
};
|
|
5936
|
-
setAnalyticsData(data);
|
|
5941
|
+
setAnalyticsData(data);
|
|
5942
|
+
}
|
|
5943
|
+
} catch (err) {
|
|
5944
|
+
if (comparisonMode) {
|
|
5945
|
+
setComparisonData(prev => _objectSpread$3(_objectSpread$3({}, prev), {}, {
|
|
5946
|
+
isLoading: false
|
|
5947
|
+
}));
|
|
5948
|
+
} else {
|
|
5949
|
+
setAnalyticsData(prev => _objectSpread$3(_objectSpread$3({}, prev), {}, {
|
|
5950
|
+
isLoading: false
|
|
5951
|
+
}));
|
|
5952
|
+
}
|
|
5937
5953
|
}
|
|
5938
5954
|
};
|
|
5939
5955
|
const isReadyToOpenCSV = () => {
|
|
@@ -5964,14 +5980,14 @@ const AnalyticsHub = _ref => {
|
|
|
5964
5980
|
return null;
|
|
5965
5981
|
}
|
|
5966
5982
|
const source = getExportSource();
|
|
5967
|
-
const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g,
|
|
5983
|
+
const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, "-")).join("_");
|
|
5968
5984
|
return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
|
|
5969
5985
|
onClose: () => {
|
|
5970
5986
|
setIsExportOpen(false);
|
|
5971
5987
|
},
|
|
5972
5988
|
columns: exportColumns,
|
|
5973
5989
|
source: source,
|
|
5974
|
-
filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ?
|
|
5990
|
+
filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? "_comparison" : "").concat(filterSuffix ? "_".concat(filterSuffix) : "", "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
|
|
5975
5991
|
});
|
|
5976
5992
|
};
|
|
5977
5993
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -5991,9 +6007,10 @@ const AnalyticsHub = _ref => {
|
|
|
5991
6007
|
}, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
|
|
5992
6008
|
type: "help",
|
|
5993
6009
|
style: {
|
|
5994
|
-
color:
|
|
6010
|
+
color: Colours.COLOUR_RED,
|
|
6011
|
+
marginTop: 8
|
|
5995
6012
|
}
|
|
5996
|
-
}, "Data unavailable for: ", failedSites.join(
|
|
6013
|
+
}, "Data unavailable for: ", failedSites.join(", ")), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5997
6014
|
className: "analyticsSection dashboardSection_content"
|
|
5998
6015
|
}, (() => {
|
|
5999
6016
|
const chartSuffix = [selectedSites && selectedSites.length > 0 ? "&sites=".concat(selectedSites.join(",")) : "", userType ? "&userType=".concat(encodeURIComponent(userType)) : "", userCategory ? "&userCategory=".concat(encodeURIComponent(userCategory)) : ""].join("");
|