|
|
|
@ -417,6 +417,15 @@ Users.attachSchema( |
|
|
|
|
defaultValue: {}, |
|
|
|
|
blackbox: true, |
|
|
|
|
}, |
|
|
|
|
'profile.listConstraints': { |
|
|
|
|
/** |
|
|
|
|
* User-specified constraint of each list (or nothing if default). |
|
|
|
|
* profile[boardId][listId] = constraint; |
|
|
|
|
*/ |
|
|
|
|
type: Object, |
|
|
|
|
defaultValue: {}, |
|
|
|
|
blackbox: true, |
|
|
|
|
}, |
|
|
|
|
'profile.autoWidthBoards': { |
|
|
|
|
/** |
|
|
|
|
* User-specified flag for enabling auto-width for boards (false is the default). |
|
|
|
@ -1173,6 +1182,19 @@ Users.mutations({ |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
setListConstraint(boardId, listId, constraint) { |
|
|
|
|
let currentConstraints = this.getListConstraints(); |
|
|
|
|
if (!currentConstraints[boardId]) { |
|
|
|
|
currentConstraints[boardId] = {}; |
|
|
|
|
} |
|
|
|
|
currentConstraints[boardId][listId] = constraint; |
|
|
|
|
return { |
|
|
|
|
$set: { |
|
|
|
|
'profile.listConstraints': currentConstraints, |
|
|
|
|
}, |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
setSwimlaneHeight(boardId, swimlaneId, height) { |
|
|
|
|
let currentHeights = this.getSwimlaneHeights(); |
|
|
|
|
if (!currentHeights[boardId]) { |
|
|
|
@ -1224,12 +1246,14 @@ Meteor.methods({ |
|
|
|
|
check(startDay, Number); |
|
|
|
|
ReactiveCache.getCurrentUser().setStartDayOfWeek(startDay); |
|
|
|
|
}, |
|
|
|
|
applyListWidth(boardId, listId, width) { |
|
|
|
|
applyListWidth(boardId, listId, width, constraint) { |
|
|
|
|
check(boardId, String); |
|
|
|
|
check(listId, String); |
|
|
|
|
check(width, Number); |
|
|
|
|
check(constraint, Number); |
|
|
|
|
const user = ReactiveCache.getCurrentUser(); |
|
|
|
|
user.setListWidth(boardId, listId, width); |
|
|
|
|
user.setListConstraint(boardId, listId, constraint); |
|
|
|
|
}, |
|
|
|
|
applySwimlaneHeight(boardId, swimlaneId, height) { |
|
|
|
|
check(boardId, String); |
|
|
|
|