Add copy to clipboard for debug text and some bug fixes

This commit is contained in:
John R. Supplee 2021-12-20 14:33:42 +02:00
parent 94525a4d3d
commit 49214747cd
4 changed files with 45 additions and 9 deletions

View file

@ -46,11 +46,19 @@ template(name="globalSearch")
h1 Debug
if debug.get.showSelector
h2 Selector
pre
button.js-copy-debug-selector
= 'Copy'
pre(
id="debug-selector"
)
= sessionData.selector
if debug.get.showProjection
h2 Projection
pre
button.js-copy-debug-projection
= 'Copy'
pre(
id="debug-projection"
)
= sessionData.projection
if searching.get
+spinner

View file

@ -222,6 +222,30 @@ class GlobalSearchComponent extends CardSearchPagedComponent {
);
document.getElementById('global-search-input').focus();
},
'click .js-copy-debug-selector'(evt) {
/* Get the text field */
const selector = document.getElementById("debug-selector");
try {
navigator.clipboard.writeText(selector.textContent);
alert("Selector copied to clipboard");
} catch(err) {
alert("Error copying text: " + err);
}
},
'click .js-copy-debug-projection'(evt) {
/* Get the text field */
const projection = document.getElementById("debug-projection");
try {
navigator.clipboard.writeText(projection.textContent);
alert("Projection copied to clipboard");
} catch(err) {
alert("Error copying text: " + err);
}
},
'click .js-board-title'(evt) {
evt.preventDefault();
const input = document.getElementById('global-search-input');

View file

@ -114,11 +114,14 @@ export class QueryParams {
}
getPredicate(operator) {
if (typeof this.params[operator] === 'object') {
return this.params[operator][0];
} else {
return this.params[operator];
if (this.hasOperator(operator)){
if (typeof this.params[operator] === 'object') {
return this.params[operator][0];
} else {
return this.params[operator];
}
}
return null;
}
getPredicates(operator) {

View file

@ -16,7 +16,8 @@ import {
OPERATOR_BOARD,
OPERATOR_COMMENT,
OPERATOR_CREATED_AT,
OPERATOR_CREATOR, OPERATOR_DEBUG,
OPERATOR_CREATOR,
OPERATOR_DEBUG,
OPERATOR_DUE,
OPERATOR_HAS,
OPERATOR_LABEL,
@ -446,8 +447,8 @@ function buildSelector(queryParams) {
{ _id: { $in: attachments.map(attach => attach.cardId) } },
{ _id: { $in: comments.map(com => com.cardId) } },
];
if (queryParams.text == "false" || queryParams.text == "true") {
cardsSelector.push({ customFields: { $elemMatch: { value: queryParams.text == "true" ? true : false } } } );
if (queryParams.text === "false" || queryParams.text === "true") {
cardsSelector.push({ customFields: { $elemMatch: { value: queryParams.text === "true" } } } );
}
selector.$and.push({ $or: cardsSelector });
}