Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.birdseye.js @ 792:52c5595af03e jquery
started to adapt regions plugin to new plugin mechanism
author | hertzhaft |
---|---|
date | Fri, 18 Feb 2011 23:13:26 +0100 |
parents | 32d1d6601968 |
children | 2fb1f576375d |
comparison
equal
deleted
inserted
replaced
791:0ce8175f025a | 792:52c5595af03e |
---|---|
1 /** required digilib geometry plugin | 1 /** |
2 digilib bird's eye view plugin | |
2 */ | 3 */ |
3 | 4 |
4 (function($) { | 5 (function($) { |
5 | 6 |
6 // affine geometry plugin stub | 7 // affine geometry plugin stub |
23 'birdDivWidth' : 200, | 24 'birdDivWidth' : 200, |
24 'birdDivHeight' : 200, | 25 'birdDivHeight' : 200, |
25 // parameters used by bird's eye div | 26 // parameters used by bird's eye div |
26 'birdDivParams' : ['fn','pn','dw','dh'] | 27 'birdDivParams' : ['fn','pn','dw','dh'] |
27 }; | 28 }; |
28 | 29 |
29 var actions = { | 30 var actions = { |
30 // event handler: toggles the visibility of the bird's eye window | 31 // event handler: toggles the visibility of the bird's eye window |
31 showBirdDiv : function (data, show) { | 32 showBirdDiv : function (data, show) { |
32 var settings = data.settings; | 33 var settings = data.settings; |
33 if (data.$birdDiv == null) { | 34 if (data.$birdDiv == null) { |
38 settings.isBirdDivVisible = on; | 39 settings.isBirdDivVisible = on; |
39 digilib.fn.highlightButtons(data, 'bird', on); | 40 digilib.fn.highlightButtons(data, 'bird', on); |
40 updateBirdDiv(data); | 41 updateBirdDiv(data); |
41 digilib.fn.storeOptions(data); | 42 digilib.fn.storeOptions(data); |
42 } | 43 } |
43 }; | 44 }; |
44 | 45 |
45 // plugin installation called by digilib on plugin object. | 46 // plugin installation called by digilib on plugin object. |
46 var install = function(digilib) { | 47 var install = function(digilib) { |
47 // import geometry classes | 48 // import geometry classes |
48 geom = digilib.fn.geometry; | 49 geom = digilib.fn.geometry; |
49 FULL_AREA = geom.rectangle(0,0,1,1); | 50 FULL_AREA = geom.rectangle(0,0,1,1); |
65 $data.bind('setup', handleSetup); | 66 $data.bind('setup', handleSetup); |
66 $data.bind('update', handleUpdate); | 67 $data.bind('update', handleUpdate); |
67 $data.bind('redisplay', handleRedisplay); | 68 $data.bind('redisplay', handleRedisplay); |
68 $data.bind('dragZoom', handleDragZoom); | 69 $data.bind('dragZoom', handleDragZoom); |
69 }; | 70 }; |
70 | 71 |
71 | 72 |
72 var handleSetup = function (evt) { | 73 var handleSetup = function (evt) { |
73 console.debug("birdseye: handleSetup"); | 74 console.debug("birdseye: handleSetup"); |
74 data = this; | 75 data = this; |
75 // bird's eye view creation | 76 // bird's eye view creation |
76 if (data.settings.isBirdDivVisible) { | 77 if (data.settings.isBirdDivVisible) { |
77 setupBirdDiv(data); | 78 setupBirdDiv(data); |
78 data.$birdDiv.show(); | 79 data.$birdDiv.show(); |
79 } | 80 } |
80 }; | 81 }; |
81 | 82 |
82 var handleUpdate = function (evt) { | 83 var handleUpdate = function (evt) { |
83 console.debug("birdseye: handleUpdate"); | 84 console.debug("birdseye: handleUpdate"); |
84 data = this; | 85 data = this; |
85 if (data.settings.isBirdDivVisible) { | 86 if (data.settings.isBirdDivVisible) { |
86 renderBirdArea(data); | 87 renderBirdArea(data); |
87 setupBirdDrag(data); | 88 setupBirdDrag(data); |
88 } | 89 } |
89 }; | 90 }; |
90 | 91 |
91 var handleRedisplay = function (evt) { | 92 var handleRedisplay = function (evt) { |
92 console.debug("birdseye: handleRedisplay"); | 93 console.debug("birdseye: handleRedisplay"); |
93 data = this; | 94 data = this; |
94 if (data.settings.isBirdDivVisible) { | 95 if (data.settings.isBirdDivVisible) { |
95 updateBirdDiv(data); | 96 updateBirdDiv(data); |
96 } | 97 } |
97 }; | 98 }; |
98 | 99 |
99 var handleDragZoom = function (evt, zoomArea) { | 100 var handleDragZoom = function (evt, zoomArea) { |
100 //console.debug("birdseye: handleDragZoom za="+zoomArea); | 101 //console.debug("birdseye: handleDragZoom za="+zoomArea); |
101 data = this; | 102 data = this; |
102 if (data.settings.isBirdDivVisible) { | 103 if (data.settings.isBirdDivVisible) { |
103 setBirdZoom(data, zoomArea); | 104 setBirdZoom(data, zoomArea); |
104 } | 105 } |
105 }; | 106 }; |
106 | 107 |
107 // returns URL for bird's eye view image | 108 // returns URL for bird's eye view image |
108 var getBirdImgUrl = function (data) { | 109 var getBirdImgUrl = function (data) { |
109 var settings = data.settings; | 110 var settings = data.settings; |
110 var birdDivOptions = { | 111 var birdDivOptions = { |
111 dw : settings.birdDivWidth, | 112 dw : settings.birdDivWidth, |
311 buttons : {}, | 312 buttons : {}, |
312 actions : {}, | 313 actions : {}, |
313 fn : {}, | 314 fn : {}, |
314 plugins : {} | 315 plugins : {} |
315 }; | 316 }; |
316 | 317 |
317 if ($.fn.digilib == null) { | 318 if ($.fn.digilib == null) { |
318 $.error("jquery.digilib.birdview must be loaded after jquery.digilib!"); | 319 $.error("jquery.digilib.birdview must be loaded after jquery.digilib!"); |
319 } else { | 320 } else { |
320 $.fn.digilib('plugin', digilib); | 321 $.fn.digilib('plugin', digilib); |
321 } | 322 } |