diff --git a/plugins/export-resources/src/components/ExportButton.svelte b/plugins/export-resources/src/components/ExportButton.svelte index 593b59c520..a77d962383 100644 --- a/plugins/export-resources/src/components/ExportButton.svelte +++ b/plugins/export-resources/src/components/ExportButton.svelte @@ -53,9 +53,12 @@ kind: 'error', message: plugin.string.ExportRequestFailedMessage }) + return } - const filename = `Talants_${new Date().toLocaleDateString()}_${new Date().toLocaleTimeString()}.csv` + const contentDisposition = res.headers.get('Content-Disposition') + const filename = contentDisposition?.match(/filename="([^"]*)"/)?.[1] ?? 'export.csv' + const blob = await res.blob() const url = window.URL.createObjectURL(blob) const a = document.createElement('a') diff --git a/plugins/export-resources/src/index.ts b/plugins/export-resources/src/index.ts index 9881e6f6dc..1e119ce462 100644 --- a/plugins/export-resources/src/index.ts +++ b/plugins/export-resources/src/index.ts @@ -17,6 +17,9 @@ import { type Resources } from '@hcengineering/platform' import ExportButton from './components/ExportButton.svelte' import ExportSettings from './components/ExportSettings.svelte' +export { default as ExportButton } from './components/ExportButton.svelte' +export { default as ExportSettings } from './components/ExportSettings.svelte' + export default async (): Promise => ({ component: { ExportButton, diff --git a/plugins/recruit-resources/package.json b/plugins/recruit-resources/package.json index b64b470330..33399a3e03 100644 --- a/plugins/recruit-resources/package.json +++ b/plugins/recruit-resources/package.json @@ -67,6 +67,7 @@ "@hcengineering/view": "^0.6.13", "@hcengineering/view-resources": "^0.6.0", "@hcengineering/workbench": "^0.6.16", + "@hcengineering/export-resources": "^0.6.0", "svelte": "^4.2.19" } } diff --git a/plugins/recruit-resources/src/components/Organizations.svelte b/plugins/recruit-resources/src/components/Organizations.svelte index 4649fb2b1e..2301adc12f 100644 --- a/plugins/recruit-resources/src/components/Organizations.svelte +++ b/plugins/recruit-resources/src/components/Organizations.svelte @@ -22,6 +22,7 @@ import { FilterBar, FilterButton, ViewletSelector, ViewletSettingButton } from '@hcengineering/view-resources' import recruit from '../plugin' import CreateOrganization from './CreateOrganization.svelte' + import { ExportButton } from '@hcengineering/export-resources' import VacancyListApplicationsPopup from './organizations/VacancyListApplicationsPopup.svelte' import VacancyListCountPresenter from './organizations/VacancyListCountPresenter.svelte' import VacancyPopup from './organizations/VacancyPopup.svelte' @@ -214,6 +215,40 @@ +