diff --git a/gui/app/components/layout/middle-zone-sidebar.js b/gui/app/components/layout/middle-zone-sidebar.js index 93367b7c..68d2c8cc 100644 --- a/gui/app/components/layout/middle-zone-sidebar.js +++ b/gui/app/components/layout/middle-zone-sidebar.js @@ -9,7 +9,6 @@ // // https://documize.com -// import $ from 'jquery'; import Component from '@ember/component'; export default Component.extend({ diff --git a/gui/app/components/toolbar/for-document.js b/gui/app/components/toolbar/for-document.js index db507500..26f1d7e4 100644 --- a/gui/app/components/toolbar/for-document.js +++ b/gui/app/components/toolbar/for-document.js @@ -23,8 +23,6 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, { session: service(), appMeta: service(), pinned: service(), - showTools: true, // show document related tools? favourite, delete, make template... - showDocumentLink: false, // show link to document in breadcrumbs init() { this._super(...arguments); diff --git a/gui/app/components/toolbar/for-spaces.js b/gui/app/components/toolbar/for-spaces.js deleted file mode 100644 index 77af6180..00000000 --- a/gui/app/components/toolbar/for-spaces.js +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2016 Documize Inc. . All rights reserved. -// -// This software (Documize Community Edition) is licensed under -// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html -// -// You can operate outside the AGPL restrictions by purchasing -// Documize Enterprise Edition and obtaining a commercial license -// by contacting . -// -// https://documize.com - -import $ from 'jquery'; -import { schedule } from '@ember/runloop'; -import { notEmpty } from '@ember/object/computed'; -import NotifierMixin from '../../mixins/notifier'; -import AuthMixin from '../../mixins/auth'; -import Component from '@ember/component'; - -export default Component.extend(NotifierMixin, AuthMixin, { - spaceName: '', - copyTemplate: true, - copyPermission: true, - copyDocument: false, - hasClone: notEmpty('clonedSpace.id'), - clonedSpace: null, - - didInsertElement() { - this._super(...arguments); - - $('#add-space-modal').on('show.bs.modal', function(event) { // eslint-disable-line no-unused-vars - schedule('afterRender', () => { - $("#new-space-name").focus(); - }); - }); - }, - - actions: { - onCloneSpaceSelect(sp) { - this.set('clonedSpace', sp) - }, - - onAddSpace(e) { - e.preventDefault(); - - let spaceName = this.get('spaceName'); - let clonedId = this.get('clonedSpace.id'); - - if (is.empty(spaceName)) { - $("#new-space-name").addClass("is-invalid").focus(); - return false; - } - - let payload = { - name: spaceName, - cloneId: clonedId, - copyTemplate: this.get('copyTemplate'), - copyPermission: this.get('copyPermission'), - copyDocument: this.get('copyDocument'), - } - - this.set('spaceName', ''); - this.set('clonedSpace', null); - $("#new-space-name").removeClass("is-invalid"); - $('#add-space-modal').modal('hide'); - $('#add-space-modal').modal('dispose'); - - let cb = this.get('onAddSpace'); - cb(payload); - } - } -}); diff --git a/gui/app/pods/document/index/controller.js b/gui/app/pods/document/index/controller.js index 937bb642..cdf1f857 100644 --- a/gui/app/pods/document/index/controller.js +++ b/gui/app/pods/document/index/controller.js @@ -70,7 +70,6 @@ export default Controller.extend(Tooltips, Notifier, { }, onSavePage(page, meta) { - let document = this.get('document'); let documentId = document.get('id'); let constants = this.get('constants'); @@ -232,16 +231,26 @@ export default Controller.extend(Tooltips, Notifier, { refresh() { return new EmberPromise((resolve) => { - this.get('documentService').fetchPages(this.get('document.id'), this.get('session.user.id')).then((data) => { - this.set('pages', data); + this.get('documentService').fetchDocumentData(this.get('document.id')).then((data) => { + this.set('document', data.document); + this.set('folders', data.folders); + this.set('folder', data.folder); + this.set('permissions', data.permissions); + this.set('roles', data.roles); + this.set('links', data.links); + this.set('versions', data.versions); - this.get('sectionService').getSpaceBlocks(this.get('folder.id')).then((data) => { - this.set('blocks', data); - }); + this.get('documentService').fetchPages(this.get('document.id'), this.get('session.user.id')).then((data) => { + this.set('pages', data); - resolve(); + this.get('sectionService').getSpaceBlocks(this.get('folder.id')).then((data) => { + this.set('blocks', data); + }); + + resolve(); + }); }); }); - }, + } } }); diff --git a/gui/app/pods/folder/index/controller.js b/gui/app/pods/folder/index/controller.js index 23beb5e4..95af9ec8 100644 --- a/gui/app/pods/folder/index/controller.js +++ b/gui/app/pods/folder/index/controller.js @@ -23,14 +23,6 @@ export default Controller.extend(NotifierMixin, { filteredDocs: null, actions: { - onAddSpace(payload) { - let self = this; - this.get('folderService').add(payload).then(function (newFolder) { - self.get('folderService').setCurrentFolder(newFolder); - self.transitionToRoute('folder', newFolder.get('id'), newFolder.get('slug')); - }); - }, - onDeleteSpace(id) { this.get('folderService').delete(id).then(() => { /* jshint ignore:line */ this.get('localStorage').clearSessionItem('folder'); diff --git a/gui/app/pods/folders/controller.js b/gui/app/pods/folders/controller.js index cfe2f7c5..186f87e4 100644 --- a/gui/app/pods/folders/controller.js +++ b/gui/app/pods/folders/controller.js @@ -9,16 +9,59 @@ // // https://documize.com +import $ from 'jquery'; import { inject as service } from '@ember/service'; +import { notEmpty } from '@ember/object/computed'; +import AuthMixin from '../../mixins/auth'; +import Modals from '../../mixins/modal'; import Controller from '@ember/controller'; -export default Controller.extend({ +export default Controller.extend(AuthMixin, Modals, { appMeta: service(), folderService: service('folder'), + spaceName: '', + copyTemplate: true, + copyPermission: true, + copyDocument: false, + hasClone: notEmpty('clonedSpace.id'), + clonedSpace: null, + actions: { - onAddSpace(m) { - this.get('folderService').add(m).then((sp) => { + onShowModal() { + this.modalOpen('#add-space-modal', {'show': true}, '#new-space-name'); + }, + + onCloneSpaceSelect(sp) { + this.set('clonedSpace', sp) + }, + + onAddSpace(e) { + e.preventDefault(); + + let spaceName = this.get('spaceName'); + let clonedId = this.get('clonedSpace.id'); + + if (is.empty(spaceName)) { + $("#new-space-name").addClass("is-invalid").focus(); + return false; + } + + let payload = { + name: spaceName, + cloneId: clonedId, + copyTemplate: this.get('copyTemplate'), + copyPermission: this.get('copyPermission'), + copyDocument: this.get('copyDocument'), + } + + this.set('spaceName', ''); + this.set('clonedSpace', null); + $("#new-space-name").removeClass("is-invalid"); + + this.modalClose('#add-space-modal'); + + this.get('folderService').add(payload).then((sp) => { this.get('folderService').setCurrentFolder(sp); this.transitionToRoute('folder', sp.get('id'), sp.get('slug')); }); diff --git a/gui/app/pods/folders/template.hbs b/gui/app/pods/folders/template.hbs index 129da15b..f997a131 100644 --- a/gui/app/pods/folders/template.hbs +++ b/gui/app/pods/folders/template.hbs @@ -10,9 +10,43 @@ {{/layout/middle-zone-sidebar}} + +