mirror of
https://github.com/documize/community.git
synced 2025-07-23 23:29:42 +02:00
Move space label to main view from sidebar
Solves long-standing debate about removing meta from sidebar, and keeping sidebat for navigation/filtering.
This commit is contained in:
parent
e6e5f75ee7
commit
0bfde82040
7 changed files with 55 additions and 22 deletions
|
@ -28,7 +28,6 @@ export default Component.extend(AuthMixin, {
|
|||
return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage');
|
||||
}),
|
||||
selectedFilter: '',
|
||||
spaceLabel: null,
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
@ -56,7 +55,6 @@ export default Component.extend(AuthMixin, {
|
|||
|
||||
this.set('categories', categories);
|
||||
this.set('categoryLinkName', categories.length > 0 ? 'Manage' : 'Add');
|
||||
this.set('spaceLabel', _.find(this.get('labels'), {id: this.get('space.labelId')}));
|
||||
|
||||
schedule('afterRender', () => {
|
||||
if (this.get('categoryFilter') !== '') {
|
||||
|
@ -120,6 +118,16 @@ export default Component.extend(AuthMixin, {
|
|||
filtered = this.get('documentsLive');
|
||||
this.set('categoryFilter', '');
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
filtered = this.get('recentAdd');
|
||||
this.set('categoryFilter', '');
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
filtered = this.get('recentUpdate');
|
||||
this.set('categoryFilter', '');
|
||||
break;
|
||||
}
|
||||
|
||||
categories.forEach((cat)=> {
|
||||
|
|
|
@ -14,12 +14,4 @@ import Component from '@ember/component';
|
|||
export default Component.extend({
|
||||
tagName: 'div',
|
||||
classNames: ['master-container'],
|
||||
|
||||
didInsertElement() {
|
||||
this._super(...arguments);
|
||||
},
|
||||
|
||||
willDestroyElement() {
|
||||
this._super(...arguments);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -67,4 +67,15 @@ export default Model.extend({
|
|||
|
||||
return '';
|
||||
}),
|
||||
|
||||
addRecent: computed('created', function() {
|
||||
let after = moment().subtract(7, 'days');
|
||||
return moment(this.get('created')).isSameOrAfter(after);
|
||||
}),
|
||||
|
||||
updateRecent: computed('created', function() {
|
||||
let after = moment().subtract(7, 'days');
|
||||
return moment(this.get('revised')).isSameOrAfter(after) &&
|
||||
moment(this.get('created')).isBefore(after);
|
||||
})
|
||||
});
|
||||
|
|
|
@ -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, {
|
||||
categoryService: service('category'),
|
||||
|
@ -37,22 +37,25 @@ export default Route.extend(AuthenticatedRouteMixin, {
|
|||
let folders = this.modelFor('folder').folders;
|
||||
folders.forEach(f => {
|
||||
f.set('selected', false);
|
||||
})
|
||||
});
|
||||
|
||||
let documents = this.modelFor('folder').documents;
|
||||
documents.forEach(d => {
|
||||
d.set('selected', false);
|
||||
})
|
||||
});
|
||||
|
||||
return hash({
|
||||
folder: this.modelFor('folder').folder,
|
||||
permissions: this.modelFor('folder').permissions,
|
||||
label: _.find(this.modelFor('folder').labels, {id: this.modelFor('folder').folder.get('labelId')}),
|
||||
labels: this.modelFor('folder').labels,
|
||||
folders: folders,
|
||||
documents: documents,
|
||||
documentsDraft: _.filter(documents, function(d) { return d.get('lifecycle') === constants.Lifecycle.Draft; }),
|
||||
documentsLive: _.filter(documents, function(d) { return d.get('lifecycle') === constants.Lifecycle.Live; }),
|
||||
templates: this.modelFor('folder').templates,
|
||||
recentAdd: _.filter(documents, function(d) { return d.get('addRecent'); }),
|
||||
recentUpdate: _.filter(documents, function(d) { return d.get('updateRecent'); }),
|
||||
showStartDocument: false,
|
||||
rootDocCount: 0,
|
||||
categories: this.get('categories'),
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
documents=model.documents
|
||||
documentsDraft=model.documentsDraft
|
||||
documentsLive=model.documentsLive
|
||||
recentAdd=model.recentAdd
|
||||
recentUpdate=model.recentUpdate
|
||||
categories=model.categories
|
||||
categorySummary=model.categorySummary
|
||||
categoryMembers=model.categoryMembers
|
||||
|
@ -20,6 +22,11 @@
|
|||
{{#layout/master-content}}
|
||||
<div class="grid-container-6-4">
|
||||
<div class="grid-cell-1">
|
||||
{{#if (eq model.folder.labelId "")}}
|
||||
<div class="space-label">Unclassified</div>
|
||||
{{else}}
|
||||
<div class="space-label" style={{{model.label.bgColor}}}>{{model.label.name}}</div>
|
||||
{{/if}}
|
||||
{{layout/logo-heading
|
||||
title=model.folder.name
|
||||
desc=model.folder.desc
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
.space-label {
|
||||
@include border-radius(3px);
|
||||
@extend .no-select;
|
||||
display: inline-block;
|
||||
margin: 10px 0 13px 0;
|
||||
padding: 0.3rem 0.7rem;
|
||||
font-size: 1.1rem;
|
||||
font-weight: 400;
|
||||
background-color: map-get($gray-shades, 600);
|
||||
color: map-get($gray-shades, 100);
|
||||
}
|
||||
|
||||
.view-space {
|
||||
> .documents {
|
||||
margin: 0;
|
||||
|
@ -5,6 +17,7 @@
|
|||
|
||||
> .document {
|
||||
@include card();
|
||||
box-shadow: none;
|
||||
list-style-type: none;
|
||||
margin: 0 0 2rem 0;
|
||||
padding: 15px 20px;
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
{{ui/ui-spacer size=300}}
|
||||
|
||||
<div class="title">label</div>
|
||||
{{#if (eq space.labelId "")}}
|
||||
<div class="label">Unclassified</div>
|
||||
{{else}}
|
||||
<div class="label" style={{{spaceLabel.bgColor}}}>{{spaceLabel.name}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{ui/ui-spacer size=200}}
|
||||
|
||||
<div class="title">filter</div>
|
||||
<div class="list">
|
||||
<div class="item {{if (eq selectedFilter "space") "selected"}}" {{action "onDocumentFilter" "space" space.id}}>
|
||||
|
@ -39,6 +30,14 @@
|
|||
<div class="name">Live ({{documentsLive.length}})</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="item {{if (eq selectedFilter "add") "selected"}}" {{action "onDocumentFilter" "add" space.id}}>
|
||||
<i class={{concat "dicon " constants.Icon.Filter}} />
|
||||
<div class="name">Added recently ({{recentAdd.length}})</div>
|
||||
</div>
|
||||
<div class="item {{if (eq selectedFilter "update") "selected"}}" {{action "onDocumentFilter" "update" space.id}}>
|
||||
<i class={{concat "dicon " constants.Icon.Filter}} />
|
||||
<div class="name">Updated recently ({{recentUpdate.length}})</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ui/ui-spacer size=200}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue