mirror of
https://github.com/documize/community.git
synced 2025-07-24 15:49:44 +02:00
[WIP] moved start-document functionality, reworked folder view
WIP -- import files still BROKEN
This commit is contained in:
parent
8f80673cde
commit
a0a1dd396a
20 changed files with 2820 additions and 2039 deletions
|
@ -10,58 +10,19 @@
|
|||
// https://documize.com
|
||||
|
||||
import Ember from 'ember';
|
||||
import NotifierMixin from '../../../mixins/notifier';
|
||||
|
||||
export default Ember.Controller.extend(NotifierMixin, {
|
||||
documentService: Ember.inject.service('document'),
|
||||
folderService: Ember.inject.service('folder'),
|
||||
localStorage: Ember.inject.service('localStorage'),
|
||||
selectedDocuments: [],
|
||||
hasSelectedDocuments: Ember.computed.gt('selectedDocuments.length', 0),
|
||||
const {
|
||||
inject: { service }
|
||||
} = Ember;
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
documentService: service('document'),
|
||||
folderService: service('folder'),
|
||||
localStorage: service('localStorage'),
|
||||
queryParams: ['tab'],
|
||||
tab: 'index',
|
||||
|
||||
actions: {
|
||||
onMoveDocument(folder) {
|
||||
let self = this;
|
||||
let documents = this.get('selectedDocuments');
|
||||
|
||||
documents.forEach(function (documentId) {
|
||||
self.get('documentService').getDocument(documentId).then(function (doc) {
|
||||
doc.set('folderId', folder);
|
||||
doc.set('selected', !doc.get('selected'));
|
||||
self.get('documentService').save(doc).then(function () {
|
||||
self.get('target._routerMicrolib').refresh();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
this.set('selectedDocuments', []);
|
||||
this.send("showNotification", "Moved");
|
||||
},
|
||||
|
||||
onDeleteDocument() {
|
||||
let documents = this.get('selectedDocuments');
|
||||
let self = this;
|
||||
let promises = [];
|
||||
|
||||
documents.forEach(function (document, index) {
|
||||
promises[index] = self.get('documentService').deleteDocument(document);
|
||||
});
|
||||
|
||||
Ember.RSVP.all(promises).then(() => {
|
||||
let documents = this.get('model.documents');
|
||||
documents.forEach(function (document) {
|
||||
document.set('selected', false);
|
||||
});
|
||||
this.set('model.documents', documents);
|
||||
|
||||
this.set('selectedDocuments', []);
|
||||
this.send("showNotification", "Deleted");
|
||||
this.get('target._routerMicrolib').refresh();
|
||||
});
|
||||
},
|
||||
|
||||
onAddSpace(payload) {
|
||||
let self = this;
|
||||
this.showNotification("Added");
|
||||
|
@ -72,15 +33,7 @@ export default Ember.Controller.extend(NotifierMixin, {
|
|||
});
|
||||
},
|
||||
|
||||
onDeleteSpace() {
|
||||
this.get('folderService').delete(this.get('model.folder.id')).then(() => { /* jshint ignore:line */
|
||||
this.showNotification("Deleted");
|
||||
this.get('localStorage').clearSessionItem('folder');
|
||||
this.transitionToRoute('application');
|
||||
});
|
||||
},
|
||||
|
||||
onImport() {
|
||||
onRefresh() {
|
||||
this.get('target._routerMicrolib').refresh();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,12 @@ export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
|||
permissions: this.modelFor('folder').permissions,
|
||||
folders: this.modelFor('folder').folders,
|
||||
documents: this.modelFor('folder').documents,
|
||||
templates: this.modelFor('folder').templates
|
||||
templates: this.modelFor('folder').templates,
|
||||
showStartDocument: false,
|
||||
});
|
||||
},
|
||||
|
||||
activate() {
|
||||
this.set('model.showStartDocument', false);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
{{#layout/zone-container}}
|
||||
|
||||
{{#layout/zone-sidebar}}
|
||||
{{folder/sidebar-zone folders=model.folders folder=model.folder
|
||||
permissions=model.permissions tab=tab onAddSpace=(action 'onAddSpace')}}
|
||||
{{/layout/zone-sidebar}}
|
||||
|
||||
{{#layout/zone-content}}
|
||||
|
||||
{{folder/folder-heading folder=model.folder permissions=model.permissions}}
|
||||
{{folder/space-view
|
||||
folders=model.folders
|
||||
folder=model.folder
|
||||
templates=model.templates
|
||||
permissions=model.permissions
|
||||
documents=model.documents
|
||||
onRefresh=(action 'onRefresh')}}
|
||||
|
||||
{{folder/folder-toolbar folders=model.folders folder=model.folder
|
||||
permissions=model.permissions hasSelectedDocuments=hasSelectedDocuments
|
||||
onDeleteDocument=(action 'onDeleteDocument') onMoveDocument=(action 'onMoveDocument')
|
||||
onDeleteSpace=(action 'onDeleteSpace')}}
|
||||
|
||||
<div class="margin-bottom-20 clearfix" />
|
||||
|
||||
{{folder/documents-list documents=model.documents folders=model.folders folder=model.folder templates=model.templates
|
||||
permissions=model.permissions selectedDocuments=(mut selectedDocuments)
|
||||
onDeleteSpace=(action 'onDeleteSpace') onImport=(action 'onImport')}}
|
||||
{{/layout/zone-content}}
|
||||
|
||||
{{/layout/zone-container}}
|
Loading…
Add table
Add a link
Reference in a new issue