1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-25 08:09:43 +02:00

More UI conversion to new framework

This commit is contained in:
Harvey Kandola 2018-05-24 18:09:38 +01:00
parent a453052087
commit 5d757c992f
17 changed files with 442 additions and 416 deletions

View file

@ -9,7 +9,18 @@
//
// https://documize.com
import { inject as service } from '@ember/service';
import Controller from '@ember/controller';
export default Controller.extend({
categorySvc: service('category'),
refresh: 0,
actions: {
onAdd(c) {
this.get('categorySvc').add(c).then(() => {
this.set('refresh', this.get('refresh')+1);
});
}
}
});

View file

@ -10,9 +10,8 @@
// https://documize.com
import { hash } from 'rsvp';
import Route from '@ember/routing/route';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import Route from '@ember/routing/route';
export default Route.extend(AuthenticatedRouteMixin, {
model() {

View file

@ -1,9 +1,22 @@
{{toolbar/nav-bar}}
{{#layout/top-bar}}
<li class="item">
{{#link-to "folder.index" model.folder.id model.folder.slug class='link selected'}}
{{model.folder.name}}
{{/link-to}}
</li>
{{/layout/top-bar}}
{{#toolbar/t-toolbar}}
{{#toolbar/t-links}}
{{#link-to "folder" model.folder.id model.folder.slug class="link selected" tagName="li"}}{{model.folder.name}}{{/link-to}}
{{/toolbar/t-links}}
{{/toolbar/t-toolbar}}
{{#layout/middle-zone}}
{{#layout/middle-zone-content}}
{{folder/category-admin folders=model.folders folder=model.folder refresh=refresh}}
{{/layout/middle-zone-content}}
{{folder/category-admin folders=model.folders folder=model.folder}}
{{#layout/middle-zone-sidebar}}
<div id="sidebar" class="sidebar">
{{folder/category-admin-sidebar space=model.folder onAdd=(action 'onAdd')}}
</div>
{{/layout/middle-zone-sidebar}}
{{/layout/middle-zone}}
{{#layout/bottom-bar}}
{{/layout/bottom-bar}}

View file

@ -9,9 +9,10 @@
//
// https://documize.com
import Controller from '@ember/controller';
import { all } from 'rsvp';
import { inject as service } from '@ember/service';
import NotifierMixin from '../../../mixins/notifier';
import Controller from '@ember/controller';
export default Controller.extend(NotifierMixin, {
documentService: service('document'),
@ -19,6 +20,7 @@ export default Controller.extend(NotifierMixin, {
localStorage: service('localStorage'),
queryParams: ['category'],
category: '',
filteredDocs: null,
actions: {
onAddSpace(payload) {
@ -38,6 +40,53 @@ export default Controller.extend(NotifierMixin, {
onRefresh() {
this.get('target._routerMicrolib').refresh();
},
onMoveDocument(documents, targetSpaceId) {
let self = this;
let promises1 = [];
let promises2 = [];
documents.forEach(function(documentId, index) {
promises1[index] = self.get('documentService').getDocument(documentId);
});
all(promises1).then(() => {
promises1.forEach(function(doc, index) {
doc.then((d) => {
d.set('folderId', targetSpaceId);
d.set('selected', false);
promises2[index] = self.get('documentService').save(d);
});
});
all(promises2).then(() => {
self.send('onRefresh');
});
});
},
onDeleteDocument(documents) {
let self = this;
let promises = [];
documents.forEach(function (document, index) {
promises[index] = self.get('documentService').deleteDocument(document);
});
all(promises).then(() => {
let documents = this.get('documents');
documents.forEach(function (document) {
document.set('selected', false);
});
this.set('documents', documents);
this.send('onRefresh');
});
},
onFiltered(docs) {
this.set('filteredDocs', docs);
}
}
});

View file

@ -1,22 +1,53 @@
{{toolbar/nav-bar}}
{{#layout/top-bar}}
<li class="item">
{{#link-to "folder.index" model.folder.id model.folder.slug class='link selected'}}
{{model.folder.name}}
{{/link-to}}
</li>
{{/layout/top-bar}}
{{#layout/middle-zone}}
{{#layout/middle-zone-content}}
{{toolbar/for-space
spaces=model.folders
space=model.folder
permissions=model.permissions
templates=model.templates
onRefresh=(action 'onRefresh')
onDeleteSpace=(action 'onDeleteSpace')}}
{{folder/documents-list
documents=filteredDocs
spaces=model.folders
space=model.folder
templates=model.templates
permissions=model.permissions
onDeleteDocument=(action 'onDeleteDocument')
onMoveDocument=(action 'onMoveDocument')}}
{{/layout/middle-zone-content}}
{{#layout/middle-zone-sidebar}}
<div id="sidebar" class="sidebar">
{{folder/space-heading space=model.folder permissions=model.permissions}}
{{folder/space-view
spaces=model.folders
space=model.folder
templates=model.templates
permissions=model.permissions
documents=model.documents
categories=model.categories
categorySummary=model.categorySummary
categoryMembers=model.categoryMembers
rootDocCount=model.rootDocCount
categoryFilter=category
onFiltered=(action 'onFiltered')
onRefresh=(action 'onRefresh')}}
</div>
{{/layout/middle-zone-sidebar}}
{{/layout/middle-zone}}
{{#layout/bottom-bar}}
{{/layout/bottom-bar}}
{{toolbar/for-space
spaces=model.folders
space=model.folder
permissions=model.permissions
templates=model.templates
onRefresh=(action 'onRefresh')
onDeleteSpace=(action 'onDeleteSpace')}}
{{folder/space-view
spaces=model.folders
space=model.folder
templates=model.templates
permissions=model.permissions
documents=model.documents
categories=model.categories
categorySummary=model.categorySummary
categoryMembers=model.categoryMembers
rootDocCount=model.rootDocCount
categoryFilter=category
onRefresh=(action 'onRefresh')}}