Add support for clicking label names and board titles

This commit is contained in:
John R. Supplee 2021-01-21 01:48:24 +02:00
parent 52f920db12
commit 61c691a267
4 changed files with 82 additions and 11 deletions

View file

@ -43,6 +43,8 @@ BlazeComponent.extendComponent({
this.resultsHeading = new ReactiveVar('');
this.searchLink = new ReactiveVar(null);
this.myLists = new ReactiveVar([]);
this.myLabelNames = new ReactiveVar([]);
this.myBoardNames = new ReactiveVar([]);
this.queryParams = null;
this.parsingErrors = [];
this.resultsCount = 0;
@ -63,6 +65,18 @@ BlazeComponent.extendComponent({
}
});
Meteor.call('myLabelNames', (err, data) => {
if (!err) {
this.myLabelNames.set(data);
}
});
Meteor.call('myBoardNames', (err, data) => {
if (!err) {
this.myBoardNames.set(data);
}
});
Meteor.subscribe('setting');
if (Session.get('globalQuery')) {
this.searchAllBoards(Session.get('globalQuery'));
@ -119,11 +133,13 @@ BlazeComponent.extendComponent({
messages.push({ tag: 'list-title-not-found', value: list });
});
this.queryErrors.notFound.labels.forEach(label => {
const color = TAPi18n.__(`color-${label}`);
if (color) {
const color = Object.entries(this.colorMap)
.filter(value => value[1] === label)
.map(value => value[0]);
if (color.length) {
messages.push({
tag: 'label-color-not-found',
value: color,
value: color[0],
});
} else {
messages.push({ tag: 'label-not-found', value: label });
@ -378,14 +394,36 @@ BlazeComponent.extendComponent({
evt.preventDefault();
this.searchAllBoards(evt.target.searchQuery.value);
},
'click .js-palette-color'(evt) {
'click .js-label-color'(evt) {
evt.preventDefault();
this.query.set(
`${this.query.get()} label:"${evt.currentTarget.textContent}"`,
`${this.query.get()} ${TAPi18n.__('operator-label')}:"${
evt.currentTarget.textContent
}"`,
);
},
'click .js-board-title'(evt) {
evt.preventDefault();
this.query.set(
`${this.query.get()} ${TAPi18n.__('operator-board')}:"${
evt.currentTarget.textContent
}"`,
);
},
'click .js-list-title'(evt) {
evt.preventDefault();
this.query.set(
`${this.query.get()} list:"${evt.currentTarget.textContent}"`,
`${this.query.get()} ${TAPi18n.__('operator-list')}:"${
evt.currentTarget.textContent
}"`,
);
},
'click .js-label-name'(evt) {
evt.preventDefault();
this.query.set(
`${this.query.get()} ${TAPi18n.__('operator-label')}:"${
evt.currentTarget.textContent
}"`,
);
},
},