|
@@ -34,7 +34,7 @@ BlazeComponent.extendComponent({
|
|
} else if (position === 'bottom') {
|
|
} else if (position === 'bottom') {
|
|
sortIndex = Utils.calculateIndex(lastCardDom, null).base;
|
|
sortIndex = Utils.calculateIndex(lastCardDom, null).base;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
// Parse for @user and #label mentions, stripping them from the title
|
|
// Parse for @user and #label mentions, stripping them from the title
|
|
// and applying the appropriate users and labels to the card instead.
|
|
// and applying the appropriate users and labels to the card instead.
|
|
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
@@ -182,12 +182,12 @@ BlazeComponent.extendComponent({
|
|
|
|
|
|
onRendered() {
|
|
onRendered() {
|
|
const $textarea = this.$('textarea');
|
|
const $textarea = this.$('textarea');
|
|
|
|
+ const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
$textarea.textcomplete([
|
|
$textarea.textcomplete([
|
|
// User mentions
|
|
// User mentions
|
|
{
|
|
{
|
|
match: /\B@(\w*)$/,
|
|
match: /\B@(\w*)$/,
|
|
search(term, callback) {
|
|
search(term, callback) {
|
|
- const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
|
|
callback($.map(currentBoard.members, (member) => {
|
|
callback($.map(currentBoard.members, (member) => {
|
|
const username = Users.findOne(member.userId).username;
|
|
const username = Users.findOne(member.userId).username;
|
|
return username.indexOf(term) === 0 ? username : null;
|
|
return username.indexOf(term) === 0 ? username : null;
|
|
@@ -206,14 +206,23 @@ BlazeComponent.extendComponent({
|
|
{
|
|
{
|
|
match: /\B#(\w*)$/,
|
|
match: /\B#(\w*)$/,
|
|
search(term, callback) {
|
|
search(term, callback) {
|
|
- const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
|
|
|
callback($.map(currentBoard.labels, (label) => {
|
|
callback($.map(currentBoard.labels, (label) => {
|
|
- const labelName = (!label.name || label.name === '') ? label.color : label.name;
|
|
|
|
|
|
+ const labelName = (!label.name || label.name === '')
|
|
|
|
+ ? label.color
|
|
|
|
+ : label.name;
|
|
return labelName.indexOf(term) === 0 ? labelName : null;
|
|
return labelName.indexOf(term) === 0 ? labelName : null;
|
|
}));
|
|
}));
|
|
},
|
|
},
|
|
template(value) {
|
|
template(value) {
|
|
- return value;
|
|
|
|
|
|
+ // add a "colour badge" in front of the label name
|
|
|
|
+ // but first, get the colour's name from its value
|
|
|
|
+ const colorName = currentBoard.labels.find((label) => {
|
|
|
|
+ return value === label.name || value === label.color;
|
|
|
|
+ }).color;
|
|
|
|
+ return (colorName && colorName !== '')
|
|
|
|
+ ? `<div class="minicard-label card-label-${colorName}"
|
|
|
|
+ title="${value}"></div> ${value}`
|
|
|
|
+ : value;
|
|
},
|
|
},
|
|
replace(label) {
|
|
replace(label) {
|
|
return `#${label} `;
|
|
return `#${label} `;
|