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 h1 Debug
if debug.get.showSelector if debug.get.showSelector
h2 Selector h2 Selector
pre button.js-copy-debug-selector
= 'Copy'
pre(
id="debug-selector"
)
= sessionData.selector = sessionData.selector
if debug.get.showProjection if debug.get.showProjection
h2 Projection h2 Projection
pre button.js-copy-debug-projection
= 'Copy'
pre(
id="debug-projection"
)
= sessionData.projection = sessionData.projection
if searching.get if searching.get
+spinner +spinner

View file

@ -222,6 +222,30 @@ class GlobalSearchComponent extends CardSearchPagedComponent {
); );
document.getElementById('global-search-input').focus(); 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) { 'click .js-board-title'(evt) {
evt.preventDefault(); evt.preventDefault();
const input = document.getElementById('global-search-input'); const input = document.getElementById('global-search-input');

View file

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

View file

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