summaryrefslogtreecommitdiffstats
path: root/client/lib
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2019-11-18 22:23:49 +0200
committerLauri Ojansivu <x@xet7.org>2019-11-18 22:23:49 +0200
commit96abe3c6914ce37d9fb44da8fda375e40ad65c9e (patch)
tree8798733b85ca4613a199270bf1577feafc8d183d /client/lib
parent2079a5bfa392fbabf63613051e0fa5808fc91be4 (diff)
downloadwekan-96abe3c6914ce37d9fb44da8fda375e40ad65c9e.tar.gz
wekan-96abe3c6914ce37d9fb44da8fda375e40ad65c9e.tar.bz2
wekan-96abe3c6914ce37d9fb44da8fda375e40ad65c9e.zip
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 !
Diffstat (limited to 'client/lib')
-rw-r--r--client/lib/utils.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/client/lib/utils.js b/client/lib/utils.js
index cc3526c0..7b4990e7 100644
--- a/client/lib/utils.js
+++ b/client/lib/utils.js
@@ -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);