mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-06 22:40:14 -05:00
Fixed analytics exports to fetch on demand in Admin X (#17802)
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1692804385770949 - Analytics exports was previously retrieved on on page load instead of on demand. - This fixes that to ensure it gets fetched when the user hits the download button. - Renamed the file saving to `post-analytics.yyyy-mm-dd.csv` --- <!-- Leave the line below if you'd like GitHub Copilot to generate a summary from your commit --> <!-- copilot:summary --> ### <samp>🤖 Generated by Copilot at 2c96e78</samp> Improved the export posts feature in the membership settings by fetching the data only on demand and adding a date to the file name. Modified the `usePostsExports` hook and the `exportPosts` function in `Analytics.tsx`.
This commit is contained in:
parent
1a2fa55c1e
commit
8193040f29
1 changed files with 7 additions and 6 deletions
|
@ -27,21 +27,22 @@ const Analytics: React.FC<{ keywords: string[] }> = ({keywords}) => {
|
||||||
handleEditingChange(true);
|
handleEditingChange(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
const {data: postsData} = usePostsExports({
|
const {refetch: postsData} = usePostsExports({
|
||||||
searchParams: {
|
searchParams: {
|
||||||
limit: '1000'
|
limit: '1000'
|
||||||
}
|
},
|
||||||
|
enabled: false
|
||||||
});
|
});
|
||||||
|
|
||||||
const exportPosts = async () => {
|
const exportPosts = async () => {
|
||||||
// it should download posts as csv
|
const {data} = await postsData();
|
||||||
if (postsData) {
|
if (data) {
|
||||||
const blob = new Blob([postsData], {type: 'text/csv'});
|
const blob = new Blob([data], {type: 'text/csv'});
|
||||||
const url = window.URL.createObjectURL(blob);
|
const url = window.URL.createObjectURL(blob);
|
||||||
const a = document.createElement('a');
|
const a = document.createElement('a');
|
||||||
a.setAttribute('hidden', '');
|
a.setAttribute('hidden', '');
|
||||||
a.setAttribute('href', url);
|
a.setAttribute('href', url);
|
||||||
a.setAttribute('download', 'posts.csv');
|
a.setAttribute('download', `post-analytics.${new Date().toISOString().split('T')[0]}.csv`);
|
||||||
document.body.appendChild(a);
|
document.body.appendChild(a);
|
||||||
a.click();
|
a.click();
|
||||||
document.body.removeChild(a);
|
document.body.removeChild(a);
|
||||||
|
|
Loading…
Reference in a new issue