1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-24 15:49:44 +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:
McMatts 2019-03-08 15:45:12 +00:00
parent e6e5f75ee7
commit 0bfde82040
7 changed files with 55 additions and 22 deletions

View file

@ -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)=> {

View file

@ -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);
}
});

View file

@ -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);
})
});

View file

@ -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'),

View file

@ -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

View file

@ -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;

View file

@ -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}}