New option to set up minimum limit to show cards count for each list in board

This commit is contained in:
Mario Orlicky 2016-11-25 21:45:11 +01:00
parent 1ad4107201
commit 606dbbbbf2
7 changed files with 53 additions and 0 deletions

View file

@ -6,6 +6,10 @@ template(name="listHeader")
h2.list-header-name(
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
= title
if showCardsCountForList cards.count
= cards.count
span.lowercase
| {{_ 'cards'}}
if currentUser.isBoardMember
if isWatching
i.list-header-watch-icon.fa.fa-eye

View file

@ -13,6 +13,14 @@ BlazeComponent.extendComponent({
return list.findWatcher(Meteor.userId());
},
limitToShowCardsCount() {
return Meteor.user().getLimitToShowCardsCount();
},
showCardsCountForList(count) {
return count > this.limitToShowCardsCount();
},
events() {
return [{
'click .js-open-list-menu': Popup.open('listAction'),

View file

@ -1,3 +1,4 @@
@import 'nib'
global-reset()
@ -374,3 +375,8 @@ a
.wrapper
height: 100%
margin: 0px
.inline-input
height: 37px
margin: 8px 10px 0 0
width: 50px

View file

@ -72,3 +72,8 @@ template(name="changeSettingsPopup")
| {{_ 'hide-system-messages'}}
if hiddenSystemMessages
i.fa.fa-check
li
label.bold
| {{_ 'show-cards-minimum-count'}}
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="1" max="99" onkeydown="return false")
input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")

View file

@ -95,10 +95,21 @@ Template.changeSettingsPopup.helpers({
hiddenSystemMessages() {
return Meteor.user().hasHiddenSystemMessages();
},
showCardsCountAt() {
return Meteor.user().getLimitToShowCardsCount();
},
});
Template.changeSettingsPopup.events({
'click .js-toggle-system-messages'() {
Meteor.call('toggleSystemMessages');
},
'click .js-apply-show-cards-at'(evt, tpl) {
evt.preventDefault();
const minLimit = parseInt(tpl.$('#show-cards-count-at').val());
if (!isNaN(minLimit)) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
Popup.back();
}
},
});

View file

@ -51,6 +51,7 @@
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"apply": "Apply",
"app-is-offline": "The application is currently offline, refreshing the page will cause data loss.",
"archive": "Archive",
"archive-all": "Archive All",
@ -278,6 +279,7 @@
"shortcut-show-shortcuts": "Bring up this shortcuts list",
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
"show-cards-minimum-count": "Show cards count if list contains more than",
"signupPopup-title": "Create an Account",
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
"starred-boards": "Starred Boards",

View file

@ -79,6 +79,10 @@ Users.attachSchema(new SimpleSchema({
type: [String],
optional: true,
},
'profile.showCardsCountAt': {
type: Number,
optional: true,
},
'profile.starredBoards': {
type: [String],
optional: true,
@ -180,6 +184,11 @@ Users.helpers({
}
},
getLimitToShowCardsCount() {
const profile = this.profile || {};
return profile.showCardsCountAt;
},
getName() {
const profile = this.profile || {};
return profile.fullname || this.username;
@ -283,6 +292,10 @@ Users.mutations({
setAvatarUrl(avatarUrl) {
return { $set: { 'profile.avatarUrl': avatarUrl }};
},
setShowCardsCountAt(limit) {
return { $set: { 'profile.showCardsCountAt': limit } };
},
});
Meteor.methods({
@ -299,6 +312,10 @@ Meteor.methods({
const user = Meteor.user();
user.toggleSystem(user.hasHiddenSystemMessages());
},
changeLimitToShowCardsCount(limit) {
check(limit, Number);
Meteor.user().setShowCardsCountAt(limit);
}
});
if (Meteor.isServer) {