Mercurial > hg > digilib-old
annotate webapp/src/main/webapp/jquery/jquery.digilib.dialogs.js @ 1120:8bd10cd04169
authentication for annotations with password works now. (permissions are still flaky.)
author | robcast |
---|---|
date | Wed, 07 Nov 2012 18:09:57 +0100 |
parents | c5ed20cd24ae |
children |
rev | line source |
---|---|
1047
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
1 /** |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
2 digilib dialogs plugin |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
3 */ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
4 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
5 (function($) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
6 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
7 // plugin object with digilib data |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
8 var digilib = null; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
9 // the functions made available by digilib |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
10 var fn = null; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
11 // affine geometry plugin |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
12 var geom = null; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
13 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
14 var modes = [ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
15 { name : "screen", |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
16 label : "fit to screen", |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
17 tooltip : "scales the graphic file so that it fills the screen" |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
18 }, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
19 { name : "pixel", |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
20 label : "pixel by pixel", |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
21 tooltip : "all pixels of the current part of the graphic file are shown" |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
22 }, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
23 { name : "size", |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
24 label : "original size", |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
25 tooltip : "tries to display the current part of the graphic file in the size of the orginal resource (after screen calibration)" |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
26 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
27 ]; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
28 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
29 var defaults = { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
30 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
31 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
32 var actions = { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
33 // shows Calibration Div |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
34 dialogCalibration : function (data) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
35 fn.showCalibrationDialog(data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
36 }, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
37 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
38 // shows ScaleModeSelector |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
39 dialogScaleMode : function (data) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
40 fn.showScaleModeDialog(data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
41 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
42 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
43 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
44 /** creates and displays HTML structure for screen calibration |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
45 */ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
46 var showCalibrationDialog = function (data) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
47 var $elem = data.$elem; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
48 var settings = data.settings; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
49 var cssPrefix = settings.cssPrefix; |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1056
diff
changeset
|
50 var calibrationSelector = '#'+cssPrefix+'calibration'; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1056
diff
changeset
|
51 if (fn.isOnScreen(data, calibrationSelector)) return; // already onscreen |
1047
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
52 var html = '\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
53 <div id="'+cssPrefix+'calibration" class="'+cssPrefix+'calibration">\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
54 <div id="'+cssPrefix+'ruler">\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
55 <div id="'+cssPrefix+'cm">Please enter the length of this scale on your screen</div>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
56 <div>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
57 <input id="'+cssPrefix+'calibrationInput" size="5"/> cm\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
58 <button class="'+cssPrefix+'button" id="'+cssPrefix+'calibrationOk">OK</button>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
59 <button class="'+cssPrefix+'button" id="'+cssPrefix+'calibrationCancel">Cancel</button>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
60 </div>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
61 <div id="'+cssPrefix+'calibrationError" class="'+cssPrefix+'calibration-error">Please enter a numeric value like this: 12.3</div>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
62 </div>\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
63 </div>'; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
64 $calDiv = $(html); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
65 $calDiv.appendTo($elem); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
66 var $input = $calDiv.find('#'+cssPrefix+'calibrationInput'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
67 var $ok = $calDiv.find('#'+cssPrefix+'calibrationOk'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
68 var $cancel = $calDiv.find('#'+cssPrefix+'calibrationCancel'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
69 var $error = $calDiv.find('#'+cssPrefix+'calibrationError'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
70 var handler = function(event) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
71 // var _data = data; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
72 if (event.keyCode == 27 || event.target.id == cssPrefix+'calibrationCancel') { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
73 fn.withdraw($calDiv); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
74 return false; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
75 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
76 if (event.keyCode == 13 || event.target.id == cssPrefix+'calibrationOk') { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
77 var w = $calDiv.width(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
78 var cm = $input.val(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
79 var dpi = fn.cropFloat(w / parseFloat(cm) * 2.54); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
80 console.debug('width', w, 'cm', cm, 'input dpi:', dpi); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
81 if (!fn.isNumber(dpi)) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
82 $input.addClass(cssPrefix+'error'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
83 $error.fadeIn(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
84 return; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
85 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
86 digilib.actions.calibrate(data, dpi); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
87 fn.withdraw($calDiv); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
88 return false; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
89 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
90 $error.fadeOut(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
91 $input.removeClass(cssPrefix+'error'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
92 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
93 $ok.on("click.dialog", handler); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
94 $cancel.on("click.dialog", handler); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
95 $input.on("keypress.dialog", handler); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
96 $input.on("focus.dialog", handler); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
97 $calDiv.fadeIn(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
98 fn.centerOnScreen(data, $calDiv); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
99 $input.focus(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
100 return $calDiv; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
101 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
102 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
103 /** creates and displays HTML structure for scale mode selection |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
104 */ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
105 var showScaleModeDialog = function (data) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
106 var $elem = data.$elem; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
107 var settings = data.settings; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
108 var cssPrefix = settings.cssPrefix; |
1058
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1056
diff
changeset
|
109 var scaleModeSelector = '#'+cssPrefix+'scalemode'; |
95d28c6ad018
rgb slider now gets/sets values, plus some refactoring
hertzhaft
parents:
1056
diff
changeset
|
110 if (fn.isOnScreen(data, scaleModeSelector)) return; // already onscreen |
1047
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
111 var html = '\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
112 <div id="'+cssPrefix+'scalemode" style="display:none; z-index:1000; position:absolute">\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
113 <select class="'+cssPrefix+'scalemode" />\ |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
114 </div>'; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
115 $scaleDiv = $(html); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
116 $scaleDiv.appendTo($elem); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
117 var mode = fn.getScaleMode(data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
118 var $select = $scaleDiv.find('select'); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
119 for (var i = 0; i < modes.length; i++) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
120 var m = modes[i]; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
121 var selected = (m.name == mode) ? ' selected="selected"' : ''; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
122 html = '<option name="'+m.name+'"'+selected+'>'+m.label+'</option>'; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
123 $select.append($(html)); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
124 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
125 $select.on('change.scalemode', function(event) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
126 var newMode = $select.find("option:selected").attr("name"); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
127 console.debug('setting mode to:', newMode); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
128 digilib.actions.setScaleMode(data, newMode); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
129 fn.withdraw($scaleDiv); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
130 }); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
131 $select.on('blur.scalemode', function(event) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
132 fn.withdraw($scaleDiv); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
133 }); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
134 // position the element next to the scale button |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
135 $scaleDiv.fadeIn(); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
136 $select.focus(); |
1056
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
137 if (digilib.plugins.buttons == null) { |
1100 | 138 fn.centerOnScreen($scaleDiv); |
1056
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
139 } else { |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
140 var $button = fn.findButtonByName(data, 'scale'); |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
141 var buttonRect = geom.rectangle($button); |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
142 var divRect = geom.rectangle($scaleDiv); |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
143 $scaleDiv.offset({ |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
144 left : Math.abs(buttonRect.x - divRect.width - 4), |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
145 top : buttonRect.y + 4 |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
146 }); |
89c5b56933af
Ticket #9: new option 'showPageButtons', function 'disableButtons'
hertzhaft
parents:
1051
diff
changeset
|
147 } |
1047
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
148 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
149 |
1048 | 150 var setButtonActions = function () { |
151 if (fn.setButtonAction == null) { | |
152 console.debug('dialogs: could not assign button actions. Maybe jquery.digilib.buttons.js was not loaded?'); | |
153 return; | |
154 } | |
155 console.debug('dialogs: assign new button actions. digilib:', digilib); | |
156 fn.setButtonAction('calibrationx', 'dialogCalibration'); | |
157 fn.setButtonAction('scale', 'dialogScaleMode'); | |
158 }; | |
159 | |
160 | |
1047
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
161 // plugin installation called by digilib on plugin object. |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
162 var install = function (plugin) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
163 digilib = plugin; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
164 console.debug('installing dialogs plugin. digilib:', digilib); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
165 fn = digilib.fn; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
166 // import geometry classes |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
167 geom = fn.geometry; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
168 // add defaults, actions, buttons |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
169 $.extend(true, digilib.defaults, defaults); // make deep copy |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
170 $.extend(digilib.actions, actions); |
1048 | 171 setButtonActions(); |
1047
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
172 // export functions |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
173 fn.showCalibrationDialog = showCalibrationDialog; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
174 fn.showScaleModeDialog = showScaleModeDialog; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
175 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
176 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
177 // plugin initialization |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
178 var init = function (data) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
179 console.debug('initialising dialogs plugin. data:', data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
180 var $data = $(data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
181 $data.bind('setup', handleSetup); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
182 // create ScaleMode selector; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
183 // setupScaleModeDiv(data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
184 // create Calibration div; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
185 // setupCalibrationDiv(data); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
186 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
187 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
188 var handleSetup = function (evt) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
189 console.debug("dialogs: handleSetup"); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
190 var data = this; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
191 var settings = data.settings; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
192 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
193 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
194 // plugin object with name and init |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
195 // shared objects filled by digilib on registration |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
196 var plugin = { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
197 name : 'dialogs', |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
198 install : install, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
199 init : init, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
200 buttons : {}, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
201 actions : {}, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
202 fn : {}, |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
203 plugins : {} |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
204 }; |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
205 |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
206 if ($.fn.digilib == null) { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
207 $.error("jquery.digilib.dialogs must be loaded after jquery.digilib!"); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
208 } else { |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
209 $.fn.digilib('plugin', plugin); |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
210 } |
4f17420392a9
factor out calibration/scalemode to new dialogs plugin
hertzhaft
parents:
diff
changeset
|
211 })(jQuery); |