comparison client/digitallibrary/jquery/jquery.digilib.pluginstub.js @ 808:ae8e98c479d5 jquery

stub for new plugins; overlay div for regions plugin
author hertzhaft
date Sun, 20 Feb 2011 13:24:49 +0100
parents
children 1a7b14deae3a
comparison
equal deleted inserted replaced
807:1b1728926534 808:ae8e98c479d5
1 /**
2 digilib plugin stub
3 */
4
5 (function($) {
6
7 var geom;
8
9 var FULL_AREA;
10
11 var buttons = {
12 stub : {
13 onclick : ["doStub", 1],
14 tooltip : "what does this button do?",
15 icon : "stub.png"
16 }
17 };
18
19 var defaults = {
20 // is stub active?
21 'isStubActive' : true
22 };
23
24 var actions = {
25 // action code goes here
26 doStub : function (data, param) {
27 var settings = data.settings;
28 console.log('isStubActive', settings.isStubActive);
29 // do some useful stuff ...
30 }
31 };
32
33 // plugin installation called by digilib on plugin object.
34 var install = function(digilib) {
35 console.debug('installing stub plugin. digilib:', digilib);
36 // import geometry classes
37 geom = digilib.fn.geometry;
38 FULL_AREA = geom.rectangle(0,0,1,1);
39 // add defaults
40 $.extend(digilib.defaults, defaults);
41 // add actions
42 $.extend(digilib.actions, actions);
43 // add buttons
44 $.extend(digilib.buttons, buttons);
45 };
46
47 // plugin initialization
48 var init = function (data) {
49 console.debug('initialising stub plugin. data:', data);
50 var $data = $(data);
51 // install event handler
52 $data.bind('setup', handleSetup);
53 $data.bind('update', handleUpdate);
54 $data.bind('redisplay', handleRedisplay);
55 $data.bind('dragZoom', handleDragZoom);
56 };
57
58
59 var handleSetup = function (evt) {
60 console.debug("stub: handleSetup");
61 var data = this;
62 };
63
64 var handleUpdate = function (evt) {
65 console.debug("stub: handleUpdate");
66 var data = this;
67 };
68
69 var handleRedisplay = function (evt) {
70 console.debug("stub: handleRedisplay");
71 var data = this;
72 };
73
74 var handleDragZoom = function (evt, zoomArea) {
75 var data = this;
76 };
77
78 // plugin object with name and init
79 // shared objects filled by digilib on registration
80 var plugin = {
81 name : 'pluginstub',
82 install : install,
83 init : init,
84 buttons : {},
85 actions : {},
86 fn : {},
87 plugins : {}
88 };
89
90 if ($.fn.digilib == null) {
91 $.error("jquery.digilib.pluginstub must be loaded after jquery.digilib!");
92 } else {
93 $.fn.digilib('plugin', plugin);
94 }
95 })(jQuery);