diff --git a/ghost/admin/app/components/settings/analytics.hbs b/ghost/admin/app/components/settings/analytics.hbs index 4c808e648f..b82481018e 100644 --- a/ghost/admin/app/components/settings/analytics.hbs +++ b/ghost/admin/app/components/settings/analytics.hbs @@ -110,9 +110,7 @@ Download a CSV file of all your post data for easy analysis in one place

- + diff --git a/ghost/admin/app/components/settings/analytics.js b/ghost/admin/app/components/settings/analytics.js index c7f40b0625..34d4ca4fc4 100644 --- a/ghost/admin/app/components/settings/analytics.js +++ b/ghost/admin/app/components/settings/analytics.js @@ -2,6 +2,7 @@ import Component from '@glimmer/component'; import ghostPaths from 'ghost-admin/utils/ghost-paths'; import {action} from '@ember/object'; import {inject as service} from '@ember/service'; +import {task} from 'ember-concurrency'; export default class Analytics extends Component { @service settings; @@ -16,13 +17,15 @@ export default class Analytics extends Component { this.settings.emailTrackOpens = !this.settings.emailTrackOpens; } - @action - exportData() { + @task + *exportPostsTask() { let exportUrl = ghostPaths().url.api('posts/export'); let downloadParams = new URLSearchParams(); downloadParams.set('limit', 'all'); - this.utils.downloadFile(`${exportUrl}?${downloadParams.toString()}`); + yield this.utils.fetchAndDownloadFile(`${exportUrl}?${downloadParams.toString()}`); + + return true; } @action