mirror of
https://github.com/wekan/wekan.git
synced 2026-02-05 16:11:47 +01:00
Collapse Lists to be per user, not per board. In Progress.
Related #5388 Thanks to xet7 !
This commit is contained in:
parent
e73a44d15b
commit
902f86d363
7 changed files with 74 additions and 44 deletions
|
|
@ -156,13 +156,6 @@ Lists.attachSchema(
|
|||
type: String,
|
||||
defaultValue: 'list',
|
||||
},
|
||||
collapsed: {
|
||||
/**
|
||||
* is the list collapsed
|
||||
*/
|
||||
type: Boolean,
|
||||
defaultValue: false,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
|
|
@ -293,10 +286,6 @@ Lists.helpers({
|
|||
return this.starred === true;
|
||||
},
|
||||
|
||||
isCollapsed() {
|
||||
return this.collapsed === true;
|
||||
},
|
||||
|
||||
absoluteUrl() {
|
||||
const card = ReactiveCache.getCard({ listId: this._id });
|
||||
return card && card.absoluteUrl();
|
||||
|
|
@ -317,9 +306,6 @@ Lists.mutations({
|
|||
star(enable = true) {
|
||||
return { $set: { starred: !!enable } };
|
||||
},
|
||||
collapse(enable = true) {
|
||||
return { $set: { collapsed: !!enable } };
|
||||
},
|
||||
|
||||
archive() {
|
||||
if (this.isTemplateList()) {
|
||||
|
|
|
|||
|
|
@ -107,13 +107,6 @@ Swimlanes.attachSchema(
|
|||
type: String,
|
||||
defaultValue: 'swimlane',
|
||||
},
|
||||
collapsed: {
|
||||
/**
|
||||
* is the swimlane collapsed
|
||||
*/
|
||||
type: Boolean,
|
||||
defaultValue: false,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
|
|
@ -239,10 +232,6 @@ Swimlanes.helpers({
|
|||
return ret;
|
||||
},
|
||||
|
||||
isCollapsed() {
|
||||
return this.collapsed === true;
|
||||
},
|
||||
|
||||
board() {
|
||||
return ReactiveCache.getBoard(this.boardId);
|
||||
},
|
||||
|
|
@ -285,10 +274,6 @@ Swimlanes.mutations({
|
|||
return { $set: { title } };
|
||||
},
|
||||
|
||||
collapse(enable = true) {
|
||||
return { $set: { collapsed: !!enable } };
|
||||
},
|
||||
|
||||
archive() {
|
||||
if (this.isTemplateSwimlane()) {
|
||||
this.myLists().forEach(list => {
|
||||
|
|
|
|||
|
|
@ -440,6 +440,20 @@ Users.attachSchema(
|
|||
defaultValue: {},
|
||||
blackbox: true,
|
||||
},
|
||||
'profile.listCollapsed': {
|
||||
/**
|
||||
* User-specific list of collapsed list IDs
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
},
|
||||
'profile.swimlaneCollapsed': {
|
||||
/**
|
||||
* User-specific list of collapsed swimlane IDs
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
},
|
||||
services: {
|
||||
/**
|
||||
* services field of the user
|
||||
|
|
@ -736,6 +750,36 @@ Users.helpers({
|
|||
return _.contains(starredBoards, boardId);
|
||||
},
|
||||
|
||||
collapsedLists() {
|
||||
const { collapsedLists = [] } = this.profile || {};
|
||||
return Lists.userLists(
|
||||
this._id,
|
||||
false,
|
||||
{ _id: { $in: collapsedLists } },
|
||||
{ sort: { sort: 1 } },
|
||||
);
|
||||
},
|
||||
|
||||
hasCollapsedList(listId) {
|
||||
const { collapsedLists = [] } = this.profile || {};
|
||||
return _.contains(collapsedLists, listId);
|
||||
},
|
||||
|
||||
collapsedSwimlanes() {
|
||||
const { collapsedSwimlanes = [] } = this.profile || {};
|
||||
return Swimlanes.userSwimlanes(
|
||||
this._id,
|
||||
false,
|
||||
{ _id: { $in: collapsedSwimlanes } },
|
||||
{ sort: { sort: 1 } },
|
||||
);
|
||||
},
|
||||
|
||||
hasCollapsedSwimlane(swimlaneId) {
|
||||
const { collapsedSwimlanes = [] } = this.profile || {};
|
||||
return _.contains(collapsedSwimlanes, swimlaneId);
|
||||
},
|
||||
|
||||
invitedBoards() {
|
||||
const { invitedBoards = [] } = this.profile || {};
|
||||
return Boards.userBoards(
|
||||
|
|
@ -1004,6 +1048,22 @@ Users.mutations({
|
|||
},
|
||||
};
|
||||
},
|
||||
toggleCollapseList(listId) {
|
||||
const queryKind = this.hasCollapsedList(listId) ? '$pull' : '$addToSet';
|
||||
return {
|
||||
[queryKind]: {
|
||||
'profile.listCollapsed': listId,
|
||||
},
|
||||
};
|
||||
},
|
||||
toggleCollapseSwimlane(swimlaneId) {
|
||||
const queryKind = this.hasCollapsedSwimlane(swimlaneId) ? '$pull' : '$addToSet';
|
||||
return {
|
||||
[queryKind]: {
|
||||
'profile.swimlaneCollapsed': swimlaneId,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
addInvite(boardId) {
|
||||
return {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue