@plusscommunities/pluss-maintenance-web-forms 1.1.37-beta.0 → 1.1.37-beta.1
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 +41 -6
- package/dist/index.esm.js +41 -6
- package/dist/index.umd.js +41 -6
- package/package.json +1 -1
- package/src/components/AnalyticsHub.js +27 -4
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
|
|
5862
|
-
|
|
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,20 @@ 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
|
+
var _comparisonData$compl, _comparisonData$comme;
|
|
5925
|
+
return {
|
|
5926
|
+
site: site.name,
|
|
5927
|
+
startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
|
|
5928
|
+
endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
|
|
5929
|
+
requests: site.value,
|
|
5930
|
+
completedRequests: ((_comparisonData$compl = comparisonData.completedRequests[i]) === null || _comparisonData$compl === void 0 ? void 0 : _comparisonData$compl.value) || 0,
|
|
5931
|
+
comments: ((_comparisonData$comme = comparisonData.comments[i]) === null || _comparisonData$comme === void 0 ? void 0 : _comparisonData$comme.value) || 0
|
|
5932
|
+
};
|
|
5933
|
+
});
|
|
5934
|
+
}
|
|
5906
5935
|
return [{
|
|
5907
5936
|
startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
|
|
5908
5937
|
endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
|
|
@@ -5916,13 +5945,14 @@ const AnalyticsHub = _ref => {
|
|
|
5916
5945
|
return null;
|
|
5917
5946
|
}
|
|
5918
5947
|
const source = getExportSource();
|
|
5948
|
+
const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
|
|
5919
5949
|
return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
|
|
5920
5950
|
onClose: () => {
|
|
5921
5951
|
setIsExportOpen(false);
|
|
5922
5952
|
},
|
|
5923
5953
|
columns: exportColumns,
|
|
5924
5954
|
source: source,
|
|
5925
|
-
filename: "".concat(values.analyticsKey, "
|
|
5955
|
+
filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
|
|
5926
5956
|
});
|
|
5927
5957
|
};
|
|
5928
5958
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -5939,7 +5969,12 @@ const AnalyticsHub = _ref => {
|
|
|
5939
5969
|
},
|
|
5940
5970
|
isActive: isReadyToOpenCSV(),
|
|
5941
5971
|
leftIcon: "file-code-o"
|
|
5942
|
-
}, "Export CSV")), /*#__PURE__*/React__default["default"].createElement(
|
|
5972
|
+
}, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
|
|
5973
|
+
type: "help",
|
|
5974
|
+
style: {
|
|
5975
|
+
color: '#c02743'
|
|
5976
|
+
}
|
|
5977
|
+
}, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5943
5978
|
className: "analyticsSection dashboardSection_content"
|
|
5944
5979
|
}, (() => {
|
|
5945
5980
|
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
|
|
5831
|
-
|
|
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,20 @@ 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
|
+
var _comparisonData$compl, _comparisonData$comme;
|
|
5894
|
+
return {
|
|
5895
|
+
site: site.name,
|
|
5896
|
+
startDate: moment(startTime + 1).format("D-MM-YYYY"),
|
|
5897
|
+
endDate: moment(endTime).format("D-MM-YYYY"),
|
|
5898
|
+
requests: site.value,
|
|
5899
|
+
completedRequests: ((_comparisonData$compl = comparisonData.completedRequests[i]) === null || _comparisonData$compl === void 0 ? void 0 : _comparisonData$compl.value) || 0,
|
|
5900
|
+
comments: ((_comparisonData$comme = comparisonData.comments[i]) === null || _comparisonData$comme === void 0 ? void 0 : _comparisonData$comme.value) || 0
|
|
5901
|
+
};
|
|
5902
|
+
});
|
|
5903
|
+
}
|
|
5875
5904
|
return [{
|
|
5876
5905
|
startDate: moment(startTime + 1).format("D-MM-YYYY"),
|
|
5877
5906
|
endDate: moment(endTime).format("D-MM-YYYY"),
|
|
@@ -5885,13 +5914,14 @@ const AnalyticsHub = _ref => {
|
|
|
5885
5914
|
return null;
|
|
5886
5915
|
}
|
|
5887
5916
|
const source = getExportSource();
|
|
5917
|
+
const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
|
|
5888
5918
|
return /*#__PURE__*/React.createElement(Components.ExportCsvPopup, {
|
|
5889
5919
|
onClose: () => {
|
|
5890
5920
|
setIsExportOpen(false);
|
|
5891
5921
|
},
|
|
5892
5922
|
columns: exportColumns,
|
|
5893
5923
|
source: source,
|
|
5894
|
-
filename: "".concat(values.analyticsKey, "
|
|
5924
|
+
filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
|
|
5895
5925
|
});
|
|
5896
5926
|
};
|
|
5897
5927
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -5908,7 +5938,12 @@ const AnalyticsHub = _ref => {
|
|
|
5908
5938
|
},
|
|
5909
5939
|
isActive: isReadyToOpenCSV(),
|
|
5910
5940
|
leftIcon: "file-code-o"
|
|
5911
|
-
}, "Export CSV")), /*#__PURE__*/React.createElement(
|
|
5941
|
+
}, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React.createElement(Components.Text, {
|
|
5942
|
+
type: "help",
|
|
5943
|
+
style: {
|
|
5944
|
+
color: '#c02743'
|
|
5945
|
+
}
|
|
5946
|
+
}, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React.createElement("div", {
|
|
5912
5947
|
className: "analyticsSection dashboardSection_content"
|
|
5913
5948
|
}, (() => {
|
|
5914
5949
|
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
|
|
5851
|
-
|
|
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,20 @@
|
|
|
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
|
+
var _comparisonData$compl, _comparisonData$comme;
|
|
5914
|
+
return {
|
|
5915
|
+
site: site.name,
|
|
5916
|
+
startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
|
|
5917
|
+
endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
|
|
5918
|
+
requests: site.value,
|
|
5919
|
+
completedRequests: ((_comparisonData$compl = comparisonData.completedRequests[i]) === null || _comparisonData$compl === void 0 ? void 0 : _comparisonData$compl.value) || 0,
|
|
5920
|
+
comments: ((_comparisonData$comme = comparisonData.comments[i]) === null || _comparisonData$comme === void 0 ? void 0 : _comparisonData$comme.value) || 0
|
|
5921
|
+
};
|
|
5922
|
+
});
|
|
5923
|
+
}
|
|
5895
5924
|
return [{
|
|
5896
5925
|
startDate: moment__default["default"](startTime + 1).format("D-MM-YYYY"),
|
|
5897
5926
|
endDate: moment__default["default"](endTime).format("D-MM-YYYY"),
|
|
@@ -5905,13 +5934,14 @@
|
|
|
5905
5934
|
return null;
|
|
5906
5935
|
}
|
|
5907
5936
|
const source = getExportSource();
|
|
5937
|
+
const filterSuffix = [userType, userCategory].filter(Boolean).map(f => f.toLowerCase().replace(/\s+/g, '-')).join('_');
|
|
5908
5938
|
return /*#__PURE__*/React__default["default"].createElement(Components.ExportCsvPopup, {
|
|
5909
5939
|
onClose: () => {
|
|
5910
5940
|
setIsExportOpen(false);
|
|
5911
5941
|
},
|
|
5912
5942
|
columns: exportColumns,
|
|
5913
5943
|
source: source,
|
|
5914
|
-
filename: "".concat(values.analyticsKey, "
|
|
5944
|
+
filename: "".concat(values.analyticsKey, "analytics").concat(comparisonMode ? '_comparison' : '').concat(filterSuffix ? "_".concat(filterSuffix) : '', "_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
|
|
5915
5945
|
});
|
|
5916
5946
|
};
|
|
5917
5947
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -5928,7 +5958,12 @@
|
|
|
5928
5958
|
},
|
|
5929
5959
|
isActive: isReadyToOpenCSV(),
|
|
5930
5960
|
leftIcon: "file-code-o"
|
|
5931
|
-
}, "Export CSV")), /*#__PURE__*/React__default["default"].createElement(
|
|
5961
|
+
}, "Export CSV")), failedSites.length > 0 && /*#__PURE__*/React__default["default"].createElement(Components.Text, {
|
|
5962
|
+
type: "help",
|
|
5963
|
+
style: {
|
|
5964
|
+
color: '#c02743'
|
|
5965
|
+
}
|
|
5966
|
+
}, "Data unavailable for: ", failedSites.join(', ')), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5932
5967
|
className: "analyticsSection dashboardSection_content"
|
|
5933
5968
|
}, (() => {
|
|
5934
5969
|
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
|
@@ -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]?.value || 0,
|
|
201
|
+
comments: 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}
|
|
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 = [
|