summaryrefslogtreecommitdiff
path: root/lib/scripts/toolbar.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/scripts/toolbar.js')
-rw-r--r--lib/scripts/toolbar.js35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js
index 7a113ecbf..2306ef5db 100644
--- a/lib/scripts/toolbar.js
+++ b/lib/scripts/toolbar.js
@@ -1,3 +1,4 @@
+
// used to identify pickers
var pickercounter=0;
@@ -201,13 +202,13 @@ function tb_autohead(btn, props, edid){
* @return boolean If button should be appended
* @author Gabriel Birke <birke@d-scribe.de>
*/
-function addBtnActionPicker($btn, props, edid) {
+function addBtnActionPicker(btn, props, edid) {
var pickerid = 'picker'+(pickercounter++);
createPicker(pickerid, props, edid);
- $btn.click(
+ btn.click(
function() {
- pickerToggle(pickerid,$btn);
+ pickerToggle(pickerid,btn);
return false;
}
);
@@ -239,17 +240,19 @@ function addBtnActionLinkwiz(btn, props, edid) {
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
-function pickerToggle(pickerid,$btn){
- var $picker = jQuery('#' + pickerid);
- if ($picker.hasClass('hiddenpicker')) {
- var pos = $btn.offset();
- $picker.hide().removeClass('hiddenpicker')
- .dw_show()
- .offset({left: pos.left+3, top: pos.top+$btn[0].offsetHeight+3})
+function pickerToggle(pickerid,btn){
+ var picker = jQuery('#' + pickerid);
+ if (picker.css('marginLeft') == '-10000px'){
+ var x = findPosX(btn[0]);
+ var y = findPosY(btn[0]);
+
+ picker.css('left',(x+3)+'px')
+ .css('top', (y+btn[0].offsetHeight+3)+'px')
+ .css('marginLeft', '0px')
+ .css('marginTop', '0px');
} else {
- $picker.dw_hide(function () {
- jQuery(this).addClass('hiddenpicker').show();
- });
+ picker.css('marginLeft', '-10000px')
+ .css('marginTop', '-10000px');
}
}
@@ -259,7 +262,11 @@ function pickerToggle(pickerid,$btn){
* @author Andreas Gohr <andi@splitbrain.org>
*/
function pickerClose(){
- jQuery('.picker').addClass('hiddenpicker');
+ var pobjs = jQuery('#picker');
+ for(var i=0; i<pobjs.length; i++){
+ pobjs[i].css('marginLeft', '-10000px')
+ .css('marginTop', '-10000px');
+ }
}