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
No related branches found
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}}
{{#each @model.pages as |page|}}
{{page.number}}
{{/each}}
<div class="d-flex flex-column">
{{#each @model.pages as |page|}}
<Page @page={{page}} />
{{/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 {
@service store;
async model(params) {
let adapter;
let doc_adapter,
page_adapter,
document_version,
pages,
pages_with_url;
adapter = this.store.adapterFor('document');
return adapter.getDocumentVersion(params.document_id);
page_adapter = this.store.adapterFor('page');
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() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment