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