jQuery UI 1.8 -> 1.8.2

This commit is contained in:
Samuel Clay 2010-07-08 20:06:22 -04:00
parent a1e12a48ab
commit 9e65a4931b
11 changed files with 483 additions and 396 deletions

View file

@ -4,24 +4,21 @@ import sys
from south.db import db from south.db import db
from south.v2 import DataMigration from south.v2 import DataMigration
from django.db import models from django.db import models
from apps.rss_feeds.models import Story, StoryAuthor from apps.rss_feeds.models import Story, Feed
class Migration(DataMigration): class Migration(DataMigration):
def forwards(self, orm): def forwards(self, orm):
i = 0 feeds = Feed.objects.all().order_by('-stories_per_month')
while True: for feed in feeds:
print i, print feed
sys.stdout.flush() sys.stdout.flush()
stories = Story.objects.all().select_related('story_author')[i:i+500] stories = Story.objects.select_related('story_author').filter(story_feed=feed)
if not stories: for story in stories.iterator():
break if not story.story_author_name and story.story_author.author_name:
else:
i += 500
for story in stories:
if story.story_author.author_name:
story.story_author_name = story.story_author.author_name story.story_author_name = story.story_author.author_name
story.save() story.save()
print story.story_date,
def backwards(self, orm): def backwards(self, orm):

View file

