1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-24 15:49:44 +02:00

Support for document versioning

This commit is contained in:
sauls8t 2018-03-19 12:24:58 +00:00
parent bc2cab5721
commit a7a82d9fe3
9 changed files with 158 additions and 110 deletions

View file

@ -43,7 +43,8 @@ export default Route.extend(AuthenticatedRouteMixin, {
sections: this.modelFor('document').sections,
permissions: this.modelFor('document').permissions,
roles: this.modelFor('document').roles,
blocks: this.modelFor('document').blocks
blocks: this.modelFor('document').blocks,
versions: this.modelFor('document').versions
});
},
@ -57,10 +58,11 @@ export default Route.extend(AuthenticatedRouteMixin, {
controller.set('permissions', model.permissions);
controller.set('roles', model.roles);
controller.set('blocks', model.blocks);
controller.set('versions', model.versions);
},
activate: function() {
activate: function () {
this._super(...arguments);
window.scrollTo(0,0);
window.scrollTo(0, 0);
}
});

View file

@ -1,6 +1,5 @@
{{toolbar/nav-bar}}
{{toolbar/for-document document=document spaces=folders space=folder permissions=permissions roles=roles tab=tab
{{toolbar/nav-bar}} {{toolbar/for-document document=document spaces=folders space=folder
permissions=permissions roles=roles tab=tab versions=versions
onDocumentDelete=(action 'onDocumentDelete')
onSaveTemplate=(action 'onSaveTemplate')
onSaveDocument=(action 'onSaveDocument')
@ -10,9 +9,10 @@
<div class="row">
<div class="col-12">
{{document/document-heading document=document permissions=permissions
versions=versions
onSaveDocument=(action 'onSaveDocument')}}
{{document/document-meta document=document folder=folder folders=folders permissions=permissions pages=pages
{{document/document-meta document=document folder=folder folders=folders
permissions=permissions pages=pages versions=versions
onSaveDocument=(action 'onSaveDocument')}}
</div>
</div>
@ -38,8 +38,8 @@
{{#if (eq tab 'content')}}
{{document/view-content
document=document links=links pages=pages blocks=blocks currentPageId=currentPageId
folder=folder folders=folders sections=sections permissions=permissions roles=roles
document=document links=links pages=pages blocks=blocks currentPageId=currentPageId
folder=folder folders=folders sections=sections permissions=permissions roles=roles
onSavePage=(action 'onSavePage') onInsertSection=(action 'onInsertSection')
onSavePageAsBlock=(action 'onSavePageAsBlock') onDeleteBlock=(action 'onDeleteBlock')
onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onPageDeleted')
@ -56,4 +56,4 @@
{{/if}}
</div>
</div>
</div>
</div>

View file

@ -32,6 +32,7 @@ export default Route.extend(AuthenticatedRouteMixin, {
this.set('permissions', data.permissions);
this.set('roles', data.roles);
this.set('links', data.links);
this.set('versions', data.versions);
resolve();
});
});
@ -45,13 +46,14 @@ export default Route.extend(AuthenticatedRouteMixin, {
permissions: this.get('permissions'),
roles: this.get('roles'),
links: this.get('links'),
versions: this.get('versions'),
sections: this.get('sectionService').getAll(),
blocks: this.get('sectionService').getSpaceBlocks(this.get('folder.id'))
});
},
actions: {
error(error /*, transition*/ ) {
error(error /*, transition*/) {
if (error) {
this.transitionTo('/not-found');
return false;

View file

@ -334,6 +334,7 @@ export default Service.extend({
folders: [],
folder: {},
links: [],
versions: [],
};
let doc = this.get('store').normalize('document', response.document);
@ -357,6 +358,7 @@ export default Service.extend({
data.folders = folders;
data.folder = folders.findBy('id', doc.get('folderId'));
data.links = response.links;
data.versions = response.versions;
return data;
}).catch((error) => {
@ -366,7 +368,7 @@ export default Service.extend({
// fetchPages returns all pages, page meta and pending changes for document.
// This method bulk fetches data to reduce network chatter.
// We produce a bunch of calculated boolean's for UI display purposes
// We produce a bunch of calculated boolean's for UI display purposes
// that can tell us quickly about pending changes for UI display.
fetchPages(documentId, currentUserId) {
let constants = this.get('constants');
@ -400,7 +402,7 @@ export default Service.extend({
page.pending.forEach((i) => {
let p = this.get('store').normalize('page', i.page);
p = this.get('store').push(p);
let m = this.get('store').normalize('page-meta', i.meta);
m = this.get('store').push(m);
@ -451,7 +453,7 @@ export default Service.extend({
userHasChangeRejected: userHasChangeRejected,
userHasNewPagePending: p.isNewPageUserPending(this.get('sessionService.user.id'))
};
let pim = this.get('store').normalize('page-container', pi);
pim = this.get('store').push(pim);
data.pushObject(pim);