feature implemented, known bugs fixed

This commit is contained in:
amadilsons 2017-10-05 16:46:55 +02:00
parent c865bfe497
commit 214fe6a61f
6 changed files with 71 additions and 45 deletions

View file

@ -46,16 +46,24 @@ Lists.attachSchema(new SimpleSchema({
type: Object,
optional: true,
},
"wipLimit.value": {
type: SimpleSchema.Integer,
'wipLimit.value': {
type: Number,
decimal: false,
autoValue() {
if(this.isInsert){
return 0;
}
return this.value;
},
optional: true,
},
"wipLimit.enabled":{
'wipLimit.enabled':{
type: Boolean,
autoValue() {
if(this.isInsert){
return false;
}
return this.value;
},
optional: true,
},
@ -89,6 +97,17 @@ Lists.helpers({
board() {
return Boards.findOne(this.boardId);
},
getWipLimit(option){
const list = Lists.findOne({ _id: this._id });
if(!list.wipLimit) { // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
return 0;
} else if(!option) {
return list.wipLimit;
} else {
return list.wipLimit[option] ? list.wipLimit[option] : 0; // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
}
},
});
Lists.mutations({
@ -105,11 +124,29 @@ Lists.mutations({
},
toggleWipLimit(toggle) {
return { $set: { "wipLimit.enabled": toggle } };
return { $set: { 'wipLimit.enabled': toggle } };
},
setWipLimit(limit) {
return { $set: { "wipLimit.value": limit } };
return { $set: { 'wipLimit.value': limit } };
},
});
Meteor.methods({
applyWipLimit(listId, limit){
check(listId, String);
check(limit, Number);
Lists.findOne({ _id: listId }).setWipLimit(limit);
},
enableWipLimit(listId) {
check(listId, String);
const list = Lists.findOne({ _id: listId });
if( list.getWipLimit() ){ // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
list.toggleWipLimit(!list.wipLimit.enabled);
} else {
list.toggleWipLimit(true); // First time toggle is always to 'true' because default is 'false'
}
},
});