@plusscommunities/pluss-maintenance-web 1.1.37-beta.0 → 1.1.37-beta.2

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 CHANGED
@@ -5824,6 +5824,7 @@ const AnalyticsHub = _ref => {
5824
5824
  } = _ref;
5825
5825
  const [analyticsData, setAnalyticsData] = React.useState(getInitialState());
5826
5826
  const [isExportOpen, setIsExportOpen] = React.useState(false);
5827
+ const [failedSites, setFailedSites] = React.useState([]);
5827
5828
  const [comparisonData, setComparisonData] = React.useState({
5828
5829
  requests: [],
5829
5830
  completedRequests: [],
@@ -5844,7 +5845,10 @@ const AnalyticsHub = _ref => {
5844
5845
  const exportColumns = [{
5845
5846
  label: "Select All",
5846
5847
  key: ""
5847
- }, {
5848
+ }, ...(comparisonMode ? [{
5849
+ label: "Site",
5850
+ key: "site"
5851
+ }] : []), {
5848
5852
  label: "Start Date",
5849
5853
  key: "startDate"
5850
5854
  }, {
@@ -5880,14 +5884,25 @@ const AnalyticsHub = _ref => {
5880
5884
  });
5881
5885
  return data;
5882
5886
  });
5883
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(_ref2 => {
5884
- let [site, data] = _ref2;
5887
+ const roles = auth.user.Roles;
5888
+ const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
5889
+ let [, data] = _ref2;
5890
+ return data === null;
5891
+ }).map(_ref3 => {
5892
+ let [site] = _ref3;
5893
+ return Helper.getSiteNameFromRoles(site, roles);
5894
+ });
5895
+ setFailedSites(failed);
5896
+ const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
5897
+ let [, data] = _ref4;
5898
+ return data !== null;
5899
+ }).map(_ref5 => {
5900
+ let [site, data] = _ref5;
5885
5901
  return {
5886
5902
  site,
5887
5903
  data
5888
5904
  };
5889
5905
  });
5890
- const roles = auth.user.Roles;
5891
5906
  const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
5892
5907
  name: Helper.getSiteNameFromRoles(result.site, roles),
5893
5908
  value: Analytics$1.countActivities(result.data, activityKey, countType)
@@ -5925,6 +5940,17 @@ const AnalyticsHub = _ref => {
5925
5940
  return comparisonMode ? !comparisonData.isLoading : !analyticsData.isLoading;
5926
5941
  };
5927
5942
  const getExportSource = () => {
5943
+ if (comparisonMode) {
5944
+ const sites = comparisonData.requests || [];
5945
+ return sites.map((site, i) => ({
5946
+ site: site.name,
5947
+ startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5948
+ endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
5949
+ requests: site.value,
5950
+ completedRequests: comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value || 0,
5951
+ comments: comparisonData.comments[i] && comparisonData.comments[i].value || 0
5952
+ }));
5953
+ }
5928
5954
  return [{
5929
5955
  startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5930
5956
  endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
@@ -5938,13 +5964,14 @@ const AnalyticsHub = _ref => {
5938
5964
  return null;
5939
5965
  }
5940
5966
  const source = getExportSource();
5967
+ const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
5941
5968
  return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
5942
5969
  onClose: () => {
5943
5970
  setIsExportOpen(false);
5944
5971
  },
5945
5972
  columns: exportColumns,
5946
5973
  source: source,
5947
- filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5974
+ filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5948
5975
  });
5949
5976
  };
5950
5977
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5961,7 +5988,12 @@ const AnalyticsHub = _ref => {
5961
5988
  },
5962
5989
  isActive: isReadyToOpenCSV(),
5963
5990
  leftIcon: "file-code-o"
5964
- }, "Export CSV")), /*#__PURE__*/React__default["default"].createElement("div", {
5991
+ }, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
5992
+ type: "help",
5993
+ style: {
5994
+ color: '#c02743'
5995
+ }
5996
+ }, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React__default["default"].createElement("div", {
5965
5997
  className: "analyticsSection dashboardSection_content"
5966
5998
  }, (() => {
5967
5999
  const chartSuffix = [selectedSites && selectedSites.length > 0 ? "&sites=".concat(selectedSites.join(",")) : "", userType ? "&userType=".concat(encodeURIComponent(userType)) : "", userCategory ? "&userCategory=".concat(encodeURIComponent(userCategory)) : ""].join("");
package/dist/index.esm.js CHANGED
@@ -5793,6 +5793,7 @@ const AnalyticsHub = _ref => {
5793
5793
  } = _ref;
5794
5794
  const [analyticsData, setAnalyticsData] = useState(getInitialState());
5795
5795
  const [isExportOpen, setIsExportOpen] = useState(false);
5796
+ const [failedSites, setFailedSites] = useState([]);
5796
5797
  const [comparisonData, setComparisonData] = useState({
5797
5798
  requests: [],
5798
5799
  completedRequests: [],
@@ -5813,7 +5814,10 @@ const AnalyticsHub = _ref => {
5813
5814
  const exportColumns = [{
5814
5815
  label: "Select All",
5815
5816
  key: ""
5816
- }, {
5817
+ }, ...(comparisonMode ? [{
5818
+ label: "Site",
5819
+ key: "site"
5820
+ }] : []), {
5817
5821
  label: "Start Date",
5818
5822
  key: "startDate"
5819
5823
  }, {
@@ -5849,14 +5853,25 @@ const AnalyticsHub = _ref => {
5849
5853
  });
5850
5854
  return data;
5851
5855
  });
5852
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(_ref2 => {
5853
- let [site, data] = _ref2;
5856
+ const roles = auth.user.Roles;
5857
+ const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
5858
+ let [, data] = _ref2;
5859
+ return data === null;
5860
+ }).map(_ref3 => {
5861
+ let [site] = _ref3;
5862
+ return Helper.getSiteNameFromRoles(site, roles);
5863
+ });
5864
+ setFailedSites(failed);
5865
+ const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
5866
+ let [, data] = _ref4;
5867
+ return data !== null;
5868
+ }).map(_ref5 => {
5869
+ let [site, data] = _ref5;
5854
5870
  return {
5855
5871
  site,
5856
5872
  data
5857
5873
  };
5858
5874
  });
5859
- const roles = auth.user.Roles;
5860
5875
  const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
5861
5876
  name: Helper.getSiteNameFromRoles(result.site, roles),
5862
5877
  value: Analytics$1.countActivities(result.data, activityKey, countType)
@@ -5894,6 +5909,17 @@ const AnalyticsHub = _ref => {
5894
5909
  return comparisonMode ? !comparisonData.isLoading : !analyticsData.isLoading;
5895
5910
  };
5896
5911
  const getExportSource = () => {
5912
+ if (comparisonMode) {
5913
+ const sites = comparisonData.requests || [];
5914
+ return sites.map((site, i) => ({
5915
+ site: site.name,
5916
+ startDate: moment(startTime + 1).format("D-MM-YYYY"),
5917
+ endDate: moment(endTime).format("D-MM-YYYY"),
5918
+ requests: site.value,
5919
+ completedRequests: comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value || 0,
5920
+ comments: comparisonData.comments[i] && comparisonData.comments[i].value || 0
5921
+ }));
5922
+ }
5897
5923
  return [{
5898
5924
  startDate: moment(startTime + 1).format("D-MM-YYYY"),
5899
5925
  endDate: moment(endTime).format("D-MM-YYYY"),
@@ -5907,13 +5933,14 @@ const AnalyticsHub = _ref => {
5907
5933
  return null;
5908
5934
  }
5909
5935
  const source = getExportSource();
5936
+ const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
5910
5937
  return /*#__PURE__*/React.createElement(Components.ExportCsvPopup, {
5911
5938
  onClose: () => {
5912
5939
  setIsExportOpen(false);
5913
5940
  },
5914
5941
  columns: exportColumns,
5915
5942
  source: source,
5916
- filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5943
+ filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5917
5944
  });
5918
5945
  };
5919
5946
  return /*#__PURE__*/React.createElement("div", {
@@ -5930,7 +5957,12 @@ const AnalyticsHub = _ref => {
5930
5957
  },
5931
5958
  isActive: isReadyToOpenCSV(),
5932
5959
  leftIcon: "file-code-o"
5933
- }, "Export CSV")), /*#__PURE__*/React.createElement("div", {
5960
+ }, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React.createElement(Components.Text, {
5961
+ type: "help",
5962
+ style: {
5963
+ color: '#c02743'
5964
+ }
5965
+ }, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React.createElement("div", {
5934
5966
  className: "analyticsSection dashboardSection_content"
5935
5967
  }, (() => {
5936
5968
  const chartSuffix = [selectedSites && selectedSites.length > 0 ? "&sites=".concat(selectedSites.join(",")) : "", userType ? "&userType=".concat(encodeURIComponent(userType)) : "", userCategory ? "&userCategory=".concat(encodeURIComponent(userCategory)) : ""].join("");
package/dist/index.umd.js CHANGED
@@ -5813,6 +5813,7 @@
5813
5813
  } = _ref;
5814
5814
  const [analyticsData, setAnalyticsData] = React.useState(getInitialState());
5815
5815
  const [isExportOpen, setIsExportOpen] = React.useState(false);
5816
+ const [failedSites, setFailedSites] = React.useState([]);
5816
5817
  const [comparisonData, setComparisonData] = React.useState({
5817
5818
  requests: [],
5818
5819
  completedRequests: [],
@@ -5833,7 +5834,10 @@
5833
5834
  const exportColumns = [{
5834
5835
  label: "Select All",
5835
5836
  key: ""
5836
- }, {
5837
+ }, ...(comparisonMode ? [{
5838
+ label: "Site",
5839
+ key: "site"
5840
+ }] : []), {
5837
5841
  label: "Start Date",
5838
5842
  key: "startDate"
5839
5843
  }, {
@@ -5869,14 +5873,25 @@
5869
5873
  });
5870
5874
  return data;
5871
5875
  });
5872
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(_ref2 => {
5873
- let [site, data] = _ref2;
5876
+ const roles = auth.user.Roles;
5877
+ const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
5878
+ let [, data] = _ref2;
5879
+ return data === null;
5880
+ }).map(_ref3 => {
5881
+ let [site] = _ref3;
5882
+ return Helper.getSiteNameFromRoles(site, roles);
5883
+ });
5884
+ setFailedSites(failed);
5885
+ const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
5886
+ let [, data] = _ref4;
5887
+ return data !== null;
5888
+ }).map(_ref5 => {
5889
+ let [site, data] = _ref5;
5874
5890
  return {
5875
5891
  site,
5876
5892
  data
5877
5893
  };
5878
5894
  });
5879
- const roles = auth.user.Roles;
5880
5895
  const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
5881
5896
  name: Helper.getSiteNameFromRoles(result.site, roles),
5882
5897
  value: Analytics$1.countActivities(result.data, activityKey, countType)
@@ -5914,6 +5929,17 @@
5914
5929
  return comparisonMode ? !comparisonData.isLoading : !analyticsData.isLoading;
5915
5930
  };
5916
5931
  const getExportSource = () => {
5932
+ if (comparisonMode) {
5933
+ const sites = comparisonData.requests || [];
5934
+ return sites.map((site, i) => ({
5935
+ site: site.name,
5936
+ startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5937
+ endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
5938
+ requests: site.value,
5939
+ completedRequests: comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value || 0,
5940
+ comments: comparisonData.comments[i] && comparisonData.comments[i].value || 0
5941
+ }));
5942
+ }
5917
5943
  return [{
5918
5944
  startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5919
5945
  endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
@@ -5927,13 +5953,14 @@
5927
5953
  return null;
5928
5954
  }
5929
5955
  const source = getExportSource();
5956
+ const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
5930
5957
  return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
5931
5958
  onClose: () => {
5932
5959
  setIsExportOpen(false);
5933
5960
  },
5934
5961
  columns: exportColumns,
5935
5962
  source: source,
5936
- filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5963
+ filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5937
5964
  });
5938
5965
  };
5939
5966
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5950,7 +5977,12 @@
5950
5977
  },
5951
5978
  isActive: isReadyToOpenCSV(),
5952
5979
  leftIcon: "file-code-o"
5953
- }, "Export CSV")), /*#__PURE__*/React__default["default"].createElement("div", {
5980
+ }, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
5981
+ type: "help",
5982
+ style: {
5983
+ color: '#c02743'
5984
+ }
5985
+ }, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React__default["default"].createElement("div", {
5954
5986
  className: "analyticsSection dashboardSection_content"
5955
5987
  }, (() => {
5956
5988
  const chartSuffix = [selectedSites && selectedSites.length > 0 ? "&sites=".concat(selectedSites.join(",")) : "", userType ? "&userType=".concat(encodeURIComponent(userType)) : "", userCategory ? "&userCategory=".concat(encodeURIComponent(userCategory)) : ""].join("");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-web",
3
- "version": "1.1.37-beta.0",
3
+ "version": "1.1.37-beta.2",
4
4
  "description": "Extension package to enable maintenance on Pluss Communities Platform",
5
5
  "main": "dist/index.cjs.js",
6
6
  "scripts": {
@@ -36,6 +36,7 @@ const AnalyticsHub = ({
36
36
  }) => {
37
37
  const [analyticsData, setAnalyticsData] = useState(getInitialState());
38
38
  const [isExportOpen, setIsExportOpen] = useState(false);
39
+ const [failedSites, setFailedSites] = useState([]);
39
40
  const [comparisonData, setComparisonData] = useState({
40
41
  requests: [],
41
42
  completedRequests: [],
@@ -63,6 +64,7 @@ const AnalyticsHub = ({
63
64
 
64
65
  const exportColumns = [
65
66
  { label: "Select All", key: "" },
67
+ ...(comparisonMode ? [{ label: "Site", key: "site" }] : []),
66
68
  { label: "Start Date", key: "startDate" },
67
69
  { label: "End Date", key: "endDate" },
68
70
  { label: `${values.textSingularName}s`, key: "requests" },
@@ -99,10 +101,14 @@ const AnalyticsHub = ({
99
101
  return data;
100
102
  },
101
103
  );
102
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(
103
- ([site, data]) => ({ site, data }),
104
- );
105
104
  const roles = auth.user.Roles;
105
+ const failed = Object.entries(multiSiteResultsObj)
106
+ .filter(([, data]) => data === null)
107
+ .map(([site]) => Helper.getSiteNameFromRoles(site, roles));
108
+ setFailedSites(failed);
109
+ const multiSiteResults = Object.entries(multiSiteResultsObj)
110
+ .filter(([, data]) => data !== null)
111
+ .map(([site, data]) => ({ site, data }));
106
112
  const buildComparison = (activityKey, countType) =>
107
113
  multiSiteResults.map((result) => ({
108
114
  name: Helper.getSiteNameFromRoles(result.site, roles),
@@ -184,6 +190,17 @@ const AnalyticsHub = ({
184
190
  };
185
191
 
186
192
  const getExportSource = () => {
193
+ if (comparisonMode) {
194
+ const sites = comparisonData.requests || [];
195
+ return sites.map((site, i) => ({
196
+ site: site.name,
197
+ startDate: moment(startTime + 1).format("D-MM-YYYY"),
198
+ endDate: moment(endTime).format("D-MM-YYYY"),
199
+ requests: site.value,
200
+ completedRequests: (comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value) || 0,
201
+ comments: (comparisonData.comments[i] && comparisonData.comments[i].value) || 0,
202
+ }));
203
+ }
187
204
  return [
188
205
  {
189
206
  startDate: moment(startTime + 1).format("D-MM-YYYY"),
@@ -200,6 +217,7 @@ const AnalyticsHub = ({
200
217
  return null;
201
218
  }
202
219
  const source = getExportSource();
220
+ const filterSuffix = [userType, userCategory].filter(Boolean).map((f) => f.toLowerCase().replace(/\s+/g, '-')).join('_');
203
221
  return (
204
222
  <Components.ExportCsvPopup
205
223
  onClose={() => {
@@ -207,7 +225,7 @@ const AnalyticsHub = ({
207
225
  }}
208
226
  columns={exportColumns}
209
227
  source={source}
210
- filename={`${values.analyticsKey}analytics_${source[0].startDate}_${source[0].endDate}.csv`}
228
+ filename={`${values.analyticsKey}analytics${comparisonMode ? '_comparison' : ''}${filterSuffix ? `_${filterSuffix}` : ''}_${source[0].startDate}_${source[0].endDate}.csv`}
211
229
  />
212
230
  );
213
231
  };
@@ -232,6 +250,11 @@ const AnalyticsHub = ({
232
250
  Export CSV
233
251
  </Components.Button>
234
252
  </div>
253
+ {failedSites.length > 0 && (
254
+ <Components.Text type="help" style={{ color: '#c02743' }}>
255
+ Data unavailable for: {failedSites.join(', ')}
256
+ </Components.Text>
257
+ )}
235
258
  <div className="analyticsSection dashboardSection_content">
236
259
  {(() => {
237
260
  const chartSuffix = [