New feature: Now there is popup selection of Lists/Swimlanes/Calendar/Roles.

New feature, not set visible yet, because switching to it does not
work properly yet: Collapsible Swimlanes #2804

Fix: Public board now loads correctly. When you select one of Lists/Swimlanes/Calendar view and
reload webbrowser page, it can change view. Closes #2311

Fix: List sorting commented out. Closes #2800

Fix: Errors hasHiddenMinicardText, hasShowDragHandles, showSort, hasSortBy, profile,
FirefoxAndroid/IE11/Vivaldi/Chromium browsers not working by using
cookies instead of database.
More details at https://github.com/wekan/wekan/issues/2643#issuecomment-554907955
Note: Cookie changes are not always immediate, if there is no effect,
you may need to reload webbrowser page.
Closes #2643 .

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu 2019-11-18 22:23:49 +02:00
parent 2079a5bfa3
commit 96abe3c691
19 changed files with 459 additions and 175 deletions

View file

@ -1,4 +1,58 @@
Utils = {
setBoardView(view) {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
currentUser = Meteor.user();
if (view === 'board-view-lists') {
cookies.set('boardView', 'board-view-lists'); //true
if (currentUser) {
Meteor.user().setBoardView('board-view-lists');
}
} else if (view === 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes'); //true
if (currentUser) {
Meteor.user().setBoardView('board-view-swimlanes');
}
} else if (view === 'board-view-collapse') {
cookies.set('boardView', 'board-view-swimlane'); //true
cookies.set('collapseSwimlane', 'true'); //true
if (currentUser) {
Meteor.user().setBoardView('board-view-swimlane');
}
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
if (currentUser) {
Meteor.user().setBoardView('board-view-cal');
}
}
},
unsetBoardView() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
cookies.remove('boardView');
cookies.remove('collapseSwimlane');
},
boardView() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.get('boardView') === 'board-view-lists') {
return 'board-view-lists';
} else if (
cookies.get('boardView') === 'board-view-swimlanes' &&
!cookies.has('collapseSwimlane')
) {
return 'board-view-swimlanes';
} else if (cookies.has('collapseSwimlane')) {
return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
return false;
}
},
// XXX We should remove these two methods
goBoardId(_id) {
const board = Boards.findOne(_id);