@plusscommunities/pluss-maintenance-web-forms 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
@@ -5802,6 +5802,7 @@ const AnalyticsHub = _ref => {
5802
5802
  } = _ref;
5803
5803
  const [analyticsData, setAnalyticsData] = React.useState(getInitialState());
5804
5804
  const [isExportOpen, setIsExportOpen] = React.useState(false);
5805
+ const [failedSites, setFailedSites] = React.useState([]);
5805
5806
  const [comparisonData, setComparisonData] = React.useState({
5806
5807
  requests: [],
5807
5808
  completedRequests: [],
@@ -5822,7 +5823,10 @@ const AnalyticsHub = _ref => {
5822
5823
  const exportColumns = [{
5823
5824
  label: "Select All",
5824
5825
  key: ""
5825
- }, {
5826
+ }, ...(comparisonMode ? [{
5827
+ label: "Site",
5828
+ key: "site"
5829
+ }] : []), {
5826
5830
  label: "Start Date",
5827
5831
  key: "startDate"
5828
5832
  }, {
@@ -5858,14 +5862,25 @@ const AnalyticsHub = _ref => {
5858
5862
  });
5859
5863
  return data;
5860
5864
  });
5861
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(_ref2 => {
5862
- let [site, data] = _ref2;
5865
+ const roles = auth.user.Roles;
5866
+ const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
5867
+ let [, data] = _ref2;
5868
+ return data === null;
5869
+ }).map(_ref3 => {
5870
+ let [site] = _ref3;
5871
+ return Helper.getSiteNameFromRoles(site, roles);
5872
+ });
5873
+ setFailedSites(failed);
5874
+ const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
5875
+ let [, data] = _ref4;
5876
+ return data !== null;
5877
+ }).map(_ref5 => {
5878
+ let [site, data] = _ref5;
5863
5879
  return {
5864
5880
  site,
5865
5881
  data
5866
5882
  };
5867
5883
  });
5868
- const roles = auth.user.Roles;
5869
5884
  const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
5870
5885
  name: Helper.getSiteNameFromRoles(result.site, roles),
5871
5886
  value: Analytics$1.countActivities(result.data, activityKey, countType)
@@ -5903,6 +5918,17 @@ const AnalyticsHub = _ref => {
5903
5918
  return comparisonMode ? !comparisonData.isLoading : !analyticsData.isLoading;
5904
5919
  };
5905
5920
  const getExportSource = () => {
5921
+ if (comparisonMode) {
5922
+ const sites = comparisonData.requests || [];
5923
+ return sites.map((site, i) => ({
5924
+ site: site.name,
5925
+ startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5926
+ endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
5927
+ requests: site.value,
5928
+ completedRequests: comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value || 0,
5929
+ comments: comparisonData.comments[i] && comparisonData.comments[i].value || 0
5930
+ }));
5931
+ }
5906
5932
  return [{
5907
5933
  startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5908
5934
  endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
@@ -5916,13 +5942,14 @@ const AnalyticsHub = _ref => {
5916
5942
  return null;
5917
5943
  }
5918
5944
  const source = getExportSource();
5945
+ const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
5919
5946
  return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
5920
5947
  onClose: () => {
5921
5948
  setIsExportOpen(false);
5922
5949
  },
5923
5950
  columns: exportColumns,
5924
5951
  source: source,
5925
- filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5952
+ filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5926
5953
  });
5927
5954
  };
5928
5955
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5939,7 +5966,12 @@ const AnalyticsHub = _ref => {
5939
5966
  },
5940
5967
  isActive: isReadyToOpenCSV(),
5941
5968
  leftIcon: "file-code-o"
