Skip to content
This repository has been archived by the owner on Jun 14, 2020. It is now read-only.

Commit

Permalink
Fix outerWidth.outerHeight calls, fixes #497. Also reeeemvoed undocum…
Browse files Browse the repository at this point in the history
…ented api.get('dimensions') and api.get('offset') methods, and moved convertNotation to intro.js
  • Loading branch information
Craga89 committed Apr 3, 2013
1 parent 196ded1 commit 8ccba50
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 47 deletions.
45 changes: 5 additions & 40 deletions src/core.js
Expand Up @@ -33,22 +33,6 @@ function QTip(target, options, id, attr)
lastClass: ''
};

function convertNotation(notation)
{
var i = 0, obj, option = options,

// Split notation into array
levels = notation.split('.');

// Loop through
while( option = option[ levels[i++] ] ) {
if(i < levels.length) { obj = option; }
}

return [obj || options, levels.pop()];
}


function setWidget()
{
var on = options.style.widget,
Expand Down Expand Up @@ -696,29 +680,10 @@ function QTip(target, options, id, attr)
{
if(self.destroyed) { return self; }

var result, o;

switch(notation.toLowerCase())
{
case 'dimensions':
result = {
height: tooltip.outerHeight(FALSE),
width: tooltip.outerWidth(FALSE)
};
break;

case 'offset':
result = PLUGINS.offset(tooltip, options.position.container);
break;

default:
o = convertNotation(notation.toLowerCase());
result = o[0][ o[1] ];
result = result.precedance ? result.string() : result;
break;
}
var o = convertNotation(options, notation.toLowerCase()),
result = o[0][ o[1] ];

return result;
return result.precedance ? result.string() : result;
},

set: function(option, value)
Expand Down Expand Up @@ -752,7 +717,7 @@ function QTip(target, options, id, attr)

// Set all of the defined options to their new values
$.each(option, function(notation, value) {
var obj = convertNotation( notation.toLowerCase() ), previous;
var obj = convertNotation(options, notation.toLowerCase()), previous;

// Set new obj value
previous = obj[0][ obj[1] ];
Expand Down Expand Up @@ -847,7 +812,7 @@ function QTip(target, options, id, attr)
}

// Update the tooltip position (set width first to prevent viewport/max-width issues)
if(!width) { tooltip.css('width', tooltip.outerWidth()); }
if(!width) { tooltip.css('width', tooltip.outerWidth(FALSE)); }
self.reposition(event, arguments[2]);
if(!width) { tooltip.css('width', ''); }

Expand Down
5 changes: 4 additions & 1 deletion src/ie6/ie6.js
Expand Up @@ -61,7 +61,10 @@ function Ie6(api)

adjustBGIFrame: function()
{
var dimensions = api.get('dimensions'), // Determine current tooltip dimensions
var dimensions = {
height: tooltip.outerHeight(FALSE),
width: tooltip.outerWidth(FALSE)
},
plugin = api.plugins.tip,
tip = elems.tip,
tipAdjust, offset;
Expand Down
18 changes: 16 additions & 2 deletions src/intro.js
Expand Up @@ -71,9 +71,23 @@
return WIDGET.concat('').join(cls ? '-'+cls+' ' : ' ');
}

// Dot notation converter
function convertNotation(options, notation) {
var i = 0, obj, option = options,

// Split notation into array
levels = notation.split('.');

// Loop through
while( option = option[ levels[i++] ] ) {
if(i < levels.length) { obj = option; }
}

return [obj || options, levels.pop()];
}

// Option object sanitizer
function sanitizeOptions(opts)
{
function sanitizeOptions(opts) {
var invalid = function(a) { return a === NULL || !$.isPlainObject(a); },
invalidContent = function(c) { return !$.isFunction(c) && ((!c && !c.attr) || c.length < 1 || ('object' === typeof c && !c.jquery && !c.then)); },
once;
Expand Down
4 changes: 2 additions & 2 deletions src/position/imagemap.js
Expand Up @@ -32,8 +32,8 @@ PLUGINS.imagemap = function(api, area, corner, adjustMethod)

// Make sure we account for padding and borders on the image
imageOffset = image.offset();
imageOffset.left += Math.ceil((image.outerWidth() - image.width()) / 2);
imageOffset.top += Math.ceil((image.outerHeight() - image.height()) / 2);
imageOffset.left += Math.ceil((image.outerWidth(FALSE) - image.width()) / 2);
imageOffset.top += Math.ceil((image.outerHeight(FALSE) - image.height()) / 2);

// Add image position to offset coordinates
result.position.left += imageOffset.left;
Expand Down
4 changes: 2 additions & 2 deletions src/position/viewport.js
Expand Up @@ -24,8 +24,8 @@ PLUGINS.viewport = function(api, position, posOptions, targetWidth, targetHeight
fixed = tooltip.css('position') === 'fixed';
viewport = {
elem: viewport,
height: viewport[ (viewport[0] === window ? 'h' : 'outerH') + 'eight' ](),
width: viewport[ (viewport[0] === window ? 'w' : 'outerW') + 'idth' ](),
width: viewport[0] === window ? viewport.width() : viewport.outerWidth(FALSE),
height: viewport[0] === window ? viewport.height() : viewport.outerHeight(FALSE),
scrollleft: fixed ? 0 : viewport.scrollLeft(),
scrolltop: fixed ? 0 : viewport.scrollTop(),
offset: viewport.offset() || { left: 0, top: 0 }
Expand Down

0 comments on commit 8ccba50

Please sign in to comment.