> On 2 May 2019, at 18:55, Christiaan Hofman <cmhof...@gmail.com> wrote: > > > >> On 2 May 2019, at 18:12, Christiaan Hofman <cmhof...@gmail.com >> <mailto: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 <http://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 >
I’ve added some sample JXA script hooks on the Wiki. Christiaan
_______________________________________________ Bibdesk-users mailing list Bibdesk-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-users