5942
- }, "Export CSV")), /*#__PURE__*/React__default["default"].createElement("div", {
5969
+ }, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
5970
+ type: "help",
5971
+ style: {
5972
+ color: '#c02743'
5973
+ }
5974
+ }, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React__default["default"].createElement("div", {
5943
5975
  className: "analyticsSection dashboardSection_content"
5944
5976
  }, (() => {
5945
5977
  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
@@ -5771,6 +5771,7 @@ const AnalyticsHub = _ref => {
5771
5771
  } = _ref;
5772
5772
  const [analyticsData, setAnalyticsData] = useState(getInitialState());
5773
5773
  const [isExportOpen, setIsExportOpen] = useState(false);
5774
+ const [failedSites, setFailedSites] = useState([]);
5774
5775
  const [comparisonData, setComparisonData] = useState({
5775
5776
  requests: [],
5776
5777
  completedRequests: [],
@@ -5791,7 +5792,10 @@ const AnalyticsHub = _ref => {
5791
5792
  const exportColumns = [{
5792
5793
  label: "Select All",
5793
5794
  key: ""
5794
- }, {
5795
+ }, ...(comparisonMode ? [{
5796
+ label: "Site",
5797
+ key: "site"
5798
+ }] : []), {
5795
5799
  label: "Start Date",
5796
5800
  key: "startDate"
5797
5801
  }, {
@@ -5827,14 +5831,25 @@ const AnalyticsHub = _ref => {
5827
5831
  });
5828
5832
  return data;
5829
5833
  });
5830
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(_ref2 => {
5831
- let [site, data] = _ref2;
5834
+ const roles = auth.user.Roles;
5835
+ const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
5836
+ let [, data] = _ref2;
5837
+ return data === null;
5838
+ }).map(_ref3 => {
5839
+ let [site] = _ref3;
5840
+ return Helper.getSiteNameFromRoles(site, roles);
5841
+ });
5842
+ setFailedSites(failed);
5843
+ const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
5844
+ let [, data] = _ref4;
5845
+ return data !== null;
5846
+ }).map(_ref5 => {
5847
+ let [site, data] = _ref5;
5832
5848
  return {
5833
5849
  site,
5834
5850
  data
5835
5851
  };
5836
5852
  });
5837
- const roles = auth.user.Roles;
5838
5853
  const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
5839
5854
  name: Helper.getSiteNameFromRoles(result.site, roles),
5840
5855
  value: Analytics$1.countActivities(result.data, activityKey, countType)
@@ -5872,6 +5887,17 @@ const AnalyticsHub = _ref => {
5872
5887
  return comparisonMode ? !comparisonData.isLoading : !analyticsData.isLoading;
5873
5888
  };
5874
5889
  const getExportSource = () => {
5890
+ if (comparisonMode) {
5891
+ const sites = comparisonData.requests || [];
5892
+ return sites.map((site, i) => ({
5893
+ site: site.name,
5894
+ startDate: moment(startTime + 1).format("D-MM-YYYY"),
5895
+ endDate: moment(endTime).format("D-MM-YYYY"),
5896
+ requests: site.value,
5897
+ completedRequests: comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value || 0,
5898
+ comments: comparisonData.comments[i] && comparisonData.comments[i].value || 0
5899
+ }));
5900
+ }
5875
5901
  return [{
5876
5902
  startDate: moment(startTime + 1).format("D-MM-YYYY"),
5877
5903
  endDate: moment(endTime).format("D-MM-YYYY"),
@@ -5885,13 +5911,14 @@ const AnalyticsHub = _ref => {
5885
5911
  return null;
5886
5912
  }
5887
5913
  const source = getExportSource();
5914
+ const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
5888
5915
  return /*#__PURE__*/React.createElement(Components.ExportCsvPopup, {
5889
5916
  onClose: () => {
5890
5917
  setIsExportOpen(false);
5891
5918
  },
5892
5919
  columns: exportColumns,
5893
5920
  source: source,
5894
- filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5921
+ filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5895
5922
  });
5896
5923
  };
5897
5924
  return /*#__PURE__*/React.createElement("div", {
@@ -5908,7 +5935,12 @@ const AnalyticsHub = _ref => {
5908
5935
  },
5909
5936
  isActive: isReadyToOpenCSV(),
5910
5937
  leftIcon: "file-code-o"
5911
- }, "Export CSV")), /*#__PURE__*/React.createElement("div", {
5938
+ }, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React.createElement(Components.Text, {
5939
+ type: "help",
5940
+ style: {
5941
+ color: '#c02743'
5942
+ }
5943
+ }, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React.createElement("div", {
5912
5944
  className: "analyticsSection dashboardSection_content"
5913
5945
  }, (() => {
5914
5946
  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
@@ -5791,6 +5791,7 @@
5791
5791
  } = _ref;
5792
5792
  const [analyticsData, setAnalyticsData] = React.useState(getInitialState());
5793
5793
  const [isExportOpen, setIsExportOpen] = React.useState(false);
5794
+ const [failedSites, setFailedSites] = React.useState([]);
5794
5795
  const [comparisonData, setComparisonData] = React.useState({
5795
5796
  requests: [],
5796
5797
  completedRequests: [],
@@ -5811,7 +5812,10 @@
5811
5812
  const exportColumns = [{
5812
5813
  label: "Select All",
5813
5814
  key: ""
5814
- }, {
5815
+ }, ...(comparisonMode ? [{
5816
+ label: "Site",
5817
+ key: "site"
5818
+ }] : []), {
5815
5819
  label: "Start Date",
5816
5820
  key: "startDate"
5817
5821
  }, {
@@ -5847,14 +5851,25 @@
5847
5851
  });
5848
5852
  return data;
5849
5853
  });
5850
- const multiSiteResults = Object.entries(multiSiteResultsObj).map(_ref2 => {
5851
- let [site, data] = _ref2;
5854
+ const roles = auth.user.Roles;
5855
+ const failed = Object.entries(multiSiteResultsObj).filter(_ref2 => {
5856
+ let [, data] = _ref2;
5857
+ return data === null;
5858
+ }).map(_ref3 => {
5859
+ let [site] = _ref3;
5860
+ return Helper.getSiteNameFromRoles(site, roles);
5861
+ });
5862
+ setFailedSites(failed);
5863
+ const multiSiteResults = Object.entries(multiSiteResultsObj).filter(_ref4 => {
5864
+ let [, data] = _ref4;
5865
+ return data !== null;
5866
+ }).map(_ref5 => {
5867
+ let [site, data] = _ref5;
5852
5868
  return {
5853
5869
  site,
5854
5870
  data
5855
5871
  };
5856
5872
  });
5857
- const roles = auth.user.Roles;
5858
5873
  const buildComparison = (activityKey, countType) => multiSiteResults.map(result => ({
5859
5874
  name: Helper.getSiteNameFromRoles(result.site, roles),
5860
5875
  value: Analytics$1.countActivities(result.data, activityKey, countType)
@@ -5892,6 +5907,17 @@
5892
5907
  return comparisonMode ? !comparisonData.isLoading : !analyticsData.isLoading;
5893
5908
  };
5894
5909
  const getExportSource = () => {
5910
+ if (comparisonMode) {
5911
+ const sites = comparisonData.requests || [];
5912
+ return sites.map((site, i) => ({
5913
+ site: site.name,
5914
+ startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5915
+ endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
5916
+ requests: site.value,
5917
+ completedRequests: comparisonData.completedRequests[i] && comparisonData.completedRequests[i].value || 0,
5918
+ comments: comparisonData.comments[i] && comparisonData.comments[i].value || 0
5919
+ }));
5920
+ }
5895
5921
  return [{
5896
5922
  startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
5897
5923
  endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
@@ -5905,13 +5931,14 @@
5905
5931
  return null;
5906
5932
  }
5907
5933
  const source = getExportSource();
5934
+ const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
5908
5935
  return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
5909
5936
  onClose: () => {
5910
5937
  setIsExportOpen(false);
5911
5938
  },
5912
5939
  columns: exportColumns,
5913
5940
  source: source,
5914
- filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5941
+ filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
5915
5942
  });
5916
5943
  };
5917
5944
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5928,7 +5955,12 @@
5928
5955
  },
5929
5956
  isActive: isReadyToOpenCSV(),
5930
5957
  leftIcon: "file-code-o"
5931
- }, "Export CSV")), /*#__PURE__*/React__default["default"].createElement("div", {
5958
+ }, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
5959
+ type: "help",
5960
+ style: {
5961
+ color: '#c02743'
5962
+ }
5963
+ }, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React__default["default"].createElement("div", {
5932
5964
  className: "analyticsSection dashboardSection_content"
5933
5965
  }, (() => {
5934
5966
  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-forms",
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 = [