@ -1,5 +1,5 @@
/*! /*!
* jQuery UI 1.8 * jQuery UI 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -7,11 +7,20 @@
* *
* http://docs.jquery.com/UI * http://docs.jquery.com/UI
*/ */
;jQuery.ui || (function($) {
(function($) {
// prevent duplicate loading
// this is only a problem because we proxy existing functions
// and we don't want to double proxy them
$.ui = $.ui || {};
if ($.ui.version) {
return;
}
//Helper functions and ui object //Helper functions and ui object
$.ui = { $.extend($.ui, {
version: "1.8", version: "1.8.2",
// $.ui.plugin is deprecated. Use the proxy pattern instead. // $.ui.plugin is deprecated. Use the proxy pattern instead.
plugin: { plugin: {
@ -70,9 +79,13 @@ $.ui = {
}, },
keyCode: { keyCode: {
ALT: 18,
BACKSPACE: 8, BACKSPACE: 8,
CAPS_LOCK: 20, CAPS_LOCK: 20,
COMMA: 188, COMMA: 188,
COMMAND: 91,
COMMAND_LEFT: 91, // COMMAND
COMMAND_RIGHT: 93,
CONTROL: 17, CONTROL: 17,
DELETE: 46, DELETE: 46,
DOWN: 40, DOWN: 40,
@ -82,6 +95,7 @@ $.ui = {
HOME: 36, HOME: 36,
INSERT: 45, INSERT: 45,
LEFT: 37, LEFT: 37,
MENU: 93, // COMMAND_RIGHT
NUMPAD_ADD: 107, NUMPAD_ADD: 107,
NUMPAD_DECIMAL: 110, NUMPAD_DECIMAL: 110,
NUMPAD_DIVIDE: 111, NUMPAD_DIVIDE: 111,
@ -95,9 +109,10 @@ $.ui = {
SHIFT: 16, SHIFT: 16,
SPACE: 32, SPACE: 32,
TAB: 9, TAB: 9,
UP: 38 UP: 38,
WINDOWS: 91 // COMMAND
} }
}; });
//jQuery plugins //jQuery plugins
$.fn.extend({ $.fn.extend({
@ -117,15 +132,13 @@ $.fn.extend({
enableSelection: function() { enableSelection: function() {
return this return this
.attr('unselectable', 'off') .attr('unselectable', 'off')
.css('MozUserSelect', '') .css('MozUserSelect', '');
.unbind('selectstart.ui');
}, },
disableSelection: function() { disableSelection: function() {
return this return this
.attr('unselectable', 'on') .attr('unselectable', 'on')
.css('MozUserSelect', 'none') .css('MozUserSelect', 'none');
.bind('selectstart.ui', function() { return false; });
}, },
scrollParent: function() { scrollParent: function() {

View file

@ -1,5 +1,5 @@
/* /*
* jQuery UI Draggable 1.8 * jQuery UI Draggable 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -459,7 +459,7 @@ $.widget("ui.draggable", $.ui.mouse, {
}); });
$.extend($.ui.draggable, { $.extend($.ui.draggable, {
version: "1.8" version: "1.8.2"
}); });
$.ui.plugin.add("draggable", "connectToSortable", { $.ui.plugin.add("draggable", "connectToSortable", {

View file

@ -1,5 +1,5 @@
/* /*
* jQuery UI Droppable 1.8 * jQuery UI Droppable 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -147,7 +147,7 @@ $.widget("ui.droppable", {
}); });
$.extend($.ui.droppable, { $.extend($.ui.droppable, {
version: "1.8" version: "1.8.2"
}); });
$.ui.intersect = function(draggable, droppable, toleranceMode) { $.ui.intersect = function(draggable, droppable, toleranceMode) {

View file

@ -1,5 +1,5 @@
/*! /*!
* jQuery UI Mouse 1.8 * jQuery UI Mouse 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)

View file

@ -1,5 +1,5 @@
/* /*
* jQuery UI Position 1.8 * jQuery UI Position 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -113,6 +113,10 @@ $.fn.position = function( options ) {
position.top -= elemHeight / 2; position.top -= elemHeight / 2;
} }
// prevent fractions (see #5280)
position.left = parseInt( position.left );
position.top = parseInt( position.top );
$.each( [ "left", "top" ], function( i, dir ) { $.each( [ "left", "top" ], function( i, dir ) {
if ( $.ui.position[ collision[i] ] ) { if ( $.ui.position[ collision[i] ] ) {
$.ui.position[ collision[i] ][ dir ]( position, { $.ui.position[ collision[i] ][ dir ]( position, {

View file

@ -1,5 +1,5 @@
/* /*
* jQuery UI Resizable 1.8 * jQuery UI Resizable 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -519,7 +519,7 @@ $.widget("ui.resizable", $.ui.mouse, {
}); });
$.extend($.ui.resizable, { $.extend($.ui.resizable, {
version: "1.8" version: "1.8.2"
}); });
/* /*

View file

@ -1,5 +1,6 @@
/* /*
* jQuery UI Selectable 1.8 * jQuery UI Selectable 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -56,9 +57,7 @@ $.widget("ui.selectable", $.ui.mouse, {
this._mouseInit(); this._mouseInit();
this.helper = $(document.createElement('div')) this.helper = $("<div class='ui-selectable-helper'></div>");
.css({border:'1px dotted black'})
.addClass("ui-selectable-helper");
}, },
destroy: function() { destroy: function() {
@ -121,14 +120,23 @@ $.widget("ui.selectable", $.ui.mouse, {
$(event.target).parents().andSelf().each(function() { $(event.target).parents().andSelf().each(function() {
var selectee = $.data(this, "selectable-item"); var selectee = $.data(this, "selectable-item");
if (selectee) { if (selectee) {
selectee.$element.removeClass("ui-unselecting").addClass('ui-selecting'); var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
selectee.unselecting = false; selectee.$element
selectee.selecting = true; .removeClass(doSelect ? "ui-unselecting" : "ui-selected")
selectee.selected = true; .addClass(doSelect ? "ui-selecting" : "ui-unselecting");
// selectable SELECTING callback selectee.unselecting = !doSelect;
selectee.selecting = doSelect;
selectee.selected = doSelect;
// selectable (UN)SELECTING callback
if (doSelect) {
self._trigger("selecting", event, { self._trigger("selecting", event, {
selecting: selectee.element selecting: selectee.element
}); });
} else {
self._trigger("unselecting", event, {
unselecting: selectee.element
});
}
return false; return false;
} }
}); });
@ -255,7 +263,7 @@ $.widget("ui.selectable", $.ui.mouse, {
}); });
$.extend($.ui.selectable, { $.extend($.ui.selectable, {
version: "1.8" version: "1.8.2"
}); });
})(jQuery); })(jQuery);

View file

@ -1,5 +1,5 @@
/* /*
* jQuery UI Slider 1.8 * jQuery UI Slider 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -13,28 +13,32 @@
* jquery.ui.widget.js * jquery.ui.widget.js
*/ */
(function($) { (function( $ ) {
// number of pages in a slider // number of pages in a slider
// (how many times can you page up/down to go through the whole range) // (how many times can you page up/down to go through the whole range)
var numPages = 5; var numPages = 5;
$.widget("ui.slider", $.ui.mouse, { $.widget( "ui.slider", $.ui.mouse, {
widgetEventPrefix: "slide", widgetEventPrefix: "slide",
options: { options: {
animate: false, animate: false,
distance: 0, distance: 0,
max: 100, max: 100,
min: 0, min: 0,
orientation: 'horizontal', orientation: "horizontal",
range: false, range: false,
step: 1, step: 1,
value: 0, value: 0,
values: null values: null
}, },
_create: function() {
var self = this, o = this.options; _create: function() {
var self = this,
o = this.options;
this._keySliding = false; this._keySliding = false;
this._mouseSliding = false; this._mouseSliding = false;
this._animateOff = true; this._animateOff = true;
@ -43,98 +47,105 @@ $.widget("ui.slider", $.ui.mouse, {
this._mouseInit(); this._mouseInit();
this.element this.element
.addClass("ui-slider" .addClass( "ui-slider" +
+ " ui-slider-" + this.orientation " ui-slider-" + this.orientation +
+ " ui-widget" " ui-widget" +
+ " ui-widget-content" " ui-widget-content" +
+ " ui-corner-all"); " ui-corner-all" );
if (o.disabled) { if ( o.disabled ) {
this.element.addClass('ui-slider-disabled ui-disabled'); this.element.addClass( "ui-slider-disabled ui-disabled" );
} }
this.range = $([]); this.range = $([]);
if (o.range) { if ( o.range ) {
if ( o.range === true ) {
if (o.range === true) { this.range = $( "<div></div>" );
this.range = $('<div></div>'); if ( !o.values ) {
if (!o.values) o.values = [this._valueMin(), this._valueMin()]; o.values = [ this._valueMin(), this._valueMin() ];
if (o.values.length && o.values.length != 2) { }
o.values = [o.values[0], o.values[0]]; if ( o.values.length && o.values.length !== 2 ) {
o.values = [ o.values[0], o.values[0] ];
} }
} else { } else {
this.range = $('<div></div>'); this.range = $( "<div></div>" );
} }
this.range this.range
.appendTo(this.element) .appendTo( this.element )
.addClass("ui-slider-range"); .addClass( "ui-slider-range" );
if (o.range == "min" || o.range == "max") { if ( o.range === "min" || o.range === "max" ) {
this.range.addClass("ui-slider-range-" + o.range); this.range.addClass( "ui-slider-range-" + o.range );
} }
// note: this isn't the most fittingly semantic framework class for this element, // note: this isn't the most fittingly semantic framework class for this element,
// but worked best visually with a variety of themes // but worked best visually with a variety of themes
this.range.addClass("ui-widget-header"); this.range.addClass( "ui-widget-header" );
} }
if ($(".ui-slider-handle", this.element).length == 0) if ( $( ".ui-slider-handle", this.element ).length === 0 ) {
$('<a href="#"></a>') $( "<a href='#'></a>" )
.appendTo(this.element) .appendTo( this.element )
.addClass("ui-slider-handle"); .addClass( "ui-slider-handle" );
if (o.values && o.values.length) {
while ($(".ui-slider-handle", this.element).length < o.values.length)
$('<a href="#"></a>')
.appendTo(this.element)
.addClass("ui-slider-handle");
} }
this.handles = $(".ui-slider-handle", this.element) if ( o.values && o.values.length ) {
.addClass("ui-state-default" while ( $(".ui-slider-handle", this.element).length < o.values.length ) {
+ " ui-corner-all"); $( "<a href='#'></a>" )
.appendTo( this.element )
.addClass( "ui-slider-handle" );
}
}
this.handle = this.handles.eq(0); this.handles = $( ".ui-slider-handle", this.element )
.addClass( "ui-state-default" +
" ui-corner-all" );
this.handles.add(this.range).filter("a") this.handle = this.handles.eq( 0 );
.click(function(event) {
this.handles.add( this.range ).filter( "a" )
.click(function( event ) {
event.preventDefault(); event.preventDefault();
}) })
.hover(function() { .hover(function() {
if (!o.disabled) { if ( !o.disabled ) {
$(this).addClass('ui-state-hover'); $( this ).addClass( "ui-state-hover" );
} }
}, function() { }, function() {
$(this).removeClass('ui-state-hover'); $( this ).removeClass( "ui-state-hover" );
}) })
.focus(function() { .focus(function() {
if (!o.disabled) { if ( !o.disabled ) {
$(".ui-slider .ui-state-focus").removeClass('ui-state-focus'); $(this).addClass('ui-state-focus'); $( ".ui-slider .ui-state-focus" ).removeClass( "ui-state-focus" );
$( this ).addClass( "ui-state-focus" );
} else { } else {
$(this).blur(); $( this ).blur();
} }
}) })
.blur(function() { .blur(function() {
$(this).removeClass('ui-state-focus'); $( this ).removeClass( "ui-state-focus" );
}); });
this.handles.each(function(i) { this.handles.each(function( i ) {
$(this).data("index.ui-slider-handle", i); $( this ).data( "index.ui-slider-handle", i );
}); });
this.handles.keydown(function(event) { this.handles
.keydown(function( event ) {
var ret = true,
index = $( this ).data( "index.ui-slider-handle" ),
allowed,
curVal,
newVal,
step;
var ret = true; if ( self.options.disabled ) {
var index = $(this).data("index.ui-slider-handle");
if (self.options.disabled)
return; return;
}
switch (event.keyCode) { switch ( event.keyCode ) {
case $.ui.keyCode.HOME: case $.ui.keyCode.HOME:
case $.ui.keyCode.END: case $.ui.keyCode.END:
case $.ui.keyCode.PAGE_UP: case $.ui.keyCode.PAGE_UP:
@ -144,22 +155,25 @@ $.widget("ui.slider", $.ui.mouse, {
case $.ui.keyCode.DOWN: case $.ui.keyCode.DOWN:
case $.ui.keyCode.LEFT: case $.ui.keyCode.LEFT:
ret = false; ret = false;
if (!self._keySliding) { if ( !self._keySliding ) {
self._keySliding = true; self._keySliding = true;
$(this).addClass("ui-state-active"); $( this ).addClass( "ui-state-active" );
self._start(event, index); allowed = self._start( event, index );
if ( allowed === false ) {
return;
}
} }
break; break;
} }
var curVal, newVal, step = self._step(); step = self.options.step;
if (self.options.values && self.options.values.length) { if ( self.options.values && self.options.values.length ) {
curVal = newVal = self.values(index); curVal = newVal = self.values( index );
} else { } else {
curVal = newVal = self.value(); curVal = newVal = self.value();
} }
switch (event.keyCode) { switch ( event.keyCode ) {
case $.ui.keyCode.HOME: case $.ui.keyCode.HOME:
newVal = self._valueMin(); newVal = self._valueMin();
break; break;
@ -167,36 +181,40 @@ $.widget("ui.slider", $.ui.mouse, {
newVal = self._valueMax(); newVal = self._valueMax();
break; break;
case $.ui.keyCode.PAGE_UP: case $.ui.keyCode.PAGE_UP:
newVal = curVal + ((self._valueMax() - self._valueMin()) / numPages); newVal = self._trimAlignValue( curVal + ( (self._valueMax() - self._valueMin()) / numPages ) );
break; break;
case $.ui.keyCode.PAGE_DOWN: case $.ui.keyCode.PAGE_DOWN:
newVal = curVal - ((self._valueMax() - self._valueMin()) / numPages); newVal = self._trimAlignValue( curVal - ( (self._valueMax() - self._valueMin()) / numPages ) );
break; break;
case $.ui.keyCode.UP: case $.ui.keyCode.UP:
case $.ui.keyCode.RIGHT: case $.ui.keyCode.RIGHT:
if(curVal == self._valueMax()) return; if ( curVal === self._valueMax() ) {
newVal = curVal + step; return;
}
newVal = self._trimAlignValue( curVal + step );
break; break;
case $.ui.keyCode.DOWN: case $.ui.keyCode.DOWN:
case $.ui.keyCode.LEFT: case $.ui.keyCode.LEFT:
if(curVal == self._valueMin()) return; if ( curVal === self._valueMin() ) {
newVal = curVal - step; return;
}
newVal = self._trimAlignValue( curVal - step );
break; break;
} }
self._slide(event, index, newVal); self._slide( event, index, newVal );
return ret; return ret;
}).keyup(function(event) { })
.keyup(function( event ) {
var index = $( this ).data( "index.ui-slider-handle" );
var index = $(this).data("index.ui-slider-handle"); if ( self._keySliding ) {
if (self._keySliding) {
self._keySliding = false; self._keySliding = false;
self._stop(event, index); self._stop( event, index );
self._change(event, index); self._change( event, index );
$(this).removeClass("ui-state-active"); $( this ).removeClass( "ui-state-active" );
} }
}); });
@ -204,36 +222,43 @@ $.widget("ui.slider", $.ui.mouse, {
this._refreshValue(); this._refreshValue();
this._animateOff = false; this._animateOff = false;
}, },
destroy: function() { destroy: function() {
this.handles.remove(); this.handles.remove();
this.range.remove(); this.range.remove();
this.element this.element
.removeClass("ui-slider" .removeClass( "ui-slider" +
+ " ui-slider-horizontal" " ui-slider-horizontal" +
+ " ui-slider-vertical" " ui-slider-vertical" +
+ " ui-slider-disabled" " ui-slider-disabled" +
+ " ui-widget" " ui-widget" +
+ " ui-widget-content" " ui-widget-content" +
+ " ui-corner-all") " ui-corner-all" )
.removeData("slider") .removeData( "slider" )
.unbind(".slider"); .unbind( ".slider" );
this._mouseDestroy(); this._mouseDestroy();
return this; return this;
}, },
_mouseCapture: function(event) { _mouseCapture: function( event ) {
var o = this.options,
position,
normValue,
distance,
closestHandle,
self,
index,
allowed,
offset,
mouseOverHandle;
var o = this.options; if ( o.disabled ) {
if (o.disabled)
return false; return false;
}
this.elementSize = { this.elementSize = {
width: this.element.outerWidth(), width: this.element.outerWidth(),
@ -241,16 +266,15 @@ $.widget("ui.slider", $.ui.mouse, {
}; };
this.elementOffset = this.element.offset(); this.elementOffset = this.element.offset();
var position = { x: event.pageX, y: event.pageY }; position = { x: event.pageX, y: event.pageY };
var normValue = this._normValueFromMouse(position); normValue = this._normValueFromMouse( position );
distance = this._valueMax() - this._valueMin() + 1;
var distance = this._valueMax() - this._valueMin() + 1, closestHandle; self = this;
var self = this, index; this.handles.each(function( i ) {
this.handles.each(function(i) { var thisDistance = Math.abs( normValue - self.values(i) );
var thisDistance = Math.abs(normValue - self.values(i)); if ( distance > thisDistance ) {
if (distance > thisDistance) {
distance = thisDistance; distance = thisDistance;
closestHandle = $(this); closestHandle = $( this );
index = i; index = i;
} }
}); });
@ -258,216 +282,218 @@ $.widget("ui.slider", $.ui.mouse, {
// workaround for bug #3736 (if both handles of a range are at 0, // workaround for bug #3736 (if both handles of a range are at 0,
// the first is always used as the one with least distance, // the first is always used as the one with least distance,
// and moving it is obviously prevented by preventing negative ranges) // and moving it is obviously prevented by preventing negative ranges)
if(o.range == true && this.values(1) == o.min) { if( o.range === true && this.values(1) === o.min ) {
closestHandle = $(this.handles[++index]); index += 1;
closestHandle = $( this.handles[index] );
} }
this._start(event, index); allowed = this._start( event, index );
if ( allowed === false ) {
return false;
}
this._mouseSliding = true; this._mouseSliding = true;
self._handleIndex = index; self._handleIndex = index;
closestHandle closestHandle
.addClass("ui-state-active") .addClass( "ui-state-active" )
.focus(); .focus();
var offset = closestHandle.offset(); offset = closestHandle.offset();
var mouseOverHandle = !$(event.target).parents().andSelf().is('.ui-slider-handle'); mouseOverHandle = !$( event.target ).parents().andSelf().is( ".ui-slider-handle" );
this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
left: event.pageX - offset.left - (closestHandle.width() / 2), left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
top: event.pageY - offset.top top: event.pageY - offset.top -
- (closestHandle.height() / 2) ( closestHandle.height() / 2 ) -
- (parseInt(closestHandle.css('borderTopWidth'),10) || 0) ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
- (parseInt(closestHandle.css('borderBottomWidth'),10) || 0) ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
+ (parseInt(closestHandle.css('marginTop'),10) || 0) ( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
}; };
normValue = this._normValueFromMouse(position); normValue = this._normValueFromMouse( position );
this._slide(event, index, normValue); this._slide( event, index, normValue );
this._animateOff = true; this._animateOff = true;
return true; return true;
}, },
_mouseStart: function(event) { _mouseStart: function( event ) {
return true; return true;
}, },
_mouseDrag: function(event) { _mouseDrag: function( event ) {
var position = { x: event.pageX, y: event.pageY },
normValue = this._normValueFromMouse( position );
var position = { x: event.pageX, y: event.pageY }; this._slide( event, this._handleIndex, normValue );
var normValue = this._normValueFromMouse(position);
this._slide(event, this._handleIndex, normValue);
return false; return false;
}, },
_mouseStop: function(event) { _mouseStop: function( event ) {
this.handles.removeClass( "ui-state-active" );
this.handles.removeClass("ui-state-active");
this._mouseSliding = false; this._mouseSliding = false;
this._stop(event, this._handleIndex);
this._change(event, this._handleIndex); this._stop( event, this._handleIndex );
this._change( event, this._handleIndex );
this._handleIndex = null; this._handleIndex = null;
this._clickOffset = null; this._clickOffset = null;
this._animateOff = false; this._animateOff = false;
return false;
return false;
}, },
_detectOrientation: function() { _detectOrientation: function() {
this.orientation = this.options.orientation == 'vertical' ? 'vertical' : 'horizontal'; this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
}, },
_normValueFromMouse: function(position) { _normValueFromMouse: function( position ) {
var pixelTotal,
pixelMouse,
percentMouse,
valueTotal,
valueMouse;
var pixelTotal, pixelMouse; if ( this.orientation === "horizontal" ) {
if ('horizontal' == this.orientation) {
pixelTotal = this.elementSize.width; pixelTotal = this.elementSize.width;
pixelMouse = position.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0); pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
} else { } else {
pixelTotal = this.elementSize.height; pixelTotal = this.elementSize.height;
pixelMouse = position.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0); pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
} }
var percentMouse = (pixelMouse / pixelTotal); percentMouse = ( pixelMouse / pixelTotal );
if (percentMouse > 1) percentMouse = 1; if ( percentMouse > 1 ) {
if (percentMouse < 0) percentMouse = 0; percentMouse = 1;
if ('vertical' == this.orientation) }
if ( percentMouse < 0 ) {
percentMouse = 0;
}
if ( this.orientation === "vertical" ) {
percentMouse = 1 - percentMouse; percentMouse = 1 - percentMouse;
}
var valueTotal = this._valueMax() - this._valueMin(), valueTotal = this._valueMax() - this._valueMin();
valueMouse = percentMouse * valueTotal, valueMouse = this._valueMin() + percentMouse * valueTotal;
valueMouseModStep = valueMouse % this.options.step,
normValue = this._valueMin() + valueMouse - valueMouseModStep;
if (valueMouseModStep > (this.options.step / 2))
normValue += this.options.step;
// Since JavaScript has problems with large floats, round
// the final value to 5 digits after the decimal point (see #4124)
return parseFloat(normValue.toFixed(5));
return this._trimAlignValue( valueMouse );
}, },
_start: function(event, index) { _start: function( event, index ) {
var uiHash = { var uiHash = {
handle: this.handles[index], handle: this.handles[ index ],
value: this.value() value: this.value()
}; };
if (this.options.values && this.options.values.length) { if ( this.options.values && this.options.values.length ) {
uiHash.value = this.values(index); uiHash.value = this.values( index );
uiHash.values = this.values(); uiHash.values = this.values();
} }
this._trigger("start", event, uiHash); return this._trigger( "start", event, uiHash );
}, },
_slide: function(event, index, newVal) { _slide: function( event, index, newVal ) {
var otherVal,
newValues,
allowed;
var handle = this.handles[index]; if ( this.options.values && this.options.values.length ) {
otherVal = this.values( index ? 0 : 1 );
if (this.options.values && this.options.values.length) { if ( ( this.options.values.length === 2 && this.options.range === true ) &&
( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
var otherVal = this.values(index ? 0 : 1); ) {
if ((this.options.values.length == 2 && this.options.range === true) &&
((index == 0 && newVal > otherVal) || (index == 1 && newVal < otherVal))){
newVal = otherVal; newVal = otherVal;
} }
if (newVal != this.values(index)) { if ( newVal !== this.values( index ) ) {
var newValues = this.values(); newValues = this.values();
newValues[index] = newVal; newValues[ index ] = newVal;
// A slide can be canceled by returning false from the slide callback // A slide can be canceled by returning false from the slide callback
var allowed = this._trigger("slide", event, { allowed = this._trigger( "slide", event, {
handle: this.handles[index], handle: this.handles[ index ],
value: newVal, value: newVal,
values: newValues values: newValues
}); } );
var otherVal = this.values(index ? 0 : 1); otherVal = this.values( index ? 0 : 1 );
if (allowed !== false) { if ( allowed !== false ) {
this.values(index, newVal, true); this.values( index, newVal, true );
} }
} }
} else { } else {
if ( newVal !== this.value() ) {
if (newVal != this.value()) {
// A slide can be canceled by returning false from the slide callback // A slide can be canceled by returning false from the slide callback
var allowed = this._trigger("slide", event, { allowed = this._trigger( "slide", event, {
handle: this.handles[index], handle: this.handles[ index ],
value: newVal value: newVal
}); } );
if (allowed !== false) { if ( allowed !== false ) {
this.value(newVal); this.value( newVal );
} }
} }
} }
}, },
_stop: function(event, index) { _stop: function( event, index ) {
var uiHash = { var uiHash = {
handle: this.handles[index], handle: this.handles[ index ],
value: this.value() value: this.value()
}; };
if (this.options.values && this.options.values.length) { if ( this.options.values && this.options.values.length ) {
uiHash.value = this.values(index); uiHash.value = this.values( index );
uiHash.values = this.values(); uiHash.values = this.values();
} }
this._trigger("stop", event, uiHash);
this._trigger( "stop", event, uiHash );
}, },
_change: function(event, index) { _change: function( event, index ) {
if (!this._keySliding && !this._mouseSliding) { if ( !this._keySliding && !this._mouseSliding ) {
var uiHash = { var uiHash = {
handle: this.handles[index], handle: this.handles[ index ],
value: this.value() value: this.value()
}; };
if (this.options.values && this.options.values.length) { if ( this.options.values && this.options.values.length ) {
uiHash.value = this.values(index); uiHash.value = this.values( index );
uiHash.values = this.values(); uiHash.values = this.values();
} }
this._trigger("change", event, uiHash);
this._trigger( "change", event, uiHash );
} }
}, },
value: function(newValue) { value: function( newValue ) {
if ( arguments.length ) {
if (arguments.length) { this.options.value = this._trimAlignValue( newValue );
this.options.value = this._trimValue(newValue);
this._refreshValue(); this._refreshValue();
this._change(null, 0); this._change( null, 0 );
} }
return this._value(); return this._value();
}, },
values: function(index, newValue) { values: function( index, newValue ) {
var vals,
newValues,
i;
if (arguments.length > 1) { if ( arguments.length > 1 ) {
this.options.values[index] = this._trimValue(newValue); this.options.values[ index ] = this._trimAlignValue( newValue );
this._refreshValue(); this._refreshValue();
this._change(null, index); this._change( null, index );
} }
if (arguments.length) { if ( arguments.length ) {
if ($.isArray(arguments[0])) { if ( $.isArray( arguments[ 0 ] ) ) {
var vals = this.options.values, newValues = arguments[0]; vals = this.options.values;
for (var i = 0, l = vals.length; i < l; i++) { newValues = arguments[ 0 ];
vals[i] = this._trimValue(newValues[i]); for ( i = 0; i < vals.length; i += 1 ) {
this._change(null, i); vals[ i ] = this._trimAlignValue( newValues[ i ] );
this._change( null, i );
} }
this._refreshValue(); this._refreshValue();
} else { } else {
if (this.options.values && this.options.values.length) { if ( this.options.values && this.options.values.length ) {
return this._values(index); return this._values( index );
} else { } else {
return this.value(); return this.value();
} }
@ -475,155 +501,182 @@ $.widget("ui.slider", $.ui.mouse, {
} else { } else {
return this._values(); return this._values();
} }
}, },
_setOption: function(key, value) { _setOption: function( key, value ) {
var i, var i,
valsLength = 0; valsLength = 0;
if ( jQuery.isArray(this.options.values) ) {
if ( $.isArray( this.options.values ) ) {
valsLength = this.options.values.length; valsLength = this.options.values.length;
}; }
$.Widget.prototype._setOption.apply(this, arguments); $.Widget.prototype._setOption.apply( this, arguments );
switch (key) { switch ( key ) {
case 'disabled': case "disabled":
if (value) { if ( value ) {
this.handles.filter(".ui-state-focus").blur(); this.handles.filter( ".ui-state-focus" ).blur();
this.handles.removeClass("ui-state-hover"); this.handles.removeClass( "ui-state-hover" );
this.handles.attr("disabled", "disabled"); this.handles.attr( "disabled", "disabled" );
this.element.addClass("ui-disabled"); this.element.addClass( "ui-disabled" );
} else { } else {
this.handles.removeAttr("disabled"); this.handles.removeAttr( "disabled" );
this.element.removeClass("ui-disabled"); this.element.removeClass( "ui-disabled" );
} }
case 'orientation': break;
case "orientation":
this._detectOrientation(); this._detectOrientation();
this.element this.element
.removeClass("ui-slider-horizontal ui-slider-vertical") .removeClass( "ui-slider-horizontal ui-slider-vertical" )
.addClass("ui-slider-" + this.orientation); .addClass( "ui-slider-" + this.orientation );
this._refreshValue(); this._refreshValue();
break; break;
case 'value': case "value":
this._animateOff = true; this._animateOff = true;
this._refreshValue(); this._refreshValue();
this._change(null, 0); this._change( null, 0 );
this._animateOff = false; this._animateOff = false;
break; break;
case 'values': case "values":
this._animateOff = true; this._animateOff = true;
this._refreshValue(); this._refreshValue();
for (i = 0; i < valsLength; i++) { for ( i = 0; i < valsLength; i += 1 ) {
this._change(null, i); this._change( null, i );
} }
this._animateOff = false; this._animateOff = false;
break; break;
} }
}, },
_step: function() {
var step = this.options.step;
return step;
},
_value: function() {
//internal value getter //internal value getter
// _value() returns value trimmed by min and max // _value() returns value trimmed by min and max, aligned by step
_value: function() {
var val = this.options.value; var val = this.options.value;
val = this._trimValue(val); val = this._trimAlignValue( val );
return val; return val;
}, },
_values: function(index) {
//internal values getter //internal values getter
// _values() returns array of values trimmed by min and max // _values() returns array of values trimmed by min and max, aligned by step
// _values(index) returns single value trimmed by min and max // _values( index ) returns single value trimmed by min and max, aligned by step
_values: function( index ) {
var val,
vals,
i;
if (arguments.length) { if ( arguments.length ) {
var val = this.options.values[index]; val = this.options.values[ index ];
val = this._trimValue(val); val = this._trimAlignValue( val );
return val; return val;
} else { } else {
// .slice() creates a copy of the array // .slice() creates a copy of the array
// this copy gets trimmed by min and max and then returned // this copy gets trimmed by min and max and then returned
var vals = this.options.values.slice(); vals = this.options.values.slice();
for (var i = 0, l = vals.length; i < l; i++) { for ( i = 0; i < vals.length; i+= 1) {
vals[i] = this._trimValue(vals[i]); vals[ i ] = this._trimAlignValue( vals[ i ] );
} }
return vals; return vals;
} }
}, },
_trimValue: function(val) { // returns the step-aligned value that val is closest to, between (inclusive) min and max
if (val < this._valueMin()) val = this._valueMin(); _trimAlignValue: function( val ) {
if (val > this._valueMax()) val = this._valueMax(); if ( val < this._valueMin() ) {
return this._valueMin();
}
if ( val > this._valueMax() ) {
return this._valueMax();
}
var step = ( this.options.step > 0 ) ? this.options.step : 1,
valModStep = val % step,
alignValue = val - valModStep;
return val; if ( Math.abs(valModStep) * 2 >= step ) {
alignValue += ( valModStep > 0 ) ? step : ( -step );
}
// Since JavaScript has problems with large floats, round
// the final value to 5 digits after the decimal point (see #4124)
return parseFloat( alignValue.toFixed(5) );
}, },
_valueMin: function() { _valueMin: function() {
var valueMin = this.options.min; return this.options.min;
return valueMin;
}, },
_valueMax: function() { _valueMax: function() {
var valueMax = this.options.max; return this.options.max;
return valueMax;
}, },
_refreshValue: function() { _refreshValue: function() {
var oRange = this.options.range,
o = this.options,
self = this,
animate = ( !this._animateOff ) ? o.animate : false,
valPercent,
_set = {},
lastValPercent,
value,
valueMin,
valueMax;
var oRange = this.options.range, o = this.options, self = this; if ( this.options.values && this.options.values.length ) {
var animate = (!this._animateOff) ? o.animate : false; this.handles.each(function( i, j ) {
valPercent = ( self.values(i) - self._valueMin() ) / ( self._valueMax() - self._valueMin() ) * 100;
if (this.options.values && this.options.values.length) { _set[ self.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
var vp0, vp1; $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
this.handles.each(function(i, j) { if ( self.options.range === true ) {
var valPercent = (self.values(i) - self._valueMin()) / (self._valueMax() - self._valueMin()) * 100; if ( self.orientation === "horizontal" ) {
var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%'; if ( i === 0 ) {
$(this).stop(1,1)[animate ? 'animate' : 'css'](_set, o.animate); self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
if (self.options.range === true) { }
if (self.orientation == 'horizontal') { if ( i === 1 ) {
(i == 0) && self.range.stop(1,1)[animate ? 'animate' : 'css']({ left: valPercent + '%' }, o.animate); self.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
(i == 1) && self.range[animate ? 'animate' : 'css']({ width: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate }); }
} else { } else {
(i == 0) && self.range.stop(1,1)[animate ? 'animate' : 'css']({ bottom: (valPercent) + '%' }, o.animate); if ( i === 0 ) {
(i == 1) && self.range[animate ? 'animate' : 'css']({ height: (valPercent - lastValPercent) + '%' }, { queue: false, duration: o.animate }); self.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
}
if ( i === 1 ) {
self.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
}
} }
} }
lastValPercent = valPercent; lastValPercent = valPercent;
}); });
} else { } else {
var value = this.value(), value = this.value();
valueMin = this._valueMin(), valueMin = this._valueMin();
valueMax = this._valueMax(), valueMax = this._valueMax();
valPercent = valueMax != valueMin valPercent = ( valueMax !== valueMin ) ?
? (value - valueMin) / (valueMax - valueMin) * 100 ( value - valueMin ) / ( valueMax - valueMin ) * 100 :
: 0; 0;
var _set = {}; _set[self.orientation == 'horizontal' ? 'left' : 'bottom'] = valPercent + '%'; _set[ self.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
this.handle.stop(1,1)[animate ? 'animate' : 'css'](_set, o.animate); this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
(oRange == "min") && (this.orientation == "horizontal") && this.range.stop(1,1)[animate ? 'animate' : 'css']({ width: valPercent + '%' }, o.animate); if ( oRange === "min" && this.orientation === "horizontal" ) {
(oRange == "max") && (this.orientation == "horizontal") && this.range[animate ? 'animate' : 'css']({ width: (100 - valPercent) + '%' }, { queue: false, duration: o.animate }); this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
(oRange == "min") && (this.orientation == "vertical") && this.range.stop(1,1)[animate ? 'animate' : 'css']({ height: valPercent + '%' }, o.animate); }
(oRange == "max") && (this.orientation == "vertical") && this.range[animate ? 'animate' : 'css']({ height: (100 - valPercent) + '%' }, { queue: false, duration: o.animate }); if ( oRange === "max" && this.orientation === "horizontal" ) {
this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
}
if ( oRange === "min" && this.orientation === "vertical" ) {
this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
}
if ( oRange === "max" && this.orientation === "vertical" ) {
this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
}
} }
} }
}); });
$.extend($.ui.slider, { $.extend( $.ui.slider, {
version: "1.8" version: "1.8.2"
}); });
})(jQuery); }(jQuery));

View file

@ -1,5 +1,5 @@
/* /*
* jQuery UI Sortable 1.8 * jQuery UI Sortable 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -73,6 +73,18 @@ $.widget("ui.sortable", $.ui.mouse, {
return this; return this;
}, },
_setOption: function(key, value){
if ( key === "disabled" ) {
this.options[ key ] = value;
this.widget()
[ value ? "addClass" : "removeClass"]( "ui-sortable-disabled" );
} else {
// Don't call widget base _setOption for disable as it adds ui-state-disabled class
$.Widget.prototype._setOption.apply(this, arguments);
}
},
_mouseCapture: function(event, overrideHandle) { _mouseCapture: function(event, overrideHandle) {
if (this.reverting) { if (this.reverting) {
@ -1049,7 +1061,7 @@ $.widget("ui.sortable", $.ui.mouse, {
}); });
$.extend($.ui.sortable, { $.extend($.ui.sortable, {
version: "1.8" version: "1.8.2"
}); });
})(jQuery); })(jQuery);

View file

@ -1,5 +1,5 @@
/*! /*!
* jQuery UI Widget 1.8 * jQuery UI Widget 1.8.2
* *
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) * Dual licensed under the MIT (MIT-LICENSE.txt)
@ -155,7 +155,7 @@ $.Widget.prototype = {
.removeAttr( "aria-disabled" ) .removeAttr( "aria-disabled" )
.removeClass( .removeClass(
this.widgetBaseClass + "-disabled " + this.widgetBaseClass + "-disabled " +
this.namespace + "-state-disabled" ); "ui-state-disabled" );
}, },
widget: function() { widget: function() {
@ -192,7 +192,7 @@ $.Widget.prototype = {
this.widget() this.widget()
[ value ? "addClass" : "removeClass"]( [ value ? "addClass" : "removeClass"](
this.widgetBaseClass + "-disabled" + " " + this.widgetBaseClass + "-disabled" + " " +
this.namespace + "-state-disabled" ) "ui-state-disabled" )
.attr( "aria-disabled", value ); .attr( "aria-disabled", value );
} }