Fixed pdf and pandoc export
This commit is contained in:
parent
87f281c700
commit
e76f28294b
@ -43,37 +43,40 @@ export default modalTemplate({
|
|||||||
const currentFile = this.$store.getters['file/current'];
|
const currentFile = this.$store.getters['file/current'];
|
||||||
const currentContent = this.$store.getters['content/current'];
|
const currentContent = this.$store.getters['content/current'];
|
||||||
const { selectedFormat } = this;
|
const { selectedFormat } = this;
|
||||||
const [sponsorToken, token] = await this.$store.dispatch('queue/enqueue', () => Promise.all([
|
this.$store.dispatch('queue/enqueue', async () => {
|
||||||
Promise.resolve().then(() => {
|
const [sponsorToken, token] = await Promise.all([
|
||||||
const tokenToRefresh = this.$store.getters['workspace/sponsorToken'];
|
Promise.resolve().then(() => {
|
||||||
return tokenToRefresh && googleHelper.refreshToken(tokenToRefresh);
|
const tokenToRefresh = this.$store.getters['workspace/sponsorToken'];
|
||||||
}),
|
return tokenToRefresh && googleHelper.refreshToken(tokenToRefresh);
|
||||||
sponsorSvc.getToken(),
|
}),
|
||||||
]));
|
sponsorSvc.getToken(),
|
||||||
try {
|
]);
|
||||||
const { body } = await networkSvc.request({
|
|
||||||
method: 'POST',
|
try {
|
||||||
url: 'pandocExport',
|
const { body } = await networkSvc.request({
|
||||||
params: {
|
method: 'POST',
|
||||||
token,
|
url: 'pandocExport',
|
||||||
idToken: sponsorToken && sponsorToken.idToken,
|
params: {
|
||||||
format: selectedFormat,
|
token,
|
||||||
options: JSON.stringify(this.$store.getters['data/computedSettings'].pandoc),
|
idToken: sponsorToken && sponsorToken.idToken,
|
||||||
metadata: JSON.stringify(currentContent.properties),
|
format: selectedFormat,
|
||||||
},
|
options: JSON.stringify(this.$store.getters['data/computedSettings'].pandoc),
|
||||||
body: JSON.stringify(editorSvc.getPandocAst()),
|
metadata: JSON.stringify(currentContent.properties),
|
||||||
blob: true,
|
},
|
||||||
timeout: 60000,
|
body: JSON.stringify(editorSvc.getPandocAst()),
|
||||||
});
|
blob: true,
|
||||||
FileSaver.saveAs(body, `${currentFile.name}.${selectedFormat}`);
|
timeout: 60000,
|
||||||
} catch (err) {
|
});
|
||||||
if (err.status === 401) {
|
FileSaver.saveAs(body, `${currentFile.name}.${selectedFormat}`);
|
||||||
this.$store.dispatch('modal/open', 'sponsorOnly');
|
} catch (err) {
|
||||||
} else {
|
if (err.status === 401) {
|
||||||
console.error(err); // eslint-disable-line no-console
|
this.$store.dispatch('modal/open', 'sponsorOnly');
|
||||||
this.$store.dispatch('notification/error', err);
|
} else {
|
||||||
|
console.error(err); // eslint-disable-line no-console
|
||||||
|
this.$store.dispatch('notification/error', err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -36,8 +36,8 @@ export default modalTemplate({
|
|||||||
async resolve() {
|
async resolve() {
|
||||||
this.config.resolve();
|
this.config.resolve();
|
||||||
const currentFile = this.$store.getters['file/current'];
|
const currentFile = this.$store.getters['file/current'];
|
||||||
const [sponsorToken, token, html] = await this.$store
|
this.$store.dispatch('queue/enqueue', async () => {
|
||||||
.dispatch('queue/enqueue', () => Promise.all([
|
const [sponsorToken, token, html] = await Promise.all([
|
||||||
Promise.resolve().then(() => {
|
Promise.resolve().then(() => {
|
||||||
const tokenToRefresh = this.$store.getters['workspace/sponsorToken'];
|
const tokenToRefresh = this.$store.getters['workspace/sponsorToken'];
|
||||||
return tokenToRefresh && googleHelper.refreshToken(tokenToRefresh);
|
return tokenToRefresh && googleHelper.refreshToken(tokenToRefresh);
|
||||||
@ -48,29 +48,31 @@ export default modalTemplate({
|
|||||||
this.allTemplatesById[this.selectedTemplate],
|
this.allTemplatesById[this.selectedTemplate],
|
||||||
true,
|
true,
|
||||||
),
|
),
|
||||||
]));
|
]);
|
||||||
try {
|
|
||||||
const { body } = await networkSvc.request({
|
try {
|
||||||
method: 'POST',
|
const { body } = await networkSvc.request({
|
||||||
url: 'pdfExport',
|
method: 'POST',
|
||||||
params: {
|
url: 'pdfExport',
|
||||||
token,
|
params: {
|
||||||
idToken: sponsorToken && sponsorToken.idToken,
|
token,
|
||||||
options: JSON.stringify(this.$store.getters['data/computedSettings'].wkhtmltopdf),
|
idToken: sponsorToken && sponsorToken.idToken,
|
||||||
},
|
options: JSON.stringify(this.$store.getters['data/computedSettings'].wkhtmltopdf),
|
||||||
body: html,
|
},
|
||||||
blob: true,
|
body: html,
|
||||||
timeout: 60000,
|
blob: true,
|
||||||
});
|
timeout: 60000,
|
||||||
FileSaver.saveAs(body, `${currentFile.name}.pdf`);
|
});
|
||||||
} catch (err) {
|
FileSaver.saveAs(body, `${currentFile.name}.pdf`);
|
||||||
if (err.status === 401) {
|
} catch (err) {
|
||||||
this.$store.dispatch('modal/open', 'sponsorOnly');
|
if (err.status === 401) {
|
||||||
} else {
|
this.$store.dispatch('modal/open', 'sponsorOnly');
|
||||||
console.error(err); // eslint-disable-line no-console
|
} else {
|
||||||
this.$store.dispatch('notification/error', err);
|
console.error(err); // eslint-disable-line no-console
|
||||||
|
this.$store.dispatch('notification/error', err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user