www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 14862edb2ccbf74812386533f7dddad72b0ecd47
parent dad84abe979021946fa7604417580d7f9f0ed3de
Author: Simon Kornblith <simon@simonster.com>
Date:   Sat, 11 Apr 2009 04:03:23 +0000

commit missing files


Diffstat:
Achrome/content/zotero/lookup.js | 44++++++++++++++++++++++++++++++++++++++++++++
Achrome/content/zotero/lookup.xul | 25+++++++++++++++++++++++++
2 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/chrome/content/zotero/lookup.js b/chrome/content/zotero/lookup.js @@ -0,0 +1,44 @@ +const Zotero_Lookup = new function () { + this.accept = function() { + document.getElementById("progress").setAttribute("status", "animate"); + var identifier = document.getElementById("lookup-textbox").value; + if(identifier.substr(0, 3) == "10.") { + // DOI + var item = {itemType:"journalArticle", DOI:identifier}; + } else { + identifier = identifier.replace("-", "", "g"); + if(identifier.length == 10 || identifier.length == 13) { + // ISBN + var item = {itemType:"book", ISBN:identifier}; + } else { + // PMID; right now, PMIDs are 8 digits, so there doesn't seem like we will need to + // discriminate for a fairly long time + var item = {itemType:"journalArticle", contextObject:"rft_id=info:pmid/"+identifier}; + } + } + + translate = new Zotero.Translate("search", true, false); + translate.setSearch(item); + // be lenient about translators + var translators = translate.getTranslators(); + Zotero.debug(translators[0].label); + translate.setTranslator(translators); + translate.setHandler("done", function(translate, success) { + if(success) { + window.close(); + } else { + document.getElementById("progress").setAttribute("status", "error"); + var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] + .getService(Components.interfaces.nsIPromptService); + prompts.alert(window, Zotero.getString("lookup.failure.title"), + Zotero.getString("lookup.failure.description")); + } + }); + try { + var saveLocation = window.opener.ZoteroPane.getSelectedCollection(); + } catch(e) {} + translate.setHandler("itemDone", function(obj, item) { window.opener.Zotero_Browser.itemDone(obj, item, saveLocation) }); + translate.translate(); + return false; + } +} diff --git a/chrome/content/zotero/lookup.xul b/chrome/content/zotero/lookup.xul @@ -0,0 +1,25 @@ +<?xml version="1.0"?> +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> +<?xml-stylesheet href="chrome://zotero/skin/zotero.css" type="text/css"?> + +<!DOCTYPE bindings SYSTEM "chrome://zotero/locale/zotero.dtd"> + +<dialog + id="zotero-search-dialog" + title="Search" + orient="vertical" + ondialogaccept="return Zotero_Lookup.accept();" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + + <script src="include.js"/> + <script src="lookup.js"/> + + <description>&zotero.lookup.description;</description> + <textbox id="lookup-textbox" flex="1"/> + <hbox id="dialog-button-box"> + <toolbarbutton class="zotero-small-progress-indicator" id="progress"/> + <spacer flex="1"/> + <button class="dialog-button" dlgtype="cancel"/> + <button class="dialog-button" dlgtype="accept"/> + </hbox> +</dialog>