mirror of
https://github.com/wekan/wekan.git
synced 2025-04-20 12:07:11 -04:00
Merge pull request #31 from mario-orlicky/show-cards-count
New option to set up minimum limit to show cards count for each list …
This commit is contained in:
commit
e41eeae09f
7 changed files with 52 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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'),
|
||||
|
|
|
@ -374,3 +374,8 @@ a
|
|||
.wrapper
|
||||
height: 100%
|
||||
margin: 0px
|
||||
|
||||
.inline-input
|
||||
height: 37px
|
||||
margin: 8px 10px 0 0
|
||||
width: 50px
|
||||
|
|
|
@ -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'}}")
|
||||
|
|
|
@ -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(), 10);
|
||||
if (!isNaN(minLimit)) {
|
||||
Meteor.call('changeLimitToShowCardsCount', minLimit);
|
||||
Popup.back();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
|
@ -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",
|
||||
|
@ -286,6 +287,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",
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue