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,5 +1,7 @@
/*
const DOWNCLS = 'fa-sort-down';
const UPCLS = 'fa-sort-up';
*/
Template.boardMenuPopup.events({
'click .js-rename-board': Popup.open('boardChangeTitle'),
'click .js-custom-fields'() {
@ -82,6 +84,7 @@ BlazeComponent.extendComponent({
const currentBoard = Boards.findOne(Session.get('currentBoard'));
return currentBoard && currentBoard.stars >= 2;
},
/*
showSort() {
return Meteor.user().hasSortBy();
},
@ -101,6 +104,7 @@ BlazeComponent.extendComponent({
listSortShortDesc() {
return `list-label-short-${this.currentListSortBy()}`;
},
*/
events() {
return [
{
@ -114,30 +118,14 @@ BlazeComponent.extendComponent({
'click .js-open-archived-board'() {
Modal.open('archivedBoards');
},
'click .js-toggle-board-view'() {
const currentUser = Meteor.user();
if (
(currentUser.profile || {}).boardView === 'board-view-swimlanes'
) {
currentUser.setBoardView('board-view-cal');
} else if (
(currentUser.profile || {}).boardView === 'board-view-lists'
) {
currentUser.setBoardView('board-view-swimlanes');
} else if (
(currentUser.profile || {}).boardView === 'board-view-cal'
) {
currentUser.setBoardView('board-view-lists');
} else {
currentUser.setBoardView('board-view-swimlanes');
}
},
'click .js-toggle-board-view': Popup.open('boardChangeView'),
'click .js-toggle-sidebar'() {
Sidebar.toggle();
},
'click .js-open-filter-view'() {
Sidebar.setView('filter');
},
/*
'click .js-open-sort-view'(evt) {
const target = evt.target;
if (target.tagName === 'I') {
@ -148,6 +136,7 @@ BlazeComponent.extendComponent({
Popup.open('listsort')(evt);
}
},
*/
'click .js-filter-reset'(event) {
event.stopPropagation();
Sidebar.setView();
@ -156,9 +145,6 @@ BlazeComponent.extendComponent({
'click .js-open-search-view'() {
Sidebar.setView('search');
},
'click .js-open-rules-view'() {
Modal.openWide('rulesMain');
},
'click .js-multiselection-activate'() {
const currentCard = Session.get('currentCard');
MultiSelection.activate();
@ -186,6 +172,85 @@ Template.boardHeaderBar.helpers({
!Meteor.user().isCommentOnly()
);
},
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') {
return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-collapse') {
return 'board-view-collapse';
} else if (cookies.get('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
return false;
}
},
collapseSwimlane() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('collapseSwimlane')) {
return true;
} else {
return false;
}
},
});
Template.boardChangeViewPopup.events({
'click .js-open-lists-view'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.get('boardView') !== 'board-view-lists') {
cookies.set('boardView', 'board-view-lists');
const currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView('board-view-lists');
}
}
Popup.close();
},
'click .js-open-swimlanes-view'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.get('boardView') !== 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes');
cookies.remove('collapseSwimlane');
const currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView('board-view-swimlanes');
}
}
Popup.close();
},
'click .js-open-collapse-view'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.get('boardView') !== 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes');
cookies.set('collapseSwimlane', 'true');
const currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView('board-view-swimlanes');
}
}
Popup.close();
},
'click .js-open-cal-view'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
cookies.set('boardView', 'board-view-cal');
const currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView('board-view-cal');
}
Popup.close();
},
'click .js-open-rules-view'() {
Modal.openWide('rulesMain');
Popup.close();
},
});
const CreateBoard = BlazeComponent.extendComponent({
@ -308,6 +373,7 @@ BlazeComponent.extendComponent({
},
}).register('boardChangeWatchPopup');
/*
BlazeComponent.extendComponent({
onCreated() {
//this.sortBy = new ReactiveVar();
@ -377,3 +443,4 @@ BlazeComponent.extendComponent({
];
},
}).register('listsortPopup');
*/