From b80bcea1843cdd6345c8f736d93ad2a744f5da22 Mon Sep 17 00:00:00 2001 From: abaevbog Date: Thu, 5 Mar 2026 17:08:52 -0800 Subject: [PATCH] add citationKey to quicksearch-titleCreatorYear (#5814) So quicksearch and citation dialog in list mode search by the citation key, in addition to title,creator,etc. https://forums.zotero.org/discussion/130090/zotero-picker-i-cant-search-item-by-citation-key --- .../integration/citationDialog/searchHandler.mjs | 11 ++++++++++- chrome/content/zotero/xpcom/data/search.js | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/integration/citationDialog/searchHandler.mjs b/chrome/content/zotero/integration/citationDialog/searchHandler.mjs index 4fae4b87c9..ac90ca49ba 100644 --- a/chrome/content/zotero/integration/citationDialog/searchHandler.mjs +++ b/chrome/content/zotero/integration/citationDialog/searchHandler.mjs @@ -335,7 +335,16 @@ export class CitationDialogSearchHandler { // Generate a string to search for each item let itemStr = item.getCreators() .map(creator => creator.firstName + " " + creator.lastName) - .concat([item.getField("title"), item.getField("date", true, true).substr(0, 4)]) + .concat([ + // conditions from quicksearch-titleCreatorYear + item.getField("title"), + item.getField("date", true, true).substr(0, 4), + item.getField("publicationTitle"), + item.getField("shortTitle"), + item.getField("court"), + item.getField("year"), + item.getField("citationKey") + ]) .join(" ") .toLowerCase(); diff --git a/chrome/content/zotero/xpcom/data/search.js b/chrome/content/zotero/xpcom/data/search.js index 3fee2726a6..36075d500b 100644 --- a/chrome/content/zotero/xpcom/data/search.js +++ b/chrome/content/zotero/xpcom/data/search.js @@ -326,6 +326,7 @@ Zotero.Search.prototype.addCondition = function (condition, operator, value, req this.addCondition('shortTitle', operator, part.text, false); this.addCondition('court', operator, part.text, false); this.addCondition('year', operator, part.text, false); + this.addCondition('citationKey', operator, part.text, false); } else { this.addCondition('field', operator, part.text, false);