mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Relocate export urls to /download/
Summary: Moves CSV and XLSX export urls under /download/, and removes the document title query parameter which is now retrieved from the backend. Test Plan: No new tests. Existing tests that verify endpoints still function. Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D3010
This commit is contained in:
@@ -46,7 +46,7 @@ import {isSchemaAction} from 'app/common/DocActions';
|
||||
import {OpenLocalDocResult} from 'app/common/DocListAPI';
|
||||
import {HashLink, IDocPage} from 'app/common/gristUrls';
|
||||
import {RecalcWhen} from 'app/common/gristTypes';
|
||||
import {encodeQueryParams, undef, waitObs} from 'app/common/gutil';
|
||||
import {undef, waitObs} from 'app/common/gutil';
|
||||
import {LocalPlugin} from "app/common/plugin";
|
||||
import {StringUnion} from 'app/common/StringUnion';
|
||||
import {TableData} from 'app/common/TableData';
|
||||
@@ -625,29 +625,20 @@ export class GristDoc extends DisposableWithEvents {
|
||||
);
|
||||
}
|
||||
|
||||
public getXlsxLink() {
|
||||
const baseUrl = this.docPageModel.appModel.api.getDocAPI(this.docId()).getGenerateXlsxUrl();
|
||||
const params = {
|
||||
title: this.docPageModel.currentDocTitle.get(),
|
||||
};
|
||||
return baseUrl + '?' + encodeQueryParams(params);
|
||||
}
|
||||
|
||||
public getCsvLink() {
|
||||
const filters = this.viewModel.activeSection.peek().filteredFields.get().map(field=> ({
|
||||
colRef : field.colRef.peek(),
|
||||
filter : field.activeFilter.peek()
|
||||
}));
|
||||
|
||||
const baseUrl = this.docPageModel.appModel.api.getDocAPI(this.docId()).getGenerateCsvUrl();
|
||||
const params = {
|
||||
title: this.docPageModel.currentDocTitle.get(),
|
||||
viewSection: this.viewModel.activeSectionId(),
|
||||
tableId: this.viewModel.activeSection().table().tableId(),
|
||||
activeSortSpec: JSON.stringify(this.viewModel.activeSection().activeSortSpec()),
|
||||
filters : JSON.stringify(filters),
|
||||
};
|
||||
return baseUrl + '?' + encodeQueryParams(params);
|
||||
|
||||
return this.docPageModel.appModel.api.getDocAPI(this.docId()).getDownloadCsvUrl(params);
|
||||
}
|
||||
|
||||
public hasGranularAccessRules(): boolean {
|
||||
|
||||
@@ -223,8 +223,10 @@ function menuExports(doc: Document, pageModel: DocPageModel) {
|
||||
),
|
||||
menuItemLink({ href: gristDoc.getCsvLink(), target: '_blank', download: ''},
|
||||
menuIcon('Download'), 'Export CSV', testId('tb-share-option')),
|
||||
menuItemLink({ href: gristDoc.getXlsxLink(), target: '_blank', download: ''},
|
||||
menuIcon('Download'), 'Export XLSX', testId('tb-share-option')),
|
||||
menuItemLink({
|
||||
href: pageModel.appModel.api.getDocAPI(doc.id).getDownloadXlsxUrl(),
|
||||
target: '_blank', download: ''
|
||||
}, menuIcon('Download'), 'Export XLSX', testId('tb-share-option')),
|
||||
menuItem(() => sendToDrive(doc, pageModel),
|
||||
menuIcon('Download'), 'Send to Google Drive', testId('tb-share-option')),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user