Skip to content
Snippets Groups Projects
Commit c48f0fc1 authored by Eugen Ciur's avatar Eugen Ciur
Browse files

now pages can fetched as blob or as json

parent 55d7deaa
Branches
No related tags found
No related merge requests found
import ApplicationAdapter from './application';
export default class NodeAdapter extends ApplicationAdapter {
getBinaryImage(page_id) {
let url, headers;
url = this.buildURL('pages', page_id);
headers = this.headers;
headers['Accept'] = 'image/jpeg';
return fetch(url, {
method: 'GET',
headers: headers
});
}
async loadBinaryImages(pages) {
let all_proms = pages.map((page) => {
// fetch binary image here
return this.getBinaryImage(page.id).then(
response => response.blob()
).then((image_blob) => {
const image_object_url = URL.createObjectURL(image_blob);
page.url = image_object_url;
});
});
await Promise.all(all_proms);
return pages;
}
}
\ No newline at end of file
Page Count = {{@model.page_count}} Page Count = {{@model.document_version.page_count}}
<div class="d-flex flex-column">
{{#each @model.pages as |page|}} {{#each @model.pages as |page|}}
{{page.number}} <Page @page={{page}} />
{{/each}} {{/each}}
</div>
<img src="{{@page.url}}" width="100" />
{{@page.number}}
\ No newline at end of file
...@@ -6,10 +6,23 @@ export default class DocumentRoute extends Route { ...@@ -6,10 +6,23 @@ export default class DocumentRoute extends Route {
@service store; @service store;
async model(params) { async model(params) {
let adapter; let doc_adapter,
page_adapter,
document_version,
pages,
pages_with_url;
adapter = this.store.adapterFor('document'); page_adapter = this.store.adapterFor('page');
return adapter.getDocumentVersion(params.document_id); doc_adapter = this.store.adapterFor('document');
document_version = await doc_adapter.getDocumentVersion(params.document_id);
pages = await document_version.pages;
pages_with_url = await page_adapter.loadBinaryImages(pages);
console.log("document_version returned");
console.log(pages_with_url);
return {
'document_version': document_version,
'pages': pages_with_url
}
} }
renderTemplate() { renderTemplate() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment