2 * MyPlugin: demonstration plugin
4 * Description: Template for writing new plugins and illustrating the different
5 * possibilities of the plugin API.
6 * This file is part of the Manifold project
7 * Requires: js/plugin.js
8 * URL: http://www.myslice.info
9 * Author: Jordan Augé <jordan.auge@lip6.fr>
10 * Copyright: Copyright 2012-2013 UPMC Sorbonne Universités
16 var MyPlugin = Plugin.extend({
19 init: function(options, element) {
20 // Call the parent constructor, see FAQ when forgotten
21 this._super(options, element);
23 // Explain this will allow query events to be handled
24 // What happens when we don't define some events ?
25 // Some can be less efficient
26 this.listen_query(options.query_uuid);
27 this.listen_query(options.query_uuid, 'all');
36 // a function to bind events here
37 // how to raise manifold events
39 /* GUI MANIPULATION */
41 // We advise you to write function to change behaviour of the GUI
42 // Will use naming helpers to access content _inside_ the plugin
43 // always refer to these functions in the remaining of the code
45 show_hide_button: function()
47 // this.id, this.el, this.cl, this.els
48 // same output as a jquery selector with some guarantees
53 // see in the html template
54 // How to load a template, use of mustache
58 // How to make sure the plugin is not desynchronized
59 // He should manifest its interest in filters, fields or records
60 // functions triggered only if the proper listen is done
64 on_filter_added: function(filter)
69 // ... be sure to list all events here
73 on_record_received: function(record)
80 // TODO Here use cases for instanciating plugins in different ways like in the pastie.