From 27e9dfa0d51954d53682240f1dc361b30032a529 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Wed, 8 Jan 2014 22:19:38 -0600 Subject: [PATCH] Finish up @wc8 suggested user preferences: tags and Advanced Options start collapsed --- public/js/directives/directives.js | 2 ++ src/models/user.js | 4 +++- views/options/settings.jade | 8 ++++++++ views/shared/tasks/task.jade | 5 +++-- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/public/js/directives/directives.js b/public/js/directives/directives.js index d469685b8a..57cebe0ed8 100644 --- a/public/js/directives/directives.js +++ b/public/js/directives/directives.js @@ -175,6 +175,8 @@ habitrpg controller: ['$scope', '$rootScope', function($scope, $rootScope){ $scope.editTask = function(task){ task._editing = !task._editing; + task._tags = User.user.preferences.tagsCollapsed; + task._advanced = User.user.preferences.advancedCollapsed; if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false; }; }], diff --git a/src/models/user.js b/src/models/user.js index c59de02133..45161e2366 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -228,7 +228,9 @@ var UserSchema = new Schema({ sleep: {type: Boolean, 'default': false}, stickyHeader: {type: Boolean, 'default': true}, disableClasses: {type: Boolean, 'default': false}, - newTaskEdit: {type: Boolean, 'default': false} + newTaskEdit: {type: Boolean, 'default': false}, + tagsCollapsed: {type: Boolean, 'default': false}, + advancedCollapsed: {type: Boolean, 'default': false} }, profile: { blurb: String, diff --git a/views/options/settings.jade b/views/options/settings.jade index 0bf9aad008..9161167dc6 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -43,6 +43,14 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') input(type='checkbox', ng-model='user.preferences.newTaskEdit', ng-change='set({"preferences.newTaskEdit": user.preferences.newTaskEdit?true: false})') | Open new tasks in edit mode  i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='With this option set, new tasks will immediately open for you to add details like notes and tags.') + label.checkbox + input(type='checkbox', ng-model='user.preferences.tagsCollapsed', ng-change='set({"preferences.tagsCollapsed": user.preferences.tagsCollapsed?true: false})') + | Tag list in tasks starts collapsed  + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='With this option set, the list of task tags will be hidden when you first open a task for editing.') + label.checkbox + input(type='checkbox', ng-model='user.preferences.advancedCollapsed', ng-change='set({"preferences.advancedCollapsed": user.preferences.advancedCollapsed?true: false})') + | Advanced Options in tasks start collapsed  + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='With this option set, Advanced Options will be hidden when you first open a task for editing.') button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') Show Tour br button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover='Bring Bailey the Town Crier out of hiding so you can review past news.') Show Bailey diff --git a/views/shared/tasks/task.jade b/views/shared/tasks/task.jade index 2186d98861..945dd9015a 100644 --- a/views/shared/tasks/task.jade +++ b/views/shared/tasks/task.jade @@ -170,9 +170,10 @@ li(bindonce='list', bo-id='"task-"+task.id', ng-repeat='task in obj[list.type+"s legend.option-title=env.t('dueDate') input.option-content.datepicker(type='text', datepicker-popup='MM/dd/yyyy', ng-model='task.date') + // Tags fieldset.option-group(ng-if='!$state.includes("options.social.challenges")') - legend.option-title=env.t('tags') - label.checkbox(ng-repeat='tag in user.tags') + p.option-title.mega(ng-click='task._tags = !task._tags')=env.t('tags') + label.checkbox(ng-repeat='tag in user.tags', ng-class="{visuallyhidden: task._tags}") input(type='checkbox', ng-model='task.tags[tag.id]') markdown(ng-model='tag.name')