> On 2 May 2019, at 18:12, Christiaan Hofman <cmhof...@gmail.com> wrote: > > > >> On 2 May 2019, at 17:22, Mahmood Shafeie Zargar <m...@msn.com >> <mailto:m...@msn.com>> wrote: >> >> Hi, >> >> I would like to know where I can find an example of a script hook written in >> JavaScript. >> >> I have tried things like this to no avail: >> >> functionperformBibDeskActionWithPublications(pubs, scriptHook) { >> >> } >> >> The function code runs, but no value is loaded in the parameters. >> >> Thanks, >> Mah > > > I haven’t tried using JXA script hooks, but I think they should work. Though > it could be JXA hangs BibDesk, because of bugs with JXA (that Apple says > aren’t bugs but just how it works), that will be fixed in the next release. > > I am not an expert on JS, but shouldn’t it be: > > function performBibDeskActionWithPublications(pubs, > {forScriptHook:scriptHook}) { > > } > > Christiaan
Here is the JXA version for the sample script hook: function performBibDeskActionWithPublications(thePubs, { forScriptHook : theScriptHook }) { var theName = theScriptHook.name(); var theID = theScriptHook.id(); var theField = theScriptHook.fieldName(); var oldValues = theScriptHook.oldValues(); var newValues = theScriptHook.newValues(); var theKeys = []; for (var aPub in thePubs) { theKeys.push(aPub.citeKey); } var app = Application.currentApplication(); app.includeStandardAdditions = true; app.displayDialog("Name: " + theName + "\n" + "ID: " + theID + "\n" + "Cite Keys: " + theKeys + "\n" + "Field name: " + theField + "\n" + "Old values: " + oldValues + "\n" + "New values: " + newValues, { buttons : ["OK"], defaultButton : 1 }); } It works for me, at least with the current nightly. Christiaan
_______________________________________________ Bibdesk-users mailing list Bibdesk-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-users