From 0bfde82040bad973f03e1a765638b63506ba53ae Mon Sep 17 00:00:00 2001 From: McMatts Date: Fri, 8 Mar 2019 15:45:12 +0000 Subject: [PATCH] Move space label to main view from sidebar Solves long-standing debate about removing meta from sidebar, and keeping sidebat for navigation/filtering. --- gui/app/components/folder/space-sidebar.js | 12 ++++++++++-- gui/app/components/layout/master-content.js | 8 -------- gui/app/models/document.js | 11 +++++++++++ gui/app/pods/folder/index/route.js | 9 ++++++--- gui/app/pods/folder/index/template.hbs | 7 +++++++ gui/app/styles/core/view/space.scss | 13 +++++++++++++ .../components/folder/space-sidebar.hbs | 17 ++++++++--------- 7 files changed, 55 insertions(+), 22 deletions(-) diff --git a/gui/app/components/folder/space-sidebar.js b/gui/app/components/folder/space-sidebar.js index fdfd8570..601fee4a 100644 --- a/gui/app/components/folder/space-sidebar.js +++ b/gui/app/components/folder/space-sidebar.js @@ -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)=> { diff --git a/gui/app/components/layout/master-content.js b/gui/app/components/layout/master-content.js index 300f0378..95d81d92 100644 --- a/gui/app/components/layout/master-content.js +++ b/gui/app/components/layout/master-content.js @@ -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); - } }); diff --git a/gui/app/models/document.js b/gui/app/models/document.js index 4a6d8254..729ef62f 100644 --- a/gui/app/models/document.js +++ b/gui/app/models/document.js @@ -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); + }) }); diff --git a/gui/app/pods/folder/index/route.js b/gui/app/pods/folder/index/route.js index 9896b4ed..57ddf736 100644 --- a/gui/app/pods/folder/index/route.js +++ b/gui/app/pods/folder/index/route.js @@ -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'), diff --git a/gui/app/pods/folder/index/template.hbs b/gui/app/pods/folder/index/template.hbs index 3c33c567..54cccda7 100644 --- a/gui/app/pods/folder/index/template.hbs +++ b/gui/app/pods/folder/index/template.hbs @@ -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}}
+ {{#if (eq model.folder.labelId "")}} +
Unclassified
+ {{else}} +
{{model.label.name}}
+ {{/if}} {{layout/logo-heading title=model.folder.name desc=model.folder.desc diff --git a/gui/app/styles/core/view/space.scss b/gui/app/styles/core/view/space.scss index 19609dee..c981e69a 100644 --- a/gui/app/styles/core/view/space.scss +++ b/gui/app/styles/core/view/space.scss @@ -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; diff --git a/gui/app/templates/components/folder/space-sidebar.hbs b/gui/app/templates/components/folder/space-sidebar.hbs index d599f401..4c6f4704 100644 --- a/gui/app/templates/components/folder/space-sidebar.hbs +++ b/gui/app/templates/components/folder/space-sidebar.hbs @@ -1,14 +1,5 @@ {{ui/ui-spacer size=300}} -
label
-{{#if (eq space.labelId "")}} -
Unclassified
-{{else}} -
{{spaceLabel.name}}
-{{/if}} - -{{ui/ui-spacer size=200}} -
filter
@@ -39,6 +30,14 @@
Live ({{documentsLive.length}})
{{/if}} +
+ +
Added recently ({{recentAdd.length}})
+
+
+ +
Updated recently ({{recentUpdate.length}})
+
{{ui/ui-spacer size=200}}