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:
parent
bc2cab5721
commit
a7a82d9fe3
9 changed files with 158 additions and 110 deletions
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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>
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue