annotate client/digitallibrary/jquery/jquery.digilib.pluginstub.js @ 801:2fb1f576375d jquery

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