|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
|
import { Cookies } from 'meteor/ostrio:cookies'; |
|
|
|
|
const cookies = new Cookies(); |
|
|
|
|
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 +14,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,9 +92,9 @@ function initSortable(boardComponent, $listsDom) { |
|
|
|
|
|
|
|
|
|
function userIsMember() { |
|
|
|
|
return ( |
|
|
|
|
Meteor.user() |
|
|
|
|
&& Meteor.user().isBoardMember() |
|
|
|
|
&& !Meteor.user().isCommentOnly() |
|
|
|
|
Meteor.user() && |
|
|
|
|
Meteor.user().isBoardMember() && |
|
|
|
|
!Meteor.user().isCommentOnly() |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -103,8 +105,6 @@ function initSortable(boardComponent, $listsDom) { |
|
|
|
|
showDesktopDragHandles = (currentUser.profile || {}) |
|
|
|
|
.showDesktopDragHandles; |
|
|
|
|
} else { |
|
|
|
|
import { Cookies } from 'meteor/ostrio:cookies'; |
|
|
|
|
const cookies = new Cookies(); |
|
|
|
|
if (cookies.has('showDesktopDragHandles')) { |
|
|
|
|
showDesktopDragHandles = true; |
|
|
|
|
} else { |
|
|
|
|
@ -147,8 +147,6 @@ BlazeComponent.extendComponent({ |
|
|
|
|
|
|
|
|
|
initSortable(boardComponent, $listsDom); |
|
|
|
|
|
|
|
|
|
import { Cookies } from 'meteor/ostrio:cookies'; |
|
|
|
|
const cookies = new Cookies(); |
|
|
|
|
if (cookies.has('collapseSwimlane')) { |
|
|
|
|
// Minimize swimlanes start https://www.w3schools.com/howto/howto_js_accordion.asp
|
|
|
|
|
const acc = document.getElementsByClassName('accordion'); |
|
|
|
|
@ -203,8 +201,6 @@ BlazeComponent.extendComponent({ |
|
|
|
|
showDesktopDragHandles = (currentUser.profile || {}) |
|
|
|
|
.showDesktopDragHandles; |
|
|
|
|
} else { |
|
|
|
|
import { Cookies } from 'meteor/ostrio:cookies'; |
|
|
|
|
const cookies = new Cookies(); |
|
|
|
|
if (cookies.has('showDesktopDragHandles')) { |
|
|
|
|
showDesktopDragHandles = true; |
|
|
|
|
} else { |
|
|
|
|
@ -213,15 +209,15 @@ BlazeComponent.extendComponent({ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const noDragInside = ['a', 'input', 'textarea', 'p'].concat( |
|
|
|
|
Utils.isMiniScreen() |
|
|
|
|
|| (!Utils.isMiniScreen() && 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; |
|
|
|
|
@ -255,8 +251,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(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
@ -299,8 +295,6 @@ Template.swimlane.helpers({ |
|
|
|
|
if (currentUser) { |
|
|
|
|
return (currentUser.profile || {}).showDesktopDragHandles; |
|
|
|
|
} else { |
|
|
|
|
import { Cookies } from 'meteor/ostrio:cookies'; |
|
|
|
|
const cookies = new Cookies(); |
|
|
|
|
if (cookies.has('showDesktopDragHandles')) { |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
@ -310,9 +304,9 @@ Template.swimlane.helpers({ |
|
|
|
|
}, |
|
|
|
|
canSeeAddList() { |
|
|
|
|
return ( |
|
|
|
|
Meteor.user() |
|
|
|
|
&& Meteor.user().isBoardMember() |
|
|
|
|
&& !Meteor.user().isCommentOnly() |
|
|
|
|
Meteor.user() && |
|
|
|
|
Meteor.user().isBoardMember() && |
|
|
|
|
!Meteor.user().isCommentOnly() |
|
|
|
|
); |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
|