1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-02 20:15:26 +02:00

per space templates

This commit is contained in:
Harvey Kandola 2017-08-17 09:37:33 +01:00
parent 574139ae21
commit 558d90d2ba
10 changed files with 73 additions and 36 deletions

View file

@ -12,14 +12,13 @@
import Ember from 'ember';
import NotifierMixin from '../../mixins/notifier';
const {
computed,
} = Ember;
export default Ember.Component.extend(NotifierMixin, {
localStorage: Ember.inject.service(),
appMeta: Ember.inject.service(),
templateService: Ember.inject.service('template'),
canEditTemplate: "",
importedDocuments: [],
savedTemplates: [],
@ -27,27 +26,14 @@ export default Ember.Component.extend(NotifierMixin, {
newDocumentName: 'New Document',
newDocumentNameMissing: computed.empty('newDocumentName'),
init() {
this._super(...arguments);
this.get('templateService').getSavedTemplates().then((saved) => {
let emptyTemplate = {
id: "0",
title: "Empty",
description: "An empty canvas for your words",
layout: "doc",
locked: true
};
saved.unshiftObject(emptyTemplate);
this.set('savedTemplates', saved);
});
},
didInsertElement() {
this.setupImport();
},
didReceiveAttrs() {
this.setupTemplates();
},
willDestroyElement() {
if (is.not.null(this.get('drop'))) {
this.get('drop').destroy();
@ -55,6 +41,21 @@ export default Ember.Component.extend(NotifierMixin, {
}
},
setupTemplates() {
let templates = this.get('templates');
let emptyTemplate = {
id: "0",
title: "Empty",
description: "An empty canvas for your words",
layout: "doc",
locked: true
};
templates.unshiftObject(emptyTemplate);
this.set('savedTemplates', templates);
},
setupImport() {
// already done init?
if (is.not.null(this.get('drop'))) {
@ -151,4 +152,3 @@ export default Ember.Component.extend(NotifierMixin, {
},
}
});

View file

@ -15,6 +15,7 @@ import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-rout
export default Ember.Route.extend(AuthenticatedRouteMixin, {
documentService: Ember.inject.service('document'),
folderService: Ember.inject.service('folder'),
templateService: Ember.inject.service('template'),
session: Ember.inject.service(''),
folder: {},
@ -41,7 +42,8 @@ export default Ember.Route.extend(AuthenticatedRouteMixin, {
isEditor: this.get('isEditor'),
isFolderOwner: this.get('isFolderOwner'),
folders: this.get('folderService').getAll(),
documents: this.get('documentService').getAllByFolder(params.folder_id)
documents: this.get('documentService').getAllByFolder(params.folder_id),
templates: this.get('templateService').getSavedTemplates(params.folder_id)
});
},

View file

@ -8,7 +8,7 @@
{{folder/folder-heading folder=model.folder isFolderOwner=model.isFolderOwner isEditor=model.isEditor}}
{{folder/folder-toolbar folders=model.folders folder=model.folder hasSelectedDocuments=hasSelectedDocuments
onDeleteDocument=(action 'onDeleteDocument') onMoveDocument=(action 'onMoveDocument')}}
{{folder/documents-list documents=model.documents folders=model.folders folder=model.folder isFolderOwner=model.isFolderOwner isEditor=model.isEditor
{{folder/documents-list documents=model.documents folders=model.folders folder=model.folder templates=model.templates isFolderOwner=model.isFolderOwner isEditor=model.isEditor
onDocumentsChecked=(action 'onDocumentsChecked') onDeleteSpace=(action 'onDeleteSpace') onImport=(action 'onImport')}}
{{/layout/zone-content}}
{{/layout/zone-container}}

View file

@ -32,8 +32,8 @@ export default Ember.Service.extend({
});
},
getSavedTemplates() {
return this.get('ajax').request(`templates`, {
getSavedTemplates(folderId) {
return this.get('ajax').request(`templates/${folderId}`, {
method: 'GET'
}).then((response) => {
if (is.not.array(response)) {

View file

@ -33,7 +33,7 @@
{{/each}}
</div>
{{folder/start-document folder=folder isEditor=isEditor onImport=(action 'onImport') onHideDocumentWizard=(action 'onHideDocumentWizard')}}
{{folder/start-document folder=folder templates=templates isEditor=isEditor onImport=(action 'onImport') onHideDocumentWizard=(action 'onHideDocumentWizard')}}
{{#if emptyState}}
{{#if canCreate}}