mirror of
https://github.com/documize/community.git
synced 2025-08-04 21:15:24 +02:00
Change space settings management into tab views
This commit is contained in:
parent
738b3d94b6
commit
92f8fe550e
38 changed files with 683 additions and 411 deletions
|
@ -167,14 +167,6 @@ export default Controller.extend(Tooltips, Notifier, {
|
|||
});
|
||||
},
|
||||
|
||||
onDeleteBlock(blockId) {
|
||||
return new EmberPromise((resolve) => {
|
||||
this.get('sectionService').deleteBlock(blockId).then(() => {
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
onSavePageAsBlock(block) {
|
||||
return new EmberPromise((resolve) => {
|
||||
this.get('sectionService').addBlock(block).then(() => {
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
import { Promise as EmberPromise, hash } from 'rsvp';
|
||||
import { inject as service } from '@ember/service';
|
||||
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, {
|
||||
documentService: service('document'),
|
||||
|
|
|
@ -69,7 +69,6 @@
|
|||
onCopyPage=(action 'onCopyPage')
|
||||
onMovePage=(action 'onMovePage')
|
||||
onDeletePage=(action 'onPageDeleted')
|
||||
onDeleteBlock=(action 'onDeleteBlock')
|
||||
onInsertSection=(action 'onInsertSection')
|
||||
onSavePageAsBlock=(action 'onSavePageAsBlock')
|
||||
onPageLevelChange=(action 'onPageLevelChange')
|
||||
|
|
|
@ -10,18 +10,20 @@
|
|||
// https://documize.com
|
||||
|
||||
import { inject as service } from '@ember/service';
|
||||
import Notifier from '../../../mixins/notifier';
|
||||
import Controller from '@ember/controller';
|
||||
|
||||
export default Controller.extend({
|
||||
sectionService: service('section'),
|
||||
export default Controller.extend(Notifier, {
|
||||
router: service(),
|
||||
sectionSvc: service('section'),
|
||||
|
||||
actions: {
|
||||
onCancel( /*page*/ ) {
|
||||
this.transitionToRoute('document');
|
||||
this.get('router').transitionTo('folder.settings', {queryParams: {tab: 'blocks'}});
|
||||
},
|
||||
|
||||
onAction(page, meta) {
|
||||
let self = this;
|
||||
this.showWait();
|
||||
|
||||
let b = this.get('model.block');
|
||||
b.set('title', page.get('title'));
|
||||
|
@ -31,8 +33,9 @@ export default Controller.extend({
|
|||
b.set('config', meta.get('config'));
|
||||
b.set('externalSource', meta.get('externalSource'));
|
||||
|
||||
this.get('sectionService').updateBlock(b).then(function () {
|
||||
self.transitionToRoute('document');
|
||||
this.get('sectionSvc').updateBlock(b).then(() => {
|
||||
this.showDone();
|
||||
this.get('router').transitionTo('folder.settings', {queryParams: {tab: 'blocks'}});
|
||||
});
|
||||
}
|
||||
}
|
|
@ -11,21 +11,19 @@
|
|||
|
||||
import { hash } from 'rsvp';
|
||||
import { inject as service } from '@ember/service';
|
||||
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, {
|
||||
documentService: service('document'),
|
||||
folderService: service('folder'),
|
||||
sectionService: service('section'),
|
||||
sectionSvc: service('section'),
|
||||
|
||||
model(params) {
|
||||
let self = this;
|
||||
|
||||
return hash({
|
||||
folder: self.modelFor('document').folder,
|
||||
document: self.modelFor('document').document,
|
||||
block: self.get('sectionService').getBlock(params.block_id),
|
||||
space: this.modelFor('folder').folder,
|
||||
permissions: this.modelFor('folder').permissions,
|
||||
block: self.get('sectionSvc').getBlock(params.block_id),
|
||||
});
|
||||
},
|
||||
});
|
30
gui/app/pods/folder/settings/controller.js
Normal file
30
gui/app/pods/folder/settings/controller.js
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. 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 <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
import { inject as service } from '@ember/service';
|
||||
import NotifierMixin from '../../../mixins/notifier';
|
||||
import Controller from '@ember/controller';
|
||||
|
||||
export default Controller.extend(NotifierMixin, {
|
||||
folderService: service('folder'),
|
||||
localStorage: service('localStorage'),
|
||||
tab: 'general',
|
||||
|
||||
actions: {
|
||||
onTab(view) {
|
||||
this.set('tab', view);
|
||||
},
|
||||
|
||||
onRefresh() {
|
||||
this.get('target._routerMicrolib').refresh();
|
||||
}
|
||||
}
|
||||
});
|
29
gui/app/pods/folder/settings/route.js
Normal file
29
gui/app/pods/folder/settings/route.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
// Copyright 2016 Documize Inc. <legal@documize.com>. 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 <sales@documize.com>.
|
||||
//
|
||||
// https://documize.com
|
||||
|
||||
import { hash } from 'rsvp';
|
||||
// import { inject as service } from '@ember/service';
|
||||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
import Route from '@ember/routing/route';
|
||||
|
||||
export default Route.extend(AuthenticatedRouteMixin, {
|
||||
|
||||
model() {
|
||||
this.get('browser').setTitle(this.modelFor('folder').folder.get('name'));
|
||||
|
||||
return hash({
|
||||
folder: this.modelFor('folder').folder,
|
||||
folders: this.modelFor('folder').folders,
|
||||
permissions: this.modelFor('folder').permissions,
|
||||
templates: this.modelFor('folder').templates,
|
||||
});
|
||||
}
|
||||
});
|
54
gui/app/pods/folder/settings/template.hbs
Normal file
54
gui/app/pods/folder/settings/template.hbs
Normal file
|
@ -0,0 +1,54 @@
|
|||
{{#layout/top-bar}}
|
||||
<li class="item">
|
||||
{{#link-to "folder.index" model.folder.id model.folder.slug class='link'}}
|
||||
{{model.folder.name}}
|
||||
{{/link-to}}
|
||||
</li>
|
||||
<li class="item">
|
||||
{{#link-to "folder.settings" model.folder.id model.folder.slug class='link selected'}}
|
||||
Settings
|
||||
{{/link-to}}
|
||||
</li>
|
||||
{{/layout/top-bar}}
|
||||
|
||||
{{#layout/middle-zone}}
|
||||
{{#layout/middle-zone-content}}
|
||||
{{#if (eq tab 'general')}}
|
||||
{{folder/settings-general permissions=model.permissions space=model.folder}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'permissions')}}
|
||||
{{folder/settings-permissions permissions=model.permissions folders=model.folders folder=model.folder onRefresh=(action 'onRefresh')}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'invitations')}}
|
||||
{{folder/settings-invitations permissions=model.permissions space=model.folder}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'templates')}}
|
||||
{{folder/settings-templates permissions=model.permissions space=model.folder templates=model.templates}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq tab 'blocks')}}
|
||||
{{folder/settings-blocks permissions=model.permissions space=model.folder}}
|
||||
{{/if}}
|
||||
{{/layout/middle-zone-content}}
|
||||
|
||||
{{#layout/middle-zone-sidebar}}
|
||||
<div id="sidebar" class="sidebar">
|
||||
<h1>{{model.folder.name}}</h1>
|
||||
<div class="margin-top-50">
|
||||
<ul class="tabnav-control tabnav-control-centered w-75">
|
||||
<li class="tab tab-vertical {{if (eq tab 'general') 'selected'}}" {{action 'onTab' 'general'}}>Options</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'permissions') 'selected'}}" {{action 'onTab' 'permissions'}}>Permissions</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'invitations') 'selected'}}" {{action 'onTab' 'invitations'}}>Invite Users</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'templates') 'selected'}}" {{action 'onTab' 'templates'}}>Document Templates</li>
|
||||
<li class="tab tab-vertical {{if (eq tab 'blocks') 'selected'}}" {{action 'onTab' 'blocks'}}>Content Blocks</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/layout/middle-zone-sidebar}}
|
||||
{{/layout/middle-zone}}
|
||||
|
||||
{{#layout/bottom-bar}}
|
||||
{{/layout/bottom-bar}}
|
Loading…
Add table
Add a link
Reference in a new issue