Hi Steph,

Thanks for your quick response.

I’ve put up a gist here 
<https://gist.github.com/itsmrwave/2f5d4984fdfe1f1c1646> … it contains the code 
I was using to determine when exactly the call backs are called. I think I’ve 
pretty much figured out how events work. Interestingly the “annotationsLoaded” 
event isn’t in the docs 
<http://docs.annotatorjs.org/en/v1.2.x/hacking/plugin-development.html#annotator-events>
 … thanks for that. Might come in handy.

All in all, thanks for the tips.

— King’ori Maina (kingori.co <http://kingori.co/>)

> On Mar 4, 2015, at 8:11 PM, steph <[email protected] 
> <mailto:[email protected]>> wrote:
> 
> Hi,
> 
> 
> On 03/04/2015 12:25 PM, King'ori J. Maina wrote:
>> 
>> I’ve been able to get some sample plugin code setup and being used by 
>> annotator but I’m struggling to figure out how to add the actual 
>> functionality of up-voting and down-voting. Getting exhausted while trying 
>> to learn/figure out coffee script. The idea was that I have some sample code 
>> to refer to as a base implementation of the fundamentals.
>> 
>> Any ideas as to a plugin that’s written in vanilla JS that I can poke into 
>> and learn?
> 
> Edge Annotator is in vanilla JS, so everything in 
> https://github.com/openannotation/annotator/tree/master/src 
> <https://github.com/openannotation/annotator/tree/master/src> should now be 
> JS only, although some of those don't necessarily demonstrate plugin 
> capabilities.
> 
> Here's one I'm working on: 
> https://github.com/stephskardal/Annotation-Studio/blob/master/app/assets/javascripts/annotator-category.js
>  
> <https://github.com/stephskardal/Annotation-Studio/blob/master/app/assets/javascripts/annotator-category.js>.
>  It is compatible with Annotator 1.2.*. I've also worked on Annotator 2.0 and 
> the plugin API is not much different. Here are some important bits:
> * pluginInit 
> (https://github.com/stephskardal/Annotation-Studio/blob/master/app/assets/javascripts/annotator-category.js#L26
>  
> <https://github.com/stephskardal/Annotation-Studio/blob/master/app/assets/javascripts/annotator-category.js#L26>):
>  called when a plugin is initialized, but before data loaded. Here's where 
> you would call addField on the viewer or editor.
> * hook for annotationsLoaded, called after Annotator finishes loading 
> annotations. Here's where you may manipulate annotations / UI after 
> annotations loaded.
> * hooks for annotationUpdated, annotationCreated, called after annotation 
> updated / created. Here's where you may manipulate the UI based on annotation 
> data.
> * hook for annotationEditorSubmit, called right after user clicks "save", but 
> before data is sent to the backend. Here's where you would modify the 
> annotation data getting sent to the backend.
> * __bind calls on various plugin methods to set scope 
> (https://github.com/stephskardal/Annotation-Studio/blob/master/app/assets/javascripts/annotator-category.js#L17-L22
>  
> <https://github.com/stephskardal/Annotation-Studio/blob/master/app/assets/javascripts/annotator-category.js#L17-L22>)
> 
> There are quite a few more hooks, but I think these are likely to be the most 
> popular.
> 
> Another option is to use something like http://js2.coffee/ 
> <http://js2.coffee/> to convert another plugin in CoffeeScript to JS.
> 
> Steph
> _______________________________________________
> annotator-dev mailing list
> [email protected] <mailto:[email protected]>
> https://lists.okfn.org/mailman/listinfo/annotator-dev
> Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev

_______________________________________________
annotator-dev mailing list
[email protected]
https://lists.okfn.org/mailman/listinfo/annotator-dev
Unsubscribe: https://lists.okfn.org/mailman/options/annotator-dev

Reply via email to