diff --git a/app/adapters/document.js b/app/adapters/document.js new file mode 100644 index 0000000000000000000000000000000000000000..f0b1aabd8c68e7a957b86eecd92fba1cab82165c --- /dev/null +++ b/app/adapters/document.js @@ -0,0 +1,17 @@ +import ApplicationAdapter from './application'; + + +export default class NodeAdapter extends ApplicationAdapter { + + getDocumentVersion(document_id) { + let url, ret; + + url = this.buildURL('documents', document_id); + + return this.ajax(url, 'GET').then((document_version) => { + this.store.pushPayload('document-version', document_version); + ret = this.store.peekRecord('document-version', document_version.data.id); + return ret; + }); + } +} diff --git a/app/components/document/detailed.hbs b/app/components/document/detailed.hbs deleted file mode 100644 index dfb62197aee4ae9408faad046fac6eaeaa7d4aba..0000000000000000000000000000000000000000 --- a/app/components/document/detailed.hbs +++ /dev/null @@ -1,11 +0,0 @@ -<div class="document detailed"> - <Document::Image - src={{@doc.image}} - alt="A picture of {{@doc.title}}" - /> - - <div class="details"> - <h3>About {{@doc.title}}</h3> - </div> - -</div> \ No newline at end of file diff --git a/app/components/document/image.hbs b/app/components/document/image.hbs deleted file mode 100644 index 53f64b342370c94a5cbfeffe6a41901c9c2206e2..0000000000000000000000000000000000000000 --- a/app/components/document/image.hbs +++ /dev/null @@ -1,11 +0,0 @@ -{{#if this.isLarge}} - <button type="button" class="image large" {{on "click" this.toggleSize}}> - <img ...attributes> - <small>View Smaller</small> - </button> -{{else}} - <button type="button" class="image small" {{on "click" this.toggleSize}}> - <img ...attributes> - <small>View Larger</small> - </button> -{{/if}} \ No newline at end of file diff --git a/app/components/document/image.js b/app/components/document/image.js deleted file mode 100644 index 7b89becd3be1d75b18dbbdc177d94f7241699d11..0000000000000000000000000000000000000000 --- a/app/components/document/image.js +++ /dev/null @@ -1,11 +0,0 @@ -import Component from '@glimmer/component'; -import { tracked } from '@glimmer/tracking'; -import { action } from '@ember/object'; - -export default class DocumentImageComponent extends Component { - @tracked isLarge = false; - - @action toggleSize() { - this.isLarge = !this.isLarge; - } -} diff --git a/app/components/document_version.hbs b/app/components/document_version.hbs new file mode 100644 index 0000000000000000000000000000000000000000..a338d32d9963912ee0501956135454954cb69430 --- /dev/null +++ b/app/components/document_version.hbs @@ -0,0 +1,5 @@ +Page Count = {{@model.page_count}} + +{{#each @model.pages as |page|}} + {{page.number}} +{{/each}} diff --git a/app/models/content_type.js b/app/models/content_type.js index c5b500e4905881097588eddf0428e30d0b0bce73..b0a1f60e2dad9cd264eb33e96ebef8adde015d65 100644 --- a/app/models/content_type.js +++ b/app/models/content_type.js @@ -1,5 +1,6 @@ import Model, { attr, hasMany } from '@ember-data/model'; + class ContentTypeModel extends Model { @attr model; @hasMany('permission') permissions; diff --git a/app/models/document.js b/app/models/document.js index ddff9174c03522d282d042fb3e8eae93bd051024..570f3da584bf1f558e8c5c35bf21faa2507a8b87 100644 --- a/app/models/document.js +++ b/app/models/document.js @@ -1,6 +1,7 @@ import { attr } from '@ember-data/model'; import NodeModel from './node'; + export default class DocumentModel extends NodeModel { @attr image; @attr lang; diff --git a/app/models/document_version.js b/app/models/document_version.js new file mode 100644 index 0000000000000000000000000000000000000000..dbc2e2efc668d85e2629e071ea7bfb998eb58983 --- /dev/null +++ b/app/models/document_version.js @@ -0,0 +1,10 @@ +import Model, { attr, hasMany } from '@ember-data/model'; + + +export default class DocumentVersionModel extends Model { + @attr number; // document version number + @attr size; // associated file size in bytes + @attr page_count; // total page count + @attr lang; // languate used for this page + @hasMany('pages') pages; +} diff --git a/app/models/page.js b/app/models/page.js new file mode 100644 index 0000000000000000000000000000000000000000..63f4283b59804add5e57c32545cd3c40df014161 --- /dev/null +++ b/app/models/page.js @@ -0,0 +1,7 @@ +import Model, { attr } from '@ember-data/model'; + + +export default class PageModel extends Model { + // page number; page numbering start with 1 + @attr number; +} diff --git a/app/routes/authenticated/document.js b/app/routes/authenticated/document.js index ef2d3c39159fbd41efcd011bc54c55248d4778c5..4ac3263e24b7c8b4d16310251237f1f21ecdf720 100644 --- a/app/routes/authenticated/document.js +++ b/app/routes/authenticated/document.js @@ -6,6 +6,13 @@ export default class DocumentRoute extends Route { @service store; async model(params) { - return this.store.findRecord('document', params.document_id); + let adapter; + + adapter = this.store.adapterFor('document'); + return adapter.getDocumentVersion(params.document_id); + } + + renderTemplate() { + this.render('authenticated.document_version'); } } diff --git a/app/templates/authenticated/document.hbs b/app/templates/authenticated/document.hbs deleted file mode 100644 index 7cdfd023c51a1f438e799eee482fe6375eea826d..0000000000000000000000000000000000000000 --- a/app/templates/authenticated/document.hbs +++ /dev/null @@ -1 +0,0 @@ -<Document::Detailed @doc={{@model}} /> \ No newline at end of file diff --git a/app/templates/authenticated/document_version.hbs b/app/templates/authenticated/document_version.hbs new file mode 100644 index 0000000000000000000000000000000000000000..0b32a709908a4ede10cd47c6f68b546b9192341b --- /dev/null +++ b/app/templates/authenticated/document_version.hbs @@ -0,0 +1 @@ +<DocumentVersion @model={{@model}} /> \ No newline at end of file diff --git a/app/templates/authenticated/documents.hbs b/app/templates/authenticated/documents.hbs deleted file mode 100644 index e0822b2861df10d41d27198d44823adbcbda4991..0000000000000000000000000000000000000000 --- a/app/templates/authenticated/documents.hbs +++ /dev/null @@ -1,5 +0,0 @@ -{{page-title "Documents"}} -<DocumentsList - @title="List of Documents" - @document={{@model}} -/> \ No newline at end of file