Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
dev:client_coding:javascript_api [2020/04/16 16:03] – [Running Ad Hoc JavaScript in Zotero] dstillmandev:client_coding:javascript_api [2020/10/17 21:03] – [Batch Editing] dstillman
Line 356: Line 356:
  
 Before proceeding, back up your [[:zotero_data|Zotero data directory]] and temporarily disable auto-sync in the Sync pane of the Zotero preferences. Before proceeding, back up your [[:zotero_data|Zotero data directory]] and temporarily disable auto-sync in the Sync pane of the Zotero preferences.
 +
 +All examples operate on the currently selected library.
  
 ==== Example: Item Field Changes ==== ==== Example: Item Field Changes ====
Line 367: Line 369:
 var fieldID = Zotero.ItemFields.getID(fieldName); var fieldID = Zotero.ItemFields.getID(fieldName);
 var s = new Zotero.Search(); var s = new Zotero.Search();
-s.libraryID = Zotero.Libraries.userLibraryID;+s.libraryID = ZoteroPane.getSelectedLibraryID();
 s.addCondition(fieldName, 'is', oldValue); s.addCondition(fieldName, 'is', oldValue);
 var ids = await s.search(); var ids = await s.search();
Line 397: Line 399:
    
 var s = new Zotero.Search(); var s = new Zotero.Search();
-s.libraryID = Zotero.Libraries.userLibraryID;+s.libraryID = ZoteroPane.getSelectedLibraryID();
 s.addCondition('creator', 'is', oldName); s.addCondition('creator', 'is', oldName);
 var ids = await s.search(); var ids = await s.search();
Line 422: Line 424:
 return ids.length + " item(s) updated";</code> return ids.length + " item(s) updated";</code>
  
-==== Example: Delete Tags By Name ====+==== Example: Convert Manual Tag to Automatic ====
  
-<html><p id="zotero-5-update-warningstyle="colorred; font-weight: bold">This example has not been updated for Zotero 5 and should not currently be used.</p></html>+Replace "Fooin the first line with the tag to change:
  
-<code javascript>var tags ["foo", "bar", "baz"]+<code javascript>var tag = "Foo"; 
-var ids []+var new Zotero.Search()
-var allTags Zotero.Tags.search(); +s.libraryID ZoteroPane.getSelectedLibraryID(); 
-tags = tags.map(tag => tag.toLowerCase()); +s.addCondition('tag', 'is', tag); 
-for (var id in allTags) { +var ids = await s.search()
-    if (tags.indexOf(allTags[id].name.toLowerCase()) != -1) { +if (!ids.length
-      ids.push(id); +    return "No items found"; 
-    }+} 
 +for (let id of ids) { 
 +    let item = Zotero.Items.get(id); 
 +    item.addTag(tag, 1); 
 +    await item.saveTx();
 } }
-Zotero.Tags.erase(ids); +return ids.length + " tag(supdated";</code>
-</code>+
  
 ==== Example: Delete Tags By Part of Name ==== ==== Example: Delete Tags By Part of Name ====
dev/client_coding/javascript_api.txt · Last modified: 2022/07/02 18:22 by dstillman