Compare commits

...
26 Commits
Author SHA1 Message Date
Lauri Ojansivu 3565437728 v3.56 2019-11-21 23:03:09 +02:00
Lauri Ojansivu 15ba982810 Update ChangeLog. 2019-11-21 22:54:09 +02:00
Lauri Ojansivu 488a895850 Update translations. 2019-11-21 22:49:07 +02:00
Lauri Ojansivu c7ded51502 Add to snap Snap MongoDB logging option --quiet .
Thanks to fmeehan and xet7 !

Closes wekan/wekan-snap#113
2019-11-21 22:21:05 +02:00
Lauri Ojansivu c66cc3d4da Change base image eoan to rolling, that is probably always newest Ubuntu
rolling version.

Thanks to xet7 !
2019-11-21 20:44:46 +02:00
Lauri Ojansivu c60967e935 It seems Ubuntu eoan package bsdtar has been renamed to libarchive-tools.
Thanks to xet7 !
2019-11-21 20:42:28 +02:00
Lauri Ojansivu 343343e7e7 Dockerfile: Use eoan base image. Add missing python3 dependency for node-gyp.
Thanks to xet7 !
2019-11-21 20:22:37 +02:00
Lauri Ojansivu 4f5de87cc4 Fix typo. 2019-11-20 23:49:43 +02:00
Lauri Ojansivu f371cbd5d2 Update translations. 2019-11-20 23:49:08 +02:00
Lauri Ojansivu 99ef6e3a20 Update ChangeLog. 2019-11-20 23:47:25 +02:00
Lauri Ojansivu 599ace1db7 Fix slow scroll on card detail by setting scrollInertia to 0.
Thanks to cafeoh !

Closes #2179
2019-11-20 23:40:04 +02:00
Lauri Ojansivu a06daff92e Remove eslint option that does not work.
Thanks to xet7 !
2019-11-20 23:39:11 +02:00
Lauri Ojansivu 58e505f79a Try to fix lint errors. 2019-11-20 21:28:48 +02:00
Lauri Ojansivu 788dd0a81a Fix lint errors. 2019-11-20 21:10:11 +02:00
Lauri Ojansivu 82d76e55e5 Add babel-eslint. 2019-11-20 20:22:30 +02:00
Lauri Ojansivu 38dfe0b9a7 Update to Meteor 1.8.2. Update dependencies.
Thanks to xet7 !
2019-11-20 19:57:16 +02:00
Lauri Ojansivu b0f345ba21 Fix lint errors and update travis NPM version. 2019-11-20 10:14:53 +02:00
Lauri Ojansivu 95a4592346 Update Wekan API docs. 2019-11-19 23:08:29 +02:00
Lauri Ojansivu 3168c4067d v3.55 2019-11-19 21:59:09 +02:00
Lauri Ojansivu 115d23f929 Use database when logged in. Continued.
Thanks to xet7 !
2019-11-19 21:55:43 +02:00
Lauri Ojansivu 975258ef39 Update translations. 2019-11-19 21:52:09 +02:00
Lauri Ojansivu b13d28203b Update ChangeLog. 2019-11-19 21:45:12 +02:00
Lauri Ojansivu 4786b0c18d Use database when logged in. Continued.
Thanks to xet7 !
2019-11-19 21:42:00 +02:00
Lauri Ojansivu bc9512b750 Update ChangeLog. 2019-11-19 14:17:27 +02:00
Lauri Ojansivu abb31cb603 Update translations. 2019-11-19 14:14:49 +02:00
Lauri Ojansivu 351d4767d7 When logged in, use database for setting, so that changes are
immediate. Only on public board use cookies.
Comment out Collapse CSS that is not in use.

Thanks to xet7 !
2019-11-19 14:09:36 +02:00
35 changed files with 548 additions and 346 deletions

No files matched your search

+4 -4
View File
@@ -6,9 +6,9 @@
meteor-base@1.4.0
# Build system
ecmascript@0.12.4
standard-minifier-css@1.5.3
standard-minifier-js@2.4.1
ecmascript@0.13.0
standard-minifier-css@1.5.4
standard-minifier-js@2.5.0
mquandalle:jade
# Polyfills
@@ -22,7 +22,7 @@ dburles:collection-helpers
idmontie:migrations
matb33:collection-hooks
matteodem:easy-search
mongo@1.6.2
mongo@1.7.0
mquandalle:collection-mutations
# Account system
+1 -1
View File
@@ -1 +1 @@
METEOR@1.8.1
METEOR@1.8.2
+20 -20
View File
@@ -1,5 +1,5 @@
3stack:presence@1.1.2
accounts-base@1.4.4
accounts-base@1.4.5
accounts-oauth@1.1.16
accounts-password@1.5.1
aldeed:collection2@2.10.0
@@ -12,8 +12,8 @@ allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7
autoupdate@1.6.0
babel-compiler@7.3.4
babel-runtime@1.3.0
babel-compiler@7.4.0
babel-runtime@1.4.0
base64@1.0.12
binary-heap@1.0.11
blaze@2.3.3
@@ -23,7 +23,7 @@ browser-policy-common@1.0.11
browser-policy-framing@1.1.0
caching-compiler@1.2.1
caching-html-compiler@1.1.3
callback-hook@1.1.0
callback-hook@1.2.0
cfs:access-point@0.1.49
cfs:base-package@0.0.30
cfs:collection@0.5.5
@@ -57,10 +57,10 @@ deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.5.1
easylogic:summernote@0.8.8
ecmascript@0.12.7
ecmascript@0.13.0
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.8.0
ecmascript-runtime-server@0.7.1
ecmascript-runtime-client@0.9.0
ecmascript-runtime-server@0.8.0
ejson@1.1.0
email@1.2.3
es5-shim@4.8.0
@@ -82,7 +82,7 @@ kadira:dochead@1.5.0
kadira:flow-router@2.12.1
kenton:accounts-sandstorm@0.7.0
konecty:mongo-counter@0.0.5_3
lamhieu:meteorx@2.0.1
lamhieu:meteorx@2.1.1
lamhieu:unblock@1.0.0
launch-screen@1.1.1
livedata@1.0.18
@@ -101,16 +101,16 @@ meteorhacks:collection-utils@1.2.0
meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4
meteorspark:util@0.2.0
minifier-css@1.4.2
minifier-js@2.4.1
minifier-css@1.4.3
minifier-js@2.5.0
minifiers@1.1.8-faster-rebuild.0
minimongo@1.4.5
mobile-status-bar@1.0.14
modern-browsers@0.1.4
modules@0.13.0
modules-runtime@0.10.3
modules@0.14.0
modules-runtime@0.11.0
momentjs:moment@2.24.0
mongo@1.6.3
mongo@1.7.0
mongo-decimal@0.1.1
mongo-dev-server@1.1.0
mongo-id@1.0.7
@@ -127,18 +127,18 @@ mquandalle:mousetrap-bindglobal@0.0.1
mquandalle:perfect-scrollbar@0.6.5_2
msavin:usercache@1.8.0
npm-bcrypt@0.9.3
npm-mongo@3.1.2
npm-mongo@3.2.0
oauth@1.2.8
oauth2@1.2.1
observe-sequence@1.0.16
ongoworks:speakingurl@1.1.0
ordered-dict@1.1.0
ostrio:cookies@2.5.0
peerlibrary:assert@0.2.5
peerlibrary:assert@0.3.0
peerlibrary:base-component@0.16.0
peerlibrary:blaze-components@0.15.1
peerlibrary:computed-field@0.9.0
peerlibrary:reactive-field@0.5.0
peerlibrary:computed-field@0.10.0
peerlibrary:reactive-field@0.6.0
percolate:synced-cron@1.3.2
promise@0.11.2
raix:eventemitter@0.1.3
@@ -167,8 +167,8 @@ softwarerero:accounts-t9n@1.3.11
spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.0.12
standard-minifier-css@1.5.3
standard-minifier-js@2.4.1
standard-minifier-css@1.5.4
standard-minifier-js@2.5.0
staringatlights:fast-render@3.2.0
staringatlights:inject-data@2.3.0
tap:i18n@1.8.2
@@ -186,7 +186,7 @@ useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
verron:autosize@3.0.8
webapp@1.7.4
webapp@1.7.5
webapp-hashing@1.0.9
wekan-accounts-cas@0.1.0
wekan-accounts-oidc@1.0.10
+1 -1
View File
@@ -4,7 +4,7 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
TRAVIS_NODE_VERSION: 8.16.2
TRAVIS_NPM_VERSION: 6.4.1
TRAVIS_NPM_VERSION: latest
before_install:
- sudo apt-get update -y
+44
View File
@@ -1,3 +1,47 @@
# v3.56 2019-11-21 Wekan release
This release adds the following updates:
- [Update to Meteor 1.8.2. Update dependencies](https://github.com/wekan/wekan/commit/38dfe0b9a71a083adc2de1a81170fea0e4a8e53f).
Thanks to xet7.
- [Fix lint errors and update travis NPM version](https://github.com/wekan/wekan/commit/b0f345ba21830b033c9edcc8ee5252b280111ae7).
Thanks to xet7.
- [Change base image to rolling, that is currently Ubuntu eoan
version](https://github.com/wekan/wekan/commit/c66cc3d4dadb15b669256530cfda89359cdb9340).
Thanks to xet7.
- [It seems Ubuntu eoan package bsdtar has been renamed to
libarchive-tools](https://github.com/wekan/wekan/commit/c60967e935bdc0e7e9aea0a1c23178aee8a73c29).
Thanks to xet7.
and fixes the following bugs:
- [Fix slow scroll on card detail by setting scrollInertia to 0](https://github.com/wekan/wekan/commit/599ace1db7918df41d9708d14b0351acb0f8688e).
Thanks to cafeoh.
- [Fix lint errors](https://github.com/wekan/wekan/commit/788dd0a81a06efee165007a92780f9e8c2c754ac).
Thanks to xet7.
- [Remove eslint option that does not work](https://github.com/wekan/wekan/commit/a06daff92e5f7cca55d1698252e3aa6526877c8b).
Thanks to xet7.
- [Try to fix lint errors](https://github.com/wekan/wekan/commit/58e505f79a0617011576bdded9427b0d448d6107).
Thanks to xet7.
- [Add to Snap MongoDB logging option --quiet](https://github.com/wekan/wekan/commit/c7ded515022fff2c1167ce8938405a846185a710).
Thanks to fmeehan and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.55 2019-11-19 Wekan release
This release fixes the following bugs:
- [When logged in, use database for setting, so that changes are immediate. Only on public board use cookies.
Comment out Collapse CSS that is not in use](https://github.com/wekan/wekan/commit/351d4767d7e93c90ac798769d6071da8730d834f).
Thanks to xet7.
- [Use database when logged in. Part 2](https://github.com/wekan/wekan/commit/4786b0c18ddeb8f48525216eabebdced7159467d).
Thanks to xet7.
- [Use database when logged in. Part 3](https://github.com/wekan/wekan/commit/115d23f9293cad8a93f18f75a47a8a65756f71ce).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.54 2019-11-18 Wekan release
This release adds the following new features:
+2 -2
View File
@@ -1,10 +1,10 @@
FROM ubuntu:disco
FROM ubuntu:rolling
LABEL maintainer="wekan"
# Set the environment variables (defaults where required)
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
# ENV BUILD_DEPS="paxctl"
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates" \
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
NODE_VERSION=v8.16.2 \
METEOR_RELEASE=1.8.1 \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v3.54.0"
appVersion: "v3.56.0"
files:
userUploads:
- README.md
+45 -31
View File
@@ -196,9 +196,19 @@ BlazeComponent.extendComponent({
const cookies = new Cookies();
this.autorun(() => {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
if (
Utils.isMiniScreen() ||
(!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles'))
Utils.isMiniScreen()
|| (!Utils.isMiniScreen() && showDesktopDragHandles)
) {
$swimlanesDom.sortable({
handle: '.js-swimlane-header-handle',
@@ -215,9 +225,9 @@ BlazeComponent.extendComponent({
function userIsMember() {
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
Meteor.user()
&& Meteor.user().isBoardMember()
&& !Meteor.user().isCommentOnly()
);
}
@@ -230,33 +240,36 @@ BlazeComponent.extendComponent({
},
isViewSwimlanes() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const currentUser = Meteor.user();
if (!currentUser) {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-swimlanes';
}
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
},
isViewLists() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const currentUser = Meteor.user();
if (!currentUser) {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-lists';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-lists';
}
return (currentUser.profile || {}).boardView === 'board-view-lists';
},
isViewCalendar() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const currentUser = Meteor.user();
if (!currentUser) {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-cal';
}
return (currentUser.profile || {}).boardView === 'board-view-cal';
},
openNewListForm() {
@@ -293,16 +306,16 @@ BlazeComponent.extendComponent({
scrollLeft(position = 0) {
const swimlanes = this.$('.js-swimlanes');
swimlanes &&
swimlanes.animate({
swimlanes
&& swimlanes.animate({
scrollLeft: position,
});
},
scrollTop(position = 0) {
const swimlanes = this.$('.js-swimlanes');
swimlanes &&
swimlanes.animate({
swimlanes
&& swimlanes.animate({
scrollTop: position,
});
},
@@ -346,8 +359,8 @@ BlazeComponent.extendComponent({
end = end || card.endAt;
title = title || card.title;
const className =
(extraCls ? `${extraCls} ` : '') +
(card.color ? `calendar-event-${card.color}` : '');
(extraCls ? `${extraCls} ` : '')
+ (card.color ? `calendar-event-${card.color}` : '');
events.push({
id: card._id,
title,
@@ -413,12 +426,13 @@ BlazeComponent.extendComponent({
};
},
isViewCalendar() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const currentUser = Meteor.user();
if (!currentUser) {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-cal';
}
return (currentUser.profile || {}).boardView === 'board-view-cal';
},
}).register('calendarView');
+16 -61
View File
@@ -173,78 +173,33 @@ Template.boardHeaderBar.helpers({
);
},
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;
}
return Utils.boardView();
},
//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');
}
}
Utils.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');
}
}
Utils.setBoardView('board-view-swimlanes');
Popup.close();
},
//'click .js-open-collapse-view'() {
// Utils.setBoardView('board-view-collapse');
//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');
}
Utils.setBoardView('board-view-cal');
Popup.close();
},
'click .js-open-rules-view'() {
+20 -10
View File
@@ -33,21 +33,31 @@ BlazeComponent.extendComponent({
Template.minicard.helpers({
showDesktopDragHandles() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
}
},
hiddenMinicardLabelText() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
return false;
}
}
},
});
+30 -14
View File
@@ -22,9 +22,9 @@ BlazeComponent.extendComponent({
function userIsMember() {
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
Meteor.user()
&& Meteor.user().isBoardMember()
&& !Meteor.user().isCommentOnly()
);
}
@@ -74,14 +74,14 @@ BlazeComponent.extendComponent({
const currentBoard = Boards.findOne(Session.get('currentBoard'));
let swimlaneId = '';
if (
Utils.boardView() === 'board-view-swimlanes' ||
currentBoard.isTemplatesBoard()
Utils.boardView() === 'board-view-swimlanes'
|| currentBoard.isTemplatesBoard()
)
swimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))._id;
else if (
Utils.boardView() === 'board-view-lists' ||
Utils.boardView() === 'board-view-cal' ||
!Utils.boardView
Utils.boardView() === 'board-view-lists'
|| Utils.boardView() === 'board-view-cal'
|| !Utils.boardView
)
swimlaneId = currentBoard.getDefaultSwimline()._id;
@@ -119,7 +119,18 @@ BlazeComponent.extendComponent({
const cookies = new Cookies();
this.autorun(() => {
if (!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles')) {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
if (!Utils.isMiniScreen() && showDesktopDragHandles) {
$cards.sortable({
handle: '.handle',
});
@@ -163,12 +174,17 @@ BlazeComponent.extendComponent({
Template.list.helpers({
showDesktopDragHandles() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
}
},
});
+5 -7
View File
@@ -713,13 +713,11 @@ BlazeComponent.extendComponent({
.data()._id;
}
}
} else {
if (Utils.boardView() === 'board-view-swimlanes') {
this.swimlaneId = this.parentComponent()
.parentComponent()
.parentComponent()
.data()._id;
}
} else if (Utils.boardView() === 'board-view-swimlanes') {
this.swimlaneId = this.parentComponent()
.parentComponent()
.parentComponent()
.data()._id;
}
},
+2 -2
View File
@@ -39,8 +39,8 @@ template(name="listHeader")
i.list-header-watch-icon.fa.fa-eye
div.list-header-menu
unless currentUser.isCommentOnly
if isBoardAdmin
a.fa.js-list-star.list-header-plus-icon(class="fa-star{{#unless starred}}-o{{/unless}}")
//if isBoardAdmin
// a.fa.js-list-star.list-header-plus-icon(class="fa-star{{#unless starred}}-o{{/unless}}")
if canSeeAddCard
a.js-add-card.fa.fa-plus.list-header-plus-icon
a.fa.fa-navicon.js-open-list-menu
+21 -14
View File
@@ -7,9 +7,9 @@ BlazeComponent.extendComponent({
canSeeAddCard() {
const list = Template.currentData();
return (
!list.getWipLimit('enabled') ||
list.getWipLimit('soft') ||
!this.reachedWipLimit()
!list.getWipLimit('enabled')
|| list.getWipLimit('soft')
|| !this.reachedWipLimit()
);
},
@@ -47,6 +47,8 @@ BlazeComponent.extendComponent({
const currentUser = Meteor.user();
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
return false;
}
},
@@ -64,8 +66,8 @@ BlazeComponent.extendComponent({
reachedWipLimit() {
const list = Template.currentData();
return (
list.getWipLimit('enabled') &&
list.getWipLimit('value') <= list.cards().count()
list.getWipLimit('enabled')
&& list.getWipLimit('value') <= list.cards().count()
);
},
@@ -102,12 +104,17 @@ BlazeComponent.extendComponent({
Template.listHeader.helpers({
showDesktopDragHandles() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
}
},
});
@@ -170,8 +177,8 @@ BlazeComponent.extendComponent({
const list = Template.currentData();
if (
list.getWipLimit('soft') &&
list.getWipLimit('value') < list.cards().count()
list.getWipLimit('soft')
&& list.getWipLimit('value') < list.cards().count()
) {
list.setWipLimit(list.cards().count());
}
@@ -182,8 +189,8 @@ BlazeComponent.extendComponent({
const list = Template.currentData();
// Prevent user from using previously stored wipLimit.value if it is less than the current number of cards in the list
if (
!list.getWipLimit('enabled') &&
list.getWipLimit('value') < list.cards().count()
!list.getWipLimit('enabled')
&& list.getWipLimit('value') < list.cards().count()
) {
list.setWipLimit(list.cards().count());
}
+20 -10
View File
@@ -107,12 +107,17 @@ BlazeComponent.extendComponent({
'click .js-toggle-sidebar': this.toggle,
'click .js-back-home': this.setView,
'click .js-toggle-minicard-label-text'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText'); //true
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleMinicardLabelText');
} else {
cookies.set('hiddenMinicardLabelText', 'true'); //true
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText');
} else {
cookies.set('hiddenMinicardLabelText', 'true');
}
}
},
'click .js-shortcuts'() {
@@ -127,12 +132,17 @@ Blaze.registerHelper('Sidebar', () => Sidebar);
Template.homeSidebar.helpers({
hiddenMinicardLabelText() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
return false;
}
}
},
});
+10 -5
View File
@@ -30,12 +30,17 @@ BlazeComponent.extendComponent({
Template.swimlaneHeader.helpers({
showDesktopDragHandles() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
}
},
});
+22 -22
View File
@@ -20,28 +20,28 @@ template(name="swimlane")
if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm
if collapseSwimlane
// Minimize swimlanes next 2 lines below https://www.w3schools.com/howto/howto_js_accordion.asp
button(class="accordion")
div(class="panel")
.swimlane.js-lists.js-swimlane
if isMiniScreen
if currentListIsInThisSwimlane _id
+list(currentList)
unless currentList
each lists
+miniList(this)
if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm
else
each lists
+list(this)
if currentCardIsInThisList _id ../_id
+cardDetails(currentCard)
if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm
//if collapseSwimlane
// // Minimize swimlanes next 2 lines below https://www.w3schools.com/howto/howto_js_accordion.asp
// button(class="accordion")
// div(class="panel")
// .swimlane.js-lists.js-swimlane
// if isMiniScreen
// if currentListIsInThisSwimlane _id
// +list(currentList)
// unless currentList
// each lists
// +miniList(this)
// if currentUser.isBoardMember
// unless currentUser.isCommentOnly
// +addListForm
// else
// each lists
// +list(this)
// if currentCardIsInThisList _id ../_id
// +cardDetails(currentCard)
// if currentUser.isBoardMember
// unless currentUser.isCommentOnly
// +addListForm
template(name="listsGroup")
.swimlane.list-group.js-lists
+60 -30
View File
@@ -3,8 +3,8 @@ const { calculateIndex, enableClickOnTouch } = Utils;
function currentListIsInThisSwimlane(swimlaneId) {
const currentList = Lists.findOne(Session.get('currentList'));
return (
currentList &&
(currentList.swimlaneId === swimlaneId || currentList.swimlaneId === '')
currentList
&& (currentList.swimlaneId === swimlaneId || currentList.swimlaneId === '')
);
}
@@ -12,14 +12,14 @@ function currentCardIsInThisList(listId, swimlaneId) {
const currentCard = Cards.findOne(Session.get('currentCard'));
const currentUser = Meteor.user();
if (
currentUser &&
currentUser.profile &&
Utils.boardView() === 'board-view-swimlanes'
currentUser
&& currentUser.profile
&& Utils.boardView() === 'board-view-swimlanes'
)
return (
currentCard &&
currentCard.listId === listId &&
currentCard.swimlaneId === swimlaneId
currentCard
&& currentCard.listId === listId
&& currentCard.swimlaneId === swimlaneId
);
// Default view: board-view-lists
else return currentCard && currentCard.listId === listId;
@@ -90,16 +90,29 @@ function initSortable(boardComponent, $listsDom) {
function userIsMember() {
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
Meteor.user()
&& Meteor.user().isBoardMember()
&& !Meteor.user().isCommentOnly()
);
}
boardComponent.autorun(() => {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles')) {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
}
if (!Utils.isMiniScreen() && showDesktopDragHandles) {
$listsDom.sortable({
handle: '.js-list-handle',
});
@@ -184,19 +197,31 @@ BlazeComponent.extendComponent({
// the user will legitimately expect to be able to select some text with
// his mouse.
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
}
const noDragInside = ['a', 'input', 'textarea', 'p'].concat(
Utils.isMiniScreen() ||
(!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles'))
Utils.isMiniScreen()
|| (!Utils.isMiniScreen() && showDesktopDragHandles)
? ['.js-list-handle', '.js-swimlane-header-handle']
: ['.js-list-header'],
);
if (
$(evt.target).closest(noDragInside.join(',')).length === 0 &&
this.$('.swimlane').prop('clientHeight') > evt.offsetY
$(evt.target).closest(noDragInside.join(',')).length === 0
&& this.$('.swimlane').prop('clientHeight') > evt.offsetY
) {
this._isDragging = true;
this._lastDragPositionX = evt.clientX;
@@ -230,8 +255,8 @@ BlazeComponent.extendComponent({
onCreated() {
this.currentBoard = Boards.findOne(Session.get('currentBoard'));
this.isListTemplatesSwimlane =
this.currentBoard.isTemplatesBoard() &&
this.currentData().isListTemplatesSwimlane();
this.currentBoard.isTemplatesBoard()
&& this.currentData().isListTemplatesSwimlane();
this.currentSwimlane = this.currentData();
},
@@ -270,19 +295,24 @@ BlazeComponent.extendComponent({
Template.swimlane.helpers({
showDesktopDragHandles() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
}
},
canSeeAddList() {
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
Meteor.user()
&& Meteor.user().isBoardMember()
&& !Meteor.user().isCommentOnly()
);
},
});
@@ -1,5 +1,6 @@
@import 'nib'
/*
// Minimize swimlanes start https://www.w3schools.com/howto/howto_js_accordion.asp
.accordion
@@ -33,6 +34,7 @@
padding: 0px
// Minimize swimlanes end https://www.w3schools.com/howto/howto_js_accordion.asp
*/
.swimlane
// Even if this background color is the same as the body we can't leave it
+67 -19
View File
@@ -5,10 +5,22 @@ Template.headerUserBar.events({
Template.memberMenuPopup.helpers({
templatesBoardId() {
return Meteor.user().getTemplatesBoardId();
currentUser = Meteor.user();
if (currentUser) {
return Meteor.user().getTemplatesBoardId();
} else {
// No need to getTemplatesBoardId on public board
return false;
}
},
templatesBoardSlug() {
return Meteor.user().getTemplatesBoardSlug();
currentUser = Meteor.user();
if (currentUser) {
return Meteor.user().getTemplatesBoardSlug();
} else {
// No need to getTemplatesBoardSlug() on public board
return false;
}
},
});
@@ -162,44 +174,73 @@ Template.changeLanguagePopup.events({
Template.changeSettingsPopup.helpers({
showDesktopDragHandles() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
}
},
hiddenSystemMessages() {
const currentUser = Meteor.user();
currentUser = Meteor.user();
if (currentUser) {
return Meteor.user().hasHiddenSystemMessages();
return (currentUser.profile || {}).hasHiddenSystemMessages;
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hasHiddenSystemMessages')) {
return true;
} else {
return false;
}
}
},
showCardsCountAt() {
const currentUser = Meteor.user();
currentUser = Meteor.user();
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
return false;
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('limitToShowCardsCount');
}
},
});
Template.changeSettingsPopup.events({
'click .js-toggle-desktop-drag-handles'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
cookies.remove('showDesktopDragHandles'); //true
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleDesktopDragHandles');
} else {
cookies.set('showDesktopDragHandles', 'true'); //true
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
cookies.remove('showDesktopDragHandles');
} else {
cookies.set('showDesktopDragHandles', 'true');
}
}
},
'click .js-toggle-system-messages'() {
Meteor.call('toggleSystemMessages');
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleSystemMessages');
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hasHiddenSystemMessages')) {
cookies.remove('hasHiddenSystemMessages');
} else {
cookies.set('hasHiddenSystemMessages', 'true');
}
}
},
'click .js-apply-show-cards-at'(event, templateInstance) {
event.preventDefault();
@@ -208,7 +249,14 @@ Template.changeSettingsPopup.events({
10,
);
if (!isNaN(minLimit)) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
cookies.set('limitToShowCardsCount', minLimit);
}
Popup.back();
}
},
+36 -41
View File
@@ -3,27 +3,17 @@ Utils = {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
currentUser = Meteor.user();
if (view === 'board-view-lists') {
if (currentUser) {
Meteor.user().setBoardView(view);
} else 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-collapse') {
// cookies.set('boardView', 'board-view-swimlane'); //true
// cookies.set('collapseSwimlane', 'true'); //true
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
if (currentUser) {
Meteor.user().setBoardView('board-view-cal');
}
}
},
@@ -35,21 +25,26 @@ Utils = {
},
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';
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView;
} else {
return false;
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;
}
}
},
@@ -57,8 +52,8 @@ Utils = {
goBoardId(_id) {
const board = Boards.findOne(_id);
return (
board &&
FlowRouter.go('board', {
board
&& FlowRouter.go('board', {
id: board._id,
slug: board.slug,
})
@@ -69,8 +64,8 @@ Utils = {
const card = Cards.findOne(_id);
const board = Boards.findOne(card.boardId);
return (
board &&
FlowRouter.go('card', {
board
&& FlowRouter.go('card', {
cardId: card._id,
boardId: board._id,
slug: board.slug,
@@ -241,8 +236,8 @@ Utils = {
};
if (
'ontouchstart' in window ||
(window.DocumentTouch && document instanceof window.DocumentTouch)
'ontouchstart' in window
|| (window.DocumentTouch && document instanceof window.DocumentTouch)
) {
return true;
}
@@ -263,8 +258,8 @@ Utils = {
calculateTouchDistance(touchA, touchB) {
return Math.sqrt(
Math.pow(touchA.screenX - touchB.screenX, 2) +
Math.pow(touchA.screenY - touchB.screenY, 2),
Math.pow(touchA.screenX - touchB.screenX, 2)
+ Math.pow(touchA.screenY - touchB.screenY, 2),
);
},
@@ -281,9 +276,9 @@ Utils = {
});
$(document).on('touchend', selector, function(e) {
if (
touchStart &&
lastTouch &&
Utils.calculateTouchDistance(touchStart, lastTouch) <= 20
touchStart
&& lastTouch
&& Utils.calculateTouchDistance(touchStart, lastTouch) <= 20
) {
e.preventDefault();
const clickEvent = document.createEvent('MouseEvents');
+1 -1
View File
@@ -137,7 +137,7 @@
"board-view": "תצוגת לוח",
"board-view-cal": "לוח שנה",
"board-view-swimlanes": "מסלולים",
"board-view-collapse": "Collapse",
"board-view-collapse": "צמצום",
"board-view-lists": "רשימות",
"bucket-example": "כמו למשל „רשימת המשימות“",
"cancel": "ביטול",
+1 -1
View File
@@ -137,7 +137,7 @@
"board-view": "Widok tablicy",
"board-view-cal": "Kalendarz",
"board-view-swimlanes": "Diagramy czynności",
"board-view-collapse": "Collapse",
"board-view-collapse": "Zwiń",
"board-view-lists": "Listy",
"bucket-example": "Tak jak na przykład \"lista kubełkowa\"",
"cancel": "Anuluj",
+1 -1
View File
@@ -137,7 +137,7 @@
"board-view": "Visão de quadro",
"board-view-cal": "Calendário",
"board-view-swimlanes": "Raias",
"board-view-collapse": "Collapse",
"board-view-collapse": "Expandir",
"board-view-lists": "Listas",
"bucket-example": "\"Bucket List\", por exemplo",
"cancel": "Cancelar",
+6 -6
View File
@@ -306,14 +306,14 @@
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
"list-label-modifiedAt": "Last Access Time",
"list-label-title": "Name of the List",
"list-label-title": "Название списка",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "Фильтр",
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
"filter-cards": "Фильтр Карточек или Списков",
"list-filter-label": "Фильтровать Список по Названию",
"filter-clear": "Очистить фильтр",
"filter-no-label": "Нет метки",
"filter-no-member": "Нет участников",
@@ -438,7 +438,7 @@
"save": "Сохранить",
"search": "Поиск",
"rules": "Правила",
"search-cards": "Search from card/list titles and descriptions on this board",
"search-cards": "Искать в названиях карточек, списков и описаниях карточек на этой доске",
"search-example": "Искать текст?",
"select-color": "Выбрать цвет",
"set-wip-limit-value": "Устанавливает ограничение на максимальное количество задач в этом списке",
@@ -750,6 +750,6 @@
"accounts-allowUserDelete": "Разрешить пользователям удалять собственные аккаунты",
"hide-minicard-label-text": "Скрыть текст меток на карточках",
"show-desktop-drag-handles": "Show desktop drag handles",
"assignee": "Assignee",
"cardAssigneesPopup-title": "Assignee"
"assignee": "Исполнитель",
"cardAssigneesPopup-title": "Исполнитель"
}
+1 -1
View File
@@ -137,7 +137,7 @@
"board-view": "Pogled table",
"board-view-cal": "Koledar",
"board-view-swimlanes": "Plavalne steze",
"board-view-collapse": "Collapse",
"board-view-collapse": "Skrči",
"board-view-lists": "Seznami",
"bucket-example": "Kot na primer \"Življenjski seznam\"",
"cancel": "Prekliči",
+53 -18
View File
@@ -119,6 +119,13 @@ Users.attachSchema(
type: String,
optional: true,
},
'profile.showDesktopDragHandles': {
/**
* does the user want to hide system messages?
*/
type: Boolean,
optional: true,
},
'profile.hiddenSystemMessages': {
/**
* does the user want to hide system messages?
@@ -126,6 +133,13 @@ Users.attachSchema(
type: Boolean,
optional: true,
},
'profile.hiddenMinicardLabelText': {
/**
* does the user want to hide minicard label texts?
*/
type: Boolean,
optional: true,
},
'profile.initials': {
/**
* initials of the user
@@ -184,7 +198,6 @@ Users.attachSchema(
allowedValues: [
'board-view-lists',
'board-view-swimlanes',
'board-view-collapse',
'board-view-cal',
],
},
@@ -382,18 +395,10 @@ Users.helpers({
}
return ret;
},
//hasSortBy() {
// if use doesn't have dragHandle, then we can let user to choose sort list by different order
//return this.hasShowDesktopDragHandles();
// return false;
/*
if (typeof currentUser === 'undefined' || typeof currentUser === 'null') {
return false;
} else {
return this.hasShowDesktopDragHandles();
}
*/
//},
hasSortBy() {
// if use doesn't have dragHandle, then we can let user to choose sort list by different order
return !this.hasShowDesktopDragHandles();
},
getListSortBy() {
return this._getListSortBy()[0];
},
@@ -414,11 +419,21 @@ Users.helpers({
return _.contains(notifications, activityId);
},
hasShowDesktopDragHandles() {
const profile = this.profile || {};
return profile.showDesktopDragHandles || false;
},
hasHiddenSystemMessages() {
const profile = this.profile || {};
return profile.hiddenSystemMessages || false;
},
hasHiddenMinicardLabelText() {
const profile = this.profile || {};
return profile.hiddenMinicardLabelText || false;
},
getEmailBuffer() {
const { emailBuffer = [] } = this.profile || {};
return emailBuffer;
@@ -440,11 +455,8 @@ Users.helpers({
},
getLimitToShowCardsCount() {
currentUser = Meteor.user();
if (currentUser) {
const profile = this.profile || {};
return profile.showCardsCountAt;
}
const profile = this.profile || {};
return profile.showCardsCountAt;
},
getName() {
@@ -524,6 +536,13 @@ Users.mutations({
},
};
},
toggleDesktopHandles(value = false) {
return {
$set: {
'profile.showDesktopDragHandles': !value,
},
};
},
toggleSystem(value = false) {
return {
@@ -533,6 +552,14 @@ Users.mutations({
};
},
toggleLabelText(value = false) {
return {
$set: {
'profile.hiddenMinicardLabelText': !value,
},
};
},
addNotification(activityId) {
return {
$addToSet: {
@@ -597,10 +624,18 @@ Meteor.methods({
check(value, String);
Meteor.user().setListSortBy(value);
},
toggleDesktopDragHandles() {
const user = Meteor.user();
user.toggleDesktopHandles(user.hasShowDesktopDragHandles());
},
toggleSystemMessages() {
const user = Meteor.user();
user.toggleSystem(user.hasHiddenSystemMessages());
},
toggleMinicardLabelText() {
const user = Meteor.user();
user.toggleLabelText(user.hasHiddenMinicardLabelText());
},
changeLimitToShowCardsCount(limit) {
check(limit, Number);
Meteor.user().setShowCardsCountAt(limit);
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.54.0",
"version": "v3.56.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.54.0",
"version": "v3.56.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
@@ -111,7 +111,7 @@ and dependencies (minified).
scrolling inertia
values: integer (milliseconds)
*/
scrollInertia:950,
scrollInertia:0,
/*
auto-adjust scrollbar dragger length
values: boolean
+24 -6
View File
@@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.54">Wekan REST API v3.54</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.56">Wekan REST API v3.56</a>
</li>
@@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v3.54</h1>
<h1 id="wekan-rest-api">Wekan REST API v3.56</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
@@ -11621,7 +11621,9 @@ System.out.println(response.toString());
<span class="hljs-string">"string"</span>
],
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"invitedBoards"</span>: [
<span class="hljs-string">"string"</span>
@@ -12274,7 +12276,9 @@ System.out.println(response.toString());
<span class="hljs-string">"string"</span>
],
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"invitedBoards"</span>: [
<span class="hljs-string">"string"</span>
@@ -15432,7 +15436,9 @@ UserSecurity
<span class="hljs-string">"string"</span>
],
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"invitedBoards"</span>: [
<span class="hljs-string">"string"</span>
@@ -15598,7 +15604,9 @@ UserSecurity
<span class="hljs-string">"string"</span>
],
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"invitedBoards"</span>: [
<span class="hljs-string">"string"</span>
@@ -15655,6 +15663,13 @@ UserSecurity
<td>full name of the user</td>
</tr>
<tr>
<td>showDesktopDragHandles</td>
<td>boolean</td>
<td>false</td>
<td>none</td>
<td>does the user want to hide system messages?</td>
</tr>
<tr>
<td>hiddenSystemMessages</td>
<td>boolean</td>
<td>false</td>
@@ -15662,6 +15677,13 @@ UserSecurity
<td>does the user want to hide system messages?</td>
</tr>
<tr>
<td>hiddenMinicardLabelText</td>
<td>boolean</td>
<td>false</td>
<td>none</td>
<td>does the user want to hide minicard label texts?</td>
</tr>
<tr>
<td>initials</td>
<td>string</td>
<td>false</td>
@@ -15773,10 +15795,6 @@ UserSecurity
</tr>
<tr>
<td>boardView</td>
<td>board-view-collapse</td>
</tr>
<tr>
<td>boardView</td>
<td>board-view-cal</td>
</tr>
<tr>
+9 -2
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v3.54
version: v3.56
description: |
The REST API allows you to control and extend Wekan with ease.
@@ -2896,10 +2896,18 @@ definitions:
description: |
full name of the user
type: string
showDesktopDragHandles:
description: |
does the user want to hide system messages?
type: boolean
hiddenSystemMessages:
description: |
does the user want to hide system messages?
type: boolean
hiddenMinicardLabelText:
description: |
does the user want to hide minicard label texts?
type: boolean
initials:
description: |
initials of the user
@@ -2944,7 +2952,6 @@ definitions:
enum:
- board-view-lists
- board-view-swimlanes
- board-view-collapse
- board-view-cal
listSortBy:
description: |
+2 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 356,
appVersion = 358,
# Increment this for every release.
appMarketingVersion = (defaultText = "3.54.0~2019-11-18"),
appMarketingVersion = (defaultText = "3.56.0~2019-11-21"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+16 -8
View File
@@ -794,24 +794,32 @@ Migrations.add('add-assignee', () => {
);
});
Migrations.add('remove-profile-showDesktopDragHandles', () => {
Migrations.add('add-profile-showDesktopDragHandles', () => {
Users.update(
{},
{
$unset: {
'profile.showDesktopDragHandles': 1,
'profile.showDesktopDragHandles': {
$exists: false,
},
},
{
$set: {
'profile.showDesktopDragHandles': false,
},
},
noValidateMulti,
);
});
Migrations.add('remove-profile-hiddenMinicardLabelText', () => {
Migrations.add('add-profile-hiddenMinicardLabelText', () => {
Users.update(
{},
{
$unset: {
'profile.hiddenMinicardLabelText': 1,
'profile.hiddenMinicardLabelText': {
$exists: false,
},
},
{
$set: {
'profile.hiddenMinicardLabelText': false,
},
},
noValidateMulti,
+2 -2
View File
@@ -52,14 +52,14 @@ if [ -z "$MONGO_URL" ]; then
## OLD: Logging to file.
#mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
## NEW: Logging to syslog, that usually has already log rotation.
mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --smallfiles
mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --smallfiles --quiet
else
## OLD: Logging to file.
#mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --smallfiles
## NEW: Logging to syslog, that usually has already log rotation.
mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --smallfiles
mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --smallfiles --quiet
fi