add: registerAnonymousCommandExample logic or

This commit is contained in:
MuiseDestiny 2023-02-18 22:03:55 +08:00
parent 2ff86f92db
commit 6467a12089

View File

@ -558,10 +558,15 @@ export class PromptExampleFactory {
const s = new Zotero.Search(); const s = new Zotero.Search();
const operators = ['is', 'isNot', 'true', 'false', 'isInTheLast', 'isBefore', 'isAfter', 'contains', 'doesNotContain', 'beginsWith']; const operators = ['is', 'isNot', 'true', 'false', 'isInTheLast', 'isBefore', 'isAfter', 'contains', 'doesNotContain', 'beginsWith'];
let hasValidCondition = false let hasValidCondition = false
text.split(/\s*&&\s*/g).forEach((conditinString: string) => { let joinMode: string = "all"
if (/\s*\|\|\s*/.test(text)) {
joinMode = "any"
}
text.split(/\s*(&&|\|\|)\s*/g).forEach((conditinString: string) => {
let conditions = conditinString.split(/\s+/g); let conditions = conditinString.split(/\s+/g);
if (conditions.length == 3 && operators.indexOf(conditions[1]) != -1) { if (conditions.length == 3 && operators.indexOf(conditions[1]) != -1) {
hasValidCondition = true hasValidCondition = true
s.addCondition("joinMode", joinMode);
s.addCondition( s.addCondition(
conditions[0] as string, conditions[0] as string,
conditions[1] as Zotero.Search.Operator, conditions[1] as Zotero.Search.Operator,