annotate webapp/src/main/webapp/jquery/jquery.digilib.dialogs.js @ 1108:214cac7e5628

oerks, overlooked css file again
author hertzhaft
date Sat, 27 Oct 2012 00:12:36 +0200
parents c5ed20cd24ae
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
c5ed20cd24ae setting annotation user name works now.
robcast
parents: 1058
diff changeset
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
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
150 var setButtonActions = function () {
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
151 if (fn.setButtonAction == null) {
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
152 console.debug('dialogs: could not assign button actions. Maybe jquery.digilib.buttons.js was not loaded?');
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
153 return;
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
154 }
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
155 console.debug('dialogs: assign new button actions. digilib:', digilib);
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
156 fn.setButtonAction('calibrationx', 'dialogCalibration');
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
157 fn.setButtonAction('scale', 'dialogScaleMode');
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
158 };
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
159
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
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
4aa90cccb3e4 make plugins independent from buttons plugin
hertzhaft
parents: 1047
diff changeset
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);