Skip to content

Commit

Permalink
Remove using function for setting element positions. Update flop dete…
Browse files Browse the repository at this point in the history
…ction to allow negative offsets and position's custom offset notation. See http://api.jqueryui.com/position/
  • Loading branch information
tarodenberg committed May 7, 2013
1 parent 6a20620 commit db02869
Showing 1 changed file with 8 additions and 32 deletions.
40 changes: 8 additions & 32 deletions jquery.cf.popover.js
Expand Up @@ -50,51 +50,28 @@
*/
flop: {
left: function (position, data) {
var cPosition = data.collisionPosition,
$popover = $(this);
var $popover = $(this),
startPositionLeft = position.left;

// Modifies position and data by reference
var out = uiPosition.flip.left(position, data);

if (position.left !== undefined) {
$popover.toggleClass('flopped-x', cPosition.left !== position.left);
}
$popover.toggleClass('flopped-x', position.left !== undefined && position.left !== startPositionLeft);

return out;
},
top: function (position, data) {
var cPosition = data.collisionPosition,
$popover = $(this);
var $popover = $(this),
startPositionTop = position.top;

// Modifies position and data by reference
var out = uiPosition.flip.top(position, data);

if (position.top !== undefined) {
$popover.toggleClass('flopped-y', cPosition.top !== position.top);
}
$popover.toggleClass('flopped-y', position.top !== undefined && position.top !== startPositionTop);

return out;
}
},

positionPopover: function(position, data) {
var $popover = $(this);

if (data) {
var opener = $popover.data('opener'),
popover = $(opener).data('popover');

if (popover && popover.opts && popover.opts.my) {
var my = popover.opts.my.split(' ');
if (my.length > 0) {
$popover.toggleClass('flopped-x', data.horizontal !== my[0]);
$popover.toggleClass('flopped-y', data.vertical !== (my.length > 1 ? my[1] : my[0]));
}
}
}

$popover.css(position);
},

bindEvents: function () {
this.$trigger.click($.proxy(function (e) {
Expand Down Expand Up @@ -189,8 +166,7 @@
}
var $popover = this.$popover,
posOpts = $.extend({
of: this.$trigger,
using: this.positionPopover
of: this.$trigger
}, this.opts),

/* Monkey-patch in our custom collision handling */
Expand Down

0 comments on commit db02869

Please sign in to comment.