summaryrefslogtreecommitdiffstats
path: root/client/components/swimlanes
diff options
context:
space:
mode:
authorJustin Reynolds <justinr1234@gmail.com>2019-06-28 12:52:09 -0500
committerJustin Reynolds <justinr1234@gmail.com>2019-06-28 12:56:51 -0500
commit3eb4d2c341b712268bd321173909e0a7b19a88c9 (patch)
tree25a8fcb088f3984e72a5bd3ded9e6a45376e0693 /client/components/swimlanes
parenta0a482aa8efb3255a523de4524c8e09453d5571f (diff)
downloadwekan-3eb4d2c341b712268bd321173909e0a7b19a88c9.tar.gz
wekan-3eb4d2c341b712268bd321173909e0a7b19a88c9.tar.bz2
wekan-3eb4d2c341b712268bd321173909e0a7b19a88c9.zip
Prettier & eslint project style update
Diffstat (limited to 'client/components/swimlanes')
-rw-r--r--client/components/swimlanes/swimlaneHeader.js110
-rw-r--r--client/components/swimlanes/swimlanes.js163
2 files changed, 163 insertions, 110 deletions
diff --git a/client/components/swimlanes/swimlaneHeader.js b/client/components/swimlanes/swimlaneHeader.js
index e7f3cc76..ee21d100 100644
--- a/client/components/swimlanes/swimlaneHeader.js
+++ b/client/components/swimlanes/swimlaneHeader.js
@@ -6,9 +6,11 @@ Meteor.startup(() => {
});
BlazeComponent.extendComponent({
- editTitle(evt) {
- evt.preventDefault();
- const newTitle = this.childComponents('inlinedForm')[0].getValue().trim();
+ editTitle(event) {
+ event.preventDefault();
+ const newTitle = this.childComponents('inlinedForm')[0]
+ .getValue()
+ .trim();
const swimlane = this.currentData();
if (newTitle) {
swimlane.rename(newTitle.trim());
@@ -16,18 +18,20 @@ BlazeComponent.extendComponent({
},
events() {
- return [{
- 'click .js-open-swimlane-menu': Popup.open('swimlaneAction'),
- 'click .js-open-add-swimlane-menu': Popup.open('swimlaneAdd'),
- submit: this.editTitle,
- }];
+ return [
+ {
+ 'click .js-open-swimlane-menu': Popup.open('swimlaneAction'),
+ 'click .js-open-add-swimlane-menu': Popup.open('swimlaneAdd'),
+ submit: this.editTitle,
+ },
+ ];
},
}).register('swimlaneHeader');
Template.swimlaneActionPopup.events({
'click .js-set-swimlane-color': Popup.open('setSwimlaneColor'),
- 'click .js-close-swimlane' (evt) {
- evt.preventDefault();
+ 'click .js-close-swimlane'(event) {
+ event.preventDefault();
this.archive();
Popup.close();
},
@@ -39,34 +43,42 @@ BlazeComponent.extendComponent({
},
events() {
- return [{
- submit(evt) {
- evt.preventDefault();
- const currentBoard = Boards.findOne(Session.get('currentBoard'));
- const nextSwimlane = currentBoard.nextSwimlane(this.currentSwimlane);
- const titleInput = this.find('.swimlane-name-input');
- const title = titleInput.value.trim();
- const sortValue = calculateIndexData(this.currentSwimlane, nextSwimlane, 1);
- const swimlaneType = (currentBoard.isTemplatesBoard())?'template-swimlane':'swimlane';
+ return [
+ {
+ submit(event) {
+ event.preventDefault();
+ const currentBoard = Boards.findOne(Session.get('currentBoard'));
+ const nextSwimlane = currentBoard.nextSwimlane(this.currentSwimlane);
+ const titleInput = this.find('.swimlane-name-input');
+ const title = titleInput.value.trim();
+ const sortValue = calculateIndexData(
+ this.currentSwimlane,
+ nextSwimlane,
+ 1,
+ );
+ const swimlaneType = currentBoard.isTemplatesBoard()
+ ? 'template-swimlane'
+ : 'swimlane';
- if (title) {
- Swimlanes.insert({
- title,
- boardId: Session.get('currentBoard'),
- sort: sortValue.base,
- type: swimlaneType,
- });
+ if (title) {
+ Swimlanes.insert({
+ title,
+ boardId: Session.get('currentBoard'),
+ sort: sortValue.base,
+ type: swimlaneType,
+ });
- titleInput.value = '';
- titleInput.focus();
- }
- // XXX ideally, we should move the popup to the newly
- // created swimlane so a user can add more than one swimlane
- // with a minimum of interactions
- Popup.close();
+ titleInput.value = '';
+ titleInput.focus();
+ }
+ // XXX ideally, we should move the popup to the newly
+ // created swimlane so a user can add more than one swimlane
+ // with a minimum of interactions
+ Popup.close();
+ },
+ 'click .js-swimlane-template': Popup.open('searchElement'),
},
- 'click .js-swimlane-template': Popup.open('searchElement'),
- }];
+ ];
},
}).register('swimlaneAddPopup');
@@ -77,7 +89,7 @@ BlazeComponent.extendComponent({
},
colors() {
- return swimlaneColors.map((color) => ({ color, name: '' }));
+ return swimlaneColors.map(color => ({ color, name: '' }));
},
isSelected(color) {
@@ -85,18 +97,20 @@ BlazeComponent.extendComponent({
},
events() {
- return [{
- 'click .js-palette-color'() {
- this.currentColor.set(this.currentData().color);
- },
- 'click .js-submit' () {
- this.currentSwimlane.setColor(this.currentColor.get());
- Popup.close();
- },
- 'click .js-remove-color'() {
- this.currentSwimlane.setColor(null);
- Popup.close();
+ return [
+ {
+ 'click .js-palette-color'() {
+ this.currentColor.set(this.currentData().color);
+ },
+ 'click .js-submit'() {
+ this.currentSwimlane.setColor(this.currentColor.get());
+ Popup.close();
+ },
+ 'click .js-remove-color'() {
+ this.currentSwimlane.setColor(null);
+ Popup.close();
+ },
},
- }];
+ ];
},
}).register('setSwimlaneColorPopup');
diff --git a/client/components/swimlanes/swimlanes.js b/client/components/swimlanes/swimlanes.js
index d0ec3f4a..568c0bbe 100644
--- a/client/components/swimlanes/swimlanes.js
+++ b/client/components/swimlanes/swimlanes.js
@@ -2,16 +2,27 @@ const { calculateIndex, enableClickOnTouch } = Utils;
function currentListIsInThisSwimlane(swimlaneId) {
const currentList = Lists.findOne(Session.get('currentList'));
- return currentList && (currentList.swimlaneId === swimlaneId || currentList.swimlaneId === '');
+ return (
+ currentList &&
+ (currentList.swimlaneId === swimlaneId || currentList.swimlaneId === '')
+ );
}
function currentCardIsInThisList(listId, swimlaneId) {
const currentCard = Cards.findOne(Session.get('currentCard'));
const currentUser = Meteor.user();
- if (currentUser && currentUser.profile && currentUser.profile.boardView === 'board-view-swimlanes')
- return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
- else // Default view: board-view-lists
- return currentCard && currentCard.listId === listId;
+ if (
+ currentUser &&
+ currentUser.profile &&
+ currentUser.profile.boardView === 'board-view-swimlanes'
+ )
+ return (
+ currentCard &&
+ currentCard.listId === listId &&
+ currentCard.swimlaneId === swimlaneId
+ );
+ // Default view: board-view-lists
+ else return currentCard && currentCard.listId === listId;
// https://github.com/wekan/wekan/issues/1623
// https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de
// TODO: In public board, if you would like to switch between List/Swimlane view, you could
@@ -79,7 +90,11 @@ function initSortable(boardComponent, $listsDom) {
enableClickOnTouch('.js-list:not(.js-list-composer)');
function userIsMember() {
- return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
+ return (
+ Meteor.user() &&
+ Meteor.user().isBoardMember() &&
+ !Meteor.user().isCommentOnly()
+ );
}
// Disable drag-dropping while in multi-selection mode, or if the current user
@@ -87,8 +102,11 @@ function initSortable(boardComponent, $listsDom) {
boardComponent.autorun(() => {
const $listDom = $listsDom;
if ($listDom.data('sortable')) {
- $listsDom.sortable('option', 'disabled',
- MultiSelection.isActive() || !userIsMember());
+ $listsDom.sortable(
+ 'option',
+ 'disabled',
+ MultiSelection.isActive() || !userIsMember(),
+ );
}
});
}
@@ -124,47 +142,60 @@ BlazeComponent.extendComponent({
},
events() {
- return [{
- // Click-and-drag action
- 'mousedown .board-canvas'(evt) {
- // Translating the board canvas using the click-and-drag action can
- // conflict with the build-in browser mechanism to select text. We
- // define a list of elements in which we disable the dragging because
- // the user will legitimately expect to be able to select some text with
- // his mouse.
- const noDragInside = ['a', 'input', 'textarea', 'p', '.js-list-header'];
- if ($(evt.target).closest(noDragInside.join(',')).length === 0 && this.$('.swimlane').prop('clientHeight') > evt.offsetY) {
- this._isDragging = true;
- this._lastDragPositionX = evt.clientX;
- }
- },
- 'mouseup'() {
- if (this._isDragging) {
- this._isDragging = false;
- }
- },
- 'mousemove'(evt) {
- if (this._isDragging) {
- // Update the canvas position
- this.listsDom.scrollLeft -= evt.clientX - this._lastDragPositionX;
- this._lastDragPositionX = evt.clientX;
- // Disable browser text selection while dragging
- evt.stopPropagation();
- evt.preventDefault();
- // Don't close opened card or inlined form at the end of the
- // click-and-drag.
- EscapeActions.executeUpTo('popup-close');
- EscapeActions.preventNextClick();
- }
+ return [
+ {
+ // Click-and-drag action
+ 'mousedown .board-canvas'(evt) {
+ // Translating the board canvas using the click-and-drag action can
+ // conflict with the build-in browser mechanism to select text. We
+ // define a list of elements in which we disable the dragging because
+ // the user will legitimately expect to be able to select some text with
+ // his mouse.
+ const noDragInside = [
+ 'a',
+ 'input',
+ 'textarea',
+ 'p',
+ '.js-list-header',
+ ];
+ if (
+ $(evt.target).closest(noDragInside.join(',')).length === 0 &&
+ this.$('.swimlane').prop('clientHeight') > evt.offsetY
+ ) {
+ this._isDragging = true;
+ this._lastDragPositionX = evt.clientX;
+ }
+ },
+ mouseup() {
+ if (this._isDragging) {
+ this._isDragging = false;
+ }
+ },
+ mousemove(evt) {
+ if (this._isDragging) {
+ // Update the canvas position
+ this.listsDom.scrollLeft -= evt.clientX - this._lastDragPositionX;
+ this._lastDragPositionX = evt.clientX;
+ // Disable browser text selection while dragging
+ evt.stopPropagation();
+ evt.preventDefault();
+ // Don't close opened card or inlined form at the end of the
+ // click-and-drag.
+ EscapeActions.executeUpTo('popup-close');
+ EscapeActions.preventNextClick();
+ }
+ },
},
- }];
+ ];
},
}).register('swimlane');
BlazeComponent.extendComponent({
onCreated() {
this.currentBoard = Boards.findOne(Session.get('currentBoard'));
- this.isListTemplatesSwimlane = this.currentBoard.isTemplatesBoard() && this.currentData().isListTemplatesSwimlane();
+ this.isListTemplatesSwimlane =
+ this.currentBoard.isTemplatesBoard() &&
+ this.currentData().isListTemplatesSwimlane();
this.currentSwimlane = this.currentData();
},
@@ -174,32 +205,40 @@ BlazeComponent.extendComponent({
},
events() {
- return [{
- submit(evt) {
- evt.preventDefault();
- const titleInput = this.find('.list-name-input');
- const title = titleInput.value.trim();
- if (title) {
- Lists.insert({
- title,
- boardId: Session.get('currentBoard'),
- sort: $('.list').length,
- type: (this.isListTemplatesSwimlane)?'template-list':'list',
- swimlaneId: (this.currentBoard.isTemplatesBoard())?this.currentSwimlane._id:'',
- });
-
- titleInput.value = '';
- titleInput.focus();
- }
+ return [
+ {
+ submit(evt) {
+ evt.preventDefault();
+ const titleInput = this.find('.list-name-input');
+ const title = titleInput.value.trim();
+ if (title) {
+ Lists.insert({
+ title,
+ boardId: Session.get('currentBoard'),
+ sort: $('.list').length,
+ type: this.isListTemplatesSwimlane ? 'template-list' : 'list',
+ swimlaneId: this.currentBoard.isTemplatesBoard()
+ ? this.currentSwimlane._id
+ : '',
+ });
+
+ titleInput.value = '';
+ titleInput.focus();
+ }
+ },
+ 'click .js-list-template': Popup.open('searchElement'),
},
- 'click .js-list-template': Popup.open('searchElement'),
- }];
+ ];
},
}).register('addListForm');
Template.swimlane.helpers({
canSeeAddList() {
- return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
+ return (
+ Meteor.user() &&
+ Meteor.user().isBoardMember() &&
+ !Meteor.user().isCommentOnly()
+ );
},
});