summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2019-03-11 20:26:23 +0200
committerLauri Ojansivu <x@xet7.org>2019-03-11 20:26:23 +0200
commitaee05a549f64cb70a838a4285d0a736d2a3ac819 (patch)
treeb8951e4971942cd9df7e6b6f26d9da7af93bbd69 /client
parent0155c7d8ce5591cab7c9cd4ace2be6cbd741f9a1 (diff)
parent7da2a8a15e2e33a321b21aa926fdcf493e2e0423 (diff)
downloadwekan-aee05a549f64cb70a838a4285d0a736d2a3ac819.tar.gz
wekan-aee05a549f64cb70a838a4285d0a736d2a3ac819.tar.bz2
wekan-aee05a549f64cb70a838a4285d0a736d2a3ac819.zip
v2.44
Merge branch 'edge' into meteor-1.8
Diffstat (limited to 'client')
-rw-r--r--client/components/activities/activities.jade6
-rw-r--r--client/components/activities/activities.js18
-rw-r--r--client/components/boards/boardsList.js5
-rw-r--r--client/components/cards/cardDetails.jade10
-rw-r--r--client/components/cards/cardDetails.js39
5 files changed, 46 insertions, 32 deletions
diff --git a/client/components/activities/activities.jade b/client/components/activities/activities.jade
index bddc4dad..949400f6 100644
--- a/client/components/activities/activities.jade
+++ b/client/components/activities/activities.jade
@@ -114,6 +114,12 @@ template(name="boardActivities")
if($eq activityType 'removedLabel')
| {{{_ 'activity-removed-label' lastLabel cardLink}}}.
+ if($eq activityType 'setCustomField')
+ | {{{_ 'activity-set-customfield' lastCustomField lastCustomFieldValue cardLink}}}.
+
+ if($eq activityType 'unsetCustomField')
+ | {{{_ 'activity-unset-customfield' lastCustomField cardLink}}}.
+
if($eq activityType 'unjoinMember')
if($eq user._id member._id)
| {{{_ 'activity-unjoined' cardLink}}}.
diff --git a/client/components/activities/activities.js b/client/components/activities/activities.js
index b3fe8f50..81995221 100644
--- a/client/components/activities/activities.js
+++ b/client/components/activities/activities.js
@@ -82,6 +82,24 @@ BlazeComponent.extendComponent({
}
},
+ lastCustomField(){
+ const lastCustomField = CustomFields.findOne(this.currentData().customFieldId);
+ return lastCustomField.name;
+ },
+
+ lastCustomFieldValue(){
+ const lastCustomField = CustomFields.findOne(this.currentData().customFieldId);
+ const value = this.currentData().value;
+ if (lastCustomField.settings.dropdownItems && lastCustomField.settings.dropdownItems.length > 0) {
+ const dropDownValue = _.find(lastCustomField.settings.dropdownItems, (item) => {
+ return item._id === value;
+ });
+ if (dropDownValue)
+ return dropDownValue.name;
+ }
+ return value;
+ },
+
listLabel() {
return this.currentData().list().title;
},
diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js
index 74a8e4d4..3a49a8bf 100644
--- a/client/components/boards/boardsList.js
+++ b/client/components/boards/boardsList.js
@@ -26,11 +26,8 @@ BlazeComponent.extendComponent({
'members.userId': Meteor.userId(),
type: 'board',
subtasksDefaultListId: null,
- }, {
- sort: { stars: -1, color: 1, title: 1, description: 1 },
- });
+ }, { sort: [['stars', 'desc'], ['color', 'asc'], ['title', 'asc'], ['description', 'asc'], ['_id', 'asc']] });
},
-
isStarred() {
const user = Meteor.user();
return user && user.hasStarred(this.currentData()._id);
diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade
index df76edce..5fd7b748 100644
--- a/client/components/cards/cardDetails.jade
+++ b/client/components/cards/cardDetails.jade
@@ -306,27 +306,27 @@ template(name="cardMorePopup")
h2 {{_ 'change-card-parent'}}
label {{_ 'source-board'}}:
select.js-field-parent-board
+ if isTopLevel
+ option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
+ else
+ option(value="none") {{_ 'custom-field-dropdown-none'}}
each boards
if isParentBoard
option(value="{{_id}}" selected) {{title}}
else
option(value="{{_id}}") {{title}}
- if isTopLevel
- option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
- else
- option(value="none") {{_ 'custom-field-dropdown-none'}}
label {{_ 'parent-card'}}:
select.js-field-parent-card
if isTopLevel
option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
else
+ option(value="none") {{_ 'custom-field-dropdown-none'}}
each cards
if isParentCard
option(value="{{_id}}" selected) {{title}}
else
option(value="{{_id}}") {{title}}
- option(value="none") {{_ 'custom-field-dropdown-none'}}
br
| {{_ 'added'}}
span.date(title=card.createdAt) {{ moment createdAt 'LLL' }}
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 9b47531f..d27fe732 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -578,11 +578,14 @@ BlazeComponent.extendComponent({
BlazeComponent.extendComponent({
onCreated() {
this.currentCard = this.currentData();
+ this.parentBoard = new ReactiveVar(null);
this.parentCard = this.currentCard.parentCard();
if (this.parentCard) {
- this.parentBoard = this.parentCard.board();
+ const list = $('.js-field-parent-card');
+ list.val(this.parentCard._id);
+ this.parentBoard.set(this.parentCard.board()._id);
} else {
- this.parentBoard = null;
+ this.parentBoard.set(null);
}
},
@@ -601,9 +604,9 @@ BlazeComponent.extendComponent({
cards() {
const currentId = Session.get('currentCard');
- if (this.parentBoard) {
+ if (this.parentBoard.get()) {
return Cards.find({
- boardId: this.parentBoard,
+ boardId: this.parentBoard.get(),
_id: {$ne: currentId},
});
} else {
@@ -613,8 +616,8 @@ BlazeComponent.extendComponent({
isParentBoard() {
const board = this.currentData();
- if (this.parentBoard) {
- return board._id === this.parentBoard;
+ if (this.parentBoard.get()) {
+ return board._id === this.parentBoard.get();
}
return false;
},
@@ -628,11 +631,10 @@ BlazeComponent.extendComponent({
},
setParentCardId(cardId) {
- if (cardId === 'null') {
- cardId = null;
- this.parentCard = null;
- } else {
+ if (cardId) {
this.parentCard = Cards.findOne(cardId);
+ } else {
+ this.parentCard = null;
}
this.currentCard.setParentId(cardId);
},
@@ -669,23 +671,14 @@ BlazeComponent.extendComponent({
'change .js-field-parent-board'(evt) {
const selection = $(evt.currentTarget).val();
const list = $('.js-field-parent-card');
- list.empty();
if (selection === 'none') {
- this.parentBoard = null;
- list.prop('disabled', true);
+ this.parentBoard.set(null);
} else {
- this.parentBoard = Boards.findOne(selection);
- this.parentBoard.cards().forEach(function(card) {
- list.append(
- $('<option></option>').val(card._id).html(card.title)
- );
- });
+ subManager.subscribe('board', $(evt.currentTarget).val());
+ this.parentBoard.set(selection);
list.prop('disabled', false);
}
- list.append(
- `<option value='none' selected='selected'>${TAPi18n.__('custom-field-dropdown-none')}</option>`
- );
- this.setParentCardId('null');
+ this.setParentCardId(null);
},
'change .js-field-parent-card'(evt) {
const selection = $(evt.currentTarget).val();