author | Julien Cristau <julien.cristau@logilab.fr> |
Thu, 30 Jan 2014 15:52:22 +0100 | |
changeset 9504 | 71a11bca251d |
parent 9388 | 4c34a63bd113 |
permissions | -rw-r--r-- |
9388
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1 |
/*! jQuery UI - v1.10.3 - 2013-05-03 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2 |
* http://jqueryui.com |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3 |
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4 |
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7 |
var uuid = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8 |
runiqueId = /^ui-id-\d+$/; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10 |
// $.ui might exist from components with no dependencies, e.g., $.ui.position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11 |
$.ui = $.ui || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13 |
$.extend( $.ui, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
15 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
16 |
keyCode: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
17 |
BACKSPACE: 8, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
18 |
COMMA: 188, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
19 |
DELETE: 46, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
20 |
DOWN: 40, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
21 |
END: 35, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
22 |
ENTER: 13, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
23 |
ESCAPE: 27, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
24 |
HOME: 36, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
25 |
LEFT: 37, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
26 |
NUMPAD_ADD: 107, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
27 |
NUMPAD_DECIMAL: 110, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
28 |
NUMPAD_DIVIDE: 111, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
29 |
NUMPAD_ENTER: 108, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
30 |
NUMPAD_MULTIPLY: 106, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
31 |
NUMPAD_SUBTRACT: 109, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
32 |
PAGE_DOWN: 34, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
33 |
PAGE_UP: 33, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
34 |
PERIOD: 190, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
35 |
RIGHT: 39, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
36 |
SPACE: 32, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
37 |
TAB: 9, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
38 |
UP: 38 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
39 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
40 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
41 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
42 |
// plugins |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
43 |
$.fn.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
44 |
focus: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
45 |
return function( delay, fn ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
46 |
return typeof delay === "number" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
47 |
this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
48 |
var elem = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
49 |
setTimeout(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
50 |
$( elem ).focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
51 |
if ( fn ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
52 |
fn.call( elem ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
53 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
54 |
}, delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
55 |
}) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
56 |
orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
57 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
58 |
})( $.fn.focus ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
59 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
60 |
scrollParent: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
61 |
var scrollParent; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
62 |
if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
63 |
scrollParent = this.parents().filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
64 |
return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
65 |
}).eq(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
66 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
67 |
scrollParent = this.parents().filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
68 |
return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
69 |
}).eq(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
70 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
71 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
72 |
return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
73 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
74 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
75 |
zIndex: function( zIndex ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
76 |
if ( zIndex !== undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
77 |
return this.css( "zIndex", zIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
78 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
79 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
80 |
if ( this.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
81 |
var elem = $( this[ 0 ] ), position, value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
82 |
while ( elem.length && elem[ 0 ] !== document ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
83 |
// Ignore z-index if position is set to a value where z-index is ignored by the browser |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
84 |
// This makes behavior of this function consistent across browsers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
85 |
// WebKit always returns auto if the element is positioned |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
86 |
position = elem.css( "position" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
87 |
if ( position === "absolute" || position === "relative" || position === "fixed" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
88 |
// IE returns 0 when zIndex is not specified |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
89 |
// other browsers return a string |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
90 |
// we ignore the case of nested elements with an explicit value of 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
91 |
// <div style="z-index: -10;"><div style="z-index: 0;"></div></div> |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
92 |
value = parseInt( elem.css( "zIndex" ), 10 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
93 |
if ( !isNaN( value ) && value !== 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
94 |
return value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
95 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
96 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
97 |
elem = elem.parent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
98 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
99 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
100 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
101 |
return 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
102 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
103 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
104 |
uniqueId: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
105 |
return this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
106 |
if ( !this.id ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
107 |
this.id = "ui-id-" + (++uuid); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
108 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
109 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
110 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
111 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
112 |
removeUniqueId: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
113 |
return this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
114 |
if ( runiqueId.test( this.id ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
115 |
$( this ).removeAttr( "id" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
116 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
117 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
118 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
119 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
120 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
121 |
// selectors |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
122 |
function focusable( element, isTabIndexNotNaN ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
123 |
var map, mapName, img, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
124 |
nodeName = element.nodeName.toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
125 |
if ( "area" === nodeName ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
126 |
map = element.parentNode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
127 |
mapName = map.name; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
128 |
if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
129 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
130 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
131 |
img = $( "img[usemap=#" + mapName + "]" )[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
132 |
return !!img && visible( img ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
133 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
134 |
return ( /input|select|textarea|button|object/.test( nodeName ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
135 |
!element.disabled : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
136 |
"a" === nodeName ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
137 |
element.href || isTabIndexNotNaN : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
138 |
isTabIndexNotNaN) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
139 |
// the element and all of its ancestors must be visible |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
140 |
visible( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
141 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
142 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
143 |
function visible( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
144 |
return $.expr.filters.visible( element ) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
145 |
!$( element ).parents().addBack().filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
146 |
return $.css( this, "visibility" ) === "hidden"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
147 |
}).length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
148 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
149 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
150 |
$.extend( $.expr[ ":" ], { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
151 |
data: $.expr.createPseudo ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
152 |
$.expr.createPseudo(function( dataName ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
153 |
return function( elem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
154 |
return !!$.data( elem, dataName ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
155 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
156 |
}) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
157 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
158 |
function( elem, i, match ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
159 |
return !!$.data( elem, match[ 3 ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
160 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
161 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
162 |
focusable: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
163 |
return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
164 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
165 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
166 |
tabbable: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
167 |
var tabIndex = $.attr( element, "tabindex" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
168 |
isTabIndexNaN = isNaN( tabIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
169 |
return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
170 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
171 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
172 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
173 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
174 |
if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
175 |
$.each( [ "Width", "Height" ], function( i, name ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
176 |
var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
177 |
type = name.toLowerCase(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
178 |
orig = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
179 |
innerWidth: $.fn.innerWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
180 |
innerHeight: $.fn.innerHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
181 |
outerWidth: $.fn.outerWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
182 |
outerHeight: $.fn.outerHeight |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
183 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
184 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
185 |
function reduce( elem, size, border, margin ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
186 |
$.each( side, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
187 |
size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
188 |
if ( border ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
189 |
size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
190 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
191 |
if ( margin ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
192 |
size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
193 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
194 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
195 |
return size; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
196 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
197 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
198 |
$.fn[ "inner" + name ] = function( size ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
199 |
if ( size === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
200 |
return orig[ "inner" + name ].call( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
201 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
202 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
203 |
return this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
204 |
$( this ).css( type, reduce( this, size ) + "px" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
205 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
206 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
207 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
208 |
$.fn[ "outer" + name] = function( size, margin ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
209 |
if ( typeof size !== "number" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
210 |
return orig[ "outer" + name ].call( this, size ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
211 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
212 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
213 |
return this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
214 |
$( this).css( type, reduce( this, size, true, margin ) + "px" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
215 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
216 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
217 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
218 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
219 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
220 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
221 |
if ( !$.fn.addBack ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
222 |
$.fn.addBack = function( selector ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
223 |
return this.add( selector == null ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
224 |
this.prevObject : this.prevObject.filter( selector ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
225 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
226 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
227 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
228 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
229 |
// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
230 |
if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
231 |
$.fn.removeData = (function( removeData ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
232 |
return function( key ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
233 |
if ( arguments.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
234 |
return removeData.call( this, $.camelCase( key ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
235 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
236 |
return removeData.call( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
237 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
238 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
239 |
})( $.fn.removeData ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
240 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
241 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
242 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
243 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
244 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
245 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
246 |
// deprecated |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
247 |
$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
248 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
249 |
$.support.selectstart = "onselectstart" in document.createElement( "div" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
250 |
$.fn.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
251 |
disableSelection: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
252 |
return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
253 |
".ui-disableSelection", function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
254 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
255 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
256 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
257 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
258 |
enableSelection: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
259 |
return this.unbind( ".ui-disableSelection" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
260 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
261 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
262 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
263 |
$.extend( $.ui, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
264 |
// $.ui.plugin is deprecated. Use $.widget() extensions instead. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
265 |
plugin: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
266 |
add: function( module, option, set ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
267 |
var i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
268 |
proto = $.ui[ module ].prototype; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
269 |
for ( i in set ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
270 |
proto.plugins[ i ] = proto.plugins[ i ] || []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
271 |
proto.plugins[ i ].push( [ option, set[ i ] ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
272 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
273 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
274 |
call: function( instance, name, args ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
275 |
var i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
276 |
set = instance.plugins[ name ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
277 |
if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
278 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
279 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
280 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
281 |
for ( i = 0; i < set.length; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
282 |
if ( instance.options[ set[ i ][ 0 ] ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
283 |
set[ i ][ 1 ].apply( instance.element, args ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
284 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
285 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
286 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
287 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
288 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
289 |
// only used by resizable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
290 |
hasScroll: function( el, a ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
291 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
292 |
//If overflow is hidden, the element might have extra content, but the user wants to hide it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
293 |
if ( $( el ).css( "overflow" ) === "hidden") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
294 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
295 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
296 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
297 |
var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
298 |
has = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
299 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
300 |
if ( el[ scroll ] > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
301 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
302 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
303 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
304 |
// TODO: determine which cases actually cause this to happen |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
305 |
// if the element doesn't have the scroll set, see if it's possible to |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
306 |
// set the scroll |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
307 |
el[ scroll ] = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
308 |
has = ( el[ scroll ] > 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
309 |
el[ scroll ] = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
310 |
return has; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
311 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
312 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
313 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
314 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
315 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
316 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
317 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
318 |
var uuid = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
319 |
slice = Array.prototype.slice, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
320 |
_cleanData = $.cleanData; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
321 |
$.cleanData = function( elems ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
322 |
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
323 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
324 |
$( elem ).triggerHandler( "remove" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
325 |
// http://bugs.jquery.com/ticket/8235 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
326 |
} catch( e ) {} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
327 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
328 |
_cleanData( elems ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
329 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
330 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
331 |
$.widget = function( name, base, prototype ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
332 |
var fullName, existingConstructor, constructor, basePrototype, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
333 |
// proxiedPrototype allows the provided prototype to remain unmodified |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
334 |
// so that it can be used as a mixin for multiple widgets (#8876) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
335 |
proxiedPrototype = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
336 |
namespace = name.split( "." )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
337 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
338 |
name = name.split( "." )[ 1 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
339 |
fullName = namespace + "-" + name; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
340 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
341 |
if ( !prototype ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
342 |
prototype = base; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
343 |
base = $.Widget; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
344 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
345 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
346 |
// create selector for plugin |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
347 |
$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
348 |
return !!$.data( elem, fullName ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
349 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
350 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
351 |
$[ namespace ] = $[ namespace ] || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
352 |
existingConstructor = $[ namespace ][ name ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
353 |
constructor = $[ namespace ][ name ] = function( options, element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
354 |
// allow instantiation without "new" keyword |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
355 |
if ( !this._createWidget ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
356 |
return new constructor( options, element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
357 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
358 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
359 |
// allow instantiation without initializing for simple inheritance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
360 |
// must use "new" keyword (the code above always passes args) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
361 |
if ( arguments.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
362 |
this._createWidget( options, element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
363 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
364 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
365 |
// extend with the existing constructor to carry over any static properties |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
366 |
$.extend( constructor, existingConstructor, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
367 |
version: prototype.version, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
368 |
// copy the object used to create the prototype in case we need to |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
369 |
// redefine the widget later |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
370 |
_proto: $.extend( {}, prototype ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
371 |
// track widgets that inherit from this widget in case this widget is |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
372 |
// redefined after a widget inherits from it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
373 |
_childConstructors: [] |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
374 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
375 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
376 |
basePrototype = new base(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
377 |
// we need to make the options hash a property directly on the new instance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
378 |
// otherwise we'll modify the options hash on the prototype that we're |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
379 |
// inheriting from |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
380 |
basePrototype.options = $.widget.extend( {}, basePrototype.options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
381 |
$.each( prototype, function( prop, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
382 |
if ( !$.isFunction( value ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
383 |
proxiedPrototype[ prop ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
384 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
385 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
386 |
proxiedPrototype[ prop ] = (function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
387 |
var _super = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
388 |
return base.prototype[ prop ].apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
389 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
390 |
_superApply = function( args ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
391 |
return base.prototype[ prop ].apply( this, args ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
392 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
393 |
return function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
394 |
var __super = this._super, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
395 |
__superApply = this._superApply, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
396 |
returnValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
397 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
398 |
this._super = _super; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
399 |
this._superApply = _superApply; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
400 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
401 |
returnValue = value.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
402 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
403 |
this._super = __super; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
404 |
this._superApply = __superApply; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
405 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
406 |
return returnValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
407 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
408 |
})(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
409 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
410 |
constructor.prototype = $.widget.extend( basePrototype, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
411 |
// TODO: remove support for widgetEventPrefix |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
412 |
// always use the name + a colon as the prefix, e.g., draggable:start |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
413 |
// don't prefix for widgets that aren't DOM-based |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
414 |
widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
415 |
}, proxiedPrototype, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
416 |
constructor: constructor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
417 |
namespace: namespace, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
418 |
widgetName: name, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
419 |
widgetFullName: fullName |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
420 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
421 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
422 |
// If this widget is being redefined then we need to find all widgets that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
423 |
// are inheriting from it and redefine all of them so that they inherit from |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
424 |
// the new version of this widget. We're essentially trying to replace one |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
425 |
// level in the prototype chain. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
426 |
if ( existingConstructor ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
427 |
$.each( existingConstructor._childConstructors, function( i, child ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
428 |
var childPrototype = child.prototype; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
429 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
430 |
// redefine the child widget using the same prototype that was |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
431 |
// originally used, but inherit from the new version of the base |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
432 |
$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
433 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
434 |
// remove the list of existing child constructors from the old constructor |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
435 |
// so the old child constructors can be garbage collected |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
436 |
delete existingConstructor._childConstructors; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
437 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
438 |
base._childConstructors.push( constructor ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
439 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
440 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
441 |
$.widget.bridge( name, constructor ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
442 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
443 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
444 |
$.widget.extend = function( target ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
445 |
var input = slice.call( arguments, 1 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
446 |
inputIndex = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
447 |
inputLength = input.length, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
448 |
key, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
449 |
value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
450 |
for ( ; inputIndex < inputLength; inputIndex++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
451 |
for ( key in input[ inputIndex ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
452 |
value = input[ inputIndex ][ key ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
453 |
if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
454 |
// Clone objects |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
455 |
if ( $.isPlainObject( value ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
456 |
target[ key ] = $.isPlainObject( target[ key ] ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
457 |
$.widget.extend( {}, target[ key ], value ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
458 |
// Don't extend strings, arrays, etc. with objects |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
459 |
$.widget.extend( {}, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
460 |
// Copy everything else by reference |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
461 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
462 |
target[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
463 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
464 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
465 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
466 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
467 |
return target; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
468 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
469 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
470 |
$.widget.bridge = function( name, object ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
471 |
var fullName = object.prototype.widgetFullName || name; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
472 |
$.fn[ name ] = function( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
473 |
var isMethodCall = typeof options === "string", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
474 |
args = slice.call( arguments, 1 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
475 |
returnValue = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
476 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
477 |
// allow multiple hashes to be passed on init |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
478 |
options = !isMethodCall && args.length ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
479 |
$.widget.extend.apply( null, [ options ].concat(args) ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
480 |
options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
481 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
482 |
if ( isMethodCall ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
483 |
this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
484 |
var methodValue, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
485 |
instance = $.data( this, fullName ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
486 |
if ( !instance ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
487 |
return $.error( "cannot call methods on " + name + " prior to initialization; " + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
488 |
"attempted to call method '" + options + "'" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
489 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
490 |
if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
491 |
return $.error( "no such method '" + options + "' for " + name + " widget instance" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
492 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
493 |
methodValue = instance[ options ].apply( instance, args ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
494 |
if ( methodValue !== instance && methodValue !== undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
495 |
returnValue = methodValue && methodValue.jquery ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
496 |
returnValue.pushStack( methodValue.get() ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
497 |
methodValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
498 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
499 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
500 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
501 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
502 |
this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
503 |
var instance = $.data( this, fullName ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
504 |
if ( instance ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
505 |
instance.option( options || {} )._init(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
506 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
507 |
$.data( this, fullName, new object( options, this ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
508 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
509 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
510 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
511 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
512 |
return returnValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
513 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
514 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
515 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
516 |
$.Widget = function( /* options, element */ ) {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
517 |
$.Widget._childConstructors = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
518 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
519 |
$.Widget.prototype = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
520 |
widgetName: "widget", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
521 |
widgetEventPrefix: "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
522 |
defaultElement: "<div>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
523 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
524 |
disabled: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
525 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
526 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
527 |
create: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
528 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
529 |
_createWidget: function( options, element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
530 |
element = $( element || this.defaultElement || this )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
531 |
this.element = $( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
532 |
this.uuid = uuid++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
533 |
this.eventNamespace = "." + this.widgetName + this.uuid; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
534 |
this.options = $.widget.extend( {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
535 |
this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
536 |
this._getCreateOptions(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
537 |
options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
538 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
539 |
this.bindings = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
540 |
this.hoverable = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
541 |
this.focusable = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
542 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
543 |
if ( element !== this ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
544 |
$.data( element, this.widgetFullName, this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
545 |
this._on( true, this.element, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
546 |
remove: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
547 |
if ( event.target === element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
548 |
this.destroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
549 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
550 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
551 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
552 |
this.document = $( element.style ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
553 |
// element within the document |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
554 |
element.ownerDocument : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
555 |
// element is window or document |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
556 |
element.document || element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
557 |
this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
558 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
559 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
560 |
this._create(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
561 |
this._trigger( "create", null, this._getCreateEventData() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
562 |
this._init(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
563 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
564 |
_getCreateOptions: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
565 |
_getCreateEventData: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
566 |
_create: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
567 |
_init: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
568 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
569 |
destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
570 |
this._destroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
571 |
// we can probably remove the unbind calls in 2.0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
572 |
// all event bindings should go through this._on() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
573 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
574 |
.unbind( this.eventNamespace ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
575 |
// 1.9 BC for #7810 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
576 |
// TODO remove dual storage |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
577 |
.removeData( this.widgetName ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
578 |
.removeData( this.widgetFullName ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
579 |
// support: jquery <1.6.3 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
580 |
// http://bugs.jquery.com/ticket/9413 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
581 |
.removeData( $.camelCase( this.widgetFullName ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
582 |
this.widget() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
583 |
.unbind( this.eventNamespace ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
584 |
.removeAttr( "aria-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
585 |
.removeClass( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
586 |
this.widgetFullName + "-disabled " + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
587 |
"ui-state-disabled" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
588 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
589 |
// clean up events and states |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
590 |
this.bindings.unbind( this.eventNamespace ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
591 |
this.hoverable.removeClass( "ui-state-hover" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
592 |
this.focusable.removeClass( "ui-state-focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
593 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
594 |
_destroy: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
595 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
596 |
widget: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
597 |
return this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
598 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
599 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
600 |
option: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
601 |
var options = key, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
602 |
parts, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
603 |
curOption, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
604 |
i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
605 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
606 |
if ( arguments.length === 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
607 |
// don't return a reference to the internal hash |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
608 |
return $.widget.extend( {}, this.options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
609 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
610 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
611 |
if ( typeof key === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
612 |
// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
613 |
options = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
614 |
parts = key.split( "." ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
615 |
key = parts.shift(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
616 |
if ( parts.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
617 |
curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
618 |
for ( i = 0; i < parts.length - 1; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
619 |
curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
620 |
curOption = curOption[ parts[ i ] ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
621 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
622 |
key = parts.pop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
623 |
if ( value === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
624 |
return curOption[ key ] === undefined ? null : curOption[ key ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
625 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
626 |
curOption[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
627 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
628 |
if ( value === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
629 |
return this.options[ key ] === undefined ? null : this.options[ key ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
630 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
631 |
options[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
632 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
633 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
634 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
635 |
this._setOptions( options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
636 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
637 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
638 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
639 |
_setOptions: function( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
640 |
var key; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
641 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
642 |
for ( key in options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
643 |
this._setOption( key, options[ key ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
644 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
645 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
646 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
647 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
648 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
649 |
this.options[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
650 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
651 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
652 |
this.widget() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
653 |
.toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
654 |
.attr( "aria-disabled", value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
655 |
this.hoverable.removeClass( "ui-state-hover" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
656 |
this.focusable.removeClass( "ui-state-focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
657 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
658 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
659 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
660 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
661 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
662 |
enable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
663 |
return this._setOption( "disabled", false ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
664 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
665 |
disable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
666 |
return this._setOption( "disabled", true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
667 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
668 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
669 |
_on: function( suppressDisabledCheck, element, handlers ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
670 |
var delegateElement, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
671 |
instance = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
672 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
673 |
// no suppressDisabledCheck flag, shuffle arguments |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
674 |
if ( typeof suppressDisabledCheck !== "boolean" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
675 |
handlers = element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
676 |
element = suppressDisabledCheck; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
677 |
suppressDisabledCheck = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
678 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
679 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
680 |
// no element argument, shuffle and use this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
681 |
if ( !handlers ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
682 |
handlers = element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
683 |
element = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
684 |
delegateElement = this.widget(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
685 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
686 |
// accept selectors, DOM elements |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
687 |
element = delegateElement = $( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
688 |
this.bindings = this.bindings.add( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
689 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
690 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
691 |
$.each( handlers, function( event, handler ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
692 |
function handlerProxy() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
693 |
// allow widgets to customize the disabled handling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
694 |
// - disabled as an array instead of boolean |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
695 |
// - disabled class as method for disabling individual parts |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
696 |
if ( !suppressDisabledCheck && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
697 |
( instance.options.disabled === true || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
698 |
$( this ).hasClass( "ui-state-disabled" ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
699 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
700 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
701 |
return ( typeof handler === "string" ? instance[ handler ] : handler ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
702 |
.apply( instance, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
703 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
704 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
705 |
// copy the guid so direct unbinding works |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
706 |
if ( typeof handler !== "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
707 |
handlerProxy.guid = handler.guid = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
708 |
handler.guid || handlerProxy.guid || $.guid++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
709 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
710 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
711 |
var match = event.match( /^(\w+)\s*(.*)$/ ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
712 |
eventName = match[1] + instance.eventNamespace, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
713 |
selector = match[2]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
714 |
if ( selector ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
715 |
delegateElement.delegate( selector, eventName, handlerProxy ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
716 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
717 |
element.bind( eventName, handlerProxy ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
718 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
719 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
720 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
721 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
722 |
_off: function( element, eventName ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
723 |
eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
724 |
element.unbind( eventName ).undelegate( eventName ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
725 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
726 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
727 |
_delay: function( handler, delay ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
728 |
function handlerProxy() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
729 |
return ( typeof handler === "string" ? instance[ handler ] : handler ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
730 |
.apply( instance, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
731 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
732 |
var instance = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
733 |
return setTimeout( handlerProxy, delay || 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
734 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
735 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
736 |
_hoverable: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
737 |
this.hoverable = this.hoverable.add( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
738 |
this._on( element, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
739 |
mouseenter: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
740 |
$( event.currentTarget ).addClass( "ui-state-hover" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
741 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
742 |
mouseleave: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
743 |
$( event.currentTarget ).removeClass( "ui-state-hover" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
744 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
745 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
746 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
747 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
748 |
_focusable: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
749 |
this.focusable = this.focusable.add( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
750 |
this._on( element, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
751 |
focusin: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
752 |
$( event.currentTarget ).addClass( "ui-state-focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
753 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
754 |
focusout: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
755 |
$( event.currentTarget ).removeClass( "ui-state-focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
756 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
757 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
758 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
759 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
760 |
_trigger: function( type, event, data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
761 |
var prop, orig, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
762 |
callback = this.options[ type ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
763 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
764 |
data = data || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
765 |
event = $.Event( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
766 |
event.type = ( type === this.widgetEventPrefix ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
767 |
type : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
768 |
this.widgetEventPrefix + type ).toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
769 |
// the original event may come from any element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
770 |
// so we need to reset the target on the new event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
771 |
event.target = this.element[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
772 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
773 |
// copy original event properties over to the new event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
774 |
orig = event.originalEvent; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
775 |
if ( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
776 |
for ( prop in orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
777 |
if ( !( prop in event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
778 |
event[ prop ] = orig[ prop ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
779 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
780 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
781 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
782 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
783 |
this.element.trigger( event, data ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
784 |
return !( $.isFunction( callback ) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
785 |
callback.apply( this.element[0], [ event ].concat( data ) ) === false || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
786 |
event.isDefaultPrevented() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
787 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
788 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
789 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
790 |
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
791 |
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
792 |
if ( typeof options === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
793 |
options = { effect: options }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
794 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
795 |
var hasOptions, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
796 |
effectName = !options ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
797 |
method : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
798 |
options === true || typeof options === "number" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
799 |
defaultEffect : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
800 |
options.effect || defaultEffect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
801 |
options = options || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
802 |
if ( typeof options === "number" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
803 |
options = { duration: options }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
804 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
805 |
hasOptions = !$.isEmptyObject( options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
806 |
options.complete = callback; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
807 |
if ( options.delay ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
808 |
element.delay( options.delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
809 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
810 |
if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
811 |
element[ method ]( options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
812 |
} else if ( effectName !== method && element[ effectName ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
813 |
element[ effectName ]( options.duration, options.easing, callback ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
814 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
815 |
element.queue(function( next ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
816 |
$( this )[ method ](); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
817 |
if ( callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
818 |
callback.call( element[ 0 ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
819 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
820 |
next(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
821 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
822 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
823 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
824 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
825 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
826 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
827 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
828 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
829 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
830 |
var mouseHandled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
831 |
$( document ).mouseup( function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
832 |
mouseHandled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
833 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
834 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
835 |
$.widget("ui.mouse", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
836 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
837 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
838 |
cancel: "input,textarea,button,select,option", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
839 |
distance: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
840 |
delay: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
841 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
842 |
_mouseInit: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
843 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
844 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
845 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
846 |
.bind("mousedown."+this.widgetName, function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
847 |
return that._mouseDown(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
848 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
849 |
.bind("click."+this.widgetName, function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
850 |
if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
851 |
$.removeData(event.target, that.widgetName + ".preventClickEvent"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
852 |
event.stopImmediatePropagation(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
853 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
854 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
855 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
856 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
857 |
this.started = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
858 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
859 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
860 |
// TODO: make sure destroying one instance of mouse doesn't mess with |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
861 |
// other instances of mouse |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
862 |
_mouseDestroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
863 |
this.element.unbind("."+this.widgetName); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
864 |
if ( this._mouseMoveDelegate ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
865 |
$(document) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
866 |
.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
867 |
.unbind("mouseup."+this.widgetName, this._mouseUpDelegate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
868 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
869 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
870 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
871 |
_mouseDown: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
872 |
// don't let more than one widget handle mouseStart |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
873 |
if( mouseHandled ) { return; } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
874 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
875 |
// we may have missed mouseup (out of window) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
876 |
(this._mouseStarted && this._mouseUp(event)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
877 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
878 |
this._mouseDownEvent = event; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
879 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
880 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
881 |
btnIsLeft = (event.which === 1), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
882 |
// event.target.nodeName works around a bug in IE 8 with |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
883 |
// disabled inputs (#7620) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
884 |
elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
885 |
if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
886 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
887 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
888 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
889 |
this.mouseDelayMet = !this.options.delay; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
890 |
if (!this.mouseDelayMet) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
891 |
this._mouseDelayTimer = setTimeout(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
892 |
that.mouseDelayMet = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
893 |
}, this.options.delay); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
894 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
895 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
896 |
if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
897 |
this._mouseStarted = (this._mouseStart(event) !== false); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
898 |
if (!this._mouseStarted) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
899 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
900 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
901 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
902 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
903 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
904 |
// Click event may never have fired (Gecko & Opera) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
905 |
if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
906 |
$.removeData(event.target, this.widgetName + ".preventClickEvent"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
907 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
908 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
909 |
// these delegates are required to keep context |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
910 |
this._mouseMoveDelegate = function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
911 |
return that._mouseMove(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
912 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
913 |
this._mouseUpDelegate = function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
914 |
return that._mouseUp(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
915 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
916 |
$(document) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
917 |
.bind("mousemove."+this.widgetName, this._mouseMoveDelegate) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
918 |
.bind("mouseup."+this.widgetName, this._mouseUpDelegate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
919 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
920 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
921 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
922 |
mouseHandled = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
923 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
924 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
925 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
926 |
_mouseMove: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
927 |
// IE mouseup check - mouseup happened when mouse was out of window |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
928 |
if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
929 |
return this._mouseUp(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
930 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
931 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
932 |
if (this._mouseStarted) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
933 |
this._mouseDrag(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
934 |
return event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
935 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
936 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
937 |
if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
938 |
this._mouseStarted = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
939 |
(this._mouseStart(this._mouseDownEvent, event) !== false); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
940 |
(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
941 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
942 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
943 |
return !this._mouseStarted; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
944 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
945 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
946 |
_mouseUp: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
947 |
$(document) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
948 |
.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
949 |
.unbind("mouseup."+this.widgetName, this._mouseUpDelegate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
950 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
951 |
if (this._mouseStarted) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
952 |
this._mouseStarted = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
953 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
954 |
if (event.target === this._mouseDownEvent.target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
955 |
$.data(event.target, this.widgetName + ".preventClickEvent", true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
956 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
957 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
958 |
this._mouseStop(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
959 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
960 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
961 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
962 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
963 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
964 |
_mouseDistanceMet: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
965 |
return (Math.max( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
966 |
Math.abs(this._mouseDownEvent.pageX - event.pageX), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
967 |
Math.abs(this._mouseDownEvent.pageY - event.pageY) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
968 |
) >= this.options.distance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
969 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
970 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
971 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
972 |
_mouseDelayMet: function(/* event */) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
973 |
return this.mouseDelayMet; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
974 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
975 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
976 |
// These are placeholder methods, to be overriden by extending plugin |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
977 |
_mouseStart: function(/* event */) {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
978 |
_mouseDrag: function(/* event */) {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
979 |
_mouseStop: function(/* event */) {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
980 |
_mouseCapture: function(/* event */) { return true; } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
981 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
982 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
983 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
984 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
985 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
986 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
987 |
$.widget("ui.draggable", $.ui.mouse, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
988 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
989 |
widgetEventPrefix: "drag", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
990 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
991 |
addClasses: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
992 |
appendTo: "parent", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
993 |
axis: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
994 |
connectToSortable: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
995 |
containment: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
996 |
cursor: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
997 |
cursorAt: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
998 |
grid: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
999 |
handle: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1000 |
helper: "original", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1001 |
iframeFix: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1002 |
opacity: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1003 |
refreshPositions: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1004 |
revert: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1005 |
revertDuration: 500, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1006 |
scope: "default", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1007 |
scroll: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1008 |
scrollSensitivity: 20, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1009 |
scrollSpeed: 20, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1010 |
snap: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1011 |
snapMode: "both", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1012 |
snapTolerance: 20, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1013 |
stack: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1014 |
zIndex: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1015 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1016 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1017 |
drag: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1018 |
start: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1019 |
stop: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1020 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1021 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1022 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1023 |
if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1024 |
this.element[0].style.position = "relative"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1025 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1026 |
if (this.options.addClasses){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1027 |
this.element.addClass("ui-draggable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1028 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1029 |
if (this.options.disabled){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1030 |
this.element.addClass("ui-draggable-disabled"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1031 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1032 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1033 |
this._mouseInit(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1034 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1035 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1036 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1037 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1038 |
this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1039 |
this._mouseDestroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1040 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1041 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1042 |
_mouseCapture: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1043 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1044 |
var o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1045 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1046 |
// among others, prevent a drag on a resizable-handle |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1047 |
if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1048 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1049 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1050 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1051 |
//Quit if we're not on a valid handle |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1052 |
this.handle = this._getHandle(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1053 |
if (!this.handle) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1054 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1055 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1056 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1057 |
$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1058 |
$("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1059 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1060 |
width: this.offsetWidth+"px", height: this.offsetHeight+"px", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1061 |
position: "absolute", opacity: "0.001", zIndex: 1000 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1062 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1063 |
.css($(this).offset()) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1064 |
.appendTo("body"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1065 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1066 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1067 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1068 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1069 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1070 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1071 |
_mouseStart: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1072 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1073 |
var o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1074 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1075 |
//Create and append the visible helper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1076 |
this.helper = this._createHelper(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1077 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1078 |
this.helper.addClass("ui-draggable-dragging"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1079 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1080 |
//Cache the helper size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1081 |
this._cacheHelperProportions(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1082 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1083 |
//If ddmanager is used for droppables, set the global draggable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1084 |
if($.ui.ddmanager) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1085 |
$.ui.ddmanager.current = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1086 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1087 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1088 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1089 |
* - Position generation - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1090 |
* This block generates everything position related - it's the core of draggables. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1091 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1092 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1093 |
//Cache the margins of the original element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1094 |
this._cacheMargins(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1095 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1096 |
//Store the helper's css position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1097 |
this.cssPosition = this.helper.css( "position" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1098 |
this.scrollParent = this.helper.scrollParent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1099 |
this.offsetParent = this.helper.offsetParent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1100 |
this.offsetParentCssPosition = this.offsetParent.css( "position" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1101 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1102 |
//The element's absolute position on the page minus margins |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1103 |
this.offset = this.positionAbs = this.element.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1104 |
this.offset = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1105 |
top: this.offset.top - this.margins.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1106 |
left: this.offset.left - this.margins.left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1107 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1108 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1109 |
//Reset scroll cache |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1110 |
this.offset.scroll = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1111 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1112 |
$.extend(this.offset, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1113 |
click: { //Where the click happened, relative to the element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1114 |
left: event.pageX - this.offset.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1115 |
top: event.pageY - this.offset.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1116 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1117 |
parent: this._getParentOffset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1118 |
relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1119 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1120 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1121 |
//Generate the original position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1122 |
this.originalPosition = this.position = this._generatePosition(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1123 |
this.originalPageX = event.pageX; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1124 |
this.originalPageY = event.pageY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1125 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1126 |
//Adjust the mouse offset relative to the helper if "cursorAt" is supplied |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1127 |
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1128 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1129 |
//Set a containment if given in the options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1130 |
this._setContainment(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1131 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1132 |
//Trigger event + callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1133 |
if(this._trigger("start", event) === false) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1134 |
this._clear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1135 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1136 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1137 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1138 |
//Recache the helper size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1139 |
this._cacheHelperProportions(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1140 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1141 |
//Prepare the droppable offsets |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1142 |
if ($.ui.ddmanager && !o.dropBehaviour) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1143 |
$.ui.ddmanager.prepareOffsets(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1144 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1145 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1146 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1147 |
this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1148 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1149 |
//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1150 |
if ( $.ui.ddmanager ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1151 |
$.ui.ddmanager.dragStart(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1152 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1153 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1154 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1155 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1156 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1157 |
_mouseDrag: function(event, noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1158 |
// reset any necessary cached properties (see #5009) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1159 |
if ( this.offsetParentCssPosition === "fixed" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1160 |
this.offset.parent = this._getParentOffset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1161 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1162 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1163 |
//Compute the helpers position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1164 |
this.position = this._generatePosition(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1165 |
this.positionAbs = this._convertPositionTo("absolute"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1166 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1167 |
//Call plugins and callbacks and use the resulting position if something is returned |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1168 |
if (!noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1169 |
var ui = this._uiHash(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1170 |
if(this._trigger("drag", event, ui) === false) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1171 |
this._mouseUp({}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1172 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1173 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1174 |
this.position = ui.position; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1175 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1176 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1177 |
if(!this.options.axis || this.options.axis !== "y") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1178 |
this.helper[0].style.left = this.position.left+"px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1179 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1180 |
if(!this.options.axis || this.options.axis !== "x") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1181 |
this.helper[0].style.top = this.position.top+"px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1182 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1183 |
if($.ui.ddmanager) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1184 |
$.ui.ddmanager.drag(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1185 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1186 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1187 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1188 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1189 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1190 |
_mouseStop: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1191 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1192 |
//If we are using droppables, inform the manager about the drop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1193 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1194 |
dropped = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1195 |
if ($.ui.ddmanager && !this.options.dropBehaviour) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1196 |
dropped = $.ui.ddmanager.drop(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1197 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1198 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1199 |
//if a drop comes from outside (a sortable) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1200 |
if(this.dropped) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1201 |
dropped = this.dropped; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1202 |
this.dropped = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1203 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1204 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1205 |
//if the original element is no longer in the DOM don't bother to continue (see #8269) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1206 |
if ( this.options.helper === "original" && !$.contains( this.element[ 0 ].ownerDocument, this.element[ 0 ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1207 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1208 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1209 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1210 |
if((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1211 |
$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1212 |
if(that._trigger("stop", event) !== false) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1213 |
that._clear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1214 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1215 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1216 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1217 |
if(this._trigger("stop", event) !== false) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1218 |
this._clear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1219 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1220 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1221 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1222 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1223 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1224 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1225 |
_mouseUp: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1226 |
//Remove frame helpers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1227 |
$("div.ui-draggable-iframeFix").each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1228 |
this.parentNode.removeChild(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1229 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1230 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1231 |
//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1232 |
if( $.ui.ddmanager ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1233 |
$.ui.ddmanager.dragStop(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1234 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1235 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1236 |
return $.ui.mouse.prototype._mouseUp.call(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1237 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1238 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1239 |
cancel: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1240 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1241 |
if(this.helper.is(".ui-draggable-dragging")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1242 |
this._mouseUp({}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1243 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1244 |
this._clear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1245 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1246 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1247 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1248 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1249 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1250 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1251 |
_getHandle: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1252 |
return this.options.handle ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1253 |
!!$( event.target ).closest( this.element.find( this.options.handle ) ).length : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1254 |
true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1255 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1256 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1257 |
_createHelper: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1258 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1259 |
var o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1260 |
helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1261 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1262 |
if(!helper.parents("body").length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1263 |
helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1264 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1265 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1266 |
if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1267 |
helper.css("position", "absolute"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1268 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1269 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1270 |
return helper; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1271 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1272 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1273 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1274 |
_adjustOffsetFromHelper: function(obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1275 |
if (typeof obj === "string") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1276 |
obj = obj.split(" "); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1277 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1278 |
if ($.isArray(obj)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1279 |
obj = {left: +obj[0], top: +obj[1] || 0}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1280 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1281 |
if ("left" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1282 |
this.offset.click.left = obj.left + this.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1283 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1284 |
if ("right" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1285 |
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1286 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1287 |
if ("top" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1288 |
this.offset.click.top = obj.top + this.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1289 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1290 |
if ("bottom" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1291 |
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1292 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1293 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1294 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1295 |
_getParentOffset: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1296 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1297 |
//Get the offsetParent and cache its position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1298 |
var po = this.offsetParent.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1299 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1300 |
// This is a special case where we need to modify a offset calculated on start, since the following happened: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1301 |
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1302 |
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1303 |
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1304 |
if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1305 |
po.left += this.scrollParent.scrollLeft(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1306 |
po.top += this.scrollParent.scrollTop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1307 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1308 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1309 |
//This needs to be actually done for all browsers, since pageX/pageY includes this information |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1310 |
//Ugly IE fix |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1311 |
if((this.offsetParent[0] === document.body) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1312 |
(this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1313 |
po = { top: 0, left: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1314 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1315 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1316 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1317 |
top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1318 |
left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1319 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1320 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1321 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1322 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1323 |
_getRelativeOffset: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1324 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1325 |
if(this.cssPosition === "relative") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1326 |
var p = this.element.position(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1327 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1328 |
top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1329 |
left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1330 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1331 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1332 |
return { top: 0, left: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1333 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1334 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1335 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1336 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1337 |
_cacheMargins: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1338 |
this.margins = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1339 |
left: (parseInt(this.element.css("marginLeft"),10) || 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1340 |
top: (parseInt(this.element.css("marginTop"),10) || 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1341 |
right: (parseInt(this.element.css("marginRight"),10) || 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1342 |
bottom: (parseInt(this.element.css("marginBottom"),10) || 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1343 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1344 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1345 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1346 |
_cacheHelperProportions: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1347 |
this.helperProportions = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1348 |
width: this.helper.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1349 |
height: this.helper.outerHeight() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1350 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1351 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1352 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1353 |
_setContainment: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1354 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1355 |
var over, c, ce, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1356 |
o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1357 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1358 |
if ( !o.containment ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1359 |
this.containment = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1360 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1361 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1362 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1363 |
if ( o.containment === "window" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1364 |
this.containment = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1365 |
$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1366 |
$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1367 |
$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1368 |
$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1369 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1370 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1371 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1372 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1373 |
if ( o.containment === "document") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1374 |
this.containment = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1375 |
0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1376 |
0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1377 |
$( document ).width() - this.helperProportions.width - this.margins.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1378 |
( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1379 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1380 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1381 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1382 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1383 |
if ( o.containment.constructor === Array ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1384 |
this.containment = o.containment; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1385 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1386 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1387 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1388 |
if ( o.containment === "parent" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1389 |
o.containment = this.helper[ 0 ].parentNode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1390 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1391 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1392 |
c = $( o.containment ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1393 |
ce = c[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1394 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1395 |
if( !ce ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1396 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1397 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1398 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1399 |
over = c.css( "overflow" ) !== "hidden"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1400 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1401 |
this.containment = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1402 |
( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1403 |
( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ) , |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1404 |
( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1405 |
( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top - this.margins.bottom |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1406 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1407 |
this.relative_container = c; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1408 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1409 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1410 |
_convertPositionTo: function(d, pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1411 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1412 |
if(!pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1413 |
pos = this.position; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1414 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1415 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1416 |
var mod = d === "absolute" ? 1 : -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1417 |
scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1418 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1419 |
//Cache the scroll |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1420 |
if (!this.offset.scroll) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1421 |
this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1422 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1423 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1424 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1425 |
top: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1426 |
pos.top + // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1427 |
this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1428 |
this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1429 |
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) * mod ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1430 |
), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1431 |
left: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1432 |
pos.left + // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1433 |
this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1434 |
this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1435 |
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) * mod ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1436 |
) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1437 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1438 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1439 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1440 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1441 |
_generatePosition: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1442 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1443 |
var containment, co, top, left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1444 |
o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1445 |
scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1446 |
pageX = event.pageX, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1447 |
pageY = event.pageY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1448 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1449 |
//Cache the scroll |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1450 |
if (!this.offset.scroll) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1451 |
this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1452 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1453 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1454 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1455 |
* - Position constraining - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1456 |
* Constrain the position to a mix of grid, containment. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1457 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1458 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1459 |
// If we are not dragging yet, we won't check for options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1460 |
if ( this.originalPosition ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1461 |
if ( this.containment ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1462 |
if ( this.relative_container ){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1463 |
co = this.relative_container.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1464 |
containment = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1465 |
this.containment[ 0 ] + co.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1466 |
this.containment[ 1 ] + co.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1467 |
this.containment[ 2 ] + co.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1468 |
this.containment[ 3 ] + co.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1469 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1470 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1471 |
else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1472 |
containment = this.containment; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1473 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1474 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1475 |
if(event.pageX - this.offset.click.left < containment[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1476 |
pageX = containment[0] + this.offset.click.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1477 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1478 |
if(event.pageY - this.offset.click.top < containment[1]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1479 |
pageY = containment[1] + this.offset.click.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1480 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1481 |
if(event.pageX - this.offset.click.left > containment[2]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1482 |
pageX = containment[2] + this.offset.click.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1483 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1484 |
if(event.pageY - this.offset.click.top > containment[3]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1485 |
pageY = containment[3] + this.offset.click.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1486 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1487 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1488 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1489 |
if(o.grid) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1490 |
//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1491 |
top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1492 |
pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1493 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1494 |
left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1495 |
pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1496 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1497 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1498 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1499 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1500 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1501 |
top: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1502 |
pageY - // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1503 |
this.offset.click.top - // Click offset (relative to the element) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1504 |
this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1505 |
this.offset.parent.top + // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1506 |
( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1507 |
), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1508 |
left: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1509 |
pageX - // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1510 |
this.offset.click.left - // Click offset (relative to the element) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1511 |
this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1512 |
this.offset.parent.left + // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1513 |
( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1514 |
) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1515 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1516 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1517 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1518 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1519 |
_clear: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1520 |
this.helper.removeClass("ui-draggable-dragging"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1521 |
if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1522 |
this.helper.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1523 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1524 |
this.helper = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1525 |
this.cancelHelperRemoval = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1526 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1527 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1528 |
// From now on bulk stuff - mainly helpers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1529 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1530 |
_trigger: function(type, event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1531 |
ui = ui || this._uiHash(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1532 |
$.ui.plugin.call(this, type, [event, ui]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1533 |
//The absolute position has to be recalculated after plugins |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1534 |
if(type === "drag") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1535 |
this.positionAbs = this._convertPositionTo("absolute"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1536 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1537 |
return $.Widget.prototype._trigger.call(this, type, event, ui); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1538 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1539 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1540 |
plugins: {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1541 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1542 |
_uiHash: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1543 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1544 |
helper: this.helper, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1545 |
position: this.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1546 |
originalPosition: this.originalPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1547 |
offset: this.positionAbs |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1548 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1549 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1550 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1551 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1552 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1553 |
$.ui.plugin.add("draggable", "connectToSortable", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1554 |
start: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1555 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1556 |
var inst = $(this).data("ui-draggable"), o = inst.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1557 |
uiSortable = $.extend({}, ui, { item: inst.element }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1558 |
inst.sortables = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1559 |
$(o.connectToSortable).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1560 |
var sortable = $.data(this, "ui-sortable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1561 |
if (sortable && !sortable.options.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1562 |
inst.sortables.push({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1563 |
instance: sortable, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1564 |
shouldRevert: sortable.options.revert |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1565 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1566 |
sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1567 |
sortable._trigger("activate", event, uiSortable); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1568 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1569 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1570 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1571 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1572 |
stop: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1573 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1574 |
//If we are still over the sortable, we fake the stop event of the sortable, but also remove helper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1575 |
var inst = $(this).data("ui-draggable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1576 |
uiSortable = $.extend({}, ui, { item: inst.element }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1577 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1578 |
$.each(inst.sortables, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1579 |
if(this.instance.isOver) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1580 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1581 |
this.instance.isOver = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1582 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1583 |
inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1584 |
this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1585 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1586 |
//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1587 |
if(this.shouldRevert) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1588 |
this.instance.options.revert = this.shouldRevert; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1589 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1590 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1591 |
//Trigger the stop of the sortable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1592 |
this.instance._mouseStop(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1593 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1594 |
this.instance.options.helper = this.instance.options._helper; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1595 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1596 |
//If the helper has been the original item, restore properties in the sortable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1597 |
if(inst.options.helper === "original") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1598 |
this.instance.currentItem.css({ top: "auto", left: "auto" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1599 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1600 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1601 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1602 |
this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1603 |
this.instance._trigger("deactivate", event, uiSortable); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1604 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1605 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1606 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1607 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1608 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1609 |
drag: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1610 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1611 |
var inst = $(this).data("ui-draggable"), that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1612 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1613 |
$.each(inst.sortables, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1614 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1615 |
var innermostIntersecting = false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1616 |
thisSortable = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1617 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1618 |
//Copy over some variables to allow calling the sortable's native _intersectsWith |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1619 |
this.instance.positionAbs = inst.positionAbs; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1620 |
this.instance.helperProportions = inst.helperProportions; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1621 |
this.instance.offset.click = inst.offset.click; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1622 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1623 |
if(this.instance._intersectsWith(this.instance.containerCache)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1624 |
innermostIntersecting = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1625 |
$.each(inst.sortables, function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1626 |
this.instance.positionAbs = inst.positionAbs; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1627 |
this.instance.helperProportions = inst.helperProportions; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1628 |
this.instance.offset.click = inst.offset.click; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1629 |
if (this !== thisSortable && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1630 |
this.instance._intersectsWith(this.instance.containerCache) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1631 |
$.contains(thisSortable.instance.element[0], this.instance.element[0]) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1632 |
) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1633 |
innermostIntersecting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1634 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1635 |
return innermostIntersecting; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1636 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1637 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1638 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1639 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1640 |
if(innermostIntersecting) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1641 |
//If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1642 |
if(!this.instance.isOver) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1643 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1644 |
this.instance.isOver = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1645 |
//Now we fake the start of dragging for the sortable instance, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1646 |
//by cloning the list group item, appending it to the sortable and using it as inst.currentItem |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1647 |
//We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1648 |
this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1649 |
this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1650 |
this.instance.options.helper = function() { return ui.helper[0]; }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1651 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1652 |
event.target = this.instance.currentItem[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1653 |
this.instance._mouseCapture(event, true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1654 |
this.instance._mouseStart(event, true, true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1655 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1656 |
//Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1657 |
this.instance.offset.click.top = inst.offset.click.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1658 |
this.instance.offset.click.left = inst.offset.click.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1659 |
this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1660 |
this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1661 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1662 |
inst._trigger("toSortable", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1663 |
inst.dropped = this.instance.element; //draggable revert needs that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1664 |
//hack so receive/update callbacks work (mostly) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1665 |
inst.currentItem = inst.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1666 |
this.instance.fromOutside = inst; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1667 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1668 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1669 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1670 |
//Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1671 |
if(this.instance.currentItem) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1672 |
this.instance._mouseDrag(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1673 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1674 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1675 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1676 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1677 |
//If it doesn't intersect with the sortable, and it intersected before, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1678 |
//we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1679 |
if(this.instance.isOver) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1680 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1681 |
this.instance.isOver = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1682 |
this.instance.cancelHelperRemoval = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1683 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1684 |
//Prevent reverting on this forced stop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1685 |
this.instance.options.revert = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1686 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1687 |
// The out event needs to be triggered independently |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1688 |
this.instance._trigger("out", event, this.instance._uiHash(this.instance)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1689 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1690 |
this.instance._mouseStop(event, true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1691 |
this.instance.options.helper = this.instance.options._helper; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1692 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1693 |
//Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1694 |
this.instance.currentItem.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1695 |
if(this.instance.placeholder) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1696 |
this.instance.placeholder.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1697 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1698 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1699 |
inst._trigger("fromSortable", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1700 |
inst.dropped = false; //draggable revert needs that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1701 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1702 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1703 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1704 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1705 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1706 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1707 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1708 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1709 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1710 |
$.ui.plugin.add("draggable", "cursor", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1711 |
start: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1712 |
var t = $("body"), o = $(this).data("ui-draggable").options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1713 |
if (t.css("cursor")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1714 |
o._cursor = t.css("cursor"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1715 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1716 |
t.css("cursor", o.cursor); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1717 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1718 |
stop: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1719 |
var o = $(this).data("ui-draggable").options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1720 |
if (o._cursor) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1721 |
$("body").css("cursor", o._cursor); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1722 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1723 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1724 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1725 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1726 |
$.ui.plugin.add("draggable", "opacity", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1727 |
start: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1728 |
var t = $(ui.helper), o = $(this).data("ui-draggable").options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1729 |
if(t.css("opacity")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1730 |
o._opacity = t.css("opacity"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1731 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1732 |
t.css("opacity", o.opacity); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1733 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1734 |
stop: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1735 |
var o = $(this).data("ui-draggable").options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1736 |
if(o._opacity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1737 |
$(ui.helper).css("opacity", o._opacity); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1738 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1739 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1740 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1741 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1742 |
$.ui.plugin.add("draggable", "scroll", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1743 |
start: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1744 |
var i = $(this).data("ui-draggable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1745 |
if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1746 |
i.overflowOffset = i.scrollParent.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1747 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1748 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1749 |
drag: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1750 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1751 |
var i = $(this).data("ui-draggable"), o = i.options, scrolled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1752 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1753 |
if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1754 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1755 |
if(!o.axis || o.axis !== "x") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1756 |
if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1757 |
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1758 |
} else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1759 |
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1760 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1761 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1762 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1763 |
if(!o.axis || o.axis !== "y") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1764 |
if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1765 |
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1766 |
} else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1767 |
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1768 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1769 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1770 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1771 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1772 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1773 |
if(!o.axis || o.axis !== "x") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1774 |
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1775 |
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1776 |
} else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1777 |
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1778 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1779 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1780 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1781 |
if(!o.axis || o.axis !== "y") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1782 |
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1783 |
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1784 |
} else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1785 |
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1786 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1787 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1788 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1789 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1790 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1791 |
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1792 |
$.ui.ddmanager.prepareOffsets(i, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1793 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1794 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1795 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1796 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1797 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1798 |
$.ui.plugin.add("draggable", "snap", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1799 |
start: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1800 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1801 |
var i = $(this).data("ui-draggable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1802 |
o = i.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1803 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1804 |
i.snapElements = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1805 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1806 |
$(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1807 |
var $t = $(this), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1808 |
$o = $t.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1809 |
if(this !== i.element[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1810 |
i.snapElements.push({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1811 |
item: this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1812 |
width: $t.outerWidth(), height: $t.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1813 |
top: $o.top, left: $o.left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1814 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1815 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1816 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1817 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1818 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1819 |
drag: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1820 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1821 |
var ts, bs, ls, rs, l, r, t, b, i, first, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1822 |
inst = $(this).data("ui-draggable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1823 |
o = inst.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1824 |
d = o.snapTolerance, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1825 |
x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1826 |
y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1827 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1828 |
for (i = inst.snapElements.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1829 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1830 |
l = inst.snapElements[i].left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1831 |
r = l + inst.snapElements[i].width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1832 |
t = inst.snapElements[i].top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1833 |
b = t + inst.snapElements[i].height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1834 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1835 |
if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1836 |
if(inst.snapElements[i].snapping) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1837 |
(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1838 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1839 |
inst.snapElements[i].snapping = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1840 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1841 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1842 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1843 |
if(o.snapMode !== "inner") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1844 |
ts = Math.abs(t - y2) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1845 |
bs = Math.abs(b - y1) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1846 |
ls = Math.abs(l - x2) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1847 |
rs = Math.abs(r - x1) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1848 |
if(ts) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1849 |
ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1850 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1851 |
if(bs) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1852 |
ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1853 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1854 |
if(ls) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1855 |
ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1856 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1857 |
if(rs) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1858 |
ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1859 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1860 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1861 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1862 |
first = (ts || bs || ls || rs); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1863 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1864 |
if(o.snapMode !== "outer") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1865 |
ts = Math.abs(t - y1) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1866 |
bs = Math.abs(b - y2) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1867 |
ls = Math.abs(l - x1) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1868 |
rs = Math.abs(r - x2) <= d; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1869 |
if(ts) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1870 |
ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1871 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1872 |
if(bs) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1873 |
ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1874 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1875 |
if(ls) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1876 |
ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1877 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1878 |
if(rs) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1879 |
ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1880 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1881 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1882 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1883 |
if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1884 |
(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1885 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1886 |
inst.snapElements[i].snapping = (ts || bs || ls || rs || first); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1887 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1888 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1889 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1890 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1891 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1892 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1893 |
$.ui.plugin.add("draggable", "stack", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1894 |
start: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1895 |
var min, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1896 |
o = this.data("ui-draggable").options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1897 |
group = $.makeArray($(o.stack)).sort(function(a,b) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1898 |
return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1899 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1900 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1901 |
if (!group.length) { return; } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1902 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1903 |
min = parseInt($(group[0]).css("zIndex"), 10) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1904 |
$(group).each(function(i) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1905 |
$(this).css("zIndex", min + i); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1906 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1907 |
this.css("zIndex", (min + group.length)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1908 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1909 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1910 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1911 |
$.ui.plugin.add("draggable", "zIndex", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1912 |
start: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1913 |
var t = $(ui.helper), o = $(this).data("ui-draggable").options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1914 |
if(t.css("zIndex")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1915 |
o._zIndex = t.css("zIndex"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1916 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1917 |
t.css("zIndex", o.zIndex); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1918 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1919 |
stop: function(event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1920 |
var o = $(this).data("ui-draggable").options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1921 |
if(o._zIndex) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1922 |
$(ui.helper).css("zIndex", o._zIndex); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1923 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1924 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1925 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1926 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1927 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1928 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1929 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1930 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1931 |
function isOverAxis( x, reference, size ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1932 |
return ( x > reference ) && ( x < ( reference + size ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1933 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1934 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1935 |
$.widget("ui.droppable", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1936 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1937 |
widgetEventPrefix: "drop", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1938 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1939 |
accept: "*", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1940 |
activeClass: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1941 |
addClasses: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1942 |
greedy: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1943 |
hoverClass: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1944 |
scope: "default", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1945 |
tolerance: "intersect", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1946 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1947 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1948 |
activate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1949 |
deactivate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1950 |
drop: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1951 |
out: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1952 |
over: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1953 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1954 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1955 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1956 |
var o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1957 |
accept = o.accept; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1958 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1959 |
this.isover = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1960 |
this.isout = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1961 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1962 |
this.accept = $.isFunction(accept) ? accept : function(d) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1963 |
return d.is(accept); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1964 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1965 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1966 |
//Store the droppable's proportions |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1967 |
this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1968 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1969 |
// Add the reference and positions to the manager |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1970 |
$.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1971 |
$.ui.ddmanager.droppables[o.scope].push(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1972 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1973 |
(o.addClasses && this.element.addClass("ui-droppable")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1974 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1975 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1976 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1977 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1978 |
var i = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1979 |
drop = $.ui.ddmanager.droppables[this.options.scope]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1980 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1981 |
for ( ; i < drop.length; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1982 |
if ( drop[i] === this ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1983 |
drop.splice(i, 1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1984 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1985 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1986 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1987 |
this.element.removeClass("ui-droppable ui-droppable-disabled"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1988 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1989 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1990 |
_setOption: function(key, value) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1991 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1992 |
if(key === "accept") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1993 |
this.accept = $.isFunction(value) ? value : function(d) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1994 |
return d.is(value); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1995 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1996 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1997 |
$.Widget.prototype._setOption.apply(this, arguments); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1998 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
1999 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2000 |
_activate: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2001 |
var draggable = $.ui.ddmanager.current; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2002 |
if(this.options.activeClass) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2003 |
this.element.addClass(this.options.activeClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2004 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2005 |
if(draggable){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2006 |
this._trigger("activate", event, this.ui(draggable)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2007 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2008 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2009 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2010 |
_deactivate: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2011 |
var draggable = $.ui.ddmanager.current; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2012 |
if(this.options.activeClass) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2013 |
this.element.removeClass(this.options.activeClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2014 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2015 |
if(draggable){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2016 |
this._trigger("deactivate", event, this.ui(draggable)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2017 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2018 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2019 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2020 |
_over: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2021 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2022 |
var draggable = $.ui.ddmanager.current; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2023 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2024 |
// Bail if draggable and droppable are same element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2025 |
if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2026 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2027 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2028 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2029 |
if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2030 |
if(this.options.hoverClass) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2031 |
this.element.addClass(this.options.hoverClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2032 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2033 |
this._trigger("over", event, this.ui(draggable)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2034 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2035 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2036 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2037 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2038 |
_out: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2039 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2040 |
var draggable = $.ui.ddmanager.current; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2041 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2042 |
// Bail if draggable and droppable are same element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2043 |
if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2044 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2045 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2046 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2047 |
if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2048 |
if(this.options.hoverClass) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2049 |
this.element.removeClass(this.options.hoverClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2050 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2051 |
this._trigger("out", event, this.ui(draggable)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2052 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2053 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2054 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2055 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2056 |
_drop: function(event,custom) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2057 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2058 |
var draggable = custom || $.ui.ddmanager.current, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2059 |
childrenIntersection = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2060 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2061 |
// Bail if draggable and droppable are same element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2062 |
if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2063 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2064 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2065 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2066 |
this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2067 |
var inst = $.data(this, "ui-droppable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2068 |
if( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2069 |
inst.options.greedy && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2070 |
!inst.options.disabled && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2071 |
inst.options.scope === draggable.options.scope && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2072 |
inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2073 |
$.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2074 |
) { childrenIntersection = true; return false; } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2075 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2076 |
if(childrenIntersection) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2077 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2078 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2079 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2080 |
if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2081 |
if(this.options.activeClass) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2082 |
this.element.removeClass(this.options.activeClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2083 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2084 |
if(this.options.hoverClass) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2085 |
this.element.removeClass(this.options.hoverClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2086 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2087 |
this._trigger("drop", event, this.ui(draggable)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2088 |
return this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2089 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2090 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2091 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2092 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2093 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2094 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2095 |
ui: function(c) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2096 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2097 |
draggable: (c.currentItem || c.element), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2098 |
helper: c.helper, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2099 |
position: c.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2100 |
offset: c.positionAbs |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2101 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2102 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2103 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2104 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2105 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2106 |
$.ui.intersect = function(draggable, droppable, toleranceMode) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2107 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2108 |
if (!droppable.offset) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2109 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2110 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2111 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2112 |
var draggableLeft, draggableTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2113 |
x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2114 |
y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2115 |
l = droppable.offset.left, r = l + droppable.proportions.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2116 |
t = droppable.offset.top, b = t + droppable.proportions.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2117 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2118 |
switch (toleranceMode) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2119 |
case "fit": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2120 |
return (l <= x1 && x2 <= r && t <= y1 && y2 <= b); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2121 |
case "intersect": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2122 |
return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2123 |
x2 - (draggable.helperProportions.width / 2) < r && // Left Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2124 |
t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2125 |
y2 - (draggable.helperProportions.height / 2) < b ); // Top Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2126 |
case "pointer": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2127 |
draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2128 |
draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2129 |
return isOverAxis( draggableTop, t, droppable.proportions.height ) && isOverAxis( draggableLeft, l, droppable.proportions.width ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2130 |
case "touch": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2131 |
return ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2132 |
(y1 >= t && y1 <= b) || // Top edge touching |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2133 |
(y2 >= t && y2 <= b) || // Bottom edge touching |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2134 |
(y1 < t && y2 > b) // Surrounded vertically |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2135 |
) && ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2136 |
(x1 >= l && x1 <= r) || // Left edge touching |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2137 |
(x2 >= l && x2 <= r) || // Right edge touching |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2138 |
(x1 < l && x2 > r) // Surrounded horizontally |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2139 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2140 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2141 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2142 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2143 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2144 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2145 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2146 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2147 |
This manager tracks offsets of draggables and droppables |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2148 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2149 |
$.ui.ddmanager = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2150 |
current: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2151 |
droppables: { "default": [] }, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2152 |
prepareOffsets: function(t, event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2153 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2154 |
var i, j, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2155 |
m = $.ui.ddmanager.droppables[t.options.scope] || [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2156 |
type = event ? event.type : null, // workaround for #2317 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2157 |
list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2158 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2159 |
droppablesLoop: for (i = 0; i < m.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2160 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2161 |
//No disabled and non-accepted |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2162 |
if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2163 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2164 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2165 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2166 |
// Filter out elements in the current dragged item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2167 |
for (j=0; j < list.length; j++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2168 |
if(list[j] === m[i].element[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2169 |
m[i].proportions.height = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2170 |
continue droppablesLoop; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2171 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2172 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2173 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2174 |
m[i].visible = m[i].element.css("display") !== "none"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2175 |
if(!m[i].visible) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2176 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2177 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2178 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2179 |
//Activate the droppable if used directly from draggables |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2180 |
if(type === "mousedown") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2181 |
m[i]._activate.call(m[i], event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2182 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2183 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2184 |
m[i].offset = m[i].element.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2185 |
m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2186 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2187 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2188 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2189 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2190 |
drop: function(draggable, event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2191 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2192 |
var dropped = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2193 |
// Create a copy of the droppables in case the list changes during the drop (#9116) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2194 |
$.each(($.ui.ddmanager.droppables[draggable.options.scope] || []).slice(), function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2195 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2196 |
if(!this.options) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2197 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2198 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2199 |
if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2200 |
dropped = this._drop.call(this, event) || dropped; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2201 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2202 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2203 |
if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2204 |
this.isout = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2205 |
this.isover = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2206 |
this._deactivate.call(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2207 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2208 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2209 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2210 |
return dropped; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2211 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2212 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2213 |
dragStart: function( draggable, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2214 |
//Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2215 |
draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2216 |
if( !draggable.options.refreshPositions ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2217 |
$.ui.ddmanager.prepareOffsets( draggable, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2218 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2219 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2220 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2221 |
drag: function(draggable, event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2222 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2223 |
//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2224 |
if(draggable.options.refreshPositions) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2225 |
$.ui.ddmanager.prepareOffsets(draggable, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2226 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2227 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2228 |
//Run through all droppables and check their positions based on specific tolerance options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2229 |
$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2230 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2231 |
if(this.options.disabled || this.greedyChild || !this.visible) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2232 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2233 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2234 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2235 |
var parentInstance, scope, parent, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2236 |
intersects = $.ui.intersect(draggable, this, this.options.tolerance), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2237 |
c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2238 |
if(!c) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2239 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2240 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2241 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2242 |
if (this.options.greedy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2243 |
// find droppable parents with same scope |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2244 |
scope = this.options.scope; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2245 |
parent = this.element.parents(":data(ui-droppable)").filter(function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2246 |
return $.data(this, "ui-droppable").options.scope === scope; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2247 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2248 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2249 |
if (parent.length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2250 |
parentInstance = $.data(parent[0], "ui-droppable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2251 |
parentInstance.greedyChild = (c === "isover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2252 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2253 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2254 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2255 |
// we just moved into a greedy child |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2256 |
if (parentInstance && c === "isover") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2257 |
parentInstance.isover = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2258 |
parentInstance.isout = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2259 |
parentInstance._out.call(parentInstance, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2260 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2261 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2262 |
this[c] = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2263 |
this[c === "isout" ? "isover" : "isout"] = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2264 |
this[c === "isover" ? "_over" : "_out"].call(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2265 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2266 |
// we just moved out of a greedy child |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2267 |
if (parentInstance && c === "isout") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2268 |
parentInstance.isout = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2269 |
parentInstance.isover = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2270 |
parentInstance._over.call(parentInstance, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2271 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2272 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2273 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2274 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2275 |
dragStop: function( draggable, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2276 |
draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2277 |
//Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2278 |
if( !draggable.options.refreshPositions ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2279 |
$.ui.ddmanager.prepareOffsets( draggable, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2280 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2281 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2282 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2283 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2284 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2285 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2286 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2287 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2288 |
function num(v) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2289 |
return parseInt(v, 10) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2290 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2291 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2292 |
function isNumber(value) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2293 |
return !isNaN(parseInt(value, 10)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2294 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2295 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2296 |
$.widget("ui.resizable", $.ui.mouse, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2297 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2298 |
widgetEventPrefix: "resize", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2299 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2300 |
alsoResize: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2301 |
animate: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2302 |
animateDuration: "slow", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2303 |
animateEasing: "swing", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2304 |
aspectRatio: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2305 |
autoHide: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2306 |
containment: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2307 |
ghost: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2308 |
grid: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2309 |
handles: "e,s,se", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2310 |
helper: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2311 |
maxHeight: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2312 |
maxWidth: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2313 |
minHeight: 10, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2314 |
minWidth: 10, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2315 |
// See #7960 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2316 |
zIndex: 90, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2317 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2318 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2319 |
resize: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2320 |
start: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2321 |
stop: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2322 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2323 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2324 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2325 |
var n, i, handle, axis, hname, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2326 |
that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2327 |
o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2328 |
this.element.addClass("ui-resizable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2329 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2330 |
$.extend(this, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2331 |
_aspectRatio: !!(o.aspectRatio), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2332 |
aspectRatio: o.aspectRatio, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2333 |
originalElement: this.element, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2334 |
_proportionallyResizeElements: [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2335 |
_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2336 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2337 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2338 |
//Wrap the element if it cannot hold child nodes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2339 |
if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2340 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2341 |
//Create a wrapper element and set the wrapper to the new current internal element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2342 |
this.element.wrap( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2343 |
$("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2344 |
position: this.element.css("position"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2345 |
width: this.element.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2346 |
height: this.element.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2347 |
top: this.element.css("top"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2348 |
left: this.element.css("left") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2349 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2350 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2351 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2352 |
//Overwrite the original this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2353 |
this.element = this.element.parent().data( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2354 |
"ui-resizable", this.element.data("ui-resizable") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2355 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2356 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2357 |
this.elementIsWrapper = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2358 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2359 |
//Move margins to the wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2360 |
this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2361 |
this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2362 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2363 |
//Prevent Safari textarea resize |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2364 |
this.originalResizeStyle = this.originalElement.css("resize"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2365 |
this.originalElement.css("resize", "none"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2366 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2367 |
//Push the actual element to our proportionallyResize internal array |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2368 |
this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" })); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2369 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2370 |
// avoid IE jump (hard set the margin) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2371 |
this.originalElement.css({ margin: this.originalElement.css("margin") }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2372 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2373 |
// fix handlers offset |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2374 |
this._proportionallyResize(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2375 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2376 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2377 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2378 |
this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2379 |
if(this.handles.constructor === String) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2380 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2381 |
if ( this.handles === "all") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2382 |
this.handles = "n,e,s,w,se,sw,ne,nw"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2383 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2384 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2385 |
n = this.handles.split(","); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2386 |
this.handles = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2387 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2388 |
for(i = 0; i < n.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2389 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2390 |
handle = $.trim(n[i]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2391 |
hname = "ui-resizable-"+handle; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2392 |
axis = $("<div class='ui-resizable-handle " + hname + "'></div>"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2393 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2394 |
// Apply zIndex to all handles - see #7960 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2395 |
axis.css({ zIndex: o.zIndex }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2396 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2397 |
//TODO : What's going on here? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2398 |
if ("se" === handle) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2399 |
axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2400 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2401 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2402 |
//Insert into internal handles object and append to element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2403 |
this.handles[handle] = ".ui-resizable-"+handle; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2404 |
this.element.append(axis); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2405 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2406 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2407 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2408 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2409 |
this._renderAxis = function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2410 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2411 |
var i, axis, padPos, padWrapper; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2412 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2413 |
target = target || this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2414 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2415 |
for(i in this.handles) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2416 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2417 |
if(this.handles[i].constructor === String) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2418 |
this.handles[i] = $(this.handles[i], this.element).show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2419 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2420 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2421 |
//Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2422 |
if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2423 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2424 |
axis = $(this.handles[i], this.element); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2425 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2426 |
//Checking the correct pad and border |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2427 |
padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2428 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2429 |
//The padding type i have to apply... |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2430 |
padPos = [ "padding", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2431 |
/ne|nw|n/.test(i) ? "Top" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2432 |
/se|sw|s/.test(i) ? "Bottom" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2433 |
/^e$/.test(i) ? "Right" : "Left" ].join(""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2434 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2435 |
target.css(padPos, padWrapper); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2436 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2437 |
this._proportionallyResize(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2438 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2439 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2440 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2441 |
//TODO: What's that good for? There's not anything to be executed left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2442 |
if(!$(this.handles[i]).length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2443 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2444 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2445 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2446 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2447 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2448 |
//TODO: make renderAxis a prototype function |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2449 |
this._renderAxis(this.element); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2450 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2451 |
this._handles = $(".ui-resizable-handle", this.element) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2452 |
.disableSelection(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2453 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2454 |
//Matching axis name |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2455 |
this._handles.mouseover(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2456 |
if (!that.resizing) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2457 |
if (this.className) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2458 |
axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2459 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2460 |
//Axis, default = se |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2461 |
that.axis = axis && axis[1] ? axis[1] : "se"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2462 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2463 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2464 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2465 |
//If we want to auto hide the elements |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2466 |
if (o.autoHide) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2467 |
this._handles.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2468 |
$(this.element) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2469 |
.addClass("ui-resizable-autohide") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2470 |
.mouseenter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2471 |
if (o.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2472 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2473 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2474 |
$(this).removeClass("ui-resizable-autohide"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2475 |
that._handles.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2476 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2477 |
.mouseleave(function(){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2478 |
if (o.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2479 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2480 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2481 |
if (!that.resizing) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2482 |
$(this).addClass("ui-resizable-autohide"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2483 |
that._handles.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2484 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2485 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2486 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2487 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2488 |
//Initialize the mouse interaction |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2489 |
this._mouseInit(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2490 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2491 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2492 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2493 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2494 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2495 |
this._mouseDestroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2496 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2497 |
var wrapper, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2498 |
_destroy = function(exp) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2499 |
$(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2500 |
.removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2501 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2502 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2503 |
//TODO: Unwrap at same DOM position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2504 |
if (this.elementIsWrapper) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2505 |
_destroy(this.element); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2506 |
wrapper = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2507 |
this.originalElement.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2508 |
position: wrapper.css("position"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2509 |
width: wrapper.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2510 |
height: wrapper.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2511 |
top: wrapper.css("top"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2512 |
left: wrapper.css("left") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2513 |
}).insertAfter( wrapper ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2514 |
wrapper.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2515 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2516 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2517 |
this.originalElement.css("resize", this.originalResizeStyle); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2518 |
_destroy(this.originalElement); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2519 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2520 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2521 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2522 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2523 |
_mouseCapture: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2524 |
var i, handle, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2525 |
capture = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2526 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2527 |
for (i in this.handles) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2528 |
handle = $(this.handles[i])[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2529 |
if (handle === event.target || $.contains(handle, event.target)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2530 |
capture = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2531 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2532 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2533 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2534 |
return !this.options.disabled && capture; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2535 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2536 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2537 |
_mouseStart: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2538 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2539 |
var curleft, curtop, cursor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2540 |
o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2541 |
iniPos = this.element.position(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2542 |
el = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2543 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2544 |
this.resizing = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2545 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2546 |
// bugfix for http://dev.jquery.com/ticket/1749 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2547 |
if ( (/absolute/).test( el.css("position") ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2548 |
el.css({ position: "absolute", top: el.css("top"), left: el.css("left") }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2549 |
} else if (el.is(".ui-draggable")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2550 |
el.css({ position: "absolute", top: iniPos.top, left: iniPos.left }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2551 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2552 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2553 |
this._renderProxy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2554 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2555 |
curleft = num(this.helper.css("left")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2556 |
curtop = num(this.helper.css("top")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2557 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2558 |
if (o.containment) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2559 |
curleft += $(o.containment).scrollLeft() || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2560 |
curtop += $(o.containment).scrollTop() || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2561 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2562 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2563 |
//Store needed variables |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2564 |
this.offset = this.helper.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2565 |
this.position = { left: curleft, top: curtop }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2566 |
this.size = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2567 |
this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2568 |
this.originalPosition = { left: curleft, top: curtop }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2569 |
this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2570 |
this.originalMousePosition = { left: event.pageX, top: event.pageY }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2571 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2572 |
//Aspect Ratio |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2573 |
this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2574 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2575 |
cursor = $(".ui-resizable-" + this.axis).css("cursor"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2576 |
$("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2577 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2578 |
el.addClass("ui-resizable-resizing"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2579 |
this._propagate("start", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2580 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2581 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2582 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2583 |
_mouseDrag: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2584 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2585 |
//Increase performance, avoid regex |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2586 |
var data, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2587 |
el = this.helper, props = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2588 |
smp = this.originalMousePosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2589 |
a = this.axis, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2590 |
prevTop = this.position.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2591 |
prevLeft = this.position.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2592 |
prevWidth = this.size.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2593 |
prevHeight = this.size.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2594 |
dx = (event.pageX-smp.left)||0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2595 |
dy = (event.pageY-smp.top)||0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2596 |
trigger = this._change[a]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2597 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2598 |
if (!trigger) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2599 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2600 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2601 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2602 |
// Calculate the attrs that will be change |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2603 |
data = trigger.apply(this, [event, dx, dy]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2604 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2605 |
// Put this in the mouseDrag handler since the user can start pressing shift while resizing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2606 |
this._updateVirtualBoundaries(event.shiftKey); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2607 |
if (this._aspectRatio || event.shiftKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2608 |
data = this._updateRatio(data, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2609 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2610 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2611 |
data = this._respectSize(data, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2612 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2613 |
this._updateCache(data); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2614 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2615 |
// plugins callbacks need to be called first |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2616 |
this._propagate("resize", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2617 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2618 |
if (this.position.top !== prevTop) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2619 |
props.top = this.position.top + "px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2620 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2621 |
if (this.position.left !== prevLeft) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2622 |
props.left = this.position.left + "px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2623 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2624 |
if (this.size.width !== prevWidth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2625 |
props.width = this.size.width + "px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2626 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2627 |
if (this.size.height !== prevHeight) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2628 |
props.height = this.size.height + "px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2629 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2630 |
el.css(props); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2631 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2632 |
if (!this._helper && this._proportionallyResizeElements.length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2633 |
this._proportionallyResize(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2634 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2635 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2636 |
// Call the user callback if the element was resized |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2637 |
if ( ! $.isEmptyObject(props) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2638 |
this._trigger("resize", event, this.ui()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2639 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2640 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2641 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2642 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2643 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2644 |
_mouseStop: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2645 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2646 |
this.resizing = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2647 |
var pr, ista, soffseth, soffsetw, s, left, top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2648 |
o = this.options, that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2649 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2650 |
if(this._helper) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2651 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2652 |
pr = this._proportionallyResizeElements; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2653 |
ista = pr.length && (/textarea/i).test(pr[0].nodeName); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2654 |
soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2655 |
soffsetw = ista ? 0 : that.sizeDiff.width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2656 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2657 |
s = { width: (that.helper.width() - soffsetw), height: (that.helper.height() - soffseth) }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2658 |
left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2659 |
top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2660 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2661 |
if (!o.animate) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2662 |
this.element.css($.extend(s, { top: top, left: left })); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2663 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2664 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2665 |
that.helper.height(that.size.height); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2666 |
that.helper.width(that.size.width); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2667 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2668 |
if (this._helper && !o.animate) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2669 |
this._proportionallyResize(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2670 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2671 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2672 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2673 |
$("body").css("cursor", "auto"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2674 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2675 |
this.element.removeClass("ui-resizable-resizing"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2676 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2677 |
this._propagate("stop", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2678 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2679 |
if (this._helper) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2680 |
this.helper.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2681 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2682 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2683 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2684 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2685 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2686 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2687 |
_updateVirtualBoundaries: function(forceAspectRatio) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2688 |
var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2689 |
o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2690 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2691 |
b = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2692 |
minWidth: isNumber(o.minWidth) ? o.minWidth : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2693 |
maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2694 |
minHeight: isNumber(o.minHeight) ? o.minHeight : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2695 |
maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2696 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2697 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2698 |
if(this._aspectRatio || forceAspectRatio) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2699 |
// We want to create an enclosing box whose aspect ration is the requested one |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2700 |
// First, compute the "projected" size for each dimension based on the aspect ratio and other dimension |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2701 |
pMinWidth = b.minHeight * this.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2702 |
pMinHeight = b.minWidth / this.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2703 |
pMaxWidth = b.maxHeight * this.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2704 |
pMaxHeight = b.maxWidth / this.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2705 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2706 |
if(pMinWidth > b.minWidth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2707 |
b.minWidth = pMinWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2708 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2709 |
if(pMinHeight > b.minHeight) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2710 |
b.minHeight = pMinHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2711 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2712 |
if(pMaxWidth < b.maxWidth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2713 |
b.maxWidth = pMaxWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2714 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2715 |
if(pMaxHeight < b.maxHeight) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2716 |
b.maxHeight = pMaxHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2717 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2718 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2719 |
this._vBoundaries = b; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2720 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2721 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2722 |
_updateCache: function(data) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2723 |
this.offset = this.helper.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2724 |
if (isNumber(data.left)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2725 |
this.position.left = data.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2726 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2727 |
if (isNumber(data.top)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2728 |
this.position.top = data.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2729 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2730 |
if (isNumber(data.height)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2731 |
this.size.height = data.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2732 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2733 |
if (isNumber(data.width)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2734 |
this.size.width = data.width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2735 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2736 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2737 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2738 |
_updateRatio: function( data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2739 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2740 |
var cpos = this.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2741 |
csize = this.size, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2742 |
a = this.axis; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2743 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2744 |
if (isNumber(data.height)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2745 |
data.width = (data.height * this.aspectRatio); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2746 |
} else if (isNumber(data.width)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2747 |
data.height = (data.width / this.aspectRatio); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2748 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2749 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2750 |
if (a === "sw") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2751 |
data.left = cpos.left + (csize.width - data.width); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2752 |
data.top = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2753 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2754 |
if (a === "nw") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2755 |
data.top = cpos.top + (csize.height - data.height); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2756 |
data.left = cpos.left + (csize.width - data.width); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2757 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2758 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2759 |
return data; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2760 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2761 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2762 |
_respectSize: function( data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2763 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2764 |
var o = this._vBoundaries, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2765 |
a = this.axis, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2766 |
ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2767 |
isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2768 |
dw = this.originalPosition.left + this.originalSize.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2769 |
dh = this.position.top + this.size.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2770 |
cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2771 |
if (isminw) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2772 |
data.width = o.minWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2773 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2774 |
if (isminh) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2775 |
data.height = o.minHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2776 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2777 |
if (ismaxw) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2778 |
data.width = o.maxWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2779 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2780 |
if (ismaxh) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2781 |
data.height = o.maxHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2782 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2783 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2784 |
if (isminw && cw) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2785 |
data.left = dw - o.minWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2786 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2787 |
if (ismaxw && cw) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2788 |
data.left = dw - o.maxWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2789 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2790 |
if (isminh && ch) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2791 |
data.top = dh - o.minHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2792 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2793 |
if (ismaxh && ch) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2794 |
data.top = dh - o.maxHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2795 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2796 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2797 |
// fixing jump error on top/left - bug #2330 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2798 |
if (!data.width && !data.height && !data.left && data.top) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2799 |
data.top = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2800 |
} else if (!data.width && !data.height && !data.top && data.left) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2801 |
data.left = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2802 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2803 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2804 |
return data; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2805 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2806 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2807 |
_proportionallyResize: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2808 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2809 |
if (!this._proportionallyResizeElements.length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2810 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2811 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2812 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2813 |
var i, j, borders, paddings, prel, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2814 |
element = this.helper || this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2815 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2816 |
for ( i=0; i < this._proportionallyResizeElements.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2817 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2818 |
prel = this._proportionallyResizeElements[i]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2819 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2820 |
if (!this.borderDif) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2821 |
this.borderDif = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2822 |
borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2823 |
paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2824 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2825 |
for ( j = 0; j < borders.length; j++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2826 |
this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2827 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2828 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2829 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2830 |
prel.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2831 |
height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2832 |
width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2833 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2834 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2835 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2836 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2837 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2838 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2839 |
_renderProxy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2840 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2841 |
var el = this.element, o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2842 |
this.elementOffset = el.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2843 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2844 |
if(this._helper) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2845 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2846 |
this.helper = this.helper || $("<div style='overflow:hidden;'></div>"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2847 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2848 |
this.helper.addClass(this._helper).css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2849 |
width: this.element.outerWidth() - 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2850 |
height: this.element.outerHeight() - 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2851 |
position: "absolute", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2852 |
left: this.elementOffset.left +"px", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2853 |
top: this.elementOffset.top +"px", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2854 |
zIndex: ++o.zIndex //TODO: Don't modify option |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2855 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2856 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2857 |
this.helper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2858 |
.appendTo("body") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2859 |
.disableSelection(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2860 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2861 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2862 |
this.helper = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2863 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2864 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2865 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2866 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2867 |
_change: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2868 |
e: function(event, dx) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2869 |
return { width: this.originalSize.width + dx }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2870 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2871 |
w: function(event, dx) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2872 |
var cs = this.originalSize, sp = this.originalPosition; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2873 |
return { left: sp.left + dx, width: cs.width - dx }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2874 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2875 |
n: function(event, dx, dy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2876 |
var cs = this.originalSize, sp = this.originalPosition; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2877 |
return { top: sp.top + dy, height: cs.height - dy }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2878 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2879 |
s: function(event, dx, dy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2880 |
return { height: this.originalSize.height + dy }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2881 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2882 |
se: function(event, dx, dy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2883 |
return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2884 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2885 |
sw: function(event, dx, dy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2886 |
return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2887 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2888 |
ne: function(event, dx, dy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2889 |
return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2890 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2891 |
nw: function(event, dx, dy) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2892 |
return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2893 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2894 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2895 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2896 |
_propagate: function(n, event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2897 |
$.ui.plugin.call(this, n, [event, this.ui()]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2898 |
(n !== "resize" && this._trigger(n, event, this.ui())); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2899 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2900 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2901 |
plugins: {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2902 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2903 |
ui: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2904 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2905 |
originalElement: this.originalElement, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2906 |
element: this.element, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2907 |
helper: this.helper, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2908 |
position: this.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2909 |
size: this.size, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2910 |
originalSize: this.originalSize, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2911 |
originalPosition: this.originalPosition |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2912 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2913 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2914 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2915 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2916 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2917 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2918 |
* Resizable Extensions |
4373
972143183ea3
new jquery based widgets for Time/Date/DateTime, backported from crm
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
2919 |
*/ |
9388
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2920 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2921 |
$.ui.plugin.add("resizable", "animate", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2922 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2923 |
stop: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2924 |
var that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2925 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2926 |
pr = that._proportionallyResizeElements, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2927 |
ista = pr.length && (/textarea/i).test(pr[0].nodeName), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2928 |
soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2929 |
soffsetw = ista ? 0 : that.sizeDiff.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2930 |
style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) }, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2931 |
left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2932 |
top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2933 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2934 |
that.element.animate( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2935 |
$.extend(style, top && left ? { top: top, left: left } : {}), { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2936 |
duration: o.animateDuration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2937 |
easing: o.animateEasing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2938 |
step: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2939 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2940 |
var data = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2941 |
width: parseInt(that.element.css("width"), 10), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2942 |
height: parseInt(that.element.css("height"), 10), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2943 |
top: parseInt(that.element.css("top"), 10), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2944 |
left: parseInt(that.element.css("left"), 10) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2945 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2946 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2947 |
if (pr && pr.length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2948 |
$(pr[0]).css({ width: data.width, height: data.height }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2949 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2950 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2951 |
// propagating resize, and updating values for each animation step |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2952 |
that._updateCache(data); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2953 |
that._propagate("resize", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2954 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2955 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2956 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2957 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2958 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2959 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2960 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2961 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2962 |
$.ui.plugin.add("resizable", "containment", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2963 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2964 |
start: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2965 |
var element, p, co, ch, cw, width, height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2966 |
that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2967 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2968 |
el = that.element, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2969 |
oc = o.containment, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2970 |
ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2971 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2972 |
if (!ce) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2973 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2974 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2975 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2976 |
that.containerElement = $(ce); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2977 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2978 |
if (/document/.test(oc) || oc === document) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2979 |
that.containerOffset = { left: 0, top: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2980 |
that.containerPosition = { left: 0, top: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2981 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2982 |
that.parentData = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2983 |
element: $(document), left: 0, top: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2984 |
width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2985 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2986 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2987 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2988 |
// i'm a node, so compute top, left, right, bottom |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2989 |
else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2990 |
element = $(ce); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2991 |
p = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2992 |
$([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] = num(element.css("padding" + name)); }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2993 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2994 |
that.containerOffset = element.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2995 |
that.containerPosition = element.position(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2996 |
that.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2997 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2998 |
co = that.containerOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
2999 |
ch = that.containerSize.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3000 |
cw = that.containerSize.width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3001 |
width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3002 |
height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3003 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3004 |
that.parentData = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3005 |
element: ce, left: co.left, top: co.top, width: width, height: height |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3006 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3007 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3008 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3009 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3010 |
resize: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3011 |
var woset, hoset, isParent, isOffsetRelative, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3012 |
that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3013 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3014 |
co = that.containerOffset, cp = that.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3015 |
pRatio = that._aspectRatio || event.shiftKey, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3016 |
cop = { top:0, left:0 }, ce = that.containerElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3017 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3018 |
if (ce[0] !== document && (/static/).test(ce.css("position"))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3019 |
cop = co; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3020 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3021 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3022 |
if (cp.left < (that._helper ? co.left : 0)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3023 |
that.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3024 |
if (pRatio) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3025 |
that.size.height = that.size.width / that.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3026 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3027 |
that.position.left = o.helper ? co.left : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3028 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3029 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3030 |
if (cp.top < (that._helper ? co.top : 0)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3031 |
that.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3032 |
if (pRatio) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3033 |
that.size.width = that.size.height * that.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3034 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3035 |
that.position.top = that._helper ? co.top : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3036 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3037 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3038 |
that.offset.left = that.parentData.left+that.position.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3039 |
that.offset.top = that.parentData.top+that.position.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3040 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3041 |
woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3042 |
hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3043 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3044 |
isParent = that.containerElement.get(0) === that.element.parent().get(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3045 |
isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3046 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3047 |
if(isParent && isOffsetRelative) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3048 |
woset -= that.parentData.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3049 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3050 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3051 |
if (woset + that.size.width >= that.parentData.width) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3052 |
that.size.width = that.parentData.width - woset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3053 |
if (pRatio) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3054 |
that.size.height = that.size.width / that.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3055 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3056 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3057 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3058 |
if (hoset + that.size.height >= that.parentData.height) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3059 |
that.size.height = that.parentData.height - hoset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3060 |
if (pRatio) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3061 |
that.size.width = that.size.height * that.aspectRatio; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3062 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3063 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3064 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3065 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3066 |
stop: function(){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3067 |
var that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3068 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3069 |
co = that.containerOffset, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3070 |
cop = that.containerPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3071 |
ce = that.containerElement, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3072 |
helper = $(that.helper), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3073 |
ho = helper.offset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3074 |
w = helper.outerWidth() - that.sizeDiff.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3075 |
h = helper.outerHeight() - that.sizeDiff.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3076 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3077 |
if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3078 |
$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3079 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3080 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3081 |
if (that._helper && !o.animate && (/static/).test(ce.css("position"))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3082 |
$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3083 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3084 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3085 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3086 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3087 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3088 |
$.ui.plugin.add("resizable", "alsoResize", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3089 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3090 |
start: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3091 |
var that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3092 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3093 |
_store = function (exp) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3094 |
$(exp).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3095 |
var el = $(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3096 |
el.data("ui-resizable-alsoresize", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3097 |
width: parseInt(el.width(), 10), height: parseInt(el.height(), 10), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3098 |
left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3099 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3100 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3101 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3102 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3103 |
if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3104 |
if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3105 |
else { $.each(o.alsoResize, function (exp) { _store(exp); }); } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3106 |
}else{ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3107 |
_store(o.alsoResize); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3108 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3109 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3110 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3111 |
resize: function (event, ui) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3112 |
var that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3113 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3114 |
os = that.originalSize, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3115 |
op = that.originalPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3116 |
delta = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3117 |
height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3118 |
top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3119 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3120 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3121 |
_alsoResize = function (exp, c) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3122 |
$(exp).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3123 |
var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3124 |
css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3125 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3126 |
$.each(css, function (i, prop) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3127 |
var sum = (start[prop]||0) + (delta[prop]||0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3128 |
if (sum && sum >= 0) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3129 |
style[prop] = sum || null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3130 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3131 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3132 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3133 |
el.css(style); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3134 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3135 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3136 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3137 |
if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3138 |
$.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3139 |
}else{ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3140 |
_alsoResize(o.alsoResize); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3141 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3142 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3143 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3144 |
stop: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3145 |
$(this).removeData("resizable-alsoresize"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3146 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3147 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3148 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3149 |
$.ui.plugin.add("resizable", "ghost", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3150 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3151 |
start: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3152 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3153 |
var that = $(this).data("ui-resizable"), o = that.options, cs = that.size; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3154 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3155 |
that.ghost = that.originalElement.clone(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3156 |
that.ghost |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3157 |
.css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 }) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3158 |
.addClass("ui-resizable-ghost") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3159 |
.addClass(typeof o.ghost === "string" ? o.ghost : ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3160 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3161 |
that.ghost.appendTo(that.helper); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3162 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3163 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3164 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3165 |
resize: function(){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3166 |
var that = $(this).data("ui-resizable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3167 |
if (that.ghost) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3168 |
that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3169 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3170 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3171 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3172 |
stop: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3173 |
var that = $(this).data("ui-resizable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3174 |
if (that.ghost && that.helper) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3175 |
that.helper.get(0).removeChild(that.ghost.get(0)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3176 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3177 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3178 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3179 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3180 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3181 |
$.ui.plugin.add("resizable", "grid", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3182 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3183 |
resize: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3184 |
var that = $(this).data("ui-resizable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3185 |
o = that.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3186 |
cs = that.size, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3187 |
os = that.originalSize, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3188 |
op = that.originalPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3189 |
a = that.axis, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3190 |
grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3191 |
gridX = (grid[0]||1), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3192 |
gridY = (grid[1]||1), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3193 |
ox = Math.round((cs.width - os.width) / gridX) * gridX, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3194 |
oy = Math.round((cs.height - os.height) / gridY) * gridY, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3195 |
newWidth = os.width + ox, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3196 |
newHeight = os.height + oy, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3197 |
isMaxWidth = o.maxWidth && (o.maxWidth < newWidth), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3198 |
isMaxHeight = o.maxHeight && (o.maxHeight < newHeight), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3199 |
isMinWidth = o.minWidth && (o.minWidth > newWidth), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3200 |
isMinHeight = o.minHeight && (o.minHeight > newHeight); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3201 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3202 |
o.grid = grid; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3203 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3204 |
if (isMinWidth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3205 |
newWidth = newWidth + gridX; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3206 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3207 |
if (isMinHeight) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3208 |
newHeight = newHeight + gridY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3209 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3210 |
if (isMaxWidth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3211 |
newWidth = newWidth - gridX; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3212 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3213 |
if (isMaxHeight) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3214 |
newHeight = newHeight - gridY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3215 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3216 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3217 |
if (/^(se|s|e)$/.test(a)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3218 |
that.size.width = newWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3219 |
that.size.height = newHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3220 |
} else if (/^(ne)$/.test(a)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3221 |
that.size.width = newWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3222 |
that.size.height = newHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3223 |
that.position.top = op.top - oy; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3224 |
} else if (/^(sw)$/.test(a)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3225 |
that.size.width = newWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3226 |
that.size.height = newHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3227 |
that.position.left = op.left - ox; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3228 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3229 |
that.size.width = newWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3230 |
that.size.height = newHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3231 |
that.position.top = op.top - oy; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3232 |
that.position.left = op.left - ox; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3233 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3234 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3235 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3236 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3237 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3238 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3239 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3240 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3241 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3242 |
$.widget("ui.selectable", $.ui.mouse, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3243 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3244 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3245 |
appendTo: "body", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3246 |
autoRefresh: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3247 |
distance: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3248 |
filter: "*", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3249 |
tolerance: "touch", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3250 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3251 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3252 |
selected: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3253 |
selecting: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3254 |
start: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3255 |
stop: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3256 |
unselected: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3257 |
unselecting: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3258 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3259 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3260 |
var selectees, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3261 |
that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3262 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3263 |
this.element.addClass("ui-selectable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3264 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3265 |
this.dragged = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3266 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3267 |
// cache selectee children based on filter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3268 |
this.refresh = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3269 |
selectees = $(that.options.filter, that.element[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3270 |
selectees.addClass("ui-selectee"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3271 |
selectees.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3272 |
var $this = $(this), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3273 |
pos = $this.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3274 |
$.data(this, "selectable-item", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3275 |
element: this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3276 |
$element: $this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3277 |
left: pos.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3278 |
top: pos.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3279 |
right: pos.left + $this.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3280 |
bottom: pos.top + $this.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3281 |
startselected: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3282 |
selected: $this.hasClass("ui-selected"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3283 |
selecting: $this.hasClass("ui-selecting"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3284 |
unselecting: $this.hasClass("ui-unselecting") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3285 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3286 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3287 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3288 |
this.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3289 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3290 |
this.selectees = selectees.addClass("ui-selectee"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3291 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3292 |
this._mouseInit(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3293 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3294 |
this.helper = $("<div class='ui-selectable-helper'></div>"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3295 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3296 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3297 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3298 |
this.selectees |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3299 |
.removeClass("ui-selectee") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3300 |
.removeData("selectable-item"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3301 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3302 |
.removeClass("ui-selectable ui-selectable-disabled"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3303 |
this._mouseDestroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3304 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3305 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3306 |
_mouseStart: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3307 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3308 |
options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3309 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3310 |
this.opos = [event.pageX, event.pageY]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3311 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3312 |
if (this.options.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3313 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3314 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3315 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3316 |
this.selectees = $(options.filter, this.element[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3317 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3318 |
this._trigger("start", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3319 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3320 |
$(options.appendTo).append(this.helper); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3321 |
// position helper (lasso) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3322 |
this.helper.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3323 |
"left": event.pageX, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3324 |
"top": event.pageY, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3325 |
"width": 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3326 |
"height": 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3327 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3328 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3329 |
if (options.autoRefresh) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3330 |
this.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3331 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3332 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3333 |
this.selectees.filter(".ui-selected").each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3334 |
var selectee = $.data(this, "selectable-item"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3335 |
selectee.startselected = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3336 |
if (!event.metaKey && !event.ctrlKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3337 |
selectee.$element.removeClass("ui-selected"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3338 |
selectee.selected = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3339 |
selectee.$element.addClass("ui-unselecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3340 |
selectee.unselecting = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3341 |
// selectable UNSELECTING callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3342 |
that._trigger("unselecting", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3343 |
unselecting: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3344 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3345 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3346 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3347 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3348 |
$(event.target).parents().addBack().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3349 |
var doSelect, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3350 |
selectee = $.data(this, "selectable-item"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3351 |
if (selectee) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3352 |
doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3353 |
selectee.$element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3354 |
.removeClass(doSelect ? "ui-unselecting" : "ui-selected") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3355 |
.addClass(doSelect ? "ui-selecting" : "ui-unselecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3356 |
selectee.unselecting = !doSelect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3357 |
selectee.selecting = doSelect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3358 |
selectee.selected = doSelect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3359 |
// selectable (UN)SELECTING callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3360 |
if (doSelect) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3361 |
that._trigger("selecting", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3362 |
selecting: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3363 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3364 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3365 |
that._trigger("unselecting", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3366 |
unselecting: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3367 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3368 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3369 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3370 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3371 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3372 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3373 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3374 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3375 |
_mouseDrag: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3376 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3377 |
this.dragged = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3378 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3379 |
if (this.options.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3380 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3381 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3382 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3383 |
var tmp, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3384 |
that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3385 |
options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3386 |
x1 = this.opos[0], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3387 |
y1 = this.opos[1], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3388 |
x2 = event.pageX, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3389 |
y2 = event.pageY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3390 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3391 |
if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3392 |
if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3393 |
this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3394 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3395 |
this.selectees.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3396 |
var selectee = $.data(this, "selectable-item"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3397 |
hit = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3398 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3399 |
//prevent helper from being selected if appendTo: selectable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3400 |
if (!selectee || selectee.element === that.element[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3401 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3402 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3403 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3404 |
if (options.tolerance === "touch") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3405 |
hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3406 |
} else if (options.tolerance === "fit") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3407 |
hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3408 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3409 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3410 |
if (hit) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3411 |
// SELECT |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3412 |
if (selectee.selected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3413 |
selectee.$element.removeClass("ui-selected"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3414 |
selectee.selected = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3415 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3416 |
if (selectee.unselecting) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3417 |
selectee.$element.removeClass("ui-unselecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3418 |
selectee.unselecting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3419 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3420 |
if (!selectee.selecting) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3421 |
selectee.$element.addClass("ui-selecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3422 |
selectee.selecting = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3423 |
// selectable SELECTING callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3424 |
that._trigger("selecting", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3425 |
selecting: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3426 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3427 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3428 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3429 |
// UNSELECT |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3430 |
if (selectee.selecting) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3431 |
if ((event.metaKey || event.ctrlKey) && selectee.startselected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3432 |
selectee.$element.removeClass("ui-selecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3433 |
selectee.selecting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3434 |
selectee.$element.addClass("ui-selected"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3435 |
selectee.selected = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3436 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3437 |
selectee.$element.removeClass("ui-selecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3438 |
selectee.selecting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3439 |
if (selectee.startselected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3440 |
selectee.$element.addClass("ui-unselecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3441 |
selectee.unselecting = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3442 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3443 |
// selectable UNSELECTING callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3444 |
that._trigger("unselecting", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3445 |
unselecting: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3446 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3447 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3448 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3449 |
if (selectee.selected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3450 |
if (!event.metaKey && !event.ctrlKey && !selectee.startselected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3451 |
selectee.$element.removeClass("ui-selected"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3452 |
selectee.selected = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3453 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3454 |
selectee.$element.addClass("ui-unselecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3455 |
selectee.unselecting = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3456 |
// selectable UNSELECTING callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3457 |
that._trigger("unselecting", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3458 |
unselecting: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3459 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3460 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3461 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3462 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3463 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3464 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3465 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3466 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3467 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3468 |
_mouseStop: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3469 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3470 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3471 |
this.dragged = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3472 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3473 |
$(".ui-unselecting", this.element[0]).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3474 |
var selectee = $.data(this, "selectable-item"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3475 |
selectee.$element.removeClass("ui-unselecting"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3476 |
selectee.unselecting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3477 |
selectee.startselected = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3478 |
that._trigger("unselected", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3479 |
unselected: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3480 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3481 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3482 |
$(".ui-selecting", this.element[0]).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3483 |
var selectee = $.data(this, "selectable-item"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3484 |
selectee.$element.removeClass("ui-selecting").addClass("ui-selected"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3485 |
selectee.selecting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3486 |
selectee.selected = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3487 |
selectee.startselected = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3488 |
that._trigger("selected", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3489 |
selected: selectee.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3490 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3491 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3492 |
this._trigger("stop", event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3493 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3494 |
this.helper.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3495 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3496 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3497 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3498 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3499 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3500 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3501 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3502 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3503 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3504 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3505 |
/*jshint loopfunc: true */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3506 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3507 |
function isOverAxis( x, reference, size ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3508 |
return ( x > reference ) && ( x < ( reference + size ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3509 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3510 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3511 |
function isFloating(item) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3512 |
return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3513 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3514 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3515 |
$.widget("ui.sortable", $.ui.mouse, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3516 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3517 |
widgetEventPrefix: "sort", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3518 |
ready: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3519 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3520 |
appendTo: "parent", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3521 |
axis: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3522 |
connectWith: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3523 |
containment: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3524 |
cursor: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3525 |
cursorAt: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3526 |
dropOnEmpty: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3527 |
forcePlaceholderSize: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3528 |
forceHelperSize: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3529 |
grid: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3530 |
handle: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3531 |
helper: "original", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3532 |
items: "> *", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3533 |
opacity: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3534 |
placeholder: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3535 |
revert: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3536 |
scroll: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3537 |
scrollSensitivity: 20, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3538 |
scrollSpeed: 20, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3539 |
scope: "default", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3540 |
tolerance: "intersect", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3541 |
zIndex: 1000, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3542 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3543 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3544 |
activate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3545 |
beforeStop: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3546 |
change: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3547 |
deactivate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3548 |
out: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3549 |
over: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3550 |
receive: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3551 |
remove: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3552 |
sort: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3553 |
start: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3554 |
stop: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3555 |
update: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3556 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3557 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3558 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3559 |
var o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3560 |
this.containerCache = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3561 |
this.element.addClass("ui-sortable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3562 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3563 |
//Get the items |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3564 |
this.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3565 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3566 |
//Let's determine if the items are being displayed horizontally |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3567 |
this.floating = this.items.length ? o.axis === "x" || isFloating(this.items[0].item) : false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3568 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3569 |
//Let's determine the parent's offset |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3570 |
this.offset = this.element.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3571 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3572 |
//Initialize mouse events for interaction |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3573 |
this._mouseInit(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3574 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3575 |
//We're ready to go |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3576 |
this.ready = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3577 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3578 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3579 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3580 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3581 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3582 |
.removeClass("ui-sortable ui-sortable-disabled"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3583 |
this._mouseDestroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3584 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3585 |
for ( var i = this.items.length - 1; i >= 0; i-- ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3586 |
this.items[i].item.removeData(this.widgetName + "-item"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3587 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3588 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3589 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3590 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3591 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3592 |
_setOption: function(key, value){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3593 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3594 |
this.options[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3595 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3596 |
this.widget().toggleClass( "ui-sortable-disabled", !!value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3597 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3598 |
// Don't call widget base _setOption for disable as it adds ui-state-disabled class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3599 |
$.Widget.prototype._setOption.apply(this, arguments); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3600 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3601 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3602 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3603 |
_mouseCapture: function(event, overrideHandle) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3604 |
var currentItem = null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3605 |
validHandle = false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3606 |
that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3607 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3608 |
if (this.reverting) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3609 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3610 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3611 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3612 |
if(this.options.disabled || this.options.type === "static") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3613 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3614 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3615 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3616 |
//We have to refresh the items data once first |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3617 |
this._refreshItems(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3618 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3619 |
//Find out if the clicked node (or one of its parents) is a actual item in this.items |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3620 |
$(event.target).parents().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3621 |
if($.data(this, that.widgetName + "-item") === that) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3622 |
currentItem = $(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3623 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3624 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3625 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3626 |
if($.data(event.target, that.widgetName + "-item") === that) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3627 |
currentItem = $(event.target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3628 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3629 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3630 |
if(!currentItem) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3631 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3632 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3633 |
if(this.options.handle && !overrideHandle) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3634 |
$(this.options.handle, currentItem).find("*").addBack().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3635 |
if(this === event.target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3636 |
validHandle = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3637 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3638 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3639 |
if(!validHandle) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3640 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3641 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3642 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3643 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3644 |
this.currentItem = currentItem; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3645 |
this._removeCurrentsFromItems(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3646 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3647 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3648 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3649 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3650 |
_mouseStart: function(event, overrideHandle, noActivation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3651 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3652 |
var i, body, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3653 |
o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3654 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3655 |
this.currentContainer = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3656 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3657 |
//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3658 |
this.refreshPositions(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3659 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3660 |
//Create and append the visible helper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3661 |
this.helper = this._createHelper(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3662 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3663 |
//Cache the helper size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3664 |
this._cacheHelperProportions(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3665 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3666 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3667 |
* - Position generation - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3668 |
* This block generates everything position related - it's the core of draggables. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3669 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3670 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3671 |
//Cache the margins of the original element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3672 |
this._cacheMargins(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3673 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3674 |
//Get the next scrolling parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3675 |
this.scrollParent = this.helper.scrollParent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3676 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3677 |
//The element's absolute position on the page minus margins |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3678 |
this.offset = this.currentItem.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3679 |
this.offset = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3680 |
top: this.offset.top - this.margins.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3681 |
left: this.offset.left - this.margins.left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3682 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3683 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3684 |
$.extend(this.offset, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3685 |
click: { //Where the click happened, relative to the element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3686 |
left: event.pageX - this.offset.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3687 |
top: event.pageY - this.offset.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3688 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3689 |
parent: this._getParentOffset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3690 |
relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3691 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3692 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3693 |
// Only after we got the offset, we can change the helper's position to absolute |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3694 |
// TODO: Still need to figure out a way to make relative sorting possible |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3695 |
this.helper.css("position", "absolute"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3696 |
this.cssPosition = this.helper.css("position"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3697 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3698 |
//Generate the original position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3699 |
this.originalPosition = this._generatePosition(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3700 |
this.originalPageX = event.pageX; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3701 |
this.originalPageY = event.pageY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3702 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3703 |
//Adjust the mouse offset relative to the helper if "cursorAt" is supplied |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3704 |
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3705 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3706 |
//Cache the former DOM position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3707 |
this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3708 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3709 |
//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3710 |
if(this.helper[0] !== this.currentItem[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3711 |
this.currentItem.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3712 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3713 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3714 |
//Create the placeholder |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3715 |
this._createPlaceholder(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3716 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3717 |
//Set a containment if given in the options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3718 |
if(o.containment) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3719 |
this._setContainment(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3720 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3721 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3722 |
if( o.cursor && o.cursor !== "auto" ) { // cursor option |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3723 |
body = this.document.find( "body" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3724 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3725 |
// support: IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3726 |
this.storedCursor = body.css( "cursor" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3727 |
body.css( "cursor", o.cursor ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3728 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3729 |
this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3730 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3731 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3732 |
if(o.opacity) { // opacity option |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3733 |
if (this.helper.css("opacity")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3734 |
this._storedOpacity = this.helper.css("opacity"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3735 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3736 |
this.helper.css("opacity", o.opacity); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3737 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3738 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3739 |
if(o.zIndex) { // zIndex option |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3740 |
if (this.helper.css("zIndex")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3741 |
this._storedZIndex = this.helper.css("zIndex"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3742 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3743 |
this.helper.css("zIndex", o.zIndex); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3744 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3745 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3746 |
//Prepare scrolling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3747 |
if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3748 |
this.overflowOffset = this.scrollParent.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3749 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3750 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3751 |
//Call callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3752 |
this._trigger("start", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3753 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3754 |
//Recache the helper size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3755 |
if(!this._preserveHelperProportions) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3756 |
this._cacheHelperProportions(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3757 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3758 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3759 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3760 |
//Post "activate" events to possible containers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3761 |
if( !noActivation ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3762 |
for ( i = this.containers.length - 1; i >= 0; i-- ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3763 |
this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3764 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3765 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3766 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3767 |
//Prepare possible droppables |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3768 |
if($.ui.ddmanager) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3769 |
$.ui.ddmanager.current = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3770 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3771 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3772 |
if ($.ui.ddmanager && !o.dropBehaviour) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3773 |
$.ui.ddmanager.prepareOffsets(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3774 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3775 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3776 |
this.dragging = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3777 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3778 |
this.helper.addClass("ui-sortable-helper"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3779 |
this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3780 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3781 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3782 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3783 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3784 |
_mouseDrag: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3785 |
var i, item, itemElement, intersection, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3786 |
o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3787 |
scrolled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3788 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3789 |
//Compute the helpers position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3790 |
this.position = this._generatePosition(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3791 |
this.positionAbs = this._convertPositionTo("absolute"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3792 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3793 |
if (!this.lastPositionAbs) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3794 |
this.lastPositionAbs = this.positionAbs; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3795 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3796 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3797 |
//Do scrolling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3798 |
if(this.options.scroll) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3799 |
if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3800 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3801 |
if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3802 |
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3803 |
} else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3804 |
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3805 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3806 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3807 |
if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3808 |
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3809 |
} else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3810 |
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3811 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3812 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3813 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3814 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3815 |
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3816 |
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3817 |
} else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3818 |
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3819 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3820 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3821 |
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3822 |
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3823 |
} else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3824 |
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3825 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3826 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3827 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3828 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3829 |
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3830 |
$.ui.ddmanager.prepareOffsets(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3831 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3832 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3833 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3834 |
//Regenerate the absolute position used for position checks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3835 |
this.positionAbs = this._convertPositionTo("absolute"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3836 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3837 |
//Set the helper position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3838 |
if(!this.options.axis || this.options.axis !== "y") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3839 |
this.helper[0].style.left = this.position.left+"px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3840 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3841 |
if(!this.options.axis || this.options.axis !== "x") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3842 |
this.helper[0].style.top = this.position.top+"px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3843 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3844 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3845 |
//Rearrange |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3846 |
for (i = this.items.length - 1; i >= 0; i--) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3847 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3848 |
//Cache variables and intersection, continue if no intersection |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3849 |
item = this.items[i]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3850 |
itemElement = item.item[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3851 |
intersection = this._intersectsWithPointer(item); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3852 |
if (!intersection) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3853 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3854 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3855 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3856 |
// Only put the placeholder inside the current Container, skip all |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3857 |
// items form other containers. This works because when moving |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3858 |
// an item from one container to another the |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3859 |
// currentContainer is switched before the placeholder is moved. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3860 |
// |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3861 |
// Without this moving items in "sub-sortables" can cause the placeholder to jitter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3862 |
// beetween the outer and inner container. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3863 |
if (item.instance !== this.currentContainer) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3864 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3865 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3866 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3867 |
// cannot intersect with itself |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3868 |
// no useless actions that have been done before |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3869 |
// no action if the item moved is the parent of the item checked |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3870 |
if (itemElement !== this.currentItem[0] && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3871 |
this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3872 |
!$.contains(this.placeholder[0], itemElement) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3873 |
(this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3874 |
) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3875 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3876 |
this.direction = intersection === 1 ? "down" : "up"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3877 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3878 |
if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3879 |
this._rearrange(event, item); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3880 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3881 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3882 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3883 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3884 |
this._trigger("change", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3885 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3886 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3887 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3888 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3889 |
//Post events to containers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3890 |
this._contactContainers(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3891 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3892 |
//Interconnect with droppables |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3893 |
if($.ui.ddmanager) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3894 |
$.ui.ddmanager.drag(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3895 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3896 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3897 |
//Call callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3898 |
this._trigger("sort", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3899 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3900 |
this.lastPositionAbs = this.positionAbs; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3901 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3902 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3903 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3904 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3905 |
_mouseStop: function(event, noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3906 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3907 |
if(!event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3908 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3909 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3910 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3911 |
//If we are using droppables, inform the manager about the drop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3912 |
if ($.ui.ddmanager && !this.options.dropBehaviour) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3913 |
$.ui.ddmanager.drop(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3914 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3915 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3916 |
if(this.options.revert) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3917 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3918 |
cur = this.placeholder.offset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3919 |
axis = this.options.axis, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3920 |
animation = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3921 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3922 |
if ( !axis || axis === "x" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3923 |
animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3924 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3925 |
if ( !axis || axis === "y" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3926 |
animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3927 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3928 |
this.reverting = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3929 |
$(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3930 |
that._clear(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3931 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3932 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3933 |
this._clear(event, noPropagation); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3934 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3935 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3936 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3937 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3938 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3939 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3940 |
cancel: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3941 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3942 |
if(this.dragging) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3943 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3944 |
this._mouseUp({ target: null }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3945 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3946 |
if(this.options.helper === "original") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3947 |
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3948 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3949 |
this.currentItem.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3950 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3951 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3952 |
//Post deactivating events to containers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3953 |
for (var i = this.containers.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3954 |
this.containers[i]._trigger("deactivate", null, this._uiHash(this)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3955 |
if(this.containers[i].containerCache.over) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3956 |
this.containers[i]._trigger("out", null, this._uiHash(this)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3957 |
this.containers[i].containerCache.over = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3958 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3959 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3960 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3961 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3962 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3963 |
if (this.placeholder) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3964 |
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3965 |
if(this.placeholder[0].parentNode) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3966 |
this.placeholder[0].parentNode.removeChild(this.placeholder[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3967 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3968 |
if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3969 |
this.helper.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3970 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3971 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3972 |
$.extend(this, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3973 |
helper: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3974 |
dragging: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3975 |
reverting: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3976 |
_noFinalSort: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3977 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3978 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3979 |
if(this.domPosition.prev) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3980 |
$(this.domPosition.prev).after(this.currentItem); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3981 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3982 |
$(this.domPosition.parent).prepend(this.currentItem); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3983 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3984 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3985 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3986 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3987 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3988 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3989 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3990 |
serialize: function(o) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3991 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3992 |
var items = this._getItemsAsjQuery(o && o.connected), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3993 |
str = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3994 |
o = o || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3995 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3996 |
$(items).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3997 |
var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3998 |
if (res) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
3999 |
str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4000 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4001 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4002 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4003 |
if(!str.length && o.key) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4004 |
str.push(o.key + "="); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4005 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4006 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4007 |
return str.join("&"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4008 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4009 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4010 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4011 |
toArray: function(o) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4012 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4013 |
var items = this._getItemsAsjQuery(o && o.connected), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4014 |
ret = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4015 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4016 |
o = o || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4017 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4018 |
items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4019 |
return ret; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4020 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4021 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4022 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4023 |
/* Be careful with the following core functions */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4024 |
_intersectsWith: function(item) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4025 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4026 |
var x1 = this.positionAbs.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4027 |
x2 = x1 + this.helperProportions.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4028 |
y1 = this.positionAbs.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4029 |
y2 = y1 + this.helperProportions.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4030 |
l = item.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4031 |
r = l + item.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4032 |
t = item.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4033 |
b = t + item.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4034 |
dyClick = this.offset.click.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4035 |
dxClick = this.offset.click.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4036 |
isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4037 |
isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4038 |
isOverElement = isOverElementHeight && isOverElementWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4039 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4040 |
if ( this.options.tolerance === "pointer" || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4041 |
this.options.forcePointerForContainers || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4042 |
(this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"]) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4043 |
) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4044 |
return isOverElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4045 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4046 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4047 |
return (l < x1 + (this.helperProportions.width / 2) && // Right Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4048 |
x2 - (this.helperProportions.width / 2) < r && // Left Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4049 |
t < y1 + (this.helperProportions.height / 2) && // Bottom Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4050 |
y2 - (this.helperProportions.height / 2) < b ); // Top Half |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4051 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4052 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4053 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4054 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4055 |
_intersectsWithPointer: function(item) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4056 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4057 |
var isOverElementHeight = (this.options.axis === "x") || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4058 |
isOverElementWidth = (this.options.axis === "y") || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4059 |
isOverElement = isOverElementHeight && isOverElementWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4060 |
verticalDirection = this._getDragVerticalDirection(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4061 |
horizontalDirection = this._getDragHorizontalDirection(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4062 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4063 |
if (!isOverElement) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4064 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4065 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4066 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4067 |
return this.floating ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4068 |
( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4069 |
: ( verticalDirection && (verticalDirection === "down" ? 2 : 1) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4070 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4071 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4072 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4073 |
_intersectsWithSides: function(item) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4074 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4075 |
var isOverBottomHalf = isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4076 |
isOverRightHalf = isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4077 |
verticalDirection = this._getDragVerticalDirection(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4078 |
horizontalDirection = this._getDragHorizontalDirection(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4079 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4080 |
if (this.floating && horizontalDirection) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4081 |
return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4082 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4083 |
return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4084 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4085 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4086 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4087 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4088 |
_getDragVerticalDirection: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4089 |
var delta = this.positionAbs.top - this.lastPositionAbs.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4090 |
return delta !== 0 && (delta > 0 ? "down" : "up"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4091 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4092 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4093 |
_getDragHorizontalDirection: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4094 |
var delta = this.positionAbs.left - this.lastPositionAbs.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4095 |
return delta !== 0 && (delta > 0 ? "right" : "left"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4096 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4097 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4098 |
refresh: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4099 |
this._refreshItems(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4100 |
this.refreshPositions(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4101 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4102 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4103 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4104 |
_connectWith: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4105 |
var options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4106 |
return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4107 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4108 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4109 |
_getItemsAsjQuery: function(connected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4110 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4111 |
var i, j, cur, inst, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4112 |
items = [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4113 |
queries = [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4114 |
connectWith = this._connectWith(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4115 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4116 |
if(connectWith && connected) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4117 |
for (i = connectWith.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4118 |
cur = $(connectWith[i]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4119 |
for ( j = cur.length - 1; j >= 0; j--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4120 |
inst = $.data(cur[j], this.widgetFullName); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4121 |
if(inst && inst !== this && !inst.options.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4122 |
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4123 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4124 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4125 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4126 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4127 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4128 |
queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4129 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4130 |
for (i = queries.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4131 |
queries[i][0].each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4132 |
items.push(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4133 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4134 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4135 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4136 |
return $(items); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4137 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4138 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4139 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4140 |
_removeCurrentsFromItems: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4141 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4142 |
var list = this.currentItem.find(":data(" + this.widgetName + "-item)"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4143 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4144 |
this.items = $.grep(this.items, function (item) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4145 |
for (var j=0; j < list.length; j++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4146 |
if(list[j] === item.item[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4147 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4148 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4149 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4150 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4151 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4152 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4153 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4154 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4155 |
_refreshItems: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4156 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4157 |
this.items = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4158 |
this.containers = [this]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4159 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4160 |
var i, j, cur, inst, targetData, _queries, item, queriesLength, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4161 |
items = this.items, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4162 |
queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4163 |
connectWith = this._connectWith(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4164 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4165 |
if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4166 |
for (i = connectWith.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4167 |
cur = $(connectWith[i]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4168 |
for (j = cur.length - 1; j >= 0; j--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4169 |
inst = $.data(cur[j], this.widgetFullName); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4170 |
if(inst && inst !== this && !inst.options.disabled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4171 |
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4172 |
this.containers.push(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4173 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4174 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4175 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4176 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4177 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4178 |
for (i = queries.length - 1; i >= 0; i--) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4179 |
targetData = queries[i][1]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4180 |
_queries = queries[i][0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4181 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4182 |
for (j=0, queriesLength = _queries.length; j < queriesLength; j++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4183 |
item = $(_queries[j]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4184 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4185 |
item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4186 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4187 |
items.push({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4188 |
item: item, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4189 |
instance: targetData, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4190 |
width: 0, height: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4191 |
left: 0, top: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4192 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4193 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4194 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4195 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4196 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4197 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4198 |
refreshPositions: function(fast) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4199 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4200 |
//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4201 |
if(this.offsetParent && this.helper) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4202 |
this.offset.parent = this._getParentOffset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4203 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4204 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4205 |
var i, item, t, p; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4206 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4207 |
for (i = this.items.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4208 |
item = this.items[i]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4209 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4210 |
//We ignore calculating positions of all connected containers when we're not over them |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4211 |
if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4212 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4213 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4214 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4215 |
t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4216 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4217 |
if (!fast) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4218 |
item.width = t.outerWidth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4219 |
item.height = t.outerHeight(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4220 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4221 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4222 |
p = t.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4223 |
item.left = p.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4224 |
item.top = p.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4225 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4226 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4227 |
if(this.options.custom && this.options.custom.refreshContainers) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4228 |
this.options.custom.refreshContainers.call(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4229 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4230 |
for (i = this.containers.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4231 |
p = this.containers[i].element.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4232 |
this.containers[i].containerCache.left = p.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4233 |
this.containers[i].containerCache.top = p.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4234 |
this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4235 |
this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4236 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4237 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4238 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4239 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4240 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4241 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4242 |
_createPlaceholder: function(that) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4243 |
that = that || this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4244 |
var className, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4245 |
o = that.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4246 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4247 |
if(!o.placeholder || o.placeholder.constructor === String) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4248 |
className = o.placeholder; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4249 |
o.placeholder = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4250 |
element: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4251 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4252 |
var nodeName = that.currentItem[0].nodeName.toLowerCase(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4253 |
element = $( "<" + nodeName + ">", that.document[0] ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4254 |
.addClass(className || that.currentItem[0].className+" ui-sortable-placeholder") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4255 |
.removeClass("ui-sortable-helper"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4256 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4257 |
if ( nodeName === "tr" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4258 |
that.currentItem.children().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4259 |
$( "<td> </td>", that.document[0] ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4260 |
.attr( "colspan", $( this ).attr( "colspan" ) || 1 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4261 |
.appendTo( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4262 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4263 |
} else if ( nodeName === "img" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4264 |
element.attr( "src", that.currentItem.attr( "src" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4265 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4266 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4267 |
if ( !className ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4268 |
element.css( "visibility", "hidden" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4269 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4270 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4271 |
return element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4272 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4273 |
update: function(container, p) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4274 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4275 |
// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4276 |
// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4277 |
if(className && !o.forcePlaceholderSize) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4278 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4279 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4280 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4281 |
//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4282 |
if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4283 |
if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4284 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4285 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4286 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4287 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4288 |
//Create the placeholder |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4289 |
that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4290 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4291 |
//Append it after the actual current item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4292 |
that.currentItem.after(that.placeholder); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4293 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4294 |
//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4295 |
o.placeholder.update(that, that.placeholder); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4296 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4297 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4298 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4299 |
_contactContainers: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4300 |
var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, base, cur, nearBottom, floating, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4301 |
innermostContainer = null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4302 |
innermostIndex = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4303 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4304 |
// get innermost container that intersects with item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4305 |
for (i = this.containers.length - 1; i >= 0; i--) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4306 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4307 |
// never consider a container that's located within the item itself |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4308 |
if($.contains(this.currentItem[0], this.containers[i].element[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4309 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4310 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4311 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4312 |
if(this._intersectsWith(this.containers[i].containerCache)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4313 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4314 |
// if we've already found a container and it's more "inner" than this, then continue |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4315 |
if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4316 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4317 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4318 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4319 |
innermostContainer = this.containers[i]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4320 |
innermostIndex = i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4321 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4322 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4323 |
// container doesn't intersect. trigger "out" event if necessary |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4324 |
if(this.containers[i].containerCache.over) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4325 |
this.containers[i]._trigger("out", event, this._uiHash(this)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4326 |
this.containers[i].containerCache.over = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4327 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4328 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4329 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4330 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4331 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4332 |
// if no intersecting containers found, return |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4333 |
if(!innermostContainer) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4334 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4335 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4336 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4337 |
// move the item into the container if it's not there already |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4338 |
if(this.containers.length === 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4339 |
if (!this.containers[innermostIndex].containerCache.over) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4340 |
this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4341 |
this.containers[innermostIndex].containerCache.over = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4342 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4343 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4344 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4345 |
//When entering a new container, we will find the item with the least distance and append our item near it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4346 |
dist = 10000; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4347 |
itemWithLeastDistance = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4348 |
floating = innermostContainer.floating || isFloating(this.currentItem); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4349 |
posProperty = floating ? "left" : "top"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4350 |
sizeProperty = floating ? "width" : "height"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4351 |
base = this.positionAbs[posProperty] + this.offset.click[posProperty]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4352 |
for (j = this.items.length - 1; j >= 0; j--) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4353 |
if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4354 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4355 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4356 |
if(this.items[j].item[0] === this.currentItem[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4357 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4358 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4359 |
if (floating && !isOverAxis(this.positionAbs.top + this.offset.click.top, this.items[j].top, this.items[j].height)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4360 |
continue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4361 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4362 |
cur = this.items[j].item.offset()[posProperty]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4363 |
nearBottom = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4364 |
if(Math.abs(cur - base) > Math.abs(cur + this.items[j][sizeProperty] - base)){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4365 |
nearBottom = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4366 |
cur += this.items[j][sizeProperty]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4367 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4368 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4369 |
if(Math.abs(cur - base) < dist) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4370 |
dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4371 |
this.direction = nearBottom ? "up": "down"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4372 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4373 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4374 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4375 |
//Check if dropOnEmpty is enabled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4376 |
if(!itemWithLeastDistance && !this.options.dropOnEmpty) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4377 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4378 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4379 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4380 |
if(this.currentContainer === this.containers[innermostIndex]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4381 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4382 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4383 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4384 |
itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4385 |
this._trigger("change", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4386 |
this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4387 |
this.currentContainer = this.containers[innermostIndex]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4388 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4389 |
//Update the placeholder |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4390 |
this.options.placeholder.update(this.currentContainer, this.placeholder); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4391 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4392 |
this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4393 |
this.containers[innermostIndex].containerCache.over = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4394 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4395 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4396 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4397 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4398 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4399 |
_createHelper: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4400 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4401 |
var o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4402 |
helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4403 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4404 |
//Add the helper to the DOM if that didn't happen already |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4405 |
if(!helper.parents("body").length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4406 |
$(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4407 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4408 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4409 |
if(helper[0] === this.currentItem[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4410 |
this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4411 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4412 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4413 |
if(!helper[0].style.width || o.forceHelperSize) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4414 |
helper.width(this.currentItem.width()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4415 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4416 |
if(!helper[0].style.height || o.forceHelperSize) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4417 |
helper.height(this.currentItem.height()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4418 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4419 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4420 |
return helper; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4421 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4422 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4423 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4424 |
_adjustOffsetFromHelper: function(obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4425 |
if (typeof obj === "string") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4426 |
obj = obj.split(" "); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4427 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4428 |
if ($.isArray(obj)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4429 |
obj = {left: +obj[0], top: +obj[1] || 0}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4430 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4431 |
if ("left" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4432 |
this.offset.click.left = obj.left + this.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4433 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4434 |
if ("right" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4435 |
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4436 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4437 |
if ("top" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4438 |
this.offset.click.top = obj.top + this.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4439 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4440 |
if ("bottom" in obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4441 |
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4442 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4443 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4444 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4445 |
_getParentOffset: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4446 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4447 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4448 |
//Get the offsetParent and cache its position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4449 |
this.offsetParent = this.helper.offsetParent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4450 |
var po = this.offsetParent.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4451 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4452 |
// This is a special case where we need to modify a offset calculated on start, since the following happened: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4453 |
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4454 |
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4455 |
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4456 |
if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4457 |
po.left += this.scrollParent.scrollLeft(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4458 |
po.top += this.scrollParent.scrollTop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4459 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4460 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4461 |
// This needs to be actually done for all browsers, since pageX/pageY includes this information |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4462 |
// with an ugly IE fix |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4463 |
if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4464 |
po = { top: 0, left: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4465 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4466 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4467 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4468 |
top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4469 |
left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4470 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4471 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4472 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4473 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4474 |
_getRelativeOffset: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4475 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4476 |
if(this.cssPosition === "relative") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4477 |
var p = this.currentItem.position(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4478 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4479 |
top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4480 |
left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4481 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4482 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4483 |
return { top: 0, left: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4484 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4485 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4486 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4487 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4488 |
_cacheMargins: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4489 |
this.margins = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4490 |
left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4491 |
top: (parseInt(this.currentItem.css("marginTop"),10) || 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4492 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4493 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4494 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4495 |
_cacheHelperProportions: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4496 |
this.helperProportions = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4497 |
width: this.helper.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4498 |
height: this.helper.outerHeight() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4499 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4500 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4501 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4502 |
_setContainment: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4503 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4504 |
var ce, co, over, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4505 |
o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4506 |
if(o.containment === "parent") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4507 |
o.containment = this.helper[0].parentNode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4508 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4509 |
if(o.containment === "document" || o.containment === "window") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4510 |
this.containment = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4511 |
0 - this.offset.relative.left - this.offset.parent.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4512 |
0 - this.offset.relative.top - this.offset.parent.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4513 |
$(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4514 |
($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4515 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4516 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4517 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4518 |
if(!(/^(document|window|parent)$/).test(o.containment)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4519 |
ce = $(o.containment)[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4520 |
co = $(o.containment).offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4521 |
over = ($(ce).css("overflow") !== "hidden"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4522 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4523 |
this.containment = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4524 |
co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4525 |
co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4526 |
co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4527 |
co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4528 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4529 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4530 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4531 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4532 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4533 |
_convertPositionTo: function(d, pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4534 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4535 |
if(!pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4536 |
pos = this.position; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4537 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4538 |
var mod = d === "absolute" ? 1 : -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4539 |
scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4540 |
scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4541 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4542 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4543 |
top: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4544 |
pos.top + // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4545 |
this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4546 |
this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4547 |
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4548 |
), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4549 |
left: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4550 |
pos.left + // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4551 |
this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4552 |
this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4553 |
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4554 |
) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4555 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4556 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4557 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4558 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4559 |
_generatePosition: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4560 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4561 |
var top, left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4562 |
o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4563 |
pageX = event.pageX, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4564 |
pageY = event.pageY, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4565 |
scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4566 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4567 |
// This is another very weird special case that only happens for relative elements: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4568 |
// 1. If the css position is relative |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4569 |
// 2. and the scroll parent is the document or similar to the offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4570 |
// we have to refresh the relative offset during the scroll so there are no jumps |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4571 |
if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4572 |
this.offset.relative = this._getRelativeOffset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4573 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4574 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4575 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4576 |
* - Position constraining - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4577 |
* Constrain the position to a mix of grid, containment. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4578 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4579 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4580 |
if(this.originalPosition) { //If we are not dragging yet, we won't check for options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4581 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4582 |
if(this.containment) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4583 |
if(event.pageX - this.offset.click.left < this.containment[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4584 |
pageX = this.containment[0] + this.offset.click.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4585 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4586 |
if(event.pageY - this.offset.click.top < this.containment[1]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4587 |
pageY = this.containment[1] + this.offset.click.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4588 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4589 |
if(event.pageX - this.offset.click.left > this.containment[2]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4590 |
pageX = this.containment[2] + this.offset.click.left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4591 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4592 |
if(event.pageY - this.offset.click.top > this.containment[3]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4593 |
pageY = this.containment[3] + this.offset.click.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4594 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4595 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4596 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4597 |
if(o.grid) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4598 |
top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4599 |
pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4600 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4601 |
left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4602 |
pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4603 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4604 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4605 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4606 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4607 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4608 |
top: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4609 |
pageY - // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4610 |
this.offset.click.top - // Click offset (relative to the element) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4611 |
this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4612 |
this.offset.parent.top + // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4613 |
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4614 |
), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4615 |
left: ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4616 |
pageX - // The absolute mouse position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4617 |
this.offset.click.left - // Click offset (relative to the element) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4618 |
this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4619 |
this.offset.parent.left + // The offsetParent's offset without borders (offset + border) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4620 |
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4621 |
) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4622 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4623 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4624 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4625 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4626 |
_rearrange: function(event, i, a, hardRefresh) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4627 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4628 |
a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4629 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4630 |
//Various things done here to improve the performance: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4631 |
// 1. we create a setTimeout, that calls refreshPositions |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4632 |
// 2. on the instance, we have a counter variable, that get's higher after every append |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4633 |
// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4634 |
// 4. this lets only the last addition to the timeout stack through |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4635 |
this.counter = this.counter ? ++this.counter : 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4636 |
var counter = this.counter; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4637 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4638 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4639 |
if(counter === this.counter) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4640 |
this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4641 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4642 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4643 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4644 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4645 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4646 |
_clear: function(event, noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4647 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4648 |
this.reverting = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4649 |
// We delay all events that have to be triggered to after the point where the placeholder has been removed and |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4650 |
// everything else normalized again |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4651 |
var i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4652 |
delayedTriggers = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4653 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4654 |
// We first have to update the dom position of the actual currentItem |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4655 |
// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4656 |
if(!this._noFinalSort && this.currentItem.parent().length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4657 |
this.placeholder.before(this.currentItem); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4658 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4659 |
this._noFinalSort = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4660 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4661 |
if(this.helper[0] === this.currentItem[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4662 |
for(i in this._storedCSS) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4663 |
if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4664 |
this._storedCSS[i] = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4665 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4666 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4667 |
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4668 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4669 |
this.currentItem.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4670 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4671 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4672 |
if(this.fromOutside && !noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4673 |
delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4674 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4675 |
if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4676 |
delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4677 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4678 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4679 |
// Check if the items Container has Changed and trigger appropriate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4680 |
// events. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4681 |
if (this !== this.currentContainer) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4682 |
if(!noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4683 |
delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4684 |
delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4685 |
delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4686 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4687 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4688 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4689 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4690 |
//Post events to containers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4691 |
for (i = this.containers.length - 1; i >= 0; i--){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4692 |
if(!noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4693 |
delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4694 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4695 |
if(this.containers[i].containerCache.over) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4696 |
delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i])); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4697 |
this.containers[i].containerCache.over = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4698 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4699 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4700 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4701 |
//Do what was originally in plugins |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4702 |
if ( this.storedCursor ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4703 |
this.document.find( "body" ).css( "cursor", this.storedCursor ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4704 |
this.storedStylesheet.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4705 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4706 |
if(this._storedOpacity) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4707 |
this.helper.css("opacity", this._storedOpacity); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4708 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4709 |
if(this._storedZIndex) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4710 |
this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4711 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4712 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4713 |
this.dragging = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4714 |
if(this.cancelHelperRemoval) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4715 |
if(!noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4716 |
this._trigger("beforeStop", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4717 |
for (i=0; i < delayedTriggers.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4718 |
delayedTriggers[i].call(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4719 |
} //Trigger all delayed events |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4720 |
this._trigger("stop", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4721 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4722 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4723 |
this.fromOutside = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4724 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4725 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4726 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4727 |
if(!noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4728 |
this._trigger("beforeStop", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4729 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4730 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4731 |
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4732 |
this.placeholder[0].parentNode.removeChild(this.placeholder[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4733 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4734 |
if(this.helper[0] !== this.currentItem[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4735 |
this.helper.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4736 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4737 |
this.helper = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4738 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4739 |
if(!noPropagation) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4740 |
for (i=0; i < delayedTriggers.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4741 |
delayedTriggers[i].call(this, event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4742 |
} //Trigger all delayed events |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4743 |
this._trigger("stop", event, this._uiHash()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4744 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4745 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4746 |
this.fromOutside = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4747 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4748 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4749 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4750 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4751 |
_trigger: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4752 |
if ($.Widget.prototype._trigger.apply(this, arguments) === false) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4753 |
this.cancel(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4754 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4755 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4756 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4757 |
_uiHash: function(_inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4758 |
var inst = _inst || this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4759 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4760 |
helper: inst.helper, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4761 |
placeholder: inst.placeholder || $([]), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4762 |
position: inst.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4763 |
originalPosition: inst.originalPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4764 |
offset: inst.positionAbs, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4765 |
item: inst.currentItem, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4766 |
sender: _inst ? _inst.element : null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4767 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4768 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4769 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4770 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4771 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4772 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4773 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4774 |
(function($, undefined) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4775 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4776 |
var dataSpace = "ui-effects-"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4777 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4778 |
$.effects = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4779 |
effect: {} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4780 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4781 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4782 |
/*! |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4783 |
* jQuery Color Animations v2.1.2 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4784 |
* https://github.com/jquery/jquery-color |
4373
972143183ea3
new jquery based widgets for Time/Date/DateTime, backported from crm
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
4785 |
* |
9388
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4786 |
* Copyright 2013 jQuery Foundation and other contributors |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4787 |
* Released under the MIT license. |
6448
8590d82e9b1b
[javascript] update to jQuery 1.4.2 and jQuery-ui 1.8.5
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5767
diff
changeset
|
4788 |
* http://jquery.org/license |
4373
972143183ea3
new jquery based widgets for Time/Date/DateTime, backported from crm
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
4789 |
* |
9388
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4790 |
* Date: Wed Jan 16 08:47:09 2013 -0600 |
4373
972143183ea3
new jquery based widgets for Time/Date/DateTime, backported from crm
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
4791 |
*/ |
9388
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4792 |
(function( jQuery, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4793 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4794 |
var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4795 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4796 |
// plusequals test for += 100 -= 100 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4797 |
rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4798 |
// a set of RE's that can match strings and generate color tuples. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4799 |
stringParsers = [{ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4800 |
re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4801 |
parse: function( execResult ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4802 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4803 |
execResult[ 1 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4804 |
execResult[ 2 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4805 |
execResult[ 3 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4806 |
execResult[ 4 ] |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4807 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4808 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4809 |
}, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4810 |
re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4811 |
parse: function( execResult ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4812 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4813 |
execResult[ 1 ] * 2.55, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4814 |
execResult[ 2 ] * 2.55, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4815 |
execResult[ 3 ] * 2.55, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4816 |
execResult[ 4 ] |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4817 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4818 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4819 |
}, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4820 |
// this regex ignores A-F because it's compared against an already lowercased string |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4821 |
re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4822 |
parse: function( execResult ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4823 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4824 |
parseInt( execResult[ 1 ], 16 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4825 |
parseInt( execResult[ 2 ], 16 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4826 |
parseInt( execResult[ 3 ], 16 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4827 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4828 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4829 |
}, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4830 |
// this regex ignores A-F because it's compared against an already lowercased string |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4831 |
re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4832 |
parse: function( execResult ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4833 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4834 |
parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4835 |
parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4836 |
parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4837 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4838 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4839 |
}, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4840 |
re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4841 |
space: "hsla", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4842 |
parse: function( execResult ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4843 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4844 |
execResult[ 1 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4845 |
execResult[ 2 ] / 100, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4846 |
execResult[ 3 ] / 100, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4847 |
execResult[ 4 ] |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4848 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4849 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4850 |
}], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4851 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4852 |
// jQuery.Color( ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4853 |
color = jQuery.Color = function( color, green, blue, alpha ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4854 |
return new jQuery.Color.fn.parse( color, green, blue, alpha ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4855 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4856 |
spaces = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4857 |
rgba: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4858 |
props: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4859 |
red: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4860 |
idx: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4861 |
type: "byte" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4862 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4863 |
green: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4864 |
idx: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4865 |
type: "byte" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4866 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4867 |
blue: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4868 |
idx: 2, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4869 |
type: "byte" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4870 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4871 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4872 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4873 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4874 |
hsla: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4875 |
props: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4876 |
hue: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4877 |
idx: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4878 |
type: "degrees" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4879 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4880 |
saturation: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4881 |
idx: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4882 |
type: "percent" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4883 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4884 |
lightness: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4885 |
idx: 2, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4886 |
type: "percent" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4887 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4888 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4889 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4890 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4891 |
propTypes = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4892 |
"byte": { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4893 |
floor: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4894 |
max: 255 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4895 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4896 |
"percent": { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4897 |
max: 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4898 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4899 |
"degrees": { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4900 |
mod: 360, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4901 |
floor: true |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4902 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4903 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4904 |
support = color.support = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4905 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4906 |
// element for support tests |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4907 |
supportElem = jQuery( "<p>" )[ 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4908 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4909 |
// colors = jQuery.Color.names |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4910 |
colors, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4911 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4912 |
// local aliases of functions called often |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4913 |
each = jQuery.each; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4914 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4915 |
// determine rgba support immediately |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4916 |
supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4917 |
support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4918 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4919 |
// define cache name and alpha properties |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4920 |
// for rgba and hsla spaces |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4921 |
each( spaces, function( spaceName, space ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4922 |
space.cache = "_" + spaceName; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4923 |
space.props.alpha = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4924 |
idx: 3, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4925 |
type: "percent", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4926 |
def: 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4927 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4928 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4929 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4930 |
function clamp( value, prop, allowEmpty ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4931 |
var type = propTypes[ prop.type ] || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4932 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4933 |
if ( value == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4934 |
return (allowEmpty || !prop.def) ? null : prop.def; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4935 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4936 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4937 |
// ~~ is an short way of doing floor for positive numbers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4938 |
value = type.floor ? ~~value : parseFloat( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4939 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4940 |
// IE will pass in empty strings as value for alpha, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4941 |
// which will hit this case |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4942 |
if ( isNaN( value ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4943 |
return prop.def; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4944 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4945 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4946 |
if ( type.mod ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4947 |
// we add mod before modding to make sure that negatives values |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4948 |
// get converted properly: -10 -> 350 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4949 |
return (value + type.mod) % type.mod; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4950 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4951 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4952 |
// for now all property types without mod have min and max |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4953 |
return 0 > value ? 0 : type.max < value ? type.max : value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4954 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4955 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4956 |
function stringParse( string ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4957 |
var inst = color(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4958 |
rgba = inst._rgba = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4959 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4960 |
string = string.toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4961 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4962 |
each( stringParsers, function( i, parser ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4963 |
var parsed, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4964 |
match = parser.re.exec( string ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4965 |
values = match && parser.parse( match ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4966 |
spaceName = parser.space || "rgba"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4967 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4968 |
if ( values ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4969 |
parsed = inst[ spaceName ]( values ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4970 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4971 |
// if this was an rgba parse the assignment might happen twice |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4972 |
// oh well.... |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4973 |
inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4974 |
rgba = inst._rgba = parsed._rgba; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4975 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4976 |
// exit each( stringParsers ) here because we matched |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4977 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4978 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4979 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4980 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4981 |
// Found a stringParser that handled it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4982 |
if ( rgba.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4983 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4984 |
// if this came from a parsed string, force "transparent" when alpha is 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4985 |
// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4986 |
if ( rgba.join() === "0,0,0,0" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4987 |
jQuery.extend( rgba, colors.transparent ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4988 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4989 |
return inst; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4990 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4991 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4992 |
// named colors |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4993 |
return colors[ string ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4994 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4995 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4996 |
color.fn = jQuery.extend( color.prototype, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4997 |
parse: function( red, green, blue, alpha ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4998 |
if ( red === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
4999 |
this._rgba = [ null, null, null, null ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5000 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5001 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5002 |
if ( red.jquery || red.nodeType ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5003 |
red = jQuery( red ).css( green ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5004 |
green = undefined; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5005 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5006 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5007 |
var inst = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5008 |
type = jQuery.type( red ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5009 |
rgba = this._rgba = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5010 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5011 |
// more than 1 argument specified - assume ( red, green, blue, alpha ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5012 |
if ( green !== undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5013 |
red = [ red, green, blue, alpha ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5014 |
type = "array"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5015 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5016 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5017 |
if ( type === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5018 |
return this.parse( stringParse( red ) || colors._default ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5019 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5020 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5021 |
if ( type === "array" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5022 |
each( spaces.rgba.props, function( key, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5023 |
rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5024 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5025 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5026 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5027 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5028 |
if ( type === "object" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5029 |
if ( red instanceof color ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5030 |
each( spaces, function( spaceName, space ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5031 |
if ( red[ space.cache ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5032 |
inst[ space.cache ] = red[ space.cache ].slice(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5033 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5034 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5035 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5036 |
each( spaces, function( spaceName, space ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5037 |
var cache = space.cache; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5038 |
each( space.props, function( key, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5039 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5040 |
// if the cache doesn't exist, and we know how to convert |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5041 |
if ( !inst[ cache ] && space.to ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5042 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5043 |
// if the value was null, we don't need to copy it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5044 |
// if the key was alpha, we don't need to copy it either |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5045 |
if ( key === "alpha" || red[ key ] == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5046 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5047 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5048 |
inst[ cache ] = space.to( inst._rgba ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5049 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5050 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5051 |
// this is the only case where we allow nulls for ALL properties. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5052 |
// call clamp with alwaysAllowEmpty |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5053 |
inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5054 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5055 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5056 |
// everything defined but alpha? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5057 |
if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5058 |
// use the default of 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5059 |
inst[ cache ][ 3 ] = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5060 |
if ( space.from ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5061 |
inst._rgba = space.from( inst[ cache ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5062 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5063 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5064 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5065 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5066 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5067 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5068 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5069 |
is: function( compare ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5070 |
var is = color( compare ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5071 |
same = true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5072 |
inst = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5073 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5074 |
each( spaces, function( _, space ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5075 |
var localCache, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5076 |
isCache = is[ space.cache ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5077 |
if (isCache) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5078 |
localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5079 |
each( space.props, function( _, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5080 |
if ( isCache[ prop.idx ] != null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5081 |
same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5082 |
return same; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5083 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5084 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5085 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5086 |
return same; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5087 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5088 |
return same; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5089 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5090 |
_space: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5091 |
var used = [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5092 |
inst = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5093 |
each( spaces, function( spaceName, space ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5094 |
if ( inst[ space.cache ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5095 |
used.push( spaceName ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5096 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5097 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5098 |
return used.pop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5099 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5100 |
transition: function( other, distance ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5101 |
var end = color( other ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5102 |
spaceName = end._space(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5103 |
space = spaces[ spaceName ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5104 |
startColor = this.alpha() === 0 ? color( "transparent" ) : this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5105 |
start = startColor[ space.cache ] || space.to( startColor._rgba ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5106 |
result = start.slice(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5107 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5108 |
end = end[ space.cache ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5109 |
each( space.props, function( key, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5110 |
var index = prop.idx, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5111 |
startValue = start[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5112 |
endValue = end[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5113 |
type = propTypes[ prop.type ] || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5114 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5115 |
// if null, don't override start value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5116 |
if ( endValue === null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5117 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5118 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5119 |
// if null - use end |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5120 |
if ( startValue === null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5121 |
result[ index ] = endValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5122 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5123 |
if ( type.mod ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5124 |
if ( endValue - startValue > type.mod / 2 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5125 |
startValue += type.mod; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5126 |
} else if ( startValue - endValue > type.mod / 2 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5127 |
startValue -= type.mod; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5128 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5129 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5130 |
result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5131 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5132 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5133 |
return this[ spaceName ]( result ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5134 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5135 |
blend: function( opaque ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5136 |
// if we are already opaque - return ourself |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5137 |
if ( this._rgba[ 3 ] === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5138 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5139 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5140 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5141 |
var rgb = this._rgba.slice(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5142 |
a = rgb.pop(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5143 |
blend = color( opaque )._rgba; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5144 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5145 |
return color( jQuery.map( rgb, function( v, i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5146 |
return ( 1 - a ) * blend[ i ] + a * v; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5147 |
})); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5148 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5149 |
toRgbaString: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5150 |
var prefix = "rgba(", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5151 |
rgba = jQuery.map( this._rgba, function( v, i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5152 |
return v == null ? ( i > 2 ? 1 : 0 ) : v; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5153 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5154 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5155 |
if ( rgba[ 3 ] === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5156 |
rgba.pop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5157 |
prefix = "rgb("; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5158 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5159 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5160 |
return prefix + rgba.join() + ")"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5161 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5162 |
toHslaString: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5163 |
var prefix = "hsla(", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5164 |
hsla = jQuery.map( this.hsla(), function( v, i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5165 |
if ( v == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5166 |
v = i > 2 ? 1 : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5167 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5168 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5169 |
// catch 1 and 2 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5170 |
if ( i && i < 3 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5171 |
v = Math.round( v * 100 ) + "%"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5172 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5173 |
return v; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5174 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5175 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5176 |
if ( hsla[ 3 ] === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5177 |
hsla.pop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5178 |
prefix = "hsl("; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5179 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5180 |
return prefix + hsla.join() + ")"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5181 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5182 |
toHexString: function( includeAlpha ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5183 |
var rgba = this._rgba.slice(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5184 |
alpha = rgba.pop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5185 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5186 |
if ( includeAlpha ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5187 |
rgba.push( ~~( alpha * 255 ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5188 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5189 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5190 |
return "#" + jQuery.map( rgba, function( v ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5191 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5192 |
// default to 0 when nulls exist |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5193 |
v = ( v || 0 ).toString( 16 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5194 |
return v.length === 1 ? "0" + v : v; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5195 |
}).join(""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5196 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5197 |
toString: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5198 |
return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5199 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5200 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5201 |
color.fn.parse.prototype = color.fn; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5202 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5203 |
// hsla conversions adapted from: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5204 |
// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5205 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5206 |
function hue2rgb( p, q, h ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5207 |
h = ( h + 1 ) % 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5208 |
if ( h * 6 < 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5209 |
return p + (q - p) * h * 6; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5210 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5211 |
if ( h * 2 < 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5212 |
return q; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5213 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5214 |
if ( h * 3 < 2 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5215 |
return p + (q - p) * ((2/3) - h) * 6; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5216 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5217 |
return p; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5218 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5219 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5220 |
spaces.hsla.to = function ( rgba ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5221 |
if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5222 |
return [ null, null, null, rgba[ 3 ] ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5223 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5224 |
var r = rgba[ 0 ] / 255, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5225 |
g = rgba[ 1 ] / 255, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5226 |
b = rgba[ 2 ] / 255, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5227 |
a = rgba[ 3 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5228 |
max = Math.max( r, g, b ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5229 |
min = Math.min( r, g, b ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5230 |
diff = max - min, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5231 |
add = max + min, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5232 |
l = add * 0.5, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5233 |
h, s; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5234 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5235 |
if ( min === max ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5236 |
h = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5237 |
} else if ( r === max ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5238 |
h = ( 60 * ( g - b ) / diff ) + 360; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5239 |
} else if ( g === max ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5240 |
h = ( 60 * ( b - r ) / diff ) + 120; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5241 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5242 |
h = ( 60 * ( r - g ) / diff ) + 240; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5243 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5244 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5245 |
// chroma (diff) == 0 means greyscale which, by definition, saturation = 0% |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5246 |
// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5247 |
if ( diff === 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5248 |
s = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5249 |
} else if ( l <= 0.5 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5250 |
s = diff / add; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5251 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5252 |
s = diff / ( 2 - add ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5253 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5254 |
return [ Math.round(h) % 360, s, l, a == null ? 1 : a ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5255 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5256 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5257 |
spaces.hsla.from = function ( hsla ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5258 |
if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5259 |
return [ null, null, null, hsla[ 3 ] ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5260 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5261 |
var h = hsla[ 0 ] / 360, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5262 |
s = hsla[ 1 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5263 |
l = hsla[ 2 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5264 |
a = hsla[ 3 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5265 |
q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5266 |
p = 2 * l - q; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5267 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5268 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5269 |
Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5270 |
Math.round( hue2rgb( p, q, h ) * 255 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5271 |
Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5272 |
a |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5273 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5274 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5275 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5276 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5277 |
each( spaces, function( spaceName, space ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5278 |
var props = space.props, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5279 |
cache = space.cache, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5280 |
to = space.to, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5281 |
from = space.from; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5282 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5283 |
// makes rgba() and hsla() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5284 |
color.fn[ spaceName ] = function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5285 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5286 |
// generate a cache for this space if it doesn't exist |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5287 |
if ( to && !this[ cache ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5288 |
this[ cache ] = to( this._rgba ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5289 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5290 |
if ( value === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5291 |
return this[ cache ].slice(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5292 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5293 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5294 |
var ret, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5295 |
type = jQuery.type( value ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5296 |
arr = ( type === "array" || type === "object" ) ? value : arguments, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5297 |
local = this[ cache ].slice(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5298 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5299 |
each( props, function( key, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5300 |
var val = arr[ type === "object" ? key : prop.idx ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5301 |
if ( val == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5302 |
val = local[ prop.idx ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5303 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5304 |
local[ prop.idx ] = clamp( val, prop ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5305 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5306 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5307 |
if ( from ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5308 |
ret = color( from( local ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5309 |
ret[ cache ] = local; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5310 |
return ret; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5311 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5312 |
return color( local ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5313 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5314 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5315 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5316 |
// makes red() green() blue() alpha() hue() saturation() lightness() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5317 |
each( props, function( key, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5318 |
// alpha is included in more than one space |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5319 |
if ( color.fn[ key ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5320 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5321 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5322 |
color.fn[ key ] = function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5323 |
var vtype = jQuery.type( value ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5324 |
fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5325 |
local = this[ fn ](), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5326 |
cur = local[ prop.idx ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5327 |
match; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5328 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5329 |
if ( vtype === "undefined" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5330 |
return cur; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5331 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5332 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5333 |
if ( vtype === "function" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5334 |
value = value.call( this, cur ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5335 |
vtype = jQuery.type( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5336 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5337 |
if ( value == null && prop.empty ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5338 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5339 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5340 |
if ( vtype === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5341 |
match = rplusequals.exec( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5342 |
if ( match ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5343 |
value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5344 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5345 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5346 |
local[ prop.idx ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5347 |
return this[ fn ]( local ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5348 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5349 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5350 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5351 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5352 |
// add cssHook and .fx.step function for each named hook. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5353 |
// accept a space separated string of properties |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5354 |
color.hook = function( hook ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5355 |
var hooks = hook.split( " " ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5356 |
each( hooks, function( i, hook ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5357 |
jQuery.cssHooks[ hook ] = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5358 |
set: function( elem, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5359 |
var parsed, curElem, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5360 |
backgroundColor = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5361 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5362 |
if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5363 |
value = color( parsed || value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5364 |
if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5365 |
curElem = hook === "backgroundColor" ? elem.parentNode : elem; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5366 |
while ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5367 |
(backgroundColor === "" || backgroundColor === "transparent") && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5368 |
curElem && curElem.style |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5369 |
) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5370 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5371 |
backgroundColor = jQuery.css( curElem, "backgroundColor" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5372 |
curElem = curElem.parentNode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5373 |
} catch ( e ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5374 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5375 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5376 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5377 |
value = value.blend( backgroundColor && backgroundColor !== "transparent" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5378 |
backgroundColor : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5379 |
"_default" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5380 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5381 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5382 |
value = value.toRgbaString(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5383 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5384 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5385 |
elem.style[ hook ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5386 |
} catch( e ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5387 |
// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5388 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5389 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5390 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5391 |
jQuery.fx.step[ hook ] = function( fx ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5392 |
if ( !fx.colorInit ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5393 |
fx.start = color( fx.elem, hook ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5394 |
fx.end = color( fx.end ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5395 |
fx.colorInit = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5396 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5397 |
jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5398 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5399 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5400 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5401 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5402 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5403 |
color.hook( stepHooks ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5404 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5405 |
jQuery.cssHooks.borderColor = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5406 |
expand: function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5407 |
var expanded = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5408 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5409 |
each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5410 |
expanded[ "border" + part + "Color" ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5411 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5412 |
return expanded; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5413 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5414 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5415 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5416 |
// Basic color names only. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5417 |
// Usage of any of the other color names requires adding yourself or including |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5418 |
// jquery.color.svg-names.js. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5419 |
colors = jQuery.Color.names = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5420 |
// 4.1. Basic color keywords |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5421 |
aqua: "#00ffff", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5422 |
black: "#000000", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5423 |
blue: "#0000ff", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5424 |
fuchsia: "#ff00ff", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5425 |
gray: "#808080", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5426 |
green: "#008000", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5427 |
lime: "#00ff00", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5428 |
maroon: "#800000", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5429 |
navy: "#000080", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5430 |
olive: "#808000", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5431 |
purple: "#800080", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5432 |
red: "#ff0000", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5433 |
silver: "#c0c0c0", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5434 |
teal: "#008080", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5435 |
white: "#ffffff", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5436 |
yellow: "#ffff00", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5437 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5438 |
// 4.2.3. "transparent" color keyword |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5439 |
transparent: [ null, null, null, 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5440 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5441 |
_default: "#ffffff" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5442 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5443 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5444 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5445 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5446 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5447 |
/******************************************************************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5448 |
/****************************** CLASS ANIMATIONS ******************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5449 |
/******************************************************************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5450 |
(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5451 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5452 |
var classAnimationActions = [ "add", "remove", "toggle" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5453 |
shorthandStyles = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5454 |
border: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5455 |
borderBottom: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5456 |
borderColor: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5457 |
borderLeft: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5458 |
borderRight: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5459 |
borderTop: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5460 |
borderWidth: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5461 |
margin: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5462 |
padding: 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5463 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5464 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5465 |
$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5466 |
$.fx.step[ prop ] = function( fx ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5467 |
if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5468 |
jQuery.style( fx.elem, prop, fx.end ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5469 |
fx.setAttr = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5470 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5471 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5472 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5473 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5474 |
function getElementStyles( elem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5475 |
var key, len, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5476 |
style = elem.ownerDocument.defaultView ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5477 |
elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5478 |
elem.currentStyle, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5479 |
styles = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5480 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5481 |
if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5482 |
len = style.length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5483 |
while ( len-- ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5484 |
key = style[ len ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5485 |
if ( typeof style[ key ] === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5486 |
styles[ $.camelCase( key ) ] = style[ key ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5487 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5488 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5489 |
// support: Opera, IE <9 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5490 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5491 |
for ( key in style ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5492 |
if ( typeof style[ key ] === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5493 |
styles[ key ] = style[ key ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5494 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5495 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5496 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5497 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5498 |
return styles; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5499 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5500 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5501 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5502 |
function styleDifference( oldStyle, newStyle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5503 |
var diff = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5504 |
name, value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5505 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5506 |
for ( name in newStyle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5507 |
value = newStyle[ name ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5508 |
if ( oldStyle[ name ] !== value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5509 |
if ( !shorthandStyles[ name ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5510 |
if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5511 |
diff[ name ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5512 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5513 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5514 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5515 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5516 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5517 |
return diff; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5518 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5519 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5520 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5521 |
if ( !$.fn.addBack ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5522 |
$.fn.addBack = function( selector ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5523 |
return this.add( selector == null ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5524 |
this.prevObject : this.prevObject.filter( selector ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5525 |
); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5526 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5527 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5528 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5529 |
$.effects.animateClass = function( value, duration, easing, callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5530 |
var o = $.speed( duration, easing, callback ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5531 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5532 |
return this.queue( function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5533 |
var animated = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5534 |
baseClass = animated.attr( "class" ) || "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5535 |
applyClassChange, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5536 |
allAnimations = o.children ? animated.find( "*" ).addBack() : animated; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5537 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5538 |
// map the animated objects to store the original styles. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5539 |
allAnimations = allAnimations.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5540 |
var el = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5541 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5542 |
el: el, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5543 |
start: getElementStyles( this ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5544 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5545 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5546 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5547 |
// apply class change |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5548 |
applyClassChange = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5549 |
$.each( classAnimationActions, function(i, action) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5550 |
if ( value[ action ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5551 |
animated[ action + "Class" ]( value[ action ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5552 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5553 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5554 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5555 |
applyClassChange(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5556 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5557 |
// map all animated objects again - calculate new styles and diff |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5558 |
allAnimations = allAnimations.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5559 |
this.end = getElementStyles( this.el[ 0 ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5560 |
this.diff = styleDifference( this.start, this.end ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5561 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5562 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5563 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5564 |
// apply original class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5565 |
animated.attr( "class", baseClass ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5566 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5567 |
// map all animated objects again - this time collecting a promise |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5568 |
allAnimations = allAnimations.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5569 |
var styleInfo = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5570 |
dfd = $.Deferred(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5571 |
opts = $.extend({}, o, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5572 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5573 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5574 |
dfd.resolve( styleInfo ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5575 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5576 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5577 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5578 |
this.el.animate( this.diff, opts ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5579 |
return dfd.promise(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5580 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5581 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5582 |
// once all animations have completed: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5583 |
$.when.apply( $, allAnimations.get() ).done(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5584 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5585 |
// set the final class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5586 |
applyClassChange(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5587 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5588 |
// for each animated element, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5589 |
// clear all css properties that were animated |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5590 |
$.each( arguments, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5591 |
var el = this.el; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5592 |
$.each( this.diff, function(key) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5593 |
el.css( key, "" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5594 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5595 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5596 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5597 |
// this is guarnteed to be there if you use jQuery.speed() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5598 |
// it also handles dequeuing the next anim... |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5599 |
o.complete.call( animated[ 0 ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5600 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5601 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5602 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5603 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5604 |
$.fn.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5605 |
addClass: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5606 |
return function( classNames, speed, easing, callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5607 |
return speed ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5608 |
$.effects.animateClass.call( this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5609 |
{ add: classNames }, speed, easing, callback ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5610 |
orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5611 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5612 |
})( $.fn.addClass ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5613 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5614 |
removeClass: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5615 |
return function( classNames, speed, easing, callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5616 |
return arguments.length > 1 ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5617 |
$.effects.animateClass.call( this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5618 |
{ remove: classNames }, speed, easing, callback ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5619 |
orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5620 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5621 |
})( $.fn.removeClass ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5622 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5623 |
toggleClass: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5624 |
return function( classNames, force, speed, easing, callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5625 |
if ( typeof force === "boolean" || force === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5626 |
if ( !speed ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5627 |
// without speed parameter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5628 |
return orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5629 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5630 |
return $.effects.animateClass.call( this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5631 |
(force ? { add: classNames } : { remove: classNames }), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5632 |
speed, easing, callback ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5633 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5634 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5635 |
// without force parameter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5636 |
return $.effects.animateClass.call( this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5637 |
{ toggle: classNames }, force, speed, easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5638 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5639 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5640 |
})( $.fn.toggleClass ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5641 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5642 |
switchClass: function( remove, add, speed, easing, callback) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5643 |
return $.effects.animateClass.call( this, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5644 |
add: add, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5645 |
remove: remove |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5646 |
}, speed, easing, callback ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5647 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5648 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5649 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5650 |
})(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5651 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5652 |
/******************************************************************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5653 |
/*********************************** EFFECTS **********************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5654 |
/******************************************************************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5655 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5656 |
(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5657 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5658 |
$.extend( $.effects, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5659 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5660 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5661 |
// Saves a set of properties in a data storage |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5662 |
save: function( element, set ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5663 |
for( var i=0; i < set.length; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5664 |
if ( set[ i ] !== null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5665 |
element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5666 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5667 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5668 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5669 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5670 |
// Restores a set of previously saved properties from a data storage |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5671 |
restore: function( element, set ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5672 |
var val, i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5673 |
for( i=0; i < set.length; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5674 |
if ( set[ i ] !== null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5675 |
val = element.data( dataSpace + set[ i ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5676 |
// support: jQuery 1.6.2 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5677 |
// http://bugs.jquery.com/ticket/9917 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5678 |
// jQuery 1.6.2 incorrectly returns undefined for any falsy value. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5679 |
// We can't differentiate between "" and 0 here, so we just assume |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5680 |
// empty string since it's likely to be a more common value... |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5681 |
if ( val === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5682 |
val = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5683 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5684 |
element.css( set[ i ], val ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5685 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5686 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5687 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5688 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5689 |
setMode: function( el, mode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5690 |
if (mode === "toggle") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5691 |
mode = el.is( ":hidden" ) ? "show" : "hide"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5692 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5693 |
return mode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5694 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5695 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5696 |
// Translates a [top,left] array into a baseline value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5697 |
// this should be a little more flexible in the future to handle a string & hash |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5698 |
getBaseline: function( origin, original ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5699 |
var y, x; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5700 |
switch ( origin[ 0 ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5701 |
case "top": y = 0; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5702 |
case "middle": y = 0.5; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5703 |
case "bottom": y = 1; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5704 |
default: y = origin[ 0 ] / original.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5705 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5706 |
switch ( origin[ 1 ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5707 |
case "left": x = 0; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5708 |
case "center": x = 0.5; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5709 |
case "right": x = 1; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5710 |
default: x = origin[ 1 ] / original.width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5711 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5712 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5713 |
x: x, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5714 |
y: y |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5715 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5716 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5717 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5718 |
// Wraps the element around a wrapper that copies position properties |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5719 |
createWrapper: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5720 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5721 |
// if the element is already wrapped, return it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5722 |
if ( element.parent().is( ".ui-effects-wrapper" )) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5723 |
return element.parent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5724 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5725 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5726 |
// wrap the element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5727 |
var props = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5728 |
width: element.outerWidth(true), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5729 |
height: element.outerHeight(true), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5730 |
"float": element.css( "float" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5731 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5732 |
wrapper = $( "<div></div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5733 |
.addClass( "ui-effects-wrapper" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5734 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5735 |
fontSize: "100%", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5736 |
background: "transparent", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5737 |
border: "none", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5738 |
margin: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5739 |
padding: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5740 |
}), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5741 |
// Store the size in case width/height are defined in % - Fixes #5245 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5742 |
size = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5743 |
width: element.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5744 |
height: element.height() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5745 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5746 |
active = document.activeElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5747 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5748 |
// support: Firefox |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5749 |
// Firefox incorrectly exposes anonymous content |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5750 |
// https://bugzilla.mozilla.org/show_bug.cgi?id=561664 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5751 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5752 |
active.id; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5753 |
} catch( e ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5754 |
active = document.body; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5755 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5756 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5757 |
element.wrap( wrapper ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5758 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5759 |
// Fixes #7595 - Elements lose focus when wrapped. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5760 |
if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5761 |
$( active ).focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5762 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5763 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5764 |
wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5765 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5766 |
// transfer positioning properties to the wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5767 |
if ( element.css( "position" ) === "static" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5768 |
wrapper.css({ position: "relative" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5769 |
element.css({ position: "relative" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5770 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5771 |
$.extend( props, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5772 |
position: element.css( "position" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5773 |
zIndex: element.css( "z-index" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5774 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5775 |
$.each([ "top", "left", "bottom", "right" ], function(i, pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5776 |
props[ pos ] = element.css( pos ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5777 |
if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5778 |
props[ pos ] = "auto"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5779 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5780 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5781 |
element.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5782 |
position: "relative", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5783 |
top: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5784 |
left: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5785 |
right: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5786 |
bottom: "auto" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5787 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5788 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5789 |
element.css(size); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5790 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5791 |
return wrapper.css( props ).show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5792 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5793 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5794 |
removeWrapper: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5795 |
var active = document.activeElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5796 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5797 |
if ( element.parent().is( ".ui-effects-wrapper" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5798 |
element.parent().replaceWith( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5799 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5800 |
// Fixes #7595 - Elements lose focus when wrapped. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5801 |
if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5802 |
$( active ).focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5803 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5804 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5805 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5806 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5807 |
return element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5808 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5809 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5810 |
setTransition: function( element, list, factor, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5811 |
value = value || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5812 |
$.each( list, function( i, x ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5813 |
var unit = element.cssUnit( x ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5814 |
if ( unit[ 0 ] > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5815 |
value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5816 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5817 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5818 |
return value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5819 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5820 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5821 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5822 |
// return an effect options object for the given parameters: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5823 |
function _normalizeArguments( effect, options, speed, callback ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5824 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5825 |
// allow passing all options as the first parameter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5826 |
if ( $.isPlainObject( effect ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5827 |
options = effect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5828 |
effect = effect.effect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5829 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5830 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5831 |
// convert to an object |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5832 |
effect = { effect: effect }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5833 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5834 |
// catch (effect, null, ...) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5835 |
if ( options == null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5836 |
options = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5837 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5838 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5839 |
// catch (effect, callback) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5840 |
if ( $.isFunction( options ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5841 |
callback = options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5842 |
speed = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5843 |
options = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5844 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5845 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5846 |
// catch (effect, speed, ?) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5847 |
if ( typeof options === "number" || $.fx.speeds[ options ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5848 |
callback = speed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5849 |
speed = options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5850 |
options = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5851 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5852 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5853 |
// catch (effect, options, callback) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5854 |
if ( $.isFunction( speed ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5855 |
callback = speed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5856 |
speed = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5857 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5858 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5859 |
// add options to effect |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5860 |
if ( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5861 |
$.extend( effect, options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5862 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5863 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5864 |
speed = speed || options.duration; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5865 |
effect.duration = $.fx.off ? 0 : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5866 |
typeof speed === "number" ? speed : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5867 |
speed in $.fx.speeds ? $.fx.speeds[ speed ] : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5868 |
$.fx.speeds._default; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5869 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5870 |
effect.complete = callback || options.complete; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5871 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5872 |
return effect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5873 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5874 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5875 |
function standardAnimationOption( option ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5876 |
// Valid standard speeds (nothing, number, named speed) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5877 |
if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5878 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5879 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5880 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5881 |
// Invalid strings - treat as "normal" speed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5882 |
if ( typeof option === "string" && !$.effects.effect[ option ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5883 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5884 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5885 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5886 |
// Complete callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5887 |
if ( $.isFunction( option ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5888 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5889 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5890 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5891 |
// Options hash (but not naming an effect) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5892 |
if ( typeof option === "object" && !option.effect ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5893 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5894 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5895 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5896 |
// Didn't match any standard API |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5897 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5898 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5899 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5900 |
$.fn.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5901 |
effect: function( /* effect, options, speed, callback */ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5902 |
var args = _normalizeArguments.apply( this, arguments ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5903 |
mode = args.mode, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5904 |
queue = args.queue, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5905 |
effectMethod = $.effects.effect[ args.effect ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5906 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5907 |
if ( $.fx.off || !effectMethod ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5908 |
// delegate to the original method (e.g., .show()) if possible |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5909 |
if ( mode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5910 |
return this[ mode ]( args.duration, args.complete ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5911 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5912 |
return this.each( function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5913 |
if ( args.complete ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5914 |
args.complete.call( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5915 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5916 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5917 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5918 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5919 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5920 |
function run( next ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5921 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5922 |
complete = args.complete, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5923 |
mode = args.mode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5924 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5925 |
function done() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5926 |
if ( $.isFunction( complete ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5927 |
complete.call( elem[0] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5928 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5929 |
if ( $.isFunction( next ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5930 |
next(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5931 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5932 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5933 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5934 |
// If the element already has the correct final state, delegate to |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5935 |
// the core methods so the internal tracking of "olddisplay" works. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5936 |
if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5937 |
elem[ mode ](); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5938 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5939 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5940 |
effectMethod.call( elem[0], args, done ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5941 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5942 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5943 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5944 |
return queue === false ? this.each( run ) : this.queue( queue || "fx", run ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5945 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5946 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5947 |
show: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5948 |
return function( option ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5949 |
if ( standardAnimationOption( option ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5950 |
return orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5951 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5952 |
var args = _normalizeArguments.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5953 |
args.mode = "show"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5954 |
return this.effect.call( this, args ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5955 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5956 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5957 |
})( $.fn.show ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5958 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5959 |
hide: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5960 |
return function( option ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5961 |
if ( standardAnimationOption( option ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5962 |
return orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5963 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5964 |
var args = _normalizeArguments.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5965 |
args.mode = "hide"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5966 |
return this.effect.call( this, args ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5967 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5968 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5969 |
})( $.fn.hide ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5970 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5971 |
toggle: (function( orig ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5972 |
return function( option ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5973 |
if ( standardAnimationOption( option ) || typeof option === "boolean" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5974 |
return orig.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5975 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5976 |
var args = _normalizeArguments.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5977 |
args.mode = "toggle"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5978 |
return this.effect.call( this, args ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5979 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5980 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5981 |
})( $.fn.toggle ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5982 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5983 |
// helper functions |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5984 |
cssUnit: function(key) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5985 |
var style = this.css( key ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5986 |
val = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5987 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5988 |
$.each( [ "em", "px", "%", "pt" ], function( i, unit ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5989 |
if ( style.indexOf( unit ) > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5990 |
val = [ parseFloat( style ), unit ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5991 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5992 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5993 |
return val; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5994 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5995 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5996 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5997 |
})(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5998 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
5999 |
/******************************************************************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6000 |
/*********************************** EASING ***********************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6001 |
/******************************************************************************/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6002 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6003 |
(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6004 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6005 |
// based on easing equations from Robert Penner (http://www.robertpenner.com/easing) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6006 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6007 |
var baseEasings = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6008 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6009 |
$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6010 |
baseEasings[ name ] = function( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6011 |
return Math.pow( p, i + 2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6012 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6013 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6014 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6015 |
$.extend( baseEasings, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6016 |
Sine: function ( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6017 |
return 1 - Math.cos( p * Math.PI / 2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6018 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6019 |
Circ: function ( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6020 |
return 1 - Math.sqrt( 1 - p * p ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6021 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6022 |
Elastic: function( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6023 |
return p === 0 || p === 1 ? p : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6024 |
-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6025 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6026 |
Back: function( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6027 |
return p * p * ( 3 * p - 2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6028 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6029 |
Bounce: function ( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6030 |
var pow2, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6031 |
bounce = 4; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6032 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6033 |
while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6034 |
return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6035 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6036 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6037 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6038 |
$.each( baseEasings, function( name, easeIn ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6039 |
$.easing[ "easeIn" + name ] = easeIn; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6040 |
$.easing[ "easeOut" + name ] = function( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6041 |
return 1 - easeIn( 1 - p ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6042 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6043 |
$.easing[ "easeInOut" + name ] = function( p ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6044 |
return p < 0.5 ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6045 |
easeIn( p * 2 ) / 2 : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6046 |
1 - easeIn( p * -2 + 2 ) / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6047 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6048 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6049 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6050 |
})(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6051 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6052 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6053 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6054 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6055 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6056 |
var uid = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6057 |
hideProps = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6058 |
showProps = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6059 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6060 |
hideProps.height = hideProps.paddingTop = hideProps.paddingBottom = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6061 |
hideProps.borderTopWidth = hideProps.borderBottomWidth = "hide"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6062 |
showProps.height = showProps.paddingTop = showProps.paddingBottom = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6063 |
showProps.borderTopWidth = showProps.borderBottomWidth = "show"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6064 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6065 |
$.widget( "ui.accordion", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6066 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6067 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6068 |
active: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6069 |
animate: {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6070 |
collapsible: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6071 |
event: "click", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6072 |
header: "> li > :first-child,> :not(li):even", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6073 |
heightStyle: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6074 |
icons: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6075 |
activeHeader: "ui-icon-triangle-1-s", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6076 |
header: "ui-icon-triangle-1-e" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6077 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6078 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6079 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6080 |
activate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6081 |
beforeActivate: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6082 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6083 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6084 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6085 |
var options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6086 |
this.prevShow = this.prevHide = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6087 |
this.element.addClass( "ui-accordion ui-widget ui-helper-reset" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6088 |
// ARIA |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6089 |
.attr( "role", "tablist" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6090 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6091 |
// don't allow collapsible: false and active: false / null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6092 |
if ( !options.collapsible && (options.active === false || options.active == null) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6093 |
options.active = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6094 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6095 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6096 |
this._processPanels(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6097 |
// handle negative values |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6098 |
if ( options.active < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6099 |
options.active += this.headers.length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6100 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6101 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6102 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6103 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6104 |
_getCreateEventData: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6105 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6106 |
header: this.active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6107 |
panel: !this.active.length ? $() : this.active.next(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6108 |
content: !this.active.length ? $() : this.active.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6109 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6110 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6111 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6112 |
_createIcons: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6113 |
var icons = this.options.icons; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6114 |
if ( icons ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6115 |
$( "<span>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6116 |
.addClass( "ui-accordion-header-icon ui-icon " + icons.header ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6117 |
.prependTo( this.headers ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6118 |
this.active.children( ".ui-accordion-header-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6119 |
.removeClass( icons.header ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6120 |
.addClass( icons.activeHeader ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6121 |
this.headers.addClass( "ui-accordion-icons" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6122 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6123 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6124 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6125 |
_destroyIcons: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6126 |
this.headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6127 |
.removeClass( "ui-accordion-icons" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6128 |
.children( ".ui-accordion-header-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6129 |
.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6130 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6131 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6132 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6133 |
var contents; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6134 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6135 |
// clean up main element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6136 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6137 |
.removeClass( "ui-accordion ui-widget ui-helper-reset" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6138 |
.removeAttr( "role" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6139 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6140 |
// clean up headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6141 |
this.headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6142 |
.removeClass( "ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6143 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6144 |
.removeAttr( "aria-selected" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6145 |
.removeAttr( "aria-controls" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6146 |
.removeAttr( "tabIndex" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6147 |
.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6148 |
if ( /^ui-accordion/.test( this.id ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6149 |
this.removeAttribute( "id" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6150 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6151 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6152 |
this._destroyIcons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6153 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6154 |
// clean up content panels |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6155 |
contents = this.headers.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6156 |
.css( "display", "" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6157 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6158 |
.removeAttr( "aria-expanded" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6159 |
.removeAttr( "aria-hidden" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6160 |
.removeAttr( "aria-labelledby" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6161 |
.removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6162 |
.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6163 |
if ( /^ui-accordion/.test( this.id ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6164 |
this.removeAttribute( "id" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6165 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6166 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6167 |
if ( this.options.heightStyle !== "content" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6168 |
contents.css( "height", "" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6169 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6170 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6171 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6172 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6173 |
if ( key === "active" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6174 |
// _activate() will handle invalid values and update this.options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6175 |
this._activate( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6176 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6177 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6178 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6179 |
if ( key === "event" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6180 |
if ( this.options.event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6181 |
this._off( this.headers, this.options.event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6182 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6183 |
this._setupEvents( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6184 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6185 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6186 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6187 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6188 |
// setting collapsible: false while collapsed; open first panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6189 |
if ( key === "collapsible" && !value && this.options.active === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6190 |
this._activate( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6191 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6192 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6193 |
if ( key === "icons" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6194 |
this._destroyIcons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6195 |
if ( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6196 |
this._createIcons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6197 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6198 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6199 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6200 |
// #5332 - opacity doesn't cascade to positioned elements in IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6201 |
// so we need to add the disabled class to the headers and panels |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6202 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6203 |
this.headers.add( this.headers.next() ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6204 |
.toggleClass( "ui-state-disabled", !!value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6205 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6206 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6207 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6208 |
_keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6209 |
/*jshint maxcomplexity:15*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6210 |
if ( event.altKey || event.ctrlKey ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6211 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6212 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6213 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6214 |
var keyCode = $.ui.keyCode, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6215 |
length = this.headers.length, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6216 |
currentIndex = this.headers.index( event.target ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6217 |
toFocus = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6218 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6219 |
switch ( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6220 |
case keyCode.RIGHT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6221 |
case keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6222 |
toFocus = this.headers[ ( currentIndex + 1 ) % length ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6223 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6224 |
case keyCode.LEFT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6225 |
case keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6226 |
toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6227 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6228 |
case keyCode.SPACE: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6229 |
case keyCode.ENTER: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6230 |
this._eventHandler( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6231 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6232 |
case keyCode.HOME: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6233 |
toFocus = this.headers[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6234 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6235 |
case keyCode.END: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6236 |
toFocus = this.headers[ length - 1 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6237 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6238 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6239 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6240 |
if ( toFocus ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6241 |
$( event.target ).attr( "tabIndex", -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6242 |
$( toFocus ).attr( "tabIndex", 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6243 |
toFocus.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6244 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6245 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6246 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6247 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6248 |
_panelKeyDown : function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6249 |
if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6250 |
$( event.currentTarget ).prev().focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6251 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6252 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6253 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6254 |
refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6255 |
var options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6256 |
this._processPanels(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6257 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6258 |
// was collapsed or no panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6259 |
if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6260 |
options.active = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6261 |
this.active = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6262 |
// active false only when collapsible is true |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6263 |
} else if ( options.active === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6264 |
this._activate( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6265 |
// was active, but active panel is gone |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6266 |
} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6267 |
// all remaining panel are disabled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6268 |
if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6269 |
options.active = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6270 |
this.active = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6271 |
// activate previous panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6272 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6273 |
this._activate( Math.max( 0, options.active - 1 ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6274 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6275 |
// was active, active panel still exists |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6276 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6277 |
// make sure active index is correct |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6278 |
options.active = this.headers.index( this.active ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6279 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6280 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6281 |
this._destroyIcons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6282 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6283 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6284 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6285 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6286 |
_processPanels: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6287 |
this.headers = this.element.find( this.options.header ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6288 |
.addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6289 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6290 |
this.headers.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6291 |
.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6292 |
.filter(":not(.ui-accordion-content-active)") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6293 |
.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6294 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6295 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6296 |
_refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6297 |
var maxHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6298 |
options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6299 |
heightStyle = options.heightStyle, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6300 |
parent = this.element.parent(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6301 |
accordionId = this.accordionId = "ui-accordion-" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6302 |
(this.element.attr( "id" ) || ++uid); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6303 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6304 |
this.active = this._findActive( options.active ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6305 |
.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6306 |
.removeClass( "ui-corner-all" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6307 |
this.active.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6308 |
.addClass( "ui-accordion-content-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6309 |
.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6310 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6311 |
this.headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6312 |
.attr( "role", "tab" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6313 |
.each(function( i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6314 |
var header = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6315 |
headerId = header.attr( "id" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6316 |
panel = header.next(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6317 |
panelId = panel.attr( "id" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6318 |
if ( !headerId ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6319 |
headerId = accordionId + "-header-" + i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6320 |
header.attr( "id", headerId ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6321 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6322 |
if ( !panelId ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6323 |
panelId = accordionId + "-panel-" + i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6324 |
panel.attr( "id", panelId ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6325 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6326 |
header.attr( "aria-controls", panelId ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6327 |
panel.attr( "aria-labelledby", headerId ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6328 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6329 |
.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6330 |
.attr( "role", "tabpanel" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6331 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6332 |
this.headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6333 |
.not( this.active ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6334 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6335 |
"aria-selected": "false", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6336 |
tabIndex: -1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6337 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6338 |
.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6339 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6340 |
"aria-expanded": "false", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6341 |
"aria-hidden": "true" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6342 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6343 |
.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6344 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6345 |
// make sure at least one header is in the tab order |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6346 |
if ( !this.active.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6347 |
this.headers.eq( 0 ).attr( "tabIndex", 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6348 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6349 |
this.active.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6350 |
"aria-selected": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6351 |
tabIndex: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6352 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6353 |
.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6354 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6355 |
"aria-expanded": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6356 |
"aria-hidden": "false" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6357 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6358 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6359 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6360 |
this._createIcons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6361 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6362 |
this._setupEvents( options.event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6363 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6364 |
if ( heightStyle === "fill" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6365 |
maxHeight = parent.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6366 |
this.element.siblings( ":visible" ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6367 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6368 |
position = elem.css( "position" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6369 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6370 |
if ( position === "absolute" || position === "fixed" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6371 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6372 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6373 |
maxHeight -= elem.outerHeight( true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6374 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6375 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6376 |
this.headers.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6377 |
maxHeight -= $( this ).outerHeight( true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6378 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6379 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6380 |
this.headers.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6381 |
.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6382 |
$( this ).height( Math.max( 0, maxHeight - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6383 |
$( this ).innerHeight() + $( this ).height() ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6384 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6385 |
.css( "overflow", "auto" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6386 |
} else if ( heightStyle === "auto" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6387 |
maxHeight = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6388 |
this.headers.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6389 |
.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6390 |
maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6391 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6392 |
.height( maxHeight ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6393 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6394 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6395 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6396 |
_activate: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6397 |
var active = this._findActive( index )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6398 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6399 |
// trying to activate the already active panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6400 |
if ( active === this.active[ 0 ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6401 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6402 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6403 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6404 |
// trying to collapse, simulate a click on the currently active header |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6405 |
active = active || this.active[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6406 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6407 |
this._eventHandler({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6408 |
target: active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6409 |
currentTarget: active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6410 |
preventDefault: $.noop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6411 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6412 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6413 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6414 |
_findActive: function( selector ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6415 |
return typeof selector === "number" ? this.headers.eq( selector ) : $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6416 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6417 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6418 |
_setupEvents: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6419 |
var events = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6420 |
keydown: "_keydown" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6421 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6422 |
if ( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6423 |
$.each( event.split(" "), function( index, eventName ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6424 |
events[ eventName ] = "_eventHandler"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6425 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6426 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6427 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6428 |
this._off( this.headers.add( this.headers.next() ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6429 |
this._on( this.headers, events ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6430 |
this._on( this.headers.next(), { keydown: "_panelKeyDown" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6431 |
this._hoverable( this.headers ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6432 |
this._focusable( this.headers ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6433 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6434 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6435 |
_eventHandler: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6436 |
var options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6437 |
active = this.active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6438 |
clicked = $( event.currentTarget ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6439 |
clickedIsActive = clicked[ 0 ] === active[ 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6440 |
collapsing = clickedIsActive && options.collapsible, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6441 |
toShow = collapsing ? $() : clicked.next(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6442 |
toHide = active.next(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6443 |
eventData = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6444 |
oldHeader: active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6445 |
oldPanel: toHide, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6446 |
newHeader: collapsing ? $() : clicked, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6447 |
newPanel: toShow |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6448 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6449 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6450 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6451 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6452 |
if ( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6453 |
// click on active header, but not collapsible |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6454 |
( clickedIsActive && !options.collapsible ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6455 |
// allow canceling activation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6456 |
( this._trigger( "beforeActivate", event, eventData ) === false ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6457 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6458 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6459 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6460 |
options.active = collapsing ? false : this.headers.index( clicked ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6461 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6462 |
// when the call to ._toggle() comes after the class changes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6463 |
// it causes a very odd bug in IE 8 (see #6720) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6464 |
this.active = clickedIsActive ? $() : clicked; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6465 |
this._toggle( eventData ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6466 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6467 |
// switch classes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6468 |
// corner classes on the previously active header stay after the animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6469 |
active.removeClass( "ui-accordion-header-active ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6470 |
if ( options.icons ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6471 |
active.children( ".ui-accordion-header-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6472 |
.removeClass( options.icons.activeHeader ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6473 |
.addClass( options.icons.header ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6474 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6475 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6476 |
if ( !clickedIsActive ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6477 |
clicked |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6478 |
.removeClass( "ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6479 |
.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6480 |
if ( options.icons ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6481 |
clicked.children( ".ui-accordion-header-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6482 |
.removeClass( options.icons.header ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6483 |
.addClass( options.icons.activeHeader ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6484 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6485 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6486 |
clicked |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6487 |
.next() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6488 |
.addClass( "ui-accordion-content-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6489 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6490 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6491 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6492 |
_toggle: function( data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6493 |
var toShow = data.newPanel, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6494 |
toHide = this.prevShow.length ? this.prevShow : data.oldPanel; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6495 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6496 |
// handle activating a panel during the animation for another activation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6497 |
this.prevShow.add( this.prevHide ).stop( true, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6498 |
this.prevShow = toShow; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6499 |
this.prevHide = toHide; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6500 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6501 |
if ( this.options.animate ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6502 |
this._animate( toShow, toHide, data ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6503 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6504 |
toHide.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6505 |
toShow.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6506 |
this._toggleComplete( data ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6507 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6508 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6509 |
toHide.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6510 |
"aria-expanded": "false", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6511 |
"aria-hidden": "true" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6512 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6513 |
toHide.prev().attr( "aria-selected", "false" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6514 |
// if we're switching panels, remove the old header from the tab order |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6515 |
// if we're opening from collapsed state, remove the previous header from the tab order |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6516 |
// if we're collapsing, then keep the collapsing header in the tab order |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6517 |
if ( toShow.length && toHide.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6518 |
toHide.prev().attr( "tabIndex", -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6519 |
} else if ( toShow.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6520 |
this.headers.filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6521 |
return $( this ).attr( "tabIndex" ) === 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6522 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6523 |
.attr( "tabIndex", -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6524 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6525 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6526 |
toShow |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6527 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6528 |
"aria-expanded": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6529 |
"aria-hidden": "false" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6530 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6531 |
.prev() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6532 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6533 |
"aria-selected": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6534 |
tabIndex: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6535 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6536 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6537 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6538 |
_animate: function( toShow, toHide, data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6539 |
var total, easing, duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6540 |
that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6541 |
adjust = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6542 |
down = toShow.length && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6543 |
( !toHide.length || ( toShow.index() < toHide.index() ) ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6544 |
animate = this.options.animate || {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6545 |
options = down && animate.down || animate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6546 |
complete = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6547 |
that._toggleComplete( data ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6548 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6549 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6550 |
if ( typeof options === "number" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6551 |
duration = options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6552 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6553 |
if ( typeof options === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6554 |
easing = options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6555 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6556 |
// fall back from options to animation in case of partial down settings |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6557 |
easing = easing || options.easing || animate.easing; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6558 |
duration = duration || options.duration || animate.duration; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6559 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6560 |
if ( !toHide.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6561 |
return toShow.animate( showProps, duration, easing, complete ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6562 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6563 |
if ( !toShow.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6564 |
return toHide.animate( hideProps, duration, easing, complete ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6565 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6566 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6567 |
total = toShow.show().outerHeight(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6568 |
toHide.animate( hideProps, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6569 |
duration: duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6570 |
easing: easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6571 |
step: function( now, fx ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6572 |
fx.now = Math.round( now ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6573 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6574 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6575 |
toShow |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6576 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6577 |
.animate( showProps, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6578 |
duration: duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6579 |
easing: easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6580 |
complete: complete, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6581 |
step: function( now, fx ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6582 |
fx.now = Math.round( now ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6583 |
if ( fx.prop !== "height" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6584 |
adjust += fx.now; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6585 |
} else if ( that.options.heightStyle !== "content" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6586 |
fx.now = Math.round( total - toHide.outerHeight() - adjust ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6587 |
adjust = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6588 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6589 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6590 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6591 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6592 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6593 |
_toggleComplete: function( data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6594 |
var toHide = data.oldPanel; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6595 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6596 |
toHide |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6597 |
.removeClass( "ui-accordion-content-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6598 |
.prev() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6599 |
.removeClass( "ui-corner-top" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6600 |
.addClass( "ui-corner-all" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6601 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6602 |
// Work around for rendering bug in IE (#5421) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6603 |
if ( toHide.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6604 |
toHide.parent()[0].className = toHide.parent()[0].className; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6605 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6606 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6607 |
this._trigger( "activate", null, data ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6608 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6609 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6610 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6611 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6612 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6613 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6614 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6615 |
// used to prevent race conditions with remote data sources |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6616 |
var requestIndex = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6617 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6618 |
$.widget( "ui.autocomplete", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6619 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6620 |
defaultElement: "<input>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6621 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6622 |
appendTo: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6623 |
autoFocus: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6624 |
delay: 300, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6625 |
minLength: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6626 |
position: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6627 |
my: "left top", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6628 |
at: "left bottom", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6629 |
collision: "none" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6630 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6631 |
source: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6632 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6633 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6634 |
change: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6635 |
close: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6636 |
focus: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6637 |
open: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6638 |
response: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6639 |
search: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6640 |
select: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6641 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6642 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6643 |
pending: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6644 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6645 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6646 |
// Some browsers only repeat keydown events, not keypress events, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6647 |
// so we use the suppressKeyPress flag to determine if we've already |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6648 |
// handled the keydown event. #7269 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6649 |
// Unfortunately the code for & in keypress is the same as the up arrow, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6650 |
// so we use the suppressKeyPressRepeat flag to avoid handling keypress |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6651 |
// events when we know the keydown event was used to modify the |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6652 |
// search term. #7799 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6653 |
var suppressKeyPress, suppressKeyPressRepeat, suppressInput, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6654 |
nodeName = this.element[0].nodeName.toLowerCase(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6655 |
isTextarea = nodeName === "textarea", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6656 |
isInput = nodeName === "input"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6657 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6658 |
this.isMultiLine = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6659 |
// Textareas are always multi-line |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6660 |
isTextarea ? true : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6661 |
// Inputs are always single-line, even if inside a contentEditable element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6662 |
// IE also treats inputs as contentEditable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6663 |
isInput ? false : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6664 |
// All other element types are determined by whether or not they're contentEditable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6665 |
this.element.prop( "isContentEditable" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6666 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6667 |
this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6668 |
this.isNewMenu = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6669 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6670 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6671 |
.addClass( "ui-autocomplete-input" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6672 |
.attr( "autocomplete", "off" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6673 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6674 |
this._on( this.element, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6675 |
keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6676 |
/*jshint maxcomplexity:15*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6677 |
if ( this.element.prop( "readOnly" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6678 |
suppressKeyPress = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6679 |
suppressInput = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6680 |
suppressKeyPressRepeat = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6681 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6682 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6683 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6684 |
suppressKeyPress = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6685 |
suppressInput = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6686 |
suppressKeyPressRepeat = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6687 |
var keyCode = $.ui.keyCode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6688 |
switch( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6689 |
case keyCode.PAGE_UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6690 |
suppressKeyPress = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6691 |
this._move( "previousPage", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6692 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6693 |
case keyCode.PAGE_DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6694 |
suppressKeyPress = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6695 |
this._move( "nextPage", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6696 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6697 |
case keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6698 |
suppressKeyPress = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6699 |
this._keyEvent( "previous", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6700 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6701 |
case keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6702 |
suppressKeyPress = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6703 |
this._keyEvent( "next", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6704 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6705 |
case keyCode.ENTER: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6706 |
case keyCode.NUMPAD_ENTER: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6707 |
// when menu is open and has focus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6708 |
if ( this.menu.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6709 |
// #6055 - Opera still allows the keypress to occur |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6710 |
// which causes forms to submit |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6711 |
suppressKeyPress = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6712 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6713 |
this.menu.select( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6714 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6715 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6716 |
case keyCode.TAB: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6717 |
if ( this.menu.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6718 |
this.menu.select( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6719 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6720 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6721 |
case keyCode.ESCAPE: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6722 |
if ( this.menu.element.is( ":visible" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6723 |
this._value( this.term ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6724 |
this.close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6725 |
// Different browsers have different default behavior for escape |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6726 |
// Single press can mean undo or clear |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6727 |
// Double press in IE means clear the whole form |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6728 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6729 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6730 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6731 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6732 |
suppressKeyPressRepeat = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6733 |
// search timeout should be triggered before the input value is changed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6734 |
this._searchTimeout( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6735 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6736 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6737 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6738 |
keypress: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6739 |
if ( suppressKeyPress ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6740 |
suppressKeyPress = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6741 |
if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6742 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6743 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6744 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6745 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6746 |
if ( suppressKeyPressRepeat ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6747 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6748 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6749 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6750 |
// replicate some key handlers to allow them to repeat in Firefox and Opera |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6751 |
var keyCode = $.ui.keyCode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6752 |
switch( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6753 |
case keyCode.PAGE_UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6754 |
this._move( "previousPage", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6755 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6756 |
case keyCode.PAGE_DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6757 |
this._move( "nextPage", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6758 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6759 |
case keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6760 |
this._keyEvent( "previous", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6761 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6762 |
case keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6763 |
this._keyEvent( "next", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6764 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6765 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6766 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6767 |
input: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6768 |
if ( suppressInput ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6769 |
suppressInput = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6770 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6771 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6772 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6773 |
this._searchTimeout( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6774 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6775 |
focus: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6776 |
this.selectedItem = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6777 |
this.previous = this._value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6778 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6779 |
blur: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6780 |
if ( this.cancelBlur ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6781 |
delete this.cancelBlur; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6782 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6783 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6784 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6785 |
clearTimeout( this.searching ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6786 |
this.close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6787 |
this._change( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6788 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6789 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6790 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6791 |
this._initSource(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6792 |
this.menu = $( "<ul>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6793 |
.addClass( "ui-autocomplete ui-front" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6794 |
.appendTo( this._appendTo() ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6795 |
.menu({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6796 |
// disable ARIA support, the live region takes care of that |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6797 |
role: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6798 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6799 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6800 |
.data( "ui-menu" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6801 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6802 |
this._on( this.menu.element, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6803 |
mousedown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6804 |
// prevent moving focus out of the text field |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6805 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6806 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6807 |
// IE doesn't prevent moving focus even with event.preventDefault() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6808 |
// so we set a flag to know when we should ignore the blur event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6809 |
this.cancelBlur = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6810 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6811 |
delete this.cancelBlur; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6812 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6813 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6814 |
// clicking on the scrollbar causes focus to shift to the body |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6815 |
// but we can't detect a mouseup or a click immediately afterward |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6816 |
// so we have to track the next mousedown and close the menu if |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6817 |
// the user clicks somewhere outside of the autocomplete |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6818 |
var menuElement = this.menu.element[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6819 |
if ( !$( event.target ).closest( ".ui-menu-item" ).length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6820 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6821 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6822 |
this.document.one( "mousedown", function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6823 |
if ( event.target !== that.element[ 0 ] && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6824 |
event.target !== menuElement && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6825 |
!$.contains( menuElement, event.target ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6826 |
that.close(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6827 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6828 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6829 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6830 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6831 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6832 |
menufocus: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6833 |
// support: Firefox |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6834 |
// Prevent accidental activation of menu items in Firefox (#7024 #9118) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6835 |
if ( this.isNewMenu ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6836 |
this.isNewMenu = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6837 |
if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6838 |
this.menu.blur(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6839 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6840 |
this.document.one( "mousemove", function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6841 |
$( event.target ).trigger( event.originalEvent ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6842 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6843 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6844 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6845 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6846 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6847 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6848 |
var item = ui.item.data( "ui-autocomplete-item" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6849 |
if ( false !== this._trigger( "focus", event, { item: item } ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6850 |
// use value to match what will end up in the input, if it was a key event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6851 |
if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6852 |
this._value( item.value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6853 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6854 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6855 |
// Normally the input is populated with the item's value as the |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6856 |
// menu is navigated, causing screen readers to notice a change and |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6857 |
// announce the item. Since the focus event was canceled, this doesn't |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6858 |
// happen, so we update the live region so that screen readers can |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6859 |
// still notice the change and announce it. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6860 |
this.liveRegion.text( item.value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6861 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6862 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6863 |
menuselect: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6864 |
var item = ui.item.data( "ui-autocomplete-item" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6865 |
previous = this.previous; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6866 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6867 |
// only trigger when focus was lost (click on menu) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6868 |
if ( this.element[0] !== this.document[0].activeElement ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6869 |
this.element.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6870 |
this.previous = previous; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6871 |
// #6109 - IE triggers two focus events and the second |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6872 |
// is asynchronous, so we need to reset the previous |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6873 |
// term synchronously and asynchronously :-( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6874 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6875 |
this.previous = previous; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6876 |
this.selectedItem = item; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6877 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6878 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6879 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6880 |
if ( false !== this._trigger( "select", event, { item: item } ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6881 |
this._value( item.value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6882 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6883 |
// reset the term after the select event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6884 |
// this allows custom select handling to work properly |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6885 |
this.term = this._value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6886 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6887 |
this.close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6888 |
this.selectedItem = item; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6889 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6890 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6891 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6892 |
this.liveRegion = $( "<span>", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6893 |
role: "status", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6894 |
"aria-live": "polite" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6895 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6896 |
.addClass( "ui-helper-hidden-accessible" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6897 |
.insertBefore( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6898 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6899 |
// turning off autocomplete prevents the browser from remembering the |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6900 |
// value when navigating through history, so we re-enable autocomplete |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6901 |
// if the page is unloaded before the widget is destroyed. #7790 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6902 |
this._on( this.window, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6903 |
beforeunload: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6904 |
this.element.removeAttr( "autocomplete" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6905 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6906 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6907 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6908 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6909 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6910 |
clearTimeout( this.searching ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6911 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6912 |
.removeClass( "ui-autocomplete-input" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6913 |
.removeAttr( "autocomplete" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6914 |
this.menu.element.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6915 |
this.liveRegion.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6916 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6917 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6918 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6919 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6920 |
if ( key === "source" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6921 |
this._initSource(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6922 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6923 |
if ( key === "appendTo" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6924 |
this.menu.element.appendTo( this._appendTo() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6925 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6926 |
if ( key === "disabled" && value && this.xhr ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6927 |
this.xhr.abort(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6928 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6929 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6930 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6931 |
_appendTo: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6932 |
var element = this.options.appendTo; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6933 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6934 |
if ( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6935 |
element = element.jquery || element.nodeType ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6936 |
$( element ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6937 |
this.document.find( element ).eq( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6938 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6939 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6940 |
if ( !element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6941 |
element = this.element.closest( ".ui-front" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6942 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6943 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6944 |
if ( !element.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6945 |
element = this.document[0].body; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6946 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6947 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6948 |
return element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6949 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6950 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6951 |
_initSource: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6952 |
var array, url, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6953 |
that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6954 |
if ( $.isArray(this.options.source) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6955 |
array = this.options.source; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6956 |
this.source = function( request, response ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6957 |
response( $.ui.autocomplete.filter( array, request.term ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6958 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6959 |
} else if ( typeof this.options.source === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6960 |
url = this.options.source; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6961 |
this.source = function( request, response ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6962 |
if ( that.xhr ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6963 |
that.xhr.abort(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6964 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6965 |
that.xhr = $.ajax({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6966 |
url: url, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6967 |
data: request, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6968 |
dataType: "json", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6969 |
success: function( data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6970 |
response( data ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6971 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6972 |
error: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6973 |
response( [] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6974 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6975 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6976 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6977 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6978 |
this.source = this.options.source; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6979 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6980 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6981 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6982 |
_searchTimeout: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6983 |
clearTimeout( this.searching ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6984 |
this.searching = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6985 |
// only search if the value has changed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6986 |
if ( this.term !== this._value() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6987 |
this.selectedItem = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6988 |
this.search( null, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6989 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6990 |
}, this.options.delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6991 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6992 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6993 |
search: function( value, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6994 |
value = value != null ? value : this._value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6995 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6996 |
// always save the actual value, not the one passed as an argument |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6997 |
this.term = this._value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6998 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
6999 |
if ( value.length < this.options.minLength ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7000 |
return this.close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7001 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7002 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7003 |
if ( this._trigger( "search", event ) === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7004 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7005 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7006 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7007 |
return this._search( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7008 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7009 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7010 |
_search: function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7011 |
this.pending++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7012 |
this.element.addClass( "ui-autocomplete-loading" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7013 |
this.cancelSearch = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7014 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7015 |
this.source( { term: value }, this._response() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7016 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7017 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7018 |
_response: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7019 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7020 |
index = ++requestIndex; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7021 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7022 |
return function( content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7023 |
if ( index === requestIndex ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7024 |
that.__response( content ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7025 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7026 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7027 |
that.pending--; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7028 |
if ( !that.pending ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7029 |
that.element.removeClass( "ui-autocomplete-loading" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7030 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7031 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7032 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7033 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7034 |
__response: function( content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7035 |
if ( content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7036 |
content = this._normalize( content ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7037 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7038 |
this._trigger( "response", null, { content: content } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7039 |
if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7040 |
this._suggest( content ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7041 |
this._trigger( "open" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7042 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7043 |
// use ._close() instead of .close() so we don't cancel future searches |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7044 |
this._close(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7045 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7046 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7047 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7048 |
close: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7049 |
this.cancelSearch = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7050 |
this._close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7051 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7052 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7053 |
_close: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7054 |
if ( this.menu.element.is( ":visible" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7055 |
this.menu.element.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7056 |
this.menu.blur(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7057 |
this.isNewMenu = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7058 |
this._trigger( "close", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7059 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7060 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7061 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7062 |
_change: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7063 |
if ( this.previous !== this._value() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7064 |
this._trigger( "change", event, { item: this.selectedItem } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7065 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7066 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7067 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7068 |
_normalize: function( items ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7069 |
// assume all items have the right format when the first item is complete |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7070 |
if ( items.length && items[0].label && items[0].value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7071 |
return items; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7072 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7073 |
return $.map( items, function( item ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7074 |
if ( typeof item === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7075 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7076 |
label: item, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7077 |
value: item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7078 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7079 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7080 |
return $.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7081 |
label: item.label || item.value, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7082 |
value: item.value || item.label |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7083 |
}, item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7084 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7085 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7086 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7087 |
_suggest: function( items ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7088 |
var ul = this.menu.element.empty(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7089 |
this._renderMenu( ul, items ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7090 |
this.isNewMenu = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7091 |
this.menu.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7092 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7093 |
// size and position menu |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7094 |
ul.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7095 |
this._resizeMenu(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7096 |
ul.position( $.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7097 |
of: this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7098 |
}, this.options.position )); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7099 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7100 |
if ( this.options.autoFocus ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7101 |
this.menu.next(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7102 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7103 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7104 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7105 |
_resizeMenu: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7106 |
var ul = this.menu.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7107 |
ul.outerWidth( Math.max( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7108 |
// Firefox wraps long text (possibly a rounding bug) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7109 |
// so we add 1px to avoid the wrapping (#7513) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7110 |
ul.width( "" ).outerWidth() + 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7111 |
this.element.outerWidth() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7112 |
) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7113 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7114 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7115 |
_renderMenu: function( ul, items ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7116 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7117 |
$.each( items, function( index, item ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7118 |
that._renderItemData( ul, item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7119 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7120 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7121 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7122 |
_renderItemData: function( ul, item ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7123 |
return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7124 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7125 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7126 |
_renderItem: function( ul, item ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7127 |
return $( "<li>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7128 |
.append( $( "<a>" ).text( item.label ) ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7129 |
.appendTo( ul ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7130 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7131 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7132 |
_move: function( direction, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7133 |
if ( !this.menu.element.is( ":visible" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7134 |
this.search( null, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7135 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7136 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7137 |
if ( this.menu.isFirstItem() && /^previous/.test( direction ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7138 |
this.menu.isLastItem() && /^next/.test( direction ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7139 |
this._value( this.term ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7140 |
this.menu.blur(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7141 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7142 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7143 |
this.menu[ direction ]( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7144 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7145 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7146 |
widget: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7147 |
return this.menu.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7148 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7149 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7150 |
_value: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7151 |
return this.valueMethod.apply( this.element, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7152 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7153 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7154 |
_keyEvent: function( keyEvent, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7155 |
if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7156 |
this._move( keyEvent, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7157 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7158 |
// prevents moving cursor to beginning/end of the text field in some browsers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7159 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7160 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7161 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7162 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7163 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7164 |
$.extend( $.ui.autocomplete, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7165 |
escapeRegex: function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7166 |
return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7167 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7168 |
filter: function(array, term) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7169 |
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7170 |
return $.grep( array, function(value) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7171 |
return matcher.test( value.label || value.value || value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7172 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7173 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7174 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7175 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7176 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7177 |
// live region extension, adding a `messages` option |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7178 |
// NOTE: This is an experimental API. We are still investigating |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7179 |
// a full solution for string manipulation and internationalization. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7180 |
$.widget( "ui.autocomplete", $.ui.autocomplete, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7181 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7182 |
messages: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7183 |
noResults: "No search results.", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7184 |
results: function( amount ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7185 |
return amount + ( amount > 1 ? " results are" : " result is" ) + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7186 |
" available, use up and down arrow keys to navigate."; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7187 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7188 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7189 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7190 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7191 |
__response: function( content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7192 |
var message; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7193 |
this._superApply( arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7194 |
if ( this.options.disabled || this.cancelSearch ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7195 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7196 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7197 |
if ( content && content.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7198 |
message = this.options.messages.results( content.length ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7199 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7200 |
message = this.options.messages.noResults; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7201 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7202 |
this.liveRegion.text( message ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7203 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7204 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7205 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7206 |
}( jQuery )); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7207 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7208 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7209 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7210 |
var lastActive, startXPos, startYPos, clickDragged, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7211 |
baseClasses = "ui-button ui-widget ui-state-default ui-corner-all", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7212 |
stateClasses = "ui-state-hover ui-state-active ", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7213 |
typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7214 |
formResetHandler = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7215 |
var form = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7216 |
setTimeout(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7217 |
form.find( ":ui-button" ).button( "refresh" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7218 |
}, 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7219 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7220 |
radioGroup = function( radio ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7221 |
var name = radio.name, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7222 |
form = radio.form, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7223 |
radios = $( [] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7224 |
if ( name ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7225 |
name = name.replace( /'/g, "\\'" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7226 |
if ( form ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7227 |
radios = $( form ).find( "[name='" + name + "']" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7228 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7229 |
radios = $( "[name='" + name + "']", radio.ownerDocument ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7230 |
.filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7231 |
return !this.form; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7232 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7233 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7234 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7235 |
return radios; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7236 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7237 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7238 |
$.widget( "ui.button", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7239 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7240 |
defaultElement: "<button>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7241 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7242 |
disabled: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7243 |
text: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7244 |
label: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7245 |
icons: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7246 |
primary: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7247 |
secondary: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7248 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7249 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7250 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7251 |
this.element.closest( "form" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7252 |
.unbind( "reset" + this.eventNamespace ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7253 |
.bind( "reset" + this.eventNamespace, formResetHandler ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7254 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7255 |
if ( typeof this.options.disabled !== "boolean" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7256 |
this.options.disabled = !!this.element.prop( "disabled" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7257 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7258 |
this.element.prop( "disabled", this.options.disabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7259 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7260 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7261 |
this._determineButtonType(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7262 |
this.hasTitle = !!this.buttonElement.attr( "title" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7263 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7264 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7265 |
options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7266 |
toggleButton = this.type === "checkbox" || this.type === "radio", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7267 |
activeClass = !toggleButton ? "ui-state-active" : "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7268 |
focusClass = "ui-state-focus"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7269 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7270 |
if ( options.label === null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7271 |
options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7272 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7273 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7274 |
this._hoverable( this.buttonElement ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7275 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7276 |
this.buttonElement |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7277 |
.addClass( baseClasses ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7278 |
.attr( "role", "button" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7279 |
.bind( "mouseenter" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7280 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7281 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7282 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7283 |
if ( this === lastActive ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7284 |
$( this ).addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7285 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7286 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7287 |
.bind( "mouseleave" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7288 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7289 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7290 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7291 |
$( this ).removeClass( activeClass ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7292 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7293 |
.bind( "click" + this.eventNamespace, function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7294 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7295 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7296 |
event.stopImmediatePropagation(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7297 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7298 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7299 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7300 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7301 |
.bind( "focus" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7302 |
// no need to check disabled, focus won't be triggered anyway |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7303 |
that.buttonElement.addClass( focusClass ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7304 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7305 |
.bind( "blur" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7306 |
that.buttonElement.removeClass( focusClass ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7307 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7308 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7309 |
if ( toggleButton ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7310 |
this.element.bind( "change" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7311 |
if ( clickDragged ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7312 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7313 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7314 |
that.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7315 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7316 |
// if mouse moves between mousedown and mouseup (drag) set clickDragged flag |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7317 |
// prevents issue where button state changes but checkbox/radio checked state |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7318 |
// does not in Firefox (see ticket #6970) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7319 |
this.buttonElement |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7320 |
.bind( "mousedown" + this.eventNamespace, function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7321 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7322 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7323 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7324 |
clickDragged = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7325 |
startXPos = event.pageX; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7326 |
startYPos = event.pageY; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7327 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7328 |
.bind( "mouseup" + this.eventNamespace, function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7329 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7330 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7331 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7332 |
if ( startXPos !== event.pageX || startYPos !== event.pageY ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7333 |
clickDragged = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7334 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7335 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7336 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7337 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7338 |
if ( this.type === "checkbox" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7339 |
this.buttonElement.bind( "click" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7340 |
if ( options.disabled || clickDragged ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7341 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7342 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7343 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7344 |
} else if ( this.type === "radio" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7345 |
this.buttonElement.bind( "click" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7346 |
if ( options.disabled || clickDragged ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7347 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7348 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7349 |
$( this ).addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7350 |
that.buttonElement.attr( "aria-pressed", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7351 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7352 |
var radio = that.element[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7353 |
radioGroup( radio ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7354 |
.not( radio ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7355 |
.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7356 |
return $( this ).button( "widget" )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7357 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7358 |
.removeClass( "ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7359 |
.attr( "aria-pressed", "false" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7360 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7361 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7362 |
this.buttonElement |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7363 |
.bind( "mousedown" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7364 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7365 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7366 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7367 |
$( this ).addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7368 |
lastActive = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7369 |
that.document.one( "mouseup", function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7370 |
lastActive = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7371 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7372 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7373 |
.bind( "mouseup" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7374 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7375 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7376 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7377 |
$( this ).removeClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7378 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7379 |
.bind( "keydown" + this.eventNamespace, function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7380 |
if ( options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7381 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7382 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7383 |
if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7384 |
$( this ).addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7385 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7386 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7387 |
// see #8559, we bind to blur here in case the button element loses |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7388 |
// focus between keydown and keyup, it would be left in an "active" state |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7389 |
.bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7390 |
$( this ).removeClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7391 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7392 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7393 |
if ( this.buttonElement.is("a") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7394 |
this.buttonElement.keyup(function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7395 |
if ( event.keyCode === $.ui.keyCode.SPACE ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7396 |
// TODO pass through original event correctly (just as 2nd argument doesn't work) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7397 |
$( this ).click(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7398 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7399 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7400 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7401 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7402 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7403 |
// TODO: pull out $.Widget's handling for the disabled option into |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7404 |
// $.Widget.prototype._setOptionDisabled so it's easy to proxy and can |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7405 |
// be overridden by individual plugins |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7406 |
this._setOption( "disabled", options.disabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7407 |
this._resetButton(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7408 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7409 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7410 |
_determineButtonType: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7411 |
var ancestor, labelSelector, checked; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7412 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7413 |
if ( this.element.is("[type=checkbox]") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7414 |
this.type = "checkbox"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7415 |
} else if ( this.element.is("[type=radio]") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7416 |
this.type = "radio"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7417 |
} else if ( this.element.is("input") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7418 |
this.type = "input"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7419 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7420 |
this.type = "button"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7421 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7422 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7423 |
if ( this.type === "checkbox" || this.type === "radio" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7424 |
// we don't search against the document in case the element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7425 |
// is disconnected from the DOM |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7426 |
ancestor = this.element.parents().last(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7427 |
labelSelector = "label[for='" + this.element.attr("id") + "']"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7428 |
this.buttonElement = ancestor.find( labelSelector ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7429 |
if ( !this.buttonElement.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7430 |
ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7431 |
this.buttonElement = ancestor.filter( labelSelector ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7432 |
if ( !this.buttonElement.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7433 |
this.buttonElement = ancestor.find( labelSelector ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7434 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7435 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7436 |
this.element.addClass( "ui-helper-hidden-accessible" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7437 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7438 |
checked = this.element.is( ":checked" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7439 |
if ( checked ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7440 |
this.buttonElement.addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7441 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7442 |
this.buttonElement.prop( "aria-pressed", checked ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7443 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7444 |
this.buttonElement = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7445 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7446 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7447 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7448 |
widget: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7449 |
return this.buttonElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7450 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7451 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7452 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7453 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7454 |
.removeClass( "ui-helper-hidden-accessible" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7455 |
this.buttonElement |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7456 |
.removeClass( baseClasses + " " + stateClasses + " " + typeClasses ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7457 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7458 |
.removeAttr( "aria-pressed" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7459 |
.html( this.buttonElement.find(".ui-button-text").html() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7460 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7461 |
if ( !this.hasTitle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7462 |
this.buttonElement.removeAttr( "title" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7463 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7464 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7465 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7466 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7467 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7468 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7469 |
if ( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7470 |
this.element.prop( "disabled", true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7471 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7472 |
this.element.prop( "disabled", false ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7473 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7474 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7475 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7476 |
this._resetButton(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7477 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7478 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7479 |
refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7480 |
//See #8237 & #8828 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7481 |
var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7482 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7483 |
if ( isDisabled !== this.options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7484 |
this._setOption( "disabled", isDisabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7485 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7486 |
if ( this.type === "radio" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7487 |
radioGroup( this.element[0] ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7488 |
if ( $( this ).is( ":checked" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7489 |
$( this ).button( "widget" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7490 |
.addClass( "ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7491 |
.attr( "aria-pressed", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7492 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7493 |
$( this ).button( "widget" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7494 |
.removeClass( "ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7495 |
.attr( "aria-pressed", "false" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7496 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7497 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7498 |
} else if ( this.type === "checkbox" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7499 |
if ( this.element.is( ":checked" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7500 |
this.buttonElement |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7501 |
.addClass( "ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7502 |
.attr( "aria-pressed", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7503 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7504 |
this.buttonElement |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7505 |
.removeClass( "ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7506 |
.attr( "aria-pressed", "false" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7507 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7508 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7509 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7510 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7511 |
_resetButton: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7512 |
if ( this.type === "input" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7513 |
if ( this.options.label ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7514 |
this.element.val( this.options.label ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7515 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7516 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7517 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7518 |
var buttonElement = this.buttonElement.removeClass( typeClasses ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7519 |
buttonText = $( "<span></span>", this.document[0] ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7520 |
.addClass( "ui-button-text" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7521 |
.html( this.options.label ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7522 |
.appendTo( buttonElement.empty() ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7523 |
.text(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7524 |
icons = this.options.icons, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7525 |
multipleIcons = icons.primary && icons.secondary, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7526 |
buttonClasses = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7527 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7528 |
if ( icons.primary || icons.secondary ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7529 |
if ( this.options.text ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7530 |
buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7531 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7532 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7533 |
if ( icons.primary ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7534 |
buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7535 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7536 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7537 |
if ( icons.secondary ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7538 |
buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7539 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7540 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7541 |
if ( !this.options.text ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7542 |
buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7543 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7544 |
if ( !this.hasTitle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7545 |
buttonElement.attr( "title", $.trim( buttonText ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7546 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7547 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7548 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7549 |
buttonClasses.push( "ui-button-text-only" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7550 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7551 |
buttonElement.addClass( buttonClasses.join( " " ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7552 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7553 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7554 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7555 |
$.widget( "ui.buttonset", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7556 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7557 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7558 |
items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7559 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7560 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7561 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7562 |
this.element.addClass( "ui-buttonset" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7563 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7564 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7565 |
_init: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7566 |
this.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7567 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7568 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7569 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7570 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7571 |
this.buttons.button( "option", key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7572 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7573 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7574 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7575 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7576 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7577 |
refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7578 |
var rtl = this.element.css( "direction" ) === "rtl"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7579 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7580 |
this.buttons = this.element.find( this.options.items ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7581 |
.filter( ":ui-button" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7582 |
.button( "refresh" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7583 |
.end() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7584 |
.not( ":ui-button" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7585 |
.button() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7586 |
.end() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7587 |
.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7588 |
return $( this ).button( "widget" )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7589 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7590 |
.removeClass( "ui-corner-all ui-corner-left ui-corner-right" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7591 |
.filter( ":first" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7592 |
.addClass( rtl ? "ui-corner-right" : "ui-corner-left" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7593 |
.end() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7594 |
.filter( ":last" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7595 |
.addClass( rtl ? "ui-corner-left" : "ui-corner-right" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7596 |
.end() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7597 |
.end(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7598 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7599 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7600 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7601 |
this.element.removeClass( "ui-buttonset" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7602 |
this.buttons |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7603 |
.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7604 |
return $( this ).button( "widget" )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7605 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7606 |
.removeClass( "ui-corner-left ui-corner-right" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7607 |
.end() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7608 |
.button( "destroy" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7609 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7610 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7611 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7612 |
}( jQuery ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7613 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7614 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7615 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7616 |
$.extend($.ui, { datepicker: { version: "1.10.3" } }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7617 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7618 |
var PROP_NAME = "datepicker", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7619 |
instActive; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7620 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7621 |
/* Date picker manager. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7622 |
Use the singleton instance of this class, $.datepicker, to interact with the date picker. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7623 |
Settings for (groups of) date pickers are maintained in an instance object, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7624 |
allowing multiple different settings on the same page. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7625 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7626 |
function Datepicker() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7627 |
this._curInst = null; // The current instance in use |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7628 |
this._keyEvent = false; // If the last event was a key event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7629 |
this._disabledInputs = []; // List of date picker inputs that have been disabled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7630 |
this._datepickerShowing = false; // True if the popup picker is showing , false if not |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7631 |
this._inDialog = false; // True if showing within a "dialog", false if not |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7632 |
this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7633 |
this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7634 |
this._appendClass = "ui-datepicker-append"; // The name of the append marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7635 |
this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7636 |
this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7637 |
this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7638 |
this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7639 |
this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7640 |
this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7641 |
this.regional = []; // Available regional settings, indexed by language code |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7642 |
this.regional[""] = { // Default regional settings |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7643 |
closeText: "Done", // Display text for close link |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7644 |
prevText: "Prev", // Display text for previous month link |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7645 |
nextText: "Next", // Display text for next month link |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7646 |
currentText: "Today", // Display text for current month link |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7647 |
monthNames: ["January","February","March","April","May","June", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7648 |
"July","August","September","October","November","December"], // Names of months for drop-down and formatting |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7649 |
monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7650 |
dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7651 |
dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7652 |
dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7653 |
weekHeader: "Wk", // Column header for week of the year |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7654 |
dateFormat: "mm/dd/yy", // See format options on parseDate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7655 |
firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7656 |
isRTL: false, // True if right-to-left language, false if left-to-right |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7657 |
showMonthAfterYear: false, // True if the year select precedes month, false for month then year |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7658 |
yearSuffix: "" // Additional text to append to the year in the month headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7659 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7660 |
this._defaults = { // Global defaults for all the date picker instances |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7661 |
showOn: "focus", // "focus" for popup on focus, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7662 |
// "button" for trigger button, or "both" for either |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7663 |
showAnim: "fadeIn", // Name of jQuery animation for popup |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7664 |
showOptions: {}, // Options for enhanced animations |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7665 |
defaultDate: null, // Used when field is blank: actual date, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7666 |
// +/-number for offset from today, null for today |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7667 |
appendText: "", // Display text following the input box, e.g. showing the format |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7668 |
buttonText: "...", // Text for trigger button |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7669 |
buttonImage: "", // URL for trigger button image |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7670 |
buttonImageOnly: false, // True if the image appears alone, false if it appears on a button |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7671 |
hideIfNoPrevNext: false, // True to hide next/previous month links |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7672 |
// if not applicable, false to just disable them |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7673 |
navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7674 |
gotoCurrent: false, // True if today link goes back to current selection instead |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7675 |
changeMonth: false, // True if month can be selected directly, false if only prev/next |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7676 |
changeYear: false, // True if year can be selected directly, false if only prev/next |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7677 |
yearRange: "c-10:c+10", // Range of years to display in drop-down, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7678 |
// either relative to today's year (-nn:+nn), relative to currently displayed year |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7679 |
// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7680 |
showOtherMonths: false, // True to show dates in other months, false to leave blank |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7681 |
selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7682 |
showWeek: false, // True to show week of the year, false to not show it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7683 |
calculateWeek: this.iso8601Week, // How to calculate the week of the year, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7684 |
// takes a Date and returns the number of the week for it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7685 |
shortYearCutoff: "+10", // Short year values < this are in the current century, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7686 |
// > this are in the previous century, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7687 |
// string value starting with "+" for current year + value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7688 |
minDate: null, // The earliest selectable date, or null for no limit |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7689 |
maxDate: null, // The latest selectable date, or null for no limit |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7690 |
duration: "fast", // Duration of display/closure |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7691 |
beforeShowDay: null, // Function that takes a date and returns an array with |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7692 |
// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7693 |
// [2] = cell title (optional), e.g. $.datepicker.noWeekends |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7694 |
beforeShow: null, // Function that takes an input field and |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7695 |
// returns a set of custom settings for the date picker |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7696 |
onSelect: null, // Define a callback function when a date is selected |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7697 |
onChangeMonthYear: null, // Define a callback function when the month or year is changed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7698 |
onClose: null, // Define a callback function when the datepicker is closed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7699 |
numberOfMonths: 1, // Number of months to show at a time |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7700 |
showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7701 |
stepMonths: 1, // Number of months to step back/forward |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7702 |
stepBigMonths: 12, // Number of months to step back/forward for the big links |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7703 |
altField: "", // Selector for an alternate field to store selected dates into |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7704 |
altFormat: "", // The date format to use for the alternate field |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7705 |
constrainInput: true, // The input is constrained by the current date format |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7706 |
showButtonPanel: false, // True to show button panel, false to not show it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7707 |
autoSize: false, // True to size the input for the date format, false to leave as is |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7708 |
disabled: false // The initial disabled state |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7709 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7710 |
$.extend(this._defaults, this.regional[""]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7711 |
this.dpDiv = bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7712 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7713 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7714 |
$.extend(Datepicker.prototype, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7715 |
/* Class name added to elements to indicate already configured with a date picker. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7716 |
markerClassName: "hasDatepicker", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7717 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7718 |
//Keep track of the maximum number of rows displayed (see #7043) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7719 |
maxRows: 4, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7720 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7721 |
// TODO rename to "widget" when switching to widget factory |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7722 |
_widgetDatepicker: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7723 |
return this.dpDiv; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7724 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7725 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7726 |
/* Override the default settings for all instances of the date picker. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7727 |
* @param settings object - the new settings to use as defaults (anonymous object) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7728 |
* @return the manager object |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7729 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7730 |
setDefaults: function(settings) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7731 |
extendRemove(this._defaults, settings || {}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7732 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7733 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7734 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7735 |
/* Attach the date picker to a jQuery selection. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7736 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7737 |
* @param settings object - the new settings to use for this date picker instance (anonymous) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7738 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7739 |
_attachDatepicker: function(target, settings) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7740 |
var nodeName, inline, inst; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7741 |
nodeName = target.nodeName.toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7742 |
inline = (nodeName === "div" || nodeName === "span"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7743 |
if (!target.id) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7744 |
this.uuid += 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7745 |
target.id = "dp" + this.uuid; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7746 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7747 |
inst = this._newInst($(target), inline); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7748 |
inst.settings = $.extend({}, settings || {}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7749 |
if (nodeName === "input") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7750 |
this._connectDatepicker(target, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7751 |
} else if (inline) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7752 |
this._inlineDatepicker(target, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7753 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7754 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7755 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7756 |
/* Create a new instance object. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7757 |
_newInst: function(target, inline) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7758 |
var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7759 |
return {id: id, input: target, // associated target |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7760 |
selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7761 |
drawMonth: 0, drawYear: 0, // month being drawn |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7762 |
inline: inline, // is datepicker inline or not |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7763 |
dpDiv: (!inline ? this.dpDiv : // presentation div |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7764 |
bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7765 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7766 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7767 |
/* Attach the date picker to an input field. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7768 |
_connectDatepicker: function(target, inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7769 |
var input = $(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7770 |
inst.append = $([]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7771 |
inst.trigger = $([]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7772 |
if (input.hasClass(this.markerClassName)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7773 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7774 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7775 |
this._attachments(input, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7776 |
input.addClass(this.markerClassName).keydown(this._doKeyDown). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7777 |
keypress(this._doKeyPress).keyup(this._doKeyUp); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7778 |
this._autoSize(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7779 |
$.data(target, PROP_NAME, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7780 |
//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7781 |
if( inst.settings.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7782 |
this._disableDatepicker( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7783 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7784 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7785 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7786 |
/* Make attachments based on settings. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7787 |
_attachments: function(input, inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7788 |
var showOn, buttonText, buttonImage, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7789 |
appendText = this._get(inst, "appendText"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7790 |
isRTL = this._get(inst, "isRTL"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7791 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7792 |
if (inst.append) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7793 |
inst.append.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7794 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7795 |
if (appendText) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7796 |
inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7797 |
input[isRTL ? "before" : "after"](inst.append); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7798 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7799 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7800 |
input.unbind("focus", this._showDatepicker); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7801 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7802 |
if (inst.trigger) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7803 |
inst.trigger.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7804 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7805 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7806 |
showOn = this._get(inst, "showOn"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7807 |
if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7808 |
input.focus(this._showDatepicker); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7809 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7810 |
if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7811 |
buttonText = this._get(inst, "buttonText"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7812 |
buttonImage = this._get(inst, "buttonImage"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7813 |
inst.trigger = $(this._get(inst, "buttonImageOnly") ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7814 |
$("<img/>").addClass(this._triggerClass). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7815 |
attr({ src: buttonImage, alt: buttonText, title: buttonText }) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7816 |
$("<button type='button'></button>").addClass(this._triggerClass). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7817 |
html(!buttonImage ? buttonText : $("<img/>").attr( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7818 |
{ src:buttonImage, alt:buttonText, title:buttonText }))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7819 |
input[isRTL ? "before" : "after"](inst.trigger); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7820 |
inst.trigger.click(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7821 |
if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7822 |
$.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7823 |
} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7824 |
$.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7825 |
$.datepicker._showDatepicker(input[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7826 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7827 |
$.datepicker._showDatepicker(input[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7828 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7829 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7830 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7831 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7832 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7833 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7834 |
/* Apply the maximum length for the date format. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7835 |
_autoSize: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7836 |
if (this._get(inst, "autoSize") && !inst.inline) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7837 |
var findMax, max, maxI, i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7838 |
date = new Date(2009, 12 - 1, 20), // Ensure double digits |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7839 |
dateFormat = this._get(inst, "dateFormat"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7840 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7841 |
if (dateFormat.match(/[DM]/)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7842 |
findMax = function(names) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7843 |
max = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7844 |
maxI = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7845 |
for (i = 0; i < names.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7846 |
if (names[i].length > max) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7847 |
max = names[i].length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7848 |
maxI = i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7849 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7850 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7851 |
return maxI; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7852 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7853 |
date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7854 |
"monthNames" : "monthNamesShort")))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7855 |
date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7856 |
"dayNames" : "dayNamesShort"))) + 20 - date.getDay()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7857 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7858 |
inst.input.attr("size", this._formatDate(inst, date).length); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7859 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7860 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7861 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7862 |
/* Attach an inline date picker to a div. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7863 |
_inlineDatepicker: function(target, inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7864 |
var divSpan = $(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7865 |
if (divSpan.hasClass(this.markerClassName)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7866 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7867 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7868 |
divSpan.addClass(this.markerClassName).append(inst.dpDiv); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7869 |
$.data(target, PROP_NAME, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7870 |
this._setDate(inst, this._getDefaultDate(inst), true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7871 |
this._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7872 |
this._updateAlternate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7873 |
//If disabled option is true, disable the datepicker before showing it (see ticket #5665) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7874 |
if( inst.settings.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7875 |
this._disableDatepicker( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7876 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7877 |
// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7878 |
// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7879 |
inst.dpDiv.css( "display", "block" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7880 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7881 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7882 |
/* Pop-up the date picker in a "dialog" box. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7883 |
* @param input element - ignored |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7884 |
* @param date string or Date - the initial date to display |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7885 |
* @param onSelect function - the function to call when a date is selected |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7886 |
* @param settings object - update the dialog date picker instance's settings (anonymous object) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7887 |
* @param pos int[2] - coordinates for the dialog's position within the screen or |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7888 |
* event - with x/y coordinates or |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7889 |
* leave empty for default (screen centre) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7890 |
* @return the manager object |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7891 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7892 |
_dialogDatepicker: function(input, date, onSelect, settings, pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7893 |
var id, browserWidth, browserHeight, scrollX, scrollY, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7894 |
inst = this._dialogInst; // internal instance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7895 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7896 |
if (!inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7897 |
this.uuid += 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7898 |
id = "dp" + this.uuid; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7899 |
this._dialogInput = $("<input type='text' id='" + id + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7900 |
"' style='position: absolute; top: -100px; width: 0px;'/>"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7901 |
this._dialogInput.keydown(this._doKeyDown); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7902 |
$("body").append(this._dialogInput); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7903 |
inst = this._dialogInst = this._newInst(this._dialogInput, false); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7904 |
inst.settings = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7905 |
$.data(this._dialogInput[0], PROP_NAME, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7906 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7907 |
extendRemove(inst.settings, settings || {}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7908 |
date = (date && date.constructor === Date ? this._formatDate(inst, date) : date); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7909 |
this._dialogInput.val(date); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7910 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7911 |
this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7912 |
if (!this._pos) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7913 |
browserWidth = document.documentElement.clientWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7914 |
browserHeight = document.documentElement.clientHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7915 |
scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7916 |
scrollY = document.documentElement.scrollTop || document.body.scrollTop; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7917 |
this._pos = // should use actual width/height below |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7918 |
[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7919 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7920 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7921 |
// move input on screen for focus, but hidden behind dialog |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7922 |
this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7923 |
inst.settings.onSelect = onSelect; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7924 |
this._inDialog = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7925 |
this.dpDiv.addClass(this._dialogClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7926 |
this._showDatepicker(this._dialogInput[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7927 |
if ($.blockUI) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7928 |
$.blockUI(this.dpDiv); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7929 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7930 |
$.data(this._dialogInput[0], PROP_NAME, inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7931 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7932 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7933 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7934 |
/* Detach a datepicker from its control. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7935 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7936 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7937 |
_destroyDatepicker: function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7938 |
var nodeName, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7939 |
$target = $(target), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7940 |
inst = $.data(target, PROP_NAME); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7941 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7942 |
if (!$target.hasClass(this.markerClassName)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7943 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7944 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7945 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7946 |
nodeName = target.nodeName.toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7947 |
$.removeData(target, PROP_NAME); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7948 |
if (nodeName === "input") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7949 |
inst.append.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7950 |
inst.trigger.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7951 |
$target.removeClass(this.markerClassName). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7952 |
unbind("focus", this._showDatepicker). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7953 |
unbind("keydown", this._doKeyDown). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7954 |
unbind("keypress", this._doKeyPress). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7955 |
unbind("keyup", this._doKeyUp); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7956 |
} else if (nodeName === "div" || nodeName === "span") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7957 |
$target.removeClass(this.markerClassName).empty(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7958 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7959 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7960 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7961 |
/* Enable the date picker to a jQuery selection. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7962 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7963 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7964 |
_enableDatepicker: function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7965 |
var nodeName, inline, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7966 |
$target = $(target), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7967 |
inst = $.data(target, PROP_NAME); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7968 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7969 |
if (!$target.hasClass(this.markerClassName)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7970 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7971 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7972 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7973 |
nodeName = target.nodeName.toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7974 |
if (nodeName === "input") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7975 |
target.disabled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7976 |
inst.trigger.filter("button"). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7977 |
each(function() { this.disabled = false; }).end(). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7978 |
filter("img").css({opacity: "1.0", cursor: ""}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7979 |
} else if (nodeName === "div" || nodeName === "span") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7980 |
inline = $target.children("." + this._inlineClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7981 |
inline.children().removeClass("ui-state-disabled"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7982 |
inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7983 |
prop("disabled", false); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7984 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7985 |
this._disabledInputs = $.map(this._disabledInputs, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7986 |
function(value) { return (value === target ? null : value); }); // delete entry |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7987 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7988 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7989 |
/* Disable the date picker to a jQuery selection. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7990 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7991 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7992 |
_disableDatepicker: function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7993 |
var nodeName, inline, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7994 |
$target = $(target), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7995 |
inst = $.data(target, PROP_NAME); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7996 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7997 |
if (!$target.hasClass(this.markerClassName)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7998 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
7999 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8000 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8001 |
nodeName = target.nodeName.toLowerCase(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8002 |
if (nodeName === "input") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8003 |
target.disabled = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8004 |
inst.trigger.filter("button"). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8005 |
each(function() { this.disabled = true; }).end(). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8006 |
filter("img").css({opacity: "0.5", cursor: "default"}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8007 |
} else if (nodeName === "div" || nodeName === "span") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8008 |
inline = $target.children("." + this._inlineClass); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8009 |
inline.children().addClass("ui-state-disabled"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8010 |
inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8011 |
prop("disabled", true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8012 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8013 |
this._disabledInputs = $.map(this._disabledInputs, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8014 |
function(value) { return (value === target ? null : value); }); // delete entry |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8015 |
this._disabledInputs[this._disabledInputs.length] = target; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8016 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8017 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8018 |
/* Is the first field in a jQuery collection disabled as a datepicker? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8019 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8020 |
* @return boolean - true if disabled, false if enabled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8021 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8022 |
_isDisabledDatepicker: function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8023 |
if (!target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8024 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8025 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8026 |
for (var i = 0; i < this._disabledInputs.length; i++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8027 |
if (this._disabledInputs[i] === target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8028 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8029 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8030 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8031 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8032 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8033 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8034 |
/* Retrieve the instance data for the target control. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8035 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8036 |
* @return object - the associated instance data |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8037 |
* @throws error if a jQuery problem getting data |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8038 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8039 |
_getInst: function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8040 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8041 |
return $.data(target, PROP_NAME); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8042 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8043 |
catch (err) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8044 |
throw "Missing instance data for this datepicker"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8045 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8046 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8047 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8048 |
/* Update or retrieve the settings for a date picker attached to an input field or division. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8049 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8050 |
* @param name object - the new settings to update or |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8051 |
* string - the name of the setting to change or retrieve, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8052 |
* when retrieving also "all" for all instance settings or |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8053 |
* "defaults" for all global defaults |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8054 |
* @param value any - the new value for the setting |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8055 |
* (omit if above is an object or to retrieve a value) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8056 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8057 |
_optionDatepicker: function(target, name, value) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8058 |
var settings, date, minDate, maxDate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8059 |
inst = this._getInst(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8060 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8061 |
if (arguments.length === 2 && typeof name === "string") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8062 |
return (name === "defaults" ? $.extend({}, $.datepicker._defaults) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8063 |
(inst ? (name === "all" ? $.extend({}, inst.settings) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8064 |
this._get(inst, name)) : null)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8065 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8066 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8067 |
settings = name || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8068 |
if (typeof name === "string") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8069 |
settings = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8070 |
settings[name] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8071 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8072 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8073 |
if (inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8074 |
if (this._curInst === inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8075 |
this._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8076 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8077 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8078 |
date = this._getDateDatepicker(target, true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8079 |
minDate = this._getMinMaxDate(inst, "min"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8080 |
maxDate = this._getMinMaxDate(inst, "max"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8081 |
extendRemove(inst.settings, settings); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8082 |
// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8083 |
if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8084 |
inst.settings.minDate = this._formatDate(inst, minDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8085 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8086 |
if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8087 |
inst.settings.maxDate = this._formatDate(inst, maxDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8088 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8089 |
if ( "disabled" in settings ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8090 |
if ( settings.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8091 |
this._disableDatepicker(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8092 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8093 |
this._enableDatepicker(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8094 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8095 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8096 |
this._attachments($(target), inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8097 |
this._autoSize(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8098 |
this._setDate(inst, date); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8099 |
this._updateAlternate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8100 |
this._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8101 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8102 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8103 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8104 |
// change method deprecated |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8105 |
_changeDatepicker: function(target, name, value) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8106 |
this._optionDatepicker(target, name, value); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8107 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8108 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8109 |
/* Redraw the date picker attached to an input field or division. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8110 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8111 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8112 |
_refreshDatepicker: function(target) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8113 |
var inst = this._getInst(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8114 |
if (inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8115 |
this._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8116 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8117 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8118 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8119 |
/* Set the dates for a jQuery selection. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8120 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8121 |
* @param date Date - the new date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8122 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8123 |
_setDateDatepicker: function(target, date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8124 |
var inst = this._getInst(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8125 |
if (inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8126 |
this._setDate(inst, date); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8127 |
this._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8128 |
this._updateAlternate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8129 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8130 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8131 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8132 |
/* Get the date(s) for the first entry in a jQuery selection. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8133 |
* @param target element - the target input field or division or span |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8134 |
* @param noDefault boolean - true if no default date is to be used |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8135 |
* @return Date - the current date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8136 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8137 |
_getDateDatepicker: function(target, noDefault) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8138 |
var inst = this._getInst(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8139 |
if (inst && !inst.inline) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8140 |
this._setDateFromField(inst, noDefault); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8141 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8142 |
return (inst ? this._getDate(inst) : null); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8143 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8144 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8145 |
/* Handle keystrokes. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8146 |
_doKeyDown: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8147 |
var onSelect, dateStr, sel, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8148 |
inst = $.datepicker._getInst(event.target), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8149 |
handled = true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8150 |
isRTL = inst.dpDiv.is(".ui-datepicker-rtl"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8151 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8152 |
inst._keyEvent = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8153 |
if ($.datepicker._datepickerShowing) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8154 |
switch (event.keyCode) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8155 |
case 9: $.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8156 |
handled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8157 |
break; // hide on tab out |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8158 |
case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8159 |
$.datepicker._currentClass + ")", inst.dpDiv); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8160 |
if (sel[0]) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8161 |
$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8162 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8163 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8164 |
onSelect = $.datepicker._get(inst, "onSelect"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8165 |
if (onSelect) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8166 |
dateStr = $.datepicker._formatDate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8167 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8168 |
// trigger custom callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8169 |
onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8170 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8171 |
$.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8172 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8173 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8174 |
return false; // don't submit the form |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8175 |
case 27: $.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8176 |
break; // hide on escape |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8177 |
case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8178 |
-$.datepicker._get(inst, "stepBigMonths") : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8179 |
-$.datepicker._get(inst, "stepMonths")), "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8180 |
break; // previous month/year on page up/+ ctrl |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8181 |
case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8182 |
+$.datepicker._get(inst, "stepBigMonths") : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8183 |
+$.datepicker._get(inst, "stepMonths")), "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8184 |
break; // next month/year on page down/+ ctrl |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8185 |
case 35: if (event.ctrlKey || event.metaKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8186 |
$.datepicker._clearDate(event.target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8187 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8188 |
handled = event.ctrlKey || event.metaKey; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8189 |
break; // clear on ctrl or command +end |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8190 |
case 36: if (event.ctrlKey || event.metaKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8191 |
$.datepicker._gotoToday(event.target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8192 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8193 |
handled = event.ctrlKey || event.metaKey; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8194 |
break; // current on ctrl or command +home |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8195 |
case 37: if (event.ctrlKey || event.metaKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8196 |
$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8197 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8198 |
handled = event.ctrlKey || event.metaKey; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8199 |
// -1 day on ctrl or command +left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8200 |
if (event.originalEvent.altKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8201 |
$.datepicker._adjustDate(event.target, (event.ctrlKey ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8202 |
-$.datepicker._get(inst, "stepBigMonths") : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8203 |
-$.datepicker._get(inst, "stepMonths")), "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8204 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8205 |
// next month/year on alt +left on Mac |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8206 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8207 |
case 38: if (event.ctrlKey || event.metaKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8208 |
$.datepicker._adjustDate(event.target, -7, "D"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8209 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8210 |
handled = event.ctrlKey || event.metaKey; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8211 |
break; // -1 week on ctrl or command +up |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8212 |
case 39: if (event.ctrlKey || event.metaKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8213 |
$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8214 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8215 |
handled = event.ctrlKey || event.metaKey; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8216 |
// +1 day on ctrl or command +right |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8217 |
if (event.originalEvent.altKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8218 |
$.datepicker._adjustDate(event.target, (event.ctrlKey ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8219 |
+$.datepicker._get(inst, "stepBigMonths") : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8220 |
+$.datepicker._get(inst, "stepMonths")), "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8221 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8222 |
// next month/year on alt +right |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8223 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8224 |
case 40: if (event.ctrlKey || event.metaKey) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8225 |
$.datepicker._adjustDate(event.target, +7, "D"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8226 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8227 |
handled = event.ctrlKey || event.metaKey; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8228 |
break; // +1 week on ctrl or command +down |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8229 |
default: handled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8230 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8231 |
} else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8232 |
$.datepicker._showDatepicker(this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8233 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8234 |
handled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8235 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8236 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8237 |
if (handled) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8238 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8239 |
event.stopPropagation(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8240 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8241 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8242 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8243 |
/* Filter entered characters - based on date format. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8244 |
_doKeyPress: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8245 |
var chars, chr, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8246 |
inst = $.datepicker._getInst(event.target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8247 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8248 |
if ($.datepicker._get(inst, "constrainInput")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8249 |
chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8250 |
chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8251 |
return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8252 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8253 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8254 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8255 |
/* Synchronise manual entry and field/alternate field. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8256 |
_doKeyUp: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8257 |
var date, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8258 |
inst = $.datepicker._getInst(event.target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8259 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8260 |
if (inst.input.val() !== inst.lastVal) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8261 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8262 |
date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8263 |
(inst.input ? inst.input.val() : null), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8264 |
$.datepicker._getFormatConfig(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8265 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8266 |
if (date) { // only if valid |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8267 |
$.datepicker._setDateFromField(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8268 |
$.datepicker._updateAlternate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8269 |
$.datepicker._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8270 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8271 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8272 |
catch (err) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8273 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8274 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8275 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8276 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8277 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8278 |
/* Pop-up the date picker for a given input field. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8279 |
* If false returned from beforeShow event handler do not show. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8280 |
* @param input element - the input field attached to the date picker or |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8281 |
* event - if triggered by focus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8282 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8283 |
_showDatepicker: function(input) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8284 |
input = input.target || input; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8285 |
if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8286 |
input = $("input", input.parentNode)[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8287 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8288 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8289 |
if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8290 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8291 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8292 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8293 |
var inst, beforeShow, beforeShowSettings, isFixed, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8294 |
offset, showAnim, duration; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8295 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8296 |
inst = $.datepicker._getInst(input); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8297 |
if ($.datepicker._curInst && $.datepicker._curInst !== inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8298 |
$.datepicker._curInst.dpDiv.stop(true, true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8299 |
if ( inst && $.datepicker._datepickerShowing ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8300 |
$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8301 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8302 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8303 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8304 |
beforeShow = $.datepicker._get(inst, "beforeShow"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8305 |
beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8306 |
if(beforeShowSettings === false){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8307 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8308 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8309 |
extendRemove(inst.settings, beforeShowSettings); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8310 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8311 |
inst.lastVal = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8312 |
$.datepicker._lastInput = input; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8313 |
$.datepicker._setDateFromField(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8314 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8315 |
if ($.datepicker._inDialog) { // hide cursor |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8316 |
input.value = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8317 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8318 |
if (!$.datepicker._pos) { // position below input |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8319 |
$.datepicker._pos = $.datepicker._findPos(input); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8320 |
$.datepicker._pos[1] += input.offsetHeight; // add the height |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8321 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8322 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8323 |
isFixed = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8324 |
$(input).parents().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8325 |
isFixed |= $(this).css("position") === "fixed"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8326 |
return !isFixed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8327 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8328 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8329 |
offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8330 |
$.datepicker._pos = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8331 |
//to avoid flashes on Firefox |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8332 |
inst.dpDiv.empty(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8333 |
// determine sizing offscreen |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8334 |
inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8335 |
$.datepicker._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8336 |
// fix width for dynamic number of date pickers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8337 |
// and adjust position before showing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8338 |
offset = $.datepicker._checkOffset(inst, offset, isFixed); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8339 |
inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8340 |
"static" : (isFixed ? "fixed" : "absolute")), display: "none", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8341 |
left: offset.left + "px", top: offset.top + "px"}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8342 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8343 |
if (!inst.inline) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8344 |
showAnim = $.datepicker._get(inst, "showAnim"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8345 |
duration = $.datepicker._get(inst, "duration"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8346 |
inst.dpDiv.zIndex($(input).zIndex()+1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8347 |
$.datepicker._datepickerShowing = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8348 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8349 |
if ( $.effects && $.effects.effect[ showAnim ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8350 |
inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8351 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8352 |
inst.dpDiv[showAnim || "show"](showAnim ? duration : null); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8353 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8354 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8355 |
if ( $.datepicker._shouldFocusInput( inst ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8356 |
inst.input.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8357 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8358 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8359 |
$.datepicker._curInst = inst; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8360 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8361 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8362 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8363 |
/* Generate the date picker content. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8364 |
_updateDatepicker: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8365 |
this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8366 |
instActive = inst; // for delegate hover events |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8367 |
inst.dpDiv.empty().append(this._generateHTML(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8368 |
this._attachHandlers(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8369 |
inst.dpDiv.find("." + this._dayOverClass + " a").mouseover(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8370 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8371 |
var origyearshtml, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8372 |
numMonths = this._getNumberOfMonths(inst), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8373 |
cols = numMonths[1], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8374 |
width = 17; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8375 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8376 |
inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8377 |
if (cols > 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8378 |
inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8379 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8380 |
inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8381 |
"Class"]("ui-datepicker-multi"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8382 |
inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8383 |
"Class"]("ui-datepicker-rtl"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8384 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8385 |
if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8386 |
inst.input.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8387 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8388 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8389 |
// deffered render of the years select (to avoid flashes on Firefox) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8390 |
if( inst.yearshtml ){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8391 |
origyearshtml = inst.yearshtml; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8392 |
setTimeout(function(){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8393 |
//assure that inst.yearshtml didn't change. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8394 |
if( origyearshtml === inst.yearshtml && inst.yearshtml ){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8395 |
inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8396 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8397 |
origyearshtml = inst.yearshtml = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8398 |
}, 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8399 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8400 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8401 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8402 |
// #6694 - don't focus the input if it's already focused |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8403 |
// this breaks the change event in IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8404 |
// Support: IE and jQuery <1.9 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8405 |
_shouldFocusInput: function( inst ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8406 |
return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8407 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8408 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8409 |
/* Check positioning to remain on screen. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8410 |
_checkOffset: function(inst, offset, isFixed) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8411 |
var dpWidth = inst.dpDiv.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8412 |
dpHeight = inst.dpDiv.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8413 |
inputWidth = inst.input ? inst.input.outerWidth() : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8414 |
inputHeight = inst.input ? inst.input.outerHeight() : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8415 |
viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8416 |
viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8417 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8418 |
offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8419 |
offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8420 |
offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8421 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8422 |
// now check if datepicker is showing outside window viewport - move to a better place if so. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8423 |
offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8424 |
Math.abs(offset.left + dpWidth - viewWidth) : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8425 |
offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8426 |
Math.abs(dpHeight + inputHeight) : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8427 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8428 |
return offset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8429 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8430 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8431 |
/* Find an object's position on the screen. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8432 |
_findPos: function(obj) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8433 |
var position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8434 |
inst = this._getInst(obj), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8435 |
isRTL = this._get(inst, "isRTL"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8436 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8437 |
while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8438 |
obj = obj[isRTL ? "previousSibling" : "nextSibling"]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8439 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8440 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8441 |
position = $(obj).offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8442 |
return [position.left, position.top]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8443 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8444 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8445 |
/* Hide the date picker from view. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8446 |
* @param input element - the input field attached to the date picker |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8447 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8448 |
_hideDatepicker: function(input) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8449 |
var showAnim, duration, postProcess, onClose, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8450 |
inst = this._curInst; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8451 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8452 |
if (!inst || (input && inst !== $.data(input, PROP_NAME))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8453 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8454 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8455 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8456 |
if (this._datepickerShowing) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8457 |
showAnim = this._get(inst, "showAnim"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8458 |
duration = this._get(inst, "duration"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8459 |
postProcess = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8460 |
$.datepicker._tidyDialog(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8461 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8462 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8463 |
// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8464 |
if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8465 |
inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8466 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8467 |
inst.dpDiv[(showAnim === "slideDown" ? "slideUp" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8468 |
(showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8469 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8470 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8471 |
if (!showAnim) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8472 |
postProcess(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8473 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8474 |
this._datepickerShowing = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8475 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8476 |
onClose = this._get(inst, "onClose"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8477 |
if (onClose) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8478 |
onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8479 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8480 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8481 |
this._lastInput = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8482 |
if (this._inDialog) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8483 |
this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8484 |
if ($.blockUI) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8485 |
$.unblockUI(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8486 |
$("body").append(this.dpDiv); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8487 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8488 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8489 |
this._inDialog = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8490 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8491 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8492 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8493 |
/* Tidy up after a dialog display. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8494 |
_tidyDialog: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8495 |
inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8496 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8497 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8498 |
/* Close date picker if clicked elsewhere. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8499 |
_checkExternalClick: function(event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8500 |
if (!$.datepicker._curInst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8501 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8502 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8503 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8504 |
var $target = $(event.target), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8505 |
inst = $.datepicker._getInst($target[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8506 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8507 |
if ( ( ( $target[0].id !== $.datepicker._mainDivId && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8508 |
$target.parents("#" + $.datepicker._mainDivId).length === 0 && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8509 |
!$target.hasClass($.datepicker.markerClassName) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8510 |
!$target.closest("." + $.datepicker._triggerClass).length && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8511 |
$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8512 |
( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8513 |
$.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8514 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8515 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8516 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8517 |
/* Adjust one of the date sub-fields. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8518 |
_adjustDate: function(id, offset, period) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8519 |
var target = $(id), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8520 |
inst = this._getInst(target[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8521 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8522 |
if (this._isDisabledDatepicker(target[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8523 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8524 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8525 |
this._adjustInstDate(inst, offset + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8526 |
(period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8527 |
period); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8528 |
this._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8529 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8530 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8531 |
/* Action for current link. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8532 |
_gotoToday: function(id) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8533 |
var date, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8534 |
target = $(id), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8535 |
inst = this._getInst(target[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8536 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8537 |
if (this._get(inst, "gotoCurrent") && inst.currentDay) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8538 |
inst.selectedDay = inst.currentDay; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8539 |
inst.drawMonth = inst.selectedMonth = inst.currentMonth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8540 |
inst.drawYear = inst.selectedYear = inst.currentYear; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8541 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8542 |
date = new Date(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8543 |
inst.selectedDay = date.getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8544 |
inst.drawMonth = inst.selectedMonth = date.getMonth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8545 |
inst.drawYear = inst.selectedYear = date.getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8546 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8547 |
this._notifyChange(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8548 |
this._adjustDate(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8549 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8550 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8551 |
/* Action for selecting a new month/year. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8552 |
_selectMonthYear: function(id, select, period) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8553 |
var target = $(id), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8554 |
inst = this._getInst(target[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8555 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8556 |
inst["selected" + (period === "M" ? "Month" : "Year")] = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8557 |
inst["draw" + (period === "M" ? "Month" : "Year")] = |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8558 |
parseInt(select.options[select.selectedIndex].value,10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8559 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8560 |
this._notifyChange(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8561 |
this._adjustDate(target); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8562 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8563 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8564 |
/* Action for selecting a day. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8565 |
_selectDay: function(id, month, year, td) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8566 |
var inst, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8567 |
target = $(id); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8568 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8569 |
if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8570 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8571 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8572 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8573 |
inst = this._getInst(target[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8574 |
inst.selectedDay = inst.currentDay = $("a", td).html(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8575 |
inst.selectedMonth = inst.currentMonth = month; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8576 |
inst.selectedYear = inst.currentYear = year; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8577 |
this._selectDate(id, this._formatDate(inst, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8578 |
inst.currentDay, inst.currentMonth, inst.currentYear)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8579 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8580 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8581 |
/* Erase the input field and hide the date picker. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8582 |
_clearDate: function(id) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8583 |
var target = $(id); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8584 |
this._selectDate(target, ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8585 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8586 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8587 |
/* Update the input field with the selected date. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8588 |
_selectDate: function(id, dateStr) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8589 |
var onSelect, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8590 |
target = $(id), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8591 |
inst = this._getInst(target[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8592 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8593 |
dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8594 |
if (inst.input) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8595 |
inst.input.val(dateStr); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8596 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8597 |
this._updateAlternate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8598 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8599 |
onSelect = this._get(inst, "onSelect"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8600 |
if (onSelect) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8601 |
onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8602 |
} else if (inst.input) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8603 |
inst.input.trigger("change"); // fire the change event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8604 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8605 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8606 |
if (inst.inline){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8607 |
this._updateDatepicker(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8608 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8609 |
this._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8610 |
this._lastInput = inst.input[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8611 |
if (typeof(inst.input[0]) !== "object") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8612 |
inst.input.focus(); // restore focus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8613 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8614 |
this._lastInput = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8615 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8616 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8617 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8618 |
/* Update any alternate field to synchronise with the main field. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8619 |
_updateAlternate: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8620 |
var altFormat, date, dateStr, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8621 |
altField = this._get(inst, "altField"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8622 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8623 |
if (altField) { // update alternate field too |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8624 |
altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8625 |
date = this._getDate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8626 |
dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8627 |
$(altField).each(function() { $(this).val(dateStr); }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8628 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8629 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8630 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8631 |
/* Set as beforeShowDay function to prevent selection of weekends. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8632 |
* @param date Date - the date to customise |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8633 |
* @return [boolean, string] - is this date selectable?, what is its CSS class? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8634 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8635 |
noWeekends: function(date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8636 |
var day = date.getDay(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8637 |
return [(day > 0 && day < 6), ""]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8638 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8639 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8640 |
/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8641 |
* @param date Date - the date to get the week for |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8642 |
* @return number - the number of the week within the year that contains this date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8643 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8644 |
iso8601Week: function(date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8645 |
var time, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8646 |
checkDate = new Date(date.getTime()); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8647 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8648 |
// Find Thursday of this week starting on Monday |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8649 |
checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8650 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8651 |
time = checkDate.getTime(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8652 |
checkDate.setMonth(0); // Compare with Jan 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8653 |
checkDate.setDate(1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8654 |
return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8655 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8656 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8657 |
/* Parse a string value into a date object. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8658 |
* See formatDate below for the possible formats. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8659 |
* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8660 |
* @param format string - the expected format of the date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8661 |
* @param value string - the date in the above format |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8662 |
* @param settings Object - attributes include: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8663 |
* shortYearCutoff number - the cutoff year for determining the century (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8664 |
* dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8665 |
* dayNames string[7] - names of the days from Sunday (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8666 |
* monthNamesShort string[12] - abbreviated names of the months (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8667 |
* monthNames string[12] - names of the months (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8668 |
* @return Date - the extracted date value or null if value is blank |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8669 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8670 |
parseDate: function (format, value, settings) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8671 |
if (format == null || value == null) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8672 |
throw "Invalid arguments"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8673 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8674 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8675 |
value = (typeof value === "object" ? value.toString() : value + ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8676 |
if (value === "") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8677 |
return null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8678 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8679 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8680 |
var iFormat, dim, extra, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8681 |
iValue = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8682 |
shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8683 |
shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8684 |
new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8685 |
dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8686 |
dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8687 |
monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8688 |
monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8689 |
year = -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8690 |
month = -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8691 |
day = -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8692 |
doy = -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8693 |
literal = false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8694 |
date, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8695 |
// Check whether a format character is doubled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8696 |
lookAhead = function(match) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8697 |
var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8698 |
if (matches) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8699 |
iFormat++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8700 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8701 |
return matches; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8702 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8703 |
// Extract a number from the string value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8704 |
getNumber = function(match) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8705 |
var isDoubled = lookAhead(match), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8706 |
size = (match === "@" ? 14 : (match === "!" ? 20 : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8707 |
(match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8708 |
digits = new RegExp("^\\d{1," + size + "}"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8709 |
num = value.substring(iValue).match(digits); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8710 |
if (!num) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8711 |
throw "Missing number at position " + iValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8712 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8713 |
iValue += num[0].length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8714 |
return parseInt(num[0], 10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8715 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8716 |
// Extract a name from the string value and convert to an index |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8717 |
getName = function(match, shortNames, longNames) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8718 |
var index = -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8719 |
names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8720 |
return [ [k, v] ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8721 |
}).sort(function (a, b) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8722 |
return -(a[1].length - b[1].length); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8723 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8724 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8725 |
$.each(names, function (i, pair) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8726 |
var name = pair[1]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8727 |
if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8728 |
index = pair[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8729 |
iValue += name.length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8730 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8731 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8732 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8733 |
if (index !== -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8734 |
return index + 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8735 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8736 |
throw "Unknown name at position " + iValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8737 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8738 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8739 |
// Confirm that a literal character matches the string value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8740 |
checkLiteral = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8741 |
if (value.charAt(iValue) !== format.charAt(iFormat)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8742 |
throw "Unexpected literal at position " + iValue; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8743 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8744 |
iValue++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8745 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8746 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8747 |
for (iFormat = 0; iFormat < format.length; iFormat++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8748 |
if (literal) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8749 |
if (format.charAt(iFormat) === "'" && !lookAhead("'")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8750 |
literal = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8751 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8752 |
checkLiteral(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8753 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8754 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8755 |
switch (format.charAt(iFormat)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8756 |
case "d": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8757 |
day = getNumber("d"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8758 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8759 |
case "D": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8760 |
getName("D", dayNamesShort, dayNames); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8761 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8762 |
case "o": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8763 |
doy = getNumber("o"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8764 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8765 |
case "m": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8766 |
month = getNumber("m"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8767 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8768 |
case "M": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8769 |
month = getName("M", monthNamesShort, monthNames); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8770 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8771 |
case "y": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8772 |
year = getNumber("y"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8773 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8774 |
case "@": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8775 |
date = new Date(getNumber("@")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8776 |
year = date.getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8777 |
month = date.getMonth() + 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8778 |
day = date.getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8779 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8780 |
case "!": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8781 |
date = new Date((getNumber("!") - this._ticksTo1970) / 10000); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8782 |
year = date.getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8783 |
month = date.getMonth() + 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8784 |
day = date.getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8785 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8786 |
case "'": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8787 |
if (lookAhead("'")){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8788 |
checkLiteral(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8789 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8790 |
literal = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8791 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8792 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8793 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8794 |
checkLiteral(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8795 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8796 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8797 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8798 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8799 |
if (iValue < value.length){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8800 |
extra = value.substr(iValue); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8801 |
if (!/^\s+/.test(extra)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8802 |
throw "Extra/unparsed characters found in date: " + extra; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8803 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8804 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8805 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8806 |
if (year === -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8807 |
year = new Date().getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8808 |
} else if (year < 100) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8809 |
year += new Date().getFullYear() - new Date().getFullYear() % 100 + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8810 |
(year <= shortYearCutoff ? 0 : -100); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8811 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8812 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8813 |
if (doy > -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8814 |
month = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8815 |
day = doy; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8816 |
do { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8817 |
dim = this._getDaysInMonth(year, month - 1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8818 |
if (day <= dim) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8819 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8820 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8821 |
month++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8822 |
day -= dim; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8823 |
} while (true); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8824 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8825 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8826 |
date = this._daylightSavingAdjust(new Date(year, month - 1, day)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8827 |
if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8828 |
throw "Invalid date"; // E.g. 31/02/00 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8829 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8830 |
return date; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8831 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8832 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8833 |
/* Standard date formats. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8834 |
ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8835 |
COOKIE: "D, dd M yy", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8836 |
ISO_8601: "yy-mm-dd", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8837 |
RFC_822: "D, d M y", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8838 |
RFC_850: "DD, dd-M-y", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8839 |
RFC_1036: "D, d M y", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8840 |
RFC_1123: "D, d M yy", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8841 |
RFC_2822: "D, d M yy", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8842 |
RSS: "D, d M y", // RFC 822 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8843 |
TICKS: "!", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8844 |
TIMESTAMP: "@", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8845 |
W3C: "yy-mm-dd", // ISO 8601 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8846 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8847 |
_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8848 |
Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8849 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8850 |
/* Format a date object into a string value. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8851 |
* The format can be combinations of the following: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8852 |
* d - day of month (no leading zero) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8853 |
* dd - day of month (two digit) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8854 |
* o - day of year (no leading zeros) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8855 |
* oo - day of year (three digit) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8856 |
* D - day name short |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8857 |
* DD - day name long |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8858 |
* m - month of year (no leading zero) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8859 |
* mm - month of year (two digit) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8860 |
* M - month name short |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8861 |
* MM - month name long |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8862 |
* y - year (two digit) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8863 |
* yy - year (four digit) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8864 |
* @ - Unix timestamp (ms since 01/01/1970) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8865 |
* ! - Windows ticks (100ns since 01/01/0001) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8866 |
* "..." - literal text |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8867 |
* '' - single quote |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8868 |
* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8869 |
* @param format string - the desired format of the date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8870 |
* @param date Date - the date value to format |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8871 |
* @param settings Object - attributes include: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8872 |
* dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8873 |
* dayNames string[7] - names of the days from Sunday (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8874 |
* monthNamesShort string[12] - abbreviated names of the months (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8875 |
* monthNames string[12] - names of the months (optional) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8876 |
* @return string - the date in the above format |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8877 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8878 |
formatDate: function (format, date, settings) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8879 |
if (!date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8880 |
return ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8881 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8882 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8883 |
var iFormat, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8884 |
dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8885 |
dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8886 |
monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8887 |
monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8888 |
// Check whether a format character is doubled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8889 |
lookAhead = function(match) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8890 |
var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8891 |
if (matches) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8892 |
iFormat++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8893 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8894 |
return matches; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8895 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8896 |
// Format a number, with leading zero if necessary |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8897 |
formatNumber = function(match, value, len) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8898 |
var num = "" + value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8899 |
if (lookAhead(match)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8900 |
while (num.length < len) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8901 |
num = "0" + num; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8902 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8903 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8904 |
return num; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8905 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8906 |
// Format a name, short or long as requested |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8907 |
formatName = function(match, value, shortNames, longNames) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8908 |
return (lookAhead(match) ? longNames[value] : shortNames[value]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8909 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8910 |
output = "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8911 |
literal = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8912 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8913 |
if (date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8914 |
for (iFormat = 0; iFormat < format.length; iFormat++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8915 |
if (literal) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8916 |
if (format.charAt(iFormat) === "'" && !lookAhead("'")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8917 |
literal = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8918 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8919 |
output += format.charAt(iFormat); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8920 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8921 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8922 |
switch (format.charAt(iFormat)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8923 |
case "d": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8924 |
output += formatNumber("d", date.getDate(), 2); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8925 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8926 |
case "D": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8927 |
output += formatName("D", date.getDay(), dayNamesShort, dayNames); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8928 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8929 |
case "o": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8930 |
output += formatNumber("o", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8931 |
Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8932 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8933 |
case "m": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8934 |
output += formatNumber("m", date.getMonth() + 1, 2); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8935 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8936 |
case "M": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8937 |
output += formatName("M", date.getMonth(), monthNamesShort, monthNames); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8938 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8939 |
case "y": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8940 |
output += (lookAhead("y") ? date.getFullYear() : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8941 |
(date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8942 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8943 |
case "@": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8944 |
output += date.getTime(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8945 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8946 |
case "!": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8947 |
output += date.getTime() * 10000 + this._ticksTo1970; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8948 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8949 |
case "'": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8950 |
if (lookAhead("'")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8951 |
output += "'"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8952 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8953 |
literal = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8954 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8955 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8956 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8957 |
output += format.charAt(iFormat); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8958 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8959 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8960 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8961 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8962 |
return output; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8963 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8964 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8965 |
/* Extract all possible characters from the date format. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8966 |
_possibleChars: function (format) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8967 |
var iFormat, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8968 |
chars = "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8969 |
literal = false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8970 |
// Check whether a format character is doubled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8971 |
lookAhead = function(match) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8972 |
var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8973 |
if (matches) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8974 |
iFormat++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8975 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8976 |
return matches; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8977 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8978 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8979 |
for (iFormat = 0; iFormat < format.length; iFormat++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8980 |
if (literal) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8981 |
if (format.charAt(iFormat) === "'" && !lookAhead("'")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8982 |
literal = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8983 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8984 |
chars += format.charAt(iFormat); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8985 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8986 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8987 |
switch (format.charAt(iFormat)) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8988 |
case "d": case "m": case "y": case "@": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8989 |
chars += "0123456789"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8990 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8991 |
case "D": case "M": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8992 |
return null; // Accept anything |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8993 |
case "'": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8994 |
if (lookAhead("'")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8995 |
chars += "'"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8996 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8997 |
literal = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8998 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
8999 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9000 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9001 |
chars += format.charAt(iFormat); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9002 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9003 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9004 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9005 |
return chars; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9006 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9007 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9008 |
/* Get a setting value, defaulting if necessary. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9009 |
_get: function(inst, name) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9010 |
return inst.settings[name] !== undefined ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9011 |
inst.settings[name] : this._defaults[name]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9012 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9013 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9014 |
/* Parse existing date and initialise date picker. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9015 |
_setDateFromField: function(inst, noDefault) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9016 |
if (inst.input.val() === inst.lastVal) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9017 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9018 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9019 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9020 |
var dateFormat = this._get(inst, "dateFormat"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9021 |
dates = inst.lastVal = inst.input ? inst.input.val() : null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9022 |
defaultDate = this._getDefaultDate(inst), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9023 |
date = defaultDate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9024 |
settings = this._getFormatConfig(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9025 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9026 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9027 |
date = this.parseDate(dateFormat, dates, settings) || defaultDate; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9028 |
} catch (event) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9029 |
dates = (noDefault ? "" : dates); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9030 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9031 |
inst.selectedDay = date.getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9032 |
inst.drawMonth = inst.selectedMonth = date.getMonth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9033 |
inst.drawYear = inst.selectedYear = date.getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9034 |
inst.currentDay = (dates ? date.getDate() : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9035 |
inst.currentMonth = (dates ? date.getMonth() : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9036 |
inst.currentYear = (dates ? date.getFullYear() : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9037 |
this._adjustInstDate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9038 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9039 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9040 |
/* Retrieve the default date shown on opening. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9041 |
_getDefaultDate: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9042 |
return this._restrictMinMax(inst, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9043 |
this._determineDate(inst, this._get(inst, "defaultDate"), new Date())); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9044 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9045 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9046 |
/* A date may be specified as an exact value or a relative one. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9047 |
_determineDate: function(inst, date, defaultDate) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9048 |
var offsetNumeric = function(offset) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9049 |
var date = new Date(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9050 |
date.setDate(date.getDate() + offset); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9051 |
return date; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9052 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9053 |
offsetString = function(offset) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9054 |
try { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9055 |
return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9056 |
offset, $.datepicker._getFormatConfig(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9057 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9058 |
catch (e) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9059 |
// Ignore |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9060 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9061 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9062 |
var date = (offset.toLowerCase().match(/^c/) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9063 |
$.datepicker._getDate(inst) : null) || new Date(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9064 |
year = date.getFullYear(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9065 |
month = date.getMonth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9066 |
day = date.getDate(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9067 |
pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9068 |
matches = pattern.exec(offset); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9069 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9070 |
while (matches) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9071 |
switch (matches[2] || "d") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9072 |
case "d" : case "D" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9073 |
day += parseInt(matches[1],10); break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9074 |
case "w" : case "W" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9075 |
day += parseInt(matches[1],10) * 7; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9076 |
case "m" : case "M" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9077 |
month += parseInt(matches[1],10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9078 |
day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9079 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9080 |
case "y": case "Y" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9081 |
year += parseInt(matches[1],10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9082 |
day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9083 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9084 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9085 |
matches = pattern.exec(offset); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9086 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9087 |
return new Date(year, month, day); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9088 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9089 |
newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9090 |
(typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime())))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9091 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9092 |
newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9093 |
if (newDate) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9094 |
newDate.setHours(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9095 |
newDate.setMinutes(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9096 |
newDate.setSeconds(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9097 |
newDate.setMilliseconds(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9098 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9099 |
return this._daylightSavingAdjust(newDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9100 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9101 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9102 |
/* Handle switch to/from daylight saving. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9103 |
* Hours may be non-zero on daylight saving cut-over: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9104 |
* > 12 when midnight changeover, but then cannot generate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9105 |
* midnight datetime, so jump to 1AM, otherwise reset. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9106 |
* @param date (Date) the date to check |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9107 |
* @return (Date) the corrected date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9108 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9109 |
_daylightSavingAdjust: function(date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9110 |
if (!date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9111 |
return null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9112 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9113 |
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9114 |
return date; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9115 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9116 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9117 |
/* Set the date(s) directly. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9118 |
_setDate: function(inst, date, noChange) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9119 |
var clear = !date, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9120 |
origMonth = inst.selectedMonth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9121 |
origYear = inst.selectedYear, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9122 |
newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date())); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9123 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9124 |
inst.selectedDay = inst.currentDay = newDate.getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9125 |
inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9126 |
inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9127 |
if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9128 |
this._notifyChange(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9129 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9130 |
this._adjustInstDate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9131 |
if (inst.input) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9132 |
inst.input.val(clear ? "" : this._formatDate(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9133 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9134 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9135 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9136 |
/* Retrieve the date(s) directly. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9137 |
_getDate: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9138 |
var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9139 |
this._daylightSavingAdjust(new Date( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9140 |
inst.currentYear, inst.currentMonth, inst.currentDay))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9141 |
return startDate; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9142 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9143 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9144 |
/* Attach the onxxx handlers. These are declared statically so |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9145 |
* they work with static code transformers like Caja. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9146 |
*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9147 |
_attachHandlers: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9148 |
var stepMonths = this._get(inst, "stepMonths"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9149 |
id = "#" + inst.id.replace( /\\\\/g, "\\" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9150 |
inst.dpDiv.find("[data-handler]").map(function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9151 |
var handler = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9152 |
prev: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9153 |
$.datepicker._adjustDate(id, -stepMonths, "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9154 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9155 |
next: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9156 |
$.datepicker._adjustDate(id, +stepMonths, "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9157 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9158 |
hide: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9159 |
$.datepicker._hideDatepicker(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9160 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9161 |
today: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9162 |
$.datepicker._gotoToday(id); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9163 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9164 |
selectDay: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9165 |
$.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9166 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9167 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9168 |
selectMonth: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9169 |
$.datepicker._selectMonthYear(id, this, "M"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9170 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9171 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9172 |
selectYear: function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9173 |
$.datepicker._selectMonthYear(id, this, "Y"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9174 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9175 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9176 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9177 |
$(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9178 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9179 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9180 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9181 |
/* Generate the HTML for the current state of the date picker. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9182 |
_generateHTML: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9183 |
var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9184 |
controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9185 |
monthNames, monthNamesShort, beforeShowDay, showOtherMonths, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9186 |
selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9187 |
cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9188 |
printDate, dRow, tbody, daySettings, otherMonth, unselectable, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9189 |
tempDate = new Date(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9190 |
today = this._daylightSavingAdjust( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9191 |
new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9192 |
isRTL = this._get(inst, "isRTL"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9193 |
showButtonPanel = this._get(inst, "showButtonPanel"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9194 |
hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9195 |
navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9196 |
numMonths = this._getNumberOfMonths(inst), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9197 |
showCurrentAtPos = this._get(inst, "showCurrentAtPos"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9198 |
stepMonths = this._get(inst, "stepMonths"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9199 |
isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9200 |
currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9201 |
new Date(inst.currentYear, inst.currentMonth, inst.currentDay))), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9202 |
minDate = this._getMinMaxDate(inst, "min"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9203 |
maxDate = this._getMinMaxDate(inst, "max"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9204 |
drawMonth = inst.drawMonth - showCurrentAtPos, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9205 |
drawYear = inst.drawYear; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9206 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9207 |
if (drawMonth < 0) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9208 |
drawMonth += 12; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9209 |
drawYear--; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9210 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9211 |
if (maxDate) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9212 |
maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9213 |
maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate())); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9214 |
maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9215 |
while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9216 |
drawMonth--; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9217 |
if (drawMonth < 0) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9218 |
drawMonth = 11; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9219 |
drawYear--; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9220 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9221 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9222 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9223 |
inst.drawMonth = drawMonth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9224 |
inst.drawYear = drawYear; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9225 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9226 |
prevText = this._get(inst, "prevText"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9227 |
prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9228 |
this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9229 |
this._getFormatConfig(inst))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9230 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9231 |
prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9232 |
"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9233 |
" title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9234 |
(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9235 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9236 |
nextText = this._get(inst, "nextText"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9237 |
nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9238 |
this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9239 |
this._getFormatConfig(inst))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9240 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9241 |
next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9242 |
"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9243 |
" title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9244 |
(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9245 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9246 |
currentText = this._get(inst, "currentText"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9247 |
gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9248 |
currentText = (!navigationAsDateFormat ? currentText : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9249 |
this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9250 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9251 |
controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9252 |
this._get(inst, "closeText") + "</button>" : ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9253 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9254 |
buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9255 |
(this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9256 |
">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9257 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9258 |
firstDay = parseInt(this._get(inst, "firstDay"),10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9259 |
firstDay = (isNaN(firstDay) ? 0 : firstDay); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9260 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9261 |
showWeek = this._get(inst, "showWeek"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9262 |
dayNames = this._get(inst, "dayNames"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9263 |
dayNamesMin = this._get(inst, "dayNamesMin"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9264 |
monthNames = this._get(inst, "monthNames"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9265 |
monthNamesShort = this._get(inst, "monthNamesShort"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9266 |
beforeShowDay = this._get(inst, "beforeShowDay"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9267 |
showOtherMonths = this._get(inst, "showOtherMonths"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9268 |
selectOtherMonths = this._get(inst, "selectOtherMonths"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9269 |
defaultDate = this._getDefaultDate(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9270 |
html = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9271 |
dow; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9272 |
for (row = 0; row < numMonths[0]; row++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9273 |
group = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9274 |
this.maxRows = 4; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9275 |
for (col = 0; col < numMonths[1]; col++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9276 |
selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9277 |
cornerClass = " ui-corner-all"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9278 |
calender = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9279 |
if (isMultiMonth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9280 |
calender += "<div class='ui-datepicker-group"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9281 |
if (numMonths[1] > 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9282 |
switch (col) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9283 |
case 0: calender += " ui-datepicker-group-first"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9284 |
cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9285 |
case numMonths[1]-1: calender += " ui-datepicker-group-last"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9286 |
cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9287 |
default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9288 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9289 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9290 |
calender += "'>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9291 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9292 |
calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9293 |
(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9294 |
(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9295 |
this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9296 |
row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9297 |
"</div><table class='ui-datepicker-calendar'><thead>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9298 |
"<tr>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9299 |
thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9300 |
for (dow = 0; dow < 7; dow++) { // days of the week |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9301 |
day = (dow + firstDay) % 7; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9302 |
thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9303 |
"<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9304 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9305 |
calender += thead + "</tr></thead><tbody>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9306 |
daysInMonth = this._getDaysInMonth(drawYear, drawMonth); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9307 |
if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9308 |
inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9309 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9310 |
leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9311 |
curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9312 |
numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9313 |
this.maxRows = numRows; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9314 |
printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9315 |
for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9316 |
calender += "<tr>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9317 |
tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9318 |
this._get(inst, "calculateWeek")(printDate) + "</td>"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9319 |
for (dow = 0; dow < 7; dow++) { // create date picker days |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9320 |
daySettings = (beforeShowDay ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9321 |
beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9322 |
otherMonth = (printDate.getMonth() !== drawMonth); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9323 |
unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9324 |
(minDate && printDate < minDate) || (maxDate && printDate > maxDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9325 |
tbody += "<td class='" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9326 |
((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9327 |
(otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9328 |
((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9329 |
(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9330 |
// or defaultDate is current printedDate and defaultDate is selectedDate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9331 |
" " + this._dayOverClass : "") + // highlight selected day |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9332 |
(unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") + // highlight unselectable days |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9333 |
(otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9334 |
(printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9335 |
(printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9336 |
((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "'") + "'" : "") + // cell title |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9337 |
(unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9338 |
(otherMonth && !showOtherMonths ? " " : // display for other months |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9339 |
(unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9340 |
(printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9341 |
(printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9342 |
(otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9343 |
"' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9344 |
printDate.setDate(printDate.getDate() + 1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9345 |
printDate = this._daylightSavingAdjust(printDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9346 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9347 |
calender += tbody + "</tr>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9348 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9349 |
drawMonth++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9350 |
if (drawMonth > 11) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9351 |
drawMonth = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9352 |
drawYear++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9353 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9354 |
calender += "</tbody></table>" + (isMultiMonth ? "</div>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9355 |
((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9356 |
group += calender; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9357 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9358 |
html += group; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9359 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9360 |
html += buttonPanel; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9361 |
inst._keyEvent = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9362 |
return html; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9363 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9364 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9365 |
/* Generate the month and year header. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9366 |
_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9367 |
secondary, monthNames, monthNamesShort) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9368 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9369 |
var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9370 |
changeMonth = this._get(inst, "changeMonth"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9371 |
changeYear = this._get(inst, "changeYear"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9372 |
showMonthAfterYear = this._get(inst, "showMonthAfterYear"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9373 |
html = "<div class='ui-datepicker-title'>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9374 |
monthHtml = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9375 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9376 |
// month selection |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9377 |
if (secondary || !changeMonth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9378 |
monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9379 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9380 |
inMinYear = (minDate && minDate.getFullYear() === drawYear); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9381 |
inMaxYear = (maxDate && maxDate.getFullYear() === drawYear); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9382 |
monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9383 |
for ( month = 0; month < 12; month++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9384 |
if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9385 |
monthHtml += "<option value='" + month + "'" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9386 |
(month === drawMonth ? " selected='selected'" : "") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9387 |
">" + monthNamesShort[month] + "</option>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9388 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9389 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9390 |
monthHtml += "</select>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9391 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9392 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9393 |
if (!showMonthAfterYear) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9394 |
html += monthHtml + (secondary || !(changeMonth && changeYear) ? " " : ""); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9395 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9396 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9397 |
// year selection |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9398 |
if ( !inst.yearshtml ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9399 |
inst.yearshtml = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9400 |
if (secondary || !changeYear) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9401 |
html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9402 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9403 |
// determine range of years to display |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9404 |
years = this._get(inst, "yearRange").split(":"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9405 |
thisYear = new Date().getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9406 |
determineYear = function(value) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9407 |
var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9408 |
(value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9409 |
parseInt(value, 10))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9410 |
return (isNaN(year) ? thisYear : year); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9411 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9412 |
year = determineYear(years[0]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9413 |
endYear = Math.max(year, determineYear(years[1] || "")); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9414 |
year = (minDate ? Math.max(year, minDate.getFullYear()) : year); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9415 |
endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9416 |
inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9417 |
for (; year <= endYear; year++) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9418 |
inst.yearshtml += "<option value='" + year + "'" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9419 |
(year === drawYear ? " selected='selected'" : "") + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9420 |
">" + year + "</option>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9421 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9422 |
inst.yearshtml += "</select>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9423 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9424 |
html += inst.yearshtml; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9425 |
inst.yearshtml = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9426 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9427 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9428 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9429 |
html += this._get(inst, "yearSuffix"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9430 |
if (showMonthAfterYear) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9431 |
html += (secondary || !(changeMonth && changeYear) ? " " : "") + monthHtml; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9432 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9433 |
html += "</div>"; // Close datepicker_header |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9434 |
return html; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9435 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9436 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9437 |
/* Adjust one of the date sub-fields. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9438 |
_adjustInstDate: function(inst, offset, period) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9439 |
var year = inst.drawYear + (period === "Y" ? offset : 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9440 |
month = inst.drawMonth + (period === "M" ? offset : 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9441 |
day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9442 |
date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9443 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9444 |
inst.selectedDay = date.getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9445 |
inst.drawMonth = inst.selectedMonth = date.getMonth(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9446 |
inst.drawYear = inst.selectedYear = date.getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9447 |
if (period === "M" || period === "Y") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9448 |
this._notifyChange(inst); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9449 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9450 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9451 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9452 |
/* Ensure a date is within any min/max bounds. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9453 |
_restrictMinMax: function(inst, date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9454 |
var minDate = this._getMinMaxDate(inst, "min"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9455 |
maxDate = this._getMinMaxDate(inst, "max"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9456 |
newDate = (minDate && date < minDate ? minDate : date); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9457 |
return (maxDate && newDate > maxDate ? maxDate : newDate); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9458 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9459 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9460 |
/* Notify change of month/year. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9461 |
_notifyChange: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9462 |
var onChange = this._get(inst, "onChangeMonthYear"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9463 |
if (onChange) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9464 |
onChange.apply((inst.input ? inst.input[0] : null), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9465 |
[inst.selectedYear, inst.selectedMonth + 1, inst]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9466 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9467 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9468 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9469 |
/* Determine the number of months to show. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9470 |
_getNumberOfMonths: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9471 |
var numMonths = this._get(inst, "numberOfMonths"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9472 |
return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9473 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9474 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9475 |
/* Determine the current maximum date - ensure no time components are set. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9476 |
_getMinMaxDate: function(inst, minMax) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9477 |
return this._determineDate(inst, this._get(inst, minMax + "Date"), null); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9478 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9479 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9480 |
/* Find the number of days in a given month. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9481 |
_getDaysInMonth: function(year, month) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9482 |
return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9483 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9484 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9485 |
/* Find the day of the week of the first of a month. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9486 |
_getFirstDayOfMonth: function(year, month) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9487 |
return new Date(year, month, 1).getDay(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9488 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9489 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9490 |
/* Determines if we should allow a "next/prev" month display change. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9491 |
_canAdjustMonth: function(inst, offset, curYear, curMonth) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9492 |
var numMonths = this._getNumberOfMonths(inst), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9493 |
date = this._daylightSavingAdjust(new Date(curYear, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9494 |
curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9495 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9496 |
if (offset < 0) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9497 |
date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9498 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9499 |
return this._isInRange(inst, date); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9500 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9501 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9502 |
/* Is the given date in the accepted range? */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9503 |
_isInRange: function(inst, date) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9504 |
var yearSplit, currentYear, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9505 |
minDate = this._getMinMaxDate(inst, "min"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9506 |
maxDate = this._getMinMaxDate(inst, "max"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9507 |
minYear = null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9508 |
maxYear = null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9509 |
years = this._get(inst, "yearRange"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9510 |
if (years){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9511 |
yearSplit = years.split(":"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9512 |
currentYear = new Date().getFullYear(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9513 |
minYear = parseInt(yearSplit[0], 10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9514 |
maxYear = parseInt(yearSplit[1], 10); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9515 |
if ( yearSplit[0].match(/[+\-].*/) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9516 |
minYear += currentYear; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9517 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9518 |
if ( yearSplit[1].match(/[+\-].*/) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9519 |
maxYear += currentYear; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9520 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9521 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9522 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9523 |
return ((!minDate || date.getTime() >= minDate.getTime()) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9524 |
(!maxDate || date.getTime() <= maxDate.getTime()) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9525 |
(!minYear || date.getFullYear() >= minYear) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9526 |
(!maxYear || date.getFullYear() <= maxYear)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9527 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9528 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9529 |
/* Provide the configuration settings for formatting/parsing. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9530 |
_getFormatConfig: function(inst) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9531 |
var shortYearCutoff = this._get(inst, "shortYearCutoff"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9532 |
shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9533 |
new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9534 |
return {shortYearCutoff: shortYearCutoff, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9535 |
dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9536 |
monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9537 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9538 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9539 |
/* Format the given date for display. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9540 |
_formatDate: function(inst, day, month, year) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9541 |
if (!day) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9542 |
inst.currentDay = inst.selectedDay; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9543 |
inst.currentMonth = inst.selectedMonth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9544 |
inst.currentYear = inst.selectedYear; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9545 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9546 |
var date = (day ? (typeof day === "object" ? day : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9547 |
this._daylightSavingAdjust(new Date(year, month, day))) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9548 |
this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9549 |
return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9550 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9551 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9552 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9553 |
/* |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9554 |
* Bind hover events for datepicker elements. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9555 |
* Done via delegate so the binding only occurs once in the lifetime of the parent div. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9556 |
* Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. |
4373
972143183ea3
new jquery based widgets for Time/Date/DateTime, backported from crm
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
9557 |
*/ |
9388
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9558 |
function bindHover(dpDiv) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9559 |
var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9560 |
return dpDiv.delegate(selector, "mouseout", function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9561 |
$(this).removeClass("ui-state-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9562 |
if (this.className.indexOf("ui-datepicker-prev") !== -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9563 |
$(this).removeClass("ui-datepicker-prev-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9564 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9565 |
if (this.className.indexOf("ui-datepicker-next") !== -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9566 |
$(this).removeClass("ui-datepicker-next-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9567 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9568 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9569 |
.delegate(selector, "mouseover", function(){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9570 |
if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9571 |
$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9572 |
$(this).addClass("ui-state-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9573 |
if (this.className.indexOf("ui-datepicker-prev") !== -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9574 |
$(this).addClass("ui-datepicker-prev-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9575 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9576 |
if (this.className.indexOf("ui-datepicker-next") !== -1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9577 |
$(this).addClass("ui-datepicker-next-hover"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9578 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9579 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9580 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9581 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9582 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9583 |
/* jQuery extend now ignores nulls! */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9584 |
function extendRemove(target, props) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9585 |
$.extend(target, props); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9586 |
for (var name in props) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9587 |
if (props[name] == null) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9588 |
target[name] = props[name]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9589 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9590 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9591 |
return target; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9592 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9593 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9594 |
/* Invoke the datepicker functionality. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9595 |
@param options string - a command, optionally followed by additional parameters or |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9596 |
Object - settings for attaching new datepicker functionality |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9597 |
@return jQuery object */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9598 |
$.fn.datepicker = function(options){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9599 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9600 |
/* Verify an empty collection wasn't passed - Fixes #6976 */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9601 |
if ( !this.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9602 |
return this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9603 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9604 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9605 |
/* Initialise the date picker. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9606 |
if (!$.datepicker.initialized) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9607 |
$(document).mousedown($.datepicker._checkExternalClick); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9608 |
$.datepicker.initialized = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9609 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9610 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9611 |
/* Append datepicker main container to body if not exist. */ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9612 |
if ($("#"+$.datepicker._mainDivId).length === 0) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9613 |
$("body").append($.datepicker.dpDiv); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9614 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9615 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9616 |
var otherArgs = Array.prototype.slice.call(arguments, 1); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9617 |
if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9618 |
return $.datepicker["_" + options + "Datepicker"]. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9619 |
apply($.datepicker, [this[0]].concat(otherArgs)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9620 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9621 |
if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9622 |
return $.datepicker["_" + options + "Datepicker"]. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9623 |
apply($.datepicker, [this[0]].concat(otherArgs)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9624 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9625 |
return this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9626 |
typeof options === "string" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9627 |
$.datepicker["_" + options + "Datepicker"]. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9628 |
apply($.datepicker, [this].concat(otherArgs)) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9629 |
$.datepicker._attachDatepicker(this, options); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9630 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9631 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9632 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9633 |
$.datepicker = new Datepicker(); // singleton instance |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9634 |
$.datepicker.initialized = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9635 |
$.datepicker.uuid = new Date().getTime(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9636 |
$.datepicker.version = "1.10.3"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9637 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9638 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9639 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9640 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9641 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9642 |
var sizeRelatedOptions = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9643 |
buttons: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9644 |
height: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9645 |
maxHeight: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9646 |
maxWidth: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9647 |
minHeight: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9648 |
minWidth: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9649 |
width: true |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9650 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9651 |
resizableRelatedOptions = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9652 |
maxHeight: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9653 |
maxWidth: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9654 |
minHeight: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9655 |
minWidth: true |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9656 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9657 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9658 |
$.widget( "ui.dialog", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9659 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9660 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9661 |
appendTo: "body", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9662 |
autoOpen: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9663 |
buttons: [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9664 |
closeOnEscape: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9665 |
closeText: "close", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9666 |
dialogClass: "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9667 |
draggable: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9668 |
hide: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9669 |
height: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9670 |
maxHeight: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9671 |
maxWidth: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9672 |
minHeight: 150, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9673 |
minWidth: 150, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9674 |
modal: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9675 |
position: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9676 |
my: "center", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9677 |
at: "center", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9678 |
of: window, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9679 |
collision: "fit", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9680 |
// Ensure the titlebar is always visible |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9681 |
using: function( pos ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9682 |
var topOffset = $( this ).css( pos ).offset().top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9683 |
if ( topOffset < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9684 |
$( this ).css( "top", pos.top - topOffset ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9685 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9686 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9687 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9688 |
resizable: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9689 |
show: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9690 |
title: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9691 |
width: 300, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9692 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9693 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9694 |
beforeClose: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9695 |
close: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9696 |
drag: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9697 |
dragStart: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9698 |
dragStop: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9699 |
focus: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9700 |
open: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9701 |
resize: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9702 |
resizeStart: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9703 |
resizeStop: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9704 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9705 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9706 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9707 |
this.originalCss = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9708 |
display: this.element[0].style.display, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9709 |
width: this.element[0].style.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9710 |
minHeight: this.element[0].style.minHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9711 |
maxHeight: this.element[0].style.maxHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9712 |
height: this.element[0].style.height |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9713 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9714 |
this.originalPosition = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9715 |
parent: this.element.parent(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9716 |
index: this.element.parent().children().index( this.element ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9717 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9718 |
this.originalTitle = this.element.attr("title"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9719 |
this.options.title = this.options.title || this.originalTitle; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9720 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9721 |
this._createWrapper(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9722 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9723 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9724 |
.show() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9725 |
.removeAttr("title") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9726 |
.addClass("ui-dialog-content ui-widget-content") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9727 |
.appendTo( this.uiDialog ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9728 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9729 |
this._createTitlebar(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9730 |
this._createButtonPane(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9731 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9732 |
if ( this.options.draggable && $.fn.draggable ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9733 |
this._makeDraggable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9734 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9735 |
if ( this.options.resizable && $.fn.resizable ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9736 |
this._makeResizable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9737 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9738 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9739 |
this._isOpen = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9740 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9741 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9742 |
_init: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9743 |
if ( this.options.autoOpen ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9744 |
this.open(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9745 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9746 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9747 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9748 |
_appendTo: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9749 |
var element = this.options.appendTo; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9750 |
if ( element && (element.jquery || element.nodeType) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9751 |
return $( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9752 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9753 |
return this.document.find( element || "body" ).eq( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9754 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9755 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9756 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9757 |
var next, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9758 |
originalPosition = this.originalPosition; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9759 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9760 |
this._destroyOverlay(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9761 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9762 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9763 |
.removeUniqueId() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9764 |
.removeClass("ui-dialog-content ui-widget-content") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9765 |
.css( this.originalCss ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9766 |
// Without detaching first, the following becomes really slow |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9767 |
.detach(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9768 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9769 |
this.uiDialog.stop( true, true ).remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9770 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9771 |
if ( this.originalTitle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9772 |
this.element.attr( "title", this.originalTitle ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9773 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9774 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9775 |
next = originalPosition.parent.children().eq( originalPosition.index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9776 |
// Don't try to place the dialog next to itself (#8613) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9777 |
if ( next.length && next[0] !== this.element[0] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9778 |
next.before( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9779 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9780 |
originalPosition.parent.append( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9781 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9782 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9783 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9784 |
widget: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9785 |
return this.uiDialog; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9786 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9787 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9788 |
disable: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9789 |
enable: $.noop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9790 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9791 |
close: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9792 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9793 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9794 |
if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9795 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9796 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9797 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9798 |
this._isOpen = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9799 |
this._destroyOverlay(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9800 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9801 |
if ( !this.opener.filter(":focusable").focus().length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9802 |
// Hiding a focused element doesn't trigger blur in WebKit |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9803 |
// so in case we have nothing to focus on, explicitly blur the active element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9804 |
// https://bugs.webkit.org/show_bug.cgi?id=47182 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9805 |
$( this.document[0].activeElement ).blur(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9806 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9807 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9808 |
this._hide( this.uiDialog, this.options.hide, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9809 |
that._trigger( "close", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9810 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9811 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9812 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9813 |
isOpen: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9814 |
return this._isOpen; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9815 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9816 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9817 |
moveToTop: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9818 |
this._moveToTop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9819 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9820 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9821 |
_moveToTop: function( event, silent ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9822 |
var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9823 |
if ( moved && !silent ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9824 |
this._trigger( "focus", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9825 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9826 |
return moved; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9827 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9828 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9829 |
open: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9830 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9831 |
if ( this._isOpen ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9832 |
if ( this._moveToTop() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9833 |
this._focusTabbable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9834 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9835 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9836 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9837 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9838 |
this._isOpen = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9839 |
this.opener = $( this.document[0].activeElement ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9840 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9841 |
this._size(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9842 |
this._position(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9843 |
this._createOverlay(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9844 |
this._moveToTop( null, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9845 |
this._show( this.uiDialog, this.options.show, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9846 |
that._focusTabbable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9847 |
that._trigger("focus"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9848 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9849 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9850 |
this._trigger("open"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9851 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9852 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9853 |
_focusTabbable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9854 |
// Set focus to the first match: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9855 |
// 1. First element inside the dialog matching [autofocus] |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9856 |
// 2. Tabbable element inside the content element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9857 |
// 3. Tabbable element inside the buttonpane |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9858 |
// 4. The close button |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9859 |
// 5. The dialog itself |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9860 |
var hasFocus = this.element.find("[autofocus]"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9861 |
if ( !hasFocus.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9862 |
hasFocus = this.element.find(":tabbable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9863 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9864 |
if ( !hasFocus.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9865 |
hasFocus = this.uiDialogButtonPane.find(":tabbable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9866 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9867 |
if ( !hasFocus.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9868 |
hasFocus = this.uiDialogTitlebarClose.filter(":tabbable"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9869 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9870 |
if ( !hasFocus.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9871 |
hasFocus = this.uiDialog; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9872 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9873 |
hasFocus.eq( 0 ).focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9874 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9875 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9876 |
_keepFocus: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9877 |
function checkFocus() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9878 |
var activeElement = this.document[0].activeElement, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9879 |
isActive = this.uiDialog[0] === activeElement || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9880 |
$.contains( this.uiDialog[0], activeElement ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9881 |
if ( !isActive ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9882 |
this._focusTabbable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9883 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9884 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9885 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9886 |
checkFocus.call( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9887 |
// support: IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9888 |
// IE <= 8 doesn't prevent moving focus even with event.preventDefault() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9889 |
// so we check again later |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9890 |
this._delay( checkFocus ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9891 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9892 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9893 |
_createWrapper: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9894 |
this.uiDialog = $("<div>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9895 |
.addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9896 |
this.options.dialogClass ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9897 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9898 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9899 |
// Setting tabIndex makes the div focusable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9900 |
tabIndex: -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9901 |
role: "dialog" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9902 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9903 |
.appendTo( this._appendTo() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9904 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9905 |
this._on( this.uiDialog, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9906 |
keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9907 |
if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9908 |
event.keyCode === $.ui.keyCode.ESCAPE ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9909 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9910 |
this.close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9911 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9912 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9913 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9914 |
// prevent tabbing out of dialogs |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9915 |
if ( event.keyCode !== $.ui.keyCode.TAB ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9916 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9917 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9918 |
var tabbables = this.uiDialog.find(":tabbable"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9919 |
first = tabbables.filter(":first"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9920 |
last = tabbables.filter(":last"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9921 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9922 |
if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9923 |
first.focus( 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9924 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9925 |
} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9926 |
last.focus( 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9927 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9928 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9929 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9930 |
mousedown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9931 |
if ( this._moveToTop( event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9932 |
this._focusTabbable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9933 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9934 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9935 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9936 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9937 |
// We assume that any existing aria-describedby attribute means |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9938 |
// that the dialog content is marked up properly |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9939 |
// otherwise we brute force the content as the description |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9940 |
if ( !this.element.find("[aria-describedby]").length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9941 |
this.uiDialog.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9942 |
"aria-describedby": this.element.uniqueId().attr("id") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9943 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9944 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9945 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9946 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9947 |
_createTitlebar: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9948 |
var uiDialogTitle; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9949 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9950 |
this.uiDialogTitlebar = $("<div>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9951 |
.addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9952 |
.prependTo( this.uiDialog ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9953 |
this._on( this.uiDialogTitlebar, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9954 |
mousedown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9955 |
// Don't prevent click on close button (#8838) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9956 |
// Focusing a dialog that is partially scrolled out of view |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9957 |
// causes the browser to scroll it into view, preventing the click event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9958 |
if ( !$( event.target ).closest(".ui-dialog-titlebar-close") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9959 |
// Dialog isn't getting focus when dragging (#8063) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9960 |
this.uiDialog.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9961 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9962 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9963 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9964 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9965 |
this.uiDialogTitlebarClose = $("<button></button>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9966 |
.button({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9967 |
label: this.options.closeText, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9968 |
icons: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9969 |
primary: "ui-icon-closethick" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9970 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9971 |
text: false |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9972 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9973 |
.addClass("ui-dialog-titlebar-close") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9974 |
.appendTo( this.uiDialogTitlebar ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9975 |
this._on( this.uiDialogTitlebarClose, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9976 |
click: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9977 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9978 |
this.close( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9979 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9980 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9981 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9982 |
uiDialogTitle = $("<span>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9983 |
.uniqueId() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9984 |
.addClass("ui-dialog-title") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9985 |
.prependTo( this.uiDialogTitlebar ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9986 |
this._title( uiDialogTitle ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9987 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9988 |
this.uiDialog.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9989 |
"aria-labelledby": uiDialogTitle.attr("id") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9990 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9991 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9992 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9993 |
_title: function( title ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9994 |
if ( !this.options.title ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9995 |
title.html(" "); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9996 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9997 |
title.text( this.options.title ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9998 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
9999 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10000 |
_createButtonPane: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10001 |
this.uiDialogButtonPane = $("<div>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10002 |
.addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10003 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10004 |
this.uiButtonSet = $("<div>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10005 |
.addClass("ui-dialog-buttonset") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10006 |
.appendTo( this.uiDialogButtonPane ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10007 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10008 |
this._createButtons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10009 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10010 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10011 |
_createButtons: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10012 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10013 |
buttons = this.options.buttons; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10014 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10015 |
// if we already have a button pane, remove it |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10016 |
this.uiDialogButtonPane.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10017 |
this.uiButtonSet.empty(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10018 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10019 |
if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10020 |
this.uiDialog.removeClass("ui-dialog-buttons"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10021 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10022 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10023 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10024 |
$.each( buttons, function( name, props ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10025 |
var click, buttonOptions; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10026 |
props = $.isFunction( props ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10027 |
{ click: props, text: name } : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10028 |
props; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10029 |
// Default to a non-submitting button |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10030 |
props = $.extend( { type: "button" }, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10031 |
// Change the context for the click callback to be the main element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10032 |
click = props.click; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10033 |
props.click = function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10034 |
click.apply( that.element[0], arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10035 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10036 |
buttonOptions = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10037 |
icons: props.icons, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10038 |
text: props.showText |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10039 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10040 |
delete props.icons; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10041 |
delete props.showText; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10042 |
$( "<button></button>", props ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10043 |
.button( buttonOptions ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10044 |
.appendTo( that.uiButtonSet ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10045 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10046 |
this.uiDialog.addClass("ui-dialog-buttons"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10047 |
this.uiDialogButtonPane.appendTo( this.uiDialog ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10048 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10049 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10050 |
_makeDraggable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10051 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10052 |
options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10053 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10054 |
function filteredUi( ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10055 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10056 |
position: ui.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10057 |
offset: ui.offset |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10058 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10059 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10060 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10061 |
this.uiDialog.draggable({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10062 |
cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10063 |
handle: ".ui-dialog-titlebar", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10064 |
containment: "document", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10065 |
start: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10066 |
$( this ).addClass("ui-dialog-dragging"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10067 |
that._blockFrames(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10068 |
that._trigger( "dragStart", event, filteredUi( ui ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10069 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10070 |
drag: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10071 |
that._trigger( "drag", event, filteredUi( ui ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10072 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10073 |
stop: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10074 |
options.position = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10075 |
ui.position.left - that.document.scrollLeft(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10076 |
ui.position.top - that.document.scrollTop() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10077 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10078 |
$( this ).removeClass("ui-dialog-dragging"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10079 |
that._unblockFrames(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10080 |
that._trigger( "dragStop", event, filteredUi( ui ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10081 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10082 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10083 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10084 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10085 |
_makeResizable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10086 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10087 |
options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10088 |
handles = options.resizable, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10089 |
// .ui-resizable has position: relative defined in the stylesheet |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10090 |
// but dialogs have to use absolute or fixed positioning |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10091 |
position = this.uiDialog.css("position"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10092 |
resizeHandles = typeof handles === "string" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10093 |
handles : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10094 |
"n,e,s,w,se,sw,ne,nw"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10095 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10096 |
function filteredUi( ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10097 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10098 |
originalPosition: ui.originalPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10099 |
originalSize: ui.originalSize, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10100 |
position: ui.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10101 |
size: ui.size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10102 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10103 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10104 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10105 |
this.uiDialog.resizable({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10106 |
cancel: ".ui-dialog-content", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10107 |
containment: "document", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10108 |
alsoResize: this.element, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10109 |
maxWidth: options.maxWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10110 |
maxHeight: options.maxHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10111 |
minWidth: options.minWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10112 |
minHeight: this._minHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10113 |
handles: resizeHandles, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10114 |
start: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10115 |
$( this ).addClass("ui-dialog-resizing"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10116 |
that._blockFrames(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10117 |
that._trigger( "resizeStart", event, filteredUi( ui ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10118 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10119 |
resize: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10120 |
that._trigger( "resize", event, filteredUi( ui ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10121 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10122 |
stop: function( event, ui ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10123 |
options.height = $( this ).height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10124 |
options.width = $( this ).width(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10125 |
$( this ).removeClass("ui-dialog-resizing"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10126 |
that._unblockFrames(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10127 |
that._trigger( "resizeStop", event, filteredUi( ui ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10128 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10129 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10130 |
.css( "position", position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10131 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10132 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10133 |
_minHeight: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10134 |
var options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10135 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10136 |
return options.height === "auto" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10137 |
options.minHeight : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10138 |
Math.min( options.minHeight, options.height ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10139 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10140 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10141 |
_position: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10142 |
// Need to show the dialog to get the actual offset in the position plugin |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10143 |
var isVisible = this.uiDialog.is(":visible"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10144 |
if ( !isVisible ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10145 |
this.uiDialog.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10146 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10147 |
this.uiDialog.position( this.options.position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10148 |
if ( !isVisible ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10149 |
this.uiDialog.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10150 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10151 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10152 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10153 |
_setOptions: function( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10154 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10155 |
resize = false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10156 |
resizableOptions = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10157 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10158 |
$.each( options, function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10159 |
that._setOption( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10160 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10161 |
if ( key in sizeRelatedOptions ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10162 |
resize = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10163 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10164 |
if ( key in resizableRelatedOptions ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10165 |
resizableOptions[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10166 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10167 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10168 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10169 |
if ( resize ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10170 |
this._size(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10171 |
this._position(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10172 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10173 |
if ( this.uiDialog.is(":data(ui-resizable)") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10174 |
this.uiDialog.resizable( "option", resizableOptions ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10175 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10176 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10177 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10178 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10179 |
/*jshint maxcomplexity:15*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10180 |
var isDraggable, isResizable, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10181 |
uiDialog = this.uiDialog; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10182 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10183 |
if ( key === "dialogClass" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10184 |
uiDialog |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10185 |
.removeClass( this.options.dialogClass ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10186 |
.addClass( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10187 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10188 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10189 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10190 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10191 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10192 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10193 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10194 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10195 |
if ( key === "appendTo" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10196 |
this.uiDialog.appendTo( this._appendTo() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10197 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10198 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10199 |
if ( key === "buttons" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10200 |
this._createButtons(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10201 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10202 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10203 |
if ( key === "closeText" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10204 |
this.uiDialogTitlebarClose.button({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10205 |
// Ensure that we always pass a string |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10206 |
label: "" + value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10207 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10208 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10209 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10210 |
if ( key === "draggable" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10211 |
isDraggable = uiDialog.is(":data(ui-draggable)"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10212 |
if ( isDraggable && !value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10213 |
uiDialog.draggable("destroy"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10214 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10215 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10216 |
if ( !isDraggable && value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10217 |
this._makeDraggable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10218 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10219 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10220 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10221 |
if ( key === "position" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10222 |
this._position(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10223 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10224 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10225 |
if ( key === "resizable" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10226 |
// currently resizable, becoming non-resizable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10227 |
isResizable = uiDialog.is(":data(ui-resizable)"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10228 |
if ( isResizable && !value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10229 |
uiDialog.resizable("destroy"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10230 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10231 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10232 |
// currently resizable, changing handles |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10233 |
if ( isResizable && typeof value === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10234 |
uiDialog.resizable( "option", "handles", value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10235 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10236 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10237 |
// currently non-resizable, becoming resizable |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10238 |
if ( !isResizable && value !== false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10239 |
this._makeResizable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10240 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10241 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10242 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10243 |
if ( key === "title" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10244 |
this._title( this.uiDialogTitlebar.find(".ui-dialog-title") ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10245 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10246 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10247 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10248 |
_size: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10249 |
// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10250 |
// divs will both have width and height set, so we need to reset them |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10251 |
var nonContentHeight, minContentHeight, maxContentHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10252 |
options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10253 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10254 |
// Reset content sizing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10255 |
this.element.show().css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10256 |
width: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10257 |
minHeight: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10258 |
maxHeight: "none", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10259 |
height: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10260 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10261 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10262 |
if ( options.minWidth > options.width ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10263 |
options.width = options.minWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10264 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10265 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10266 |
// reset wrapper sizing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10267 |
// determine the height of all the non-content elements |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10268 |
nonContentHeight = this.uiDialog.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10269 |
height: "auto", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10270 |
width: options.width |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10271 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10272 |
.outerHeight(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10273 |
minContentHeight = Math.max( 0, options.minHeight - nonContentHeight ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10274 |
maxContentHeight = typeof options.maxHeight === "number" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10275 |
Math.max( 0, options.maxHeight - nonContentHeight ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10276 |
"none"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10277 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10278 |
if ( options.height === "auto" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10279 |
this.element.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10280 |
minHeight: minContentHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10281 |
maxHeight: maxContentHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10282 |
height: "auto" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10283 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10284 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10285 |
this.element.height( Math.max( 0, options.height - nonContentHeight ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10286 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10287 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10288 |
if (this.uiDialog.is(":data(ui-resizable)") ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10289 |
this.uiDialog.resizable( "option", "minHeight", this._minHeight() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10290 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10291 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10292 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10293 |
_blockFrames: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10294 |
this.iframeBlocks = this.document.find( "iframe" ).map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10295 |
var iframe = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10296 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10297 |
return $( "<div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10298 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10299 |
position: "absolute", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10300 |
width: iframe.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10301 |
height: iframe.outerHeight() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10302 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10303 |
.appendTo( iframe.parent() ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10304 |
.offset( iframe.offset() )[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10305 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10306 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10307 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10308 |
_unblockFrames: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10309 |
if ( this.iframeBlocks ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10310 |
this.iframeBlocks.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10311 |
delete this.iframeBlocks; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10312 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10313 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10314 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10315 |
_allowInteraction: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10316 |
if ( $( event.target ).closest(".ui-dialog").length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10317 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10318 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10319 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10320 |
// TODO: Remove hack when datepicker implements |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10321 |
// the .ui-front logic (#8989) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10322 |
return !!$( event.target ).closest(".ui-datepicker").length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10323 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10324 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10325 |
_createOverlay: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10326 |
if ( !this.options.modal ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10327 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10328 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10329 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10330 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10331 |
widgetFullName = this.widgetFullName; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10332 |
if ( !$.ui.dialog.overlayInstances ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10333 |
// Prevent use of anchors and inputs. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10334 |
// We use a delay in case the overlay is created from an |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10335 |
// event that we're going to be cancelling. (#2804) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10336 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10337 |
// Handle .dialog().dialog("close") (#4065) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10338 |
if ( $.ui.dialog.overlayInstances ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10339 |
this.document.bind( "focusin.dialog", function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10340 |
if ( !that._allowInteraction( event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10341 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10342 |
$(".ui-dialog:visible:last .ui-dialog-content") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10343 |
.data( widgetFullName )._focusTabbable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10344 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10345 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10346 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10347 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10348 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10349 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10350 |
this.overlay = $("<div>") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10351 |
.addClass("ui-widget-overlay ui-front") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10352 |
.appendTo( this._appendTo() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10353 |
this._on( this.overlay, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10354 |
mousedown: "_keepFocus" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10355 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10356 |
$.ui.dialog.overlayInstances++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10357 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10358 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10359 |
_destroyOverlay: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10360 |
if ( !this.options.modal ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10361 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10362 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10363 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10364 |
if ( this.overlay ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10365 |
$.ui.dialog.overlayInstances--; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10366 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10367 |
if ( !$.ui.dialog.overlayInstances ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10368 |
this.document.unbind( "focusin.dialog" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10369 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10370 |
this.overlay.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10371 |
this.overlay = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10372 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10373 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10374 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10375 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10376 |
$.ui.dialog.overlayInstances = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10377 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10378 |
// DEPRECATED |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10379 |
if ( $.uiBackCompat !== false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10380 |
// position option with array notation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10381 |
// just override with old implementation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10382 |
$.widget( "ui.dialog", $.ui.dialog, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10383 |
_position: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10384 |
var position = this.options.position, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10385 |
myAt = [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10386 |
offset = [ 0, 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10387 |
isVisible; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10388 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10389 |
if ( position ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10390 |
if ( typeof position === "string" || (typeof position === "object" && "0" in position ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10391 |
myAt = position.split ? position.split(" ") : [ position[0], position[1] ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10392 |
if ( myAt.length === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10393 |
myAt[1] = myAt[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10394 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10395 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10396 |
$.each( [ "left", "top" ], function( i, offsetPosition ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10397 |
if ( +myAt[ i ] === myAt[ i ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10398 |
offset[ i ] = myAt[ i ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10399 |
myAt[ i ] = offsetPosition; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10400 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10401 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10402 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10403 |
position = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10404 |
my: myAt[0] + (offset[0] < 0 ? offset[0] : "+" + offset[0]) + " " + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10405 |
myAt[1] + (offset[1] < 0 ? offset[1] : "+" + offset[1]), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10406 |
at: myAt.join(" ") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10407 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10408 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10409 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10410 |
position = $.extend( {}, $.ui.dialog.prototype.options.position, position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10411 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10412 |
position = $.ui.dialog.prototype.options.position; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10413 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10414 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10415 |
// need to show the dialog to get the actual offset in the position plugin |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10416 |
isVisible = this.uiDialog.is(":visible"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10417 |
if ( !isVisible ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10418 |
this.uiDialog.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10419 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10420 |
this.uiDialog.position( position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10421 |
if ( !isVisible ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10422 |
this.uiDialog.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10423 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10424 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10425 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10426 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10427 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10428 |
}( jQuery ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10429 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10430 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10431 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10432 |
var rvertical = /up|down|vertical/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10433 |
rpositivemotion = /up|left|vertical|horizontal/; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10434 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10435 |
$.effects.effect.blind = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10436 |
// Create element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10437 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10438 |
props = [ "position", "top", "bottom", "left", "right", "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10439 |
mode = $.effects.setMode( el, o.mode || "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10440 |
direction = o.direction || "up", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10441 |
vertical = rvertical.test( direction ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10442 |
ref = vertical ? "height" : "width", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10443 |
ref2 = vertical ? "top" : "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10444 |
motion = rpositivemotion.test( direction ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10445 |
animation = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10446 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10447 |
wrapper, distance, margin; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10448 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10449 |
// if already wrapped, the wrapper's properties are my property. #6245 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10450 |
if ( el.parent().is( ".ui-effects-wrapper" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10451 |
$.effects.save( el.parent(), props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10452 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10453 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10454 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10455 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10456 |
wrapper = $.effects.createWrapper( el ).css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10457 |
overflow: "hidden" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10458 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10459 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10460 |
distance = wrapper[ ref ](); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10461 |
margin = parseFloat( wrapper.css( ref2 ) ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10462 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10463 |
animation[ ref ] = show ? distance : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10464 |
if ( !motion ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10465 |
el |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10466 |
.css( vertical ? "bottom" : "right", 0 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10467 |
.css( vertical ? "top" : "left", "auto" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10468 |
.css({ position: "absolute" }); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10469 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10470 |
animation[ ref2 ] = show ? margin : distance + margin; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10471 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10472 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10473 |
// start at 0 if we are showing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10474 |
if ( show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10475 |
wrapper.css( ref, 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10476 |
if ( ! motion ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10477 |
wrapper.css( ref2, margin + distance ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10478 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10479 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10480 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10481 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10482 |
wrapper.animate( animation, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10483 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10484 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10485 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10486 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10487 |
if ( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10488 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10489 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10490 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10491 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10492 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10493 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10494 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10495 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10496 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10497 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10498 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10499 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10500 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10501 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10502 |
$.effects.effect.bounce = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10503 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10504 |
props = [ "position", "top", "bottom", "left", "right", "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10505 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10506 |
// defaults: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10507 |
mode = $.effects.setMode( el, o.mode || "effect" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10508 |
hide = mode === "hide", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10509 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10510 |
direction = o.direction || "up", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10511 |
distance = o.distance, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10512 |
times = o.times || 5, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10513 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10514 |
// number of internal animations |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10515 |
anims = times * 2 + ( show || hide ? 1 : 0 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10516 |
speed = o.duration / anims, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10517 |
easing = o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10518 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10519 |
// utility: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10520 |
ref = ( direction === "up" || direction === "down" ) ? "top" : "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10521 |
motion = ( direction === "up" || direction === "left" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10522 |
i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10523 |
upAnim, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10524 |
downAnim, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10525 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10526 |
// we will need to re-assemble the queue to stack our animations in place |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10527 |
queue = el.queue(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10528 |
queuelen = queue.length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10529 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10530 |
// Avoid touching opacity to prevent clearType and PNG issues in IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10531 |
if ( show || hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10532 |
props.push( "opacity" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10533 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10534 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10535 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10536 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10537 |
$.effects.createWrapper( el ); // Create Wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10538 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10539 |
// default distance for the BIGGEST bounce is the outer Distance / 3 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10540 |
if ( !distance ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10541 |
distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10542 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10543 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10544 |
if ( show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10545 |
downAnim = { opacity: 1 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10546 |
downAnim[ ref ] = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10547 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10548 |
// if we are showing, force opacity 0 and set the initial position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10549 |
// then do the "first" animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10550 |
el.css( "opacity", 0 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10551 |
.css( ref, motion ? -distance * 2 : distance * 2 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10552 |
.animate( downAnim, speed, easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10553 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10554 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10555 |
// start at the smallest distance if we are hiding |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10556 |
if ( hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10557 |
distance = distance / Math.pow( 2, times - 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10558 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10559 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10560 |
downAnim = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10561 |
downAnim[ ref ] = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10562 |
// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10563 |
for ( i = 0; i < times; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10564 |
upAnim = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10565 |
upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10566 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10567 |
el.animate( upAnim, speed, easing ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10568 |
.animate( downAnim, speed, easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10569 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10570 |
distance = hide ? distance * 2 : distance / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10571 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10572 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10573 |
// Last Bounce when Hiding |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10574 |
if ( hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10575 |
upAnim = { opacity: 0 }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10576 |
upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10577 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10578 |
el.animate( upAnim, speed, easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10579 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10580 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10581 |
el.queue(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10582 |
if ( hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10583 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10584 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10585 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10586 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10587 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10588 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10589 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10590 |
// inject all the animations we just queued to be first in line (after "inprogress") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10591 |
if ( queuelen > 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10592 |
queue.splice.apply( queue, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10593 |
[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10594 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10595 |
el.dequeue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10596 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10597 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10598 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10599 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10600 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10601 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10602 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10603 |
$.effects.effect.clip = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10604 |
// Create element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10605 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10606 |
props = [ "position", "top", "bottom", "left", "right", "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10607 |
mode = $.effects.setMode( el, o.mode || "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10608 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10609 |
direction = o.direction || "vertical", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10610 |
vert = direction === "vertical", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10611 |
size = vert ? "height" : "width", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10612 |
position = vert ? "top" : "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10613 |
animation = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10614 |
wrapper, animate, distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10615 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10616 |
// Save & Show |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10617 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10618 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10619 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10620 |
// Create Wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10621 |
wrapper = $.effects.createWrapper( el ).css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10622 |
overflow: "hidden" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10623 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10624 |
animate = ( el[0].tagName === "IMG" ) ? wrapper : el; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10625 |
distance = animate[ size ](); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10626 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10627 |
// Shift |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10628 |
if ( show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10629 |
animate.css( size, 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10630 |
animate.css( position, distance / 2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10631 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10632 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10633 |
// Create Animation Object: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10634 |
animation[ size ] = show ? distance : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10635 |
animation[ position ] = show ? 0 : distance / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10636 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10637 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10638 |
animate.animate( animation, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10639 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10640 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10641 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10642 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10643 |
if ( !show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10644 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10645 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10646 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10647 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10648 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10649 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10650 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10651 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10652 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10653 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10654 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10655 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10656 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10657 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10658 |
$.effects.effect.drop = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10659 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10660 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10661 |
props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10662 |
mode = $.effects.setMode( el, o.mode || "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10663 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10664 |
direction = o.direction || "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10665 |
ref = ( direction === "up" || direction === "down" ) ? "top" : "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10666 |
motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10667 |
animation = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10668 |
opacity: show ? 1 : 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10669 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10670 |
distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10671 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10672 |
// Adjust |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10673 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10674 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10675 |
$.effects.createWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10676 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10677 |
distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10678 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10679 |
if ( show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10680 |
el |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10681 |
.css( "opacity", 0 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10682 |
.css( ref, motion === "pos" ? -distance : distance ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10683 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10684 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10685 |
// Animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10686 |
animation[ ref ] = ( show ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10687 |
( motion === "pos" ? "+=" : "-=" ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10688 |
( motion === "pos" ? "-=" : "+=" ) ) + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10689 |
distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10690 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10691 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10692 |
el.animate( animation, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10693 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10694 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10695 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10696 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10697 |
if ( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10698 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10699 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10700 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10701 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10702 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10703 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10704 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10705 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10706 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10707 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10708 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10709 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10710 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10711 |
$.effects.effect.explode = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10712 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10713 |
var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10714 |
cells = rows, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10715 |
el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10716 |
mode = $.effects.setMode( el, o.mode || "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10717 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10718 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10719 |
// show and then visibility:hidden the element before calculating offset |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10720 |
offset = el.show().css( "visibility", "hidden" ).offset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10721 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10722 |
// width and height of a piece |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10723 |
width = Math.ceil( el.outerWidth() / cells ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10724 |
height = Math.ceil( el.outerHeight() / rows ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10725 |
pieces = [], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10726 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10727 |
// loop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10728 |
i, j, left, top, mx, my; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10729 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10730 |
// children animate complete: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10731 |
function childComplete() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10732 |
pieces.push( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10733 |
if ( pieces.length === rows * cells ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10734 |
animComplete(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10735 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10736 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10737 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10738 |
// clone the element for each row and cell. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10739 |
for( i = 0; i < rows ; i++ ) { // ===> |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10740 |
top = offset.top + i * height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10741 |
my = i - ( rows - 1 ) / 2 ; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10742 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10743 |
for( j = 0; j < cells ; j++ ) { // ||| |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10744 |
left = offset.left + j * width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10745 |
mx = j - ( cells - 1 ) / 2 ; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10746 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10747 |
// Create a clone of the now hidden main element that will be absolute positioned |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10748 |
// within a wrapper div off the -left and -top equal to size of our pieces |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10749 |
el |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10750 |
.clone() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10751 |
.appendTo( "body" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10752 |
.wrap( "<div></div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10753 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10754 |
position: "absolute", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10755 |
visibility: "visible", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10756 |
left: -j * width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10757 |
top: -i * height |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10758 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10759 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10760 |
// select the wrapper - make it overflow: hidden and absolute positioned based on |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10761 |
// where the original was located +left and +top equal to the size of pieces |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10762 |
.parent() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10763 |
.addClass( "ui-effects-explode" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10764 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10765 |
position: "absolute", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10766 |
overflow: "hidden", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10767 |
width: width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10768 |
height: height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10769 |
left: left + ( show ? mx * width : 0 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10770 |
top: top + ( show ? my * height : 0 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10771 |
opacity: show ? 0 : 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10772 |
}).animate({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10773 |
left: left + ( show ? 0 : mx * width ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10774 |
top: top + ( show ? 0 : my * height ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10775 |
opacity: show ? 1 : 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10776 |
}, o.duration || 500, o.easing, childComplete ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10777 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10778 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10779 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10780 |
function animComplete() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10781 |
el.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10782 |
visibility: "visible" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10783 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10784 |
$( pieces ).remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10785 |
if ( !show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10786 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10787 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10788 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10789 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10790 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10791 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10792 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10793 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10794 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10795 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10796 |
$.effects.effect.fade = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10797 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10798 |
mode = $.effects.setMode( el, o.mode || "toggle" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10799 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10800 |
el.animate({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10801 |
opacity: mode |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10802 |
}, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10803 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10804 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10805 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10806 |
complete: done |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10807 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10808 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10809 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10810 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10811 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10812 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10813 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10814 |
$.effects.effect.fold = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10815 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10816 |
// Create element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10817 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10818 |
props = [ "position", "top", "bottom", "left", "right", "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10819 |
mode = $.effects.setMode( el, o.mode || "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10820 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10821 |
hide = mode === "hide", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10822 |
size = o.size || 15, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10823 |
percent = /([0-9]+)%/.exec( size ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10824 |
horizFirst = !!o.horizFirst, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10825 |
widthFirst = show !== horizFirst, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10826 |
ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10827 |
duration = o.duration / 2, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10828 |
wrapper, distance, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10829 |
animation1 = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10830 |
animation2 = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10831 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10832 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10833 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10834 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10835 |
// Create Wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10836 |
wrapper = $.effects.createWrapper( el ).css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10837 |
overflow: "hidden" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10838 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10839 |
distance = widthFirst ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10840 |
[ wrapper.width(), wrapper.height() ] : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10841 |
[ wrapper.height(), wrapper.width() ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10842 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10843 |
if ( percent ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10844 |
size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10845 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10846 |
if ( show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10847 |
wrapper.css( horizFirst ? { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10848 |
height: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10849 |
width: size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10850 |
} : { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10851 |
height: size, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10852 |
width: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10853 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10854 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10855 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10856 |
// Animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10857 |
animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10858 |
animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10859 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10860 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10861 |
wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10862 |
.animate( animation1, duration, o.easing ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10863 |
.animate( animation2, duration, o.easing, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10864 |
if ( hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10865 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10866 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10867 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10868 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10869 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10870 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10871 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10872 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10873 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10874 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10875 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10876 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10877 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10878 |
$.effects.effect.highlight = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10879 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10880 |
props = [ "backgroundImage", "backgroundColor", "opacity" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10881 |
mode = $.effects.setMode( elem, o.mode || "show" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10882 |
animation = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10883 |
backgroundColor: elem.css( "backgroundColor" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10884 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10885 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10886 |
if (mode === "hide") { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10887 |
animation.opacity = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10888 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10889 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10890 |
$.effects.save( elem, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10891 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10892 |
elem |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10893 |
.show() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10894 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10895 |
backgroundImage: "none", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10896 |
backgroundColor: o.color || "#ffff99" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10897 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10898 |
.animate( animation, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10899 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10900 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10901 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10902 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10903 |
if ( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10904 |
elem.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10905 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10906 |
$.effects.restore( elem, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10907 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10908 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10909 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10910 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10911 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10912 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10913 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10914 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10915 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10916 |
$.effects.effect.pulsate = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10917 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10918 |
mode = $.effects.setMode( elem, o.mode || "show" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10919 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10920 |
hide = mode === "hide", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10921 |
showhide = ( show || mode === "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10922 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10923 |
// showing or hiding leaves of the "last" animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10924 |
anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10925 |
duration = o.duration / anims, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10926 |
animateTo = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10927 |
queue = elem.queue(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10928 |
queuelen = queue.length, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10929 |
i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10930 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10931 |
if ( show || !elem.is(":visible")) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10932 |
elem.css( "opacity", 0 ).show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10933 |
animateTo = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10934 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10935 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10936 |
// anims - 1 opacity "toggles" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10937 |
for ( i = 1; i < anims; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10938 |
elem.animate({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10939 |
opacity: animateTo |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10940 |
}, duration, o.easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10941 |
animateTo = 1 - animateTo; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10942 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10943 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10944 |
elem.animate({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10945 |
opacity: animateTo |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10946 |
}, duration, o.easing); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10947 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10948 |
elem.queue(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10949 |
if ( hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10950 |
elem.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10951 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10952 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10953 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10954 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10955 |
// We just queued up "anims" animations, we need to put them next in the queue |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10956 |
if ( queuelen > 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10957 |
queue.splice.apply( queue, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10958 |
[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10959 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10960 |
elem.dequeue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10961 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10962 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10963 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10964 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10965 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10966 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10967 |
$.effects.effect.puff = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10968 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10969 |
mode = $.effects.setMode( elem, o.mode || "hide" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10970 |
hide = mode === "hide", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10971 |
percent = parseInt( o.percent, 10 ) || 150, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10972 |
factor = percent / 100, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10973 |
original = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10974 |
height: elem.height(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10975 |
width: elem.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10976 |
outerHeight: elem.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10977 |
outerWidth: elem.outerWidth() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10978 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10979 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10980 |
$.extend( o, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10981 |
effect: "scale", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10982 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10983 |
fade: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10984 |
mode: mode, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10985 |
complete: done, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10986 |
percent: hide ? percent : 100, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10987 |
from: hide ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10988 |
original : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10989 |
{ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10990 |
height: original.height * factor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10991 |
width: original.width * factor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10992 |
outerHeight: original.outerHeight * factor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10993 |
outerWidth: original.outerWidth * factor |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10994 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10995 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10996 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10997 |
elem.effect( o ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10998 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
10999 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11000 |
$.effects.effect.scale = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11001 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11002 |
// Create element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11003 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11004 |
options = $.extend( true, {}, o ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11005 |
mode = $.effects.setMode( el, o.mode || "effect" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11006 |
percent = parseInt( o.percent, 10 ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11007 |
( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11008 |
direction = o.direction || "both", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11009 |
origin = o.origin, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11010 |
original = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11011 |
height: el.height(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11012 |
width: el.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11013 |
outerHeight: el.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11014 |
outerWidth: el.outerWidth() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11015 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11016 |
factor = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11017 |
y: direction !== "horizontal" ? (percent / 100) : 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11018 |
x: direction !== "vertical" ? (percent / 100) : 1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11019 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11020 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11021 |
// We are going to pass this effect to the size effect: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11022 |
options.effect = "size"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11023 |
options.queue = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11024 |
options.complete = done; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11025 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11026 |
// Set default origin and restore for show/hide |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11027 |
if ( mode !== "effect" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11028 |
options.origin = origin || ["middle","center"]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11029 |
options.restore = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11030 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11031 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11032 |
options.from = o.from || ( mode === "show" ? { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11033 |
height: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11034 |
width: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11035 |
outerHeight: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11036 |
outerWidth: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11037 |
} : original ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11038 |
options.to = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11039 |
height: original.height * factor.y, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11040 |
width: original.width * factor.x, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11041 |
outerHeight: original.outerHeight * factor.y, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11042 |
outerWidth: original.outerWidth * factor.x |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11043 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11044 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11045 |
// Fade option to support puff |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11046 |
if ( options.fade ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11047 |
if ( mode === "show" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11048 |
options.from.opacity = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11049 |
options.to.opacity = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11050 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11051 |
if ( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11052 |
options.from.opacity = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11053 |
options.to.opacity = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11054 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11055 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11056 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11057 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11058 |
el.effect( options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11059 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11060 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11061 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11062 |
$.effects.effect.size = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11063 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11064 |
// Create element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11065 |
var original, baseline, factor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11066 |
el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11067 |
props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11068 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11069 |
// Always restore |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11070 |
props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11071 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11072 |
// Copy for children |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11073 |
props2 = [ "width", "height", "overflow" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11074 |
cProps = [ "fontSize" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11075 |
vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11076 |
hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11077 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11078 |
// Set options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11079 |
mode = $.effects.setMode( el, o.mode || "effect" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11080 |
restore = o.restore || mode !== "effect", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11081 |
scale = o.scale || "both", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11082 |
origin = o.origin || [ "middle", "center" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11083 |
position = el.css( "position" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11084 |
props = restore ? props0 : props1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11085 |
zero = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11086 |
height: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11087 |
width: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11088 |
outerHeight: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11089 |
outerWidth: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11090 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11091 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11092 |
if ( mode === "show" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11093 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11094 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11095 |
original = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11096 |
height: el.height(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11097 |
width: el.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11098 |
outerHeight: el.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11099 |
outerWidth: el.outerWidth() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11100 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11101 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11102 |
if ( o.mode === "toggle" && mode === "show" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11103 |
el.from = o.to || zero; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11104 |
el.to = o.from || original; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11105 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11106 |
el.from = o.from || ( mode === "show" ? zero : original ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11107 |
el.to = o.to || ( mode === "hide" ? zero : original ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11108 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11109 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11110 |
// Set scaling factor |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11111 |
factor = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11112 |
from: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11113 |
y: el.from.height / original.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11114 |
x: el.from.width / original.width |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11115 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11116 |
to: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11117 |
y: el.to.height / original.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11118 |
x: el.to.width / original.width |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11119 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11120 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11121 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11122 |
// Scale the css box |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11123 |
if ( scale === "box" || scale === "both" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11124 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11125 |
// Vertical props scaling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11126 |
if ( factor.from.y !== factor.to.y ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11127 |
props = props.concat( vProps ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11128 |
el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11129 |
el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11130 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11131 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11132 |
// Horizontal props scaling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11133 |
if ( factor.from.x !== factor.to.x ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11134 |
props = props.concat( hProps ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11135 |
el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11136 |
el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11137 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11138 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11139 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11140 |
// Scale the content |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11141 |
if ( scale === "content" || scale === "both" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11142 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11143 |
// Vertical props scaling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11144 |
if ( factor.from.y !== factor.to.y ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11145 |
props = props.concat( cProps ).concat( props2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11146 |
el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11147 |
el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11148 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11149 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11150 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11151 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11152 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11153 |
$.effects.createWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11154 |
el.css( "overflow", "hidden" ).css( el.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11155 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11156 |
// Adjust |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11157 |
if (origin) { // Calculate baseline shifts |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11158 |
baseline = $.effects.getBaseline( origin, original ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11159 |
el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11160 |
el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11161 |
el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11162 |
el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11163 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11164 |
el.css( el.from ); // set top & left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11165 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11166 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11167 |
if ( scale === "content" || scale === "both" ) { // Scale the children |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11168 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11169 |
// Add margins/font-size |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11170 |
vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11171 |
hProps = hProps.concat([ "marginLeft", "marginRight" ]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11172 |
props2 = props0.concat(vProps).concat(hProps); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11173 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11174 |
el.find( "*[width]" ).each( function(){ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11175 |
var child = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11176 |
c_original = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11177 |
height: child.height(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11178 |
width: child.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11179 |
outerHeight: child.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11180 |
outerWidth: child.outerWidth() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11181 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11182 |
if (restore) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11183 |
$.effects.save(child, props2); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11184 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11185 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11186 |
child.from = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11187 |
height: c_original.height * factor.from.y, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11188 |
width: c_original.width * factor.from.x, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11189 |
outerHeight: c_original.outerHeight * factor.from.y, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11190 |
outerWidth: c_original.outerWidth * factor.from.x |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11191 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11192 |
child.to = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11193 |
height: c_original.height * factor.to.y, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11194 |
width: c_original.width * factor.to.x, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11195 |
outerHeight: c_original.height * factor.to.y, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11196 |
outerWidth: c_original.width * factor.to.x |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11197 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11198 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11199 |
// Vertical props scaling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11200 |
if ( factor.from.y !== factor.to.y ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11201 |
child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11202 |
child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11203 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11204 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11205 |
// Horizontal props scaling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11206 |
if ( factor.from.x !== factor.to.x ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11207 |
child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11208 |
child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11209 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11210 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11211 |
// Animate children |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11212 |
child.css( child.from ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11213 |
child.animate( child.to, o.duration, o.easing, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11214 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11215 |
// Restore children |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11216 |
if ( restore ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11217 |
$.effects.restore( child, props2 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11218 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11219 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11220 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11221 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11222 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11223 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11224 |
el.animate( el.to, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11225 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11226 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11227 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11228 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11229 |
if ( el.to.opacity === 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11230 |
el.css( "opacity", el.from.opacity ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11231 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11232 |
if( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11233 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11234 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11235 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11236 |
if ( !restore ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11237 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11238 |
// we need to calculate our new positioning based on the scaling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11239 |
if ( position === "static" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11240 |
el.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11241 |
position: "relative", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11242 |
top: el.to.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11243 |
left: el.to.left |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11244 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11245 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11246 |
$.each([ "top", "left" ], function( idx, pos ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11247 |
el.css( pos, function( _, str ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11248 |
var val = parseInt( str, 10 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11249 |
toRef = idx ? el.to.left : el.to.top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11250 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11251 |
// if original was "auto", recalculate the new value from wrapper |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11252 |
if ( str === "auto" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11253 |
return toRef + "px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11254 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11255 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11256 |
return val + toRef + "px"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11257 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11258 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11259 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11260 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11261 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11262 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11263 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11264 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11265 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11266 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11267 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11268 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11269 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11270 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11271 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11272 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11273 |
$.effects.effect.shake = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11274 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11275 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11276 |
props = [ "position", "top", "bottom", "left", "right", "height", "width" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11277 |
mode = $.effects.setMode( el, o.mode || "effect" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11278 |
direction = o.direction || "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11279 |
distance = o.distance || 20, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11280 |
times = o.times || 3, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11281 |
anims = times * 2 + 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11282 |
speed = Math.round(o.duration/anims), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11283 |
ref = (direction === "up" || direction === "down") ? "top" : "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11284 |
positiveMotion = (direction === "up" || direction === "left"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11285 |
animation = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11286 |
animation1 = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11287 |
animation2 = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11288 |
i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11289 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11290 |
// we will need to re-assemble the queue to stack our animations in place |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11291 |
queue = el.queue(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11292 |
queuelen = queue.length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11293 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11294 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11295 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11296 |
$.effects.createWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11297 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11298 |
// Animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11299 |
animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11300 |
animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11301 |
animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11302 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11303 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11304 |
el.animate( animation, speed, o.easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11305 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11306 |
// Shakes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11307 |
for ( i = 1; i < times; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11308 |
el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11309 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11310 |
el |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11311 |
.animate( animation1, speed, o.easing ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11312 |
.animate( animation, speed / 2, o.easing ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11313 |
.queue(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11314 |
if ( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11315 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11316 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11317 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11318 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11319 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11320 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11321 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11322 |
// inject all the animations we just queued to be first in line (after "inprogress") |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11323 |
if ( queuelen > 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11324 |
queue.splice.apply( queue, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11325 |
[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11326 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11327 |
el.dequeue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11328 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11329 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11330 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11331 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11332 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11333 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11334 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11335 |
$.effects.effect.slide = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11336 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11337 |
// Create element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11338 |
var el = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11339 |
props = [ "position", "top", "bottom", "left", "right", "width", "height" ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11340 |
mode = $.effects.setMode( el, o.mode || "show" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11341 |
show = mode === "show", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11342 |
direction = o.direction || "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11343 |
ref = (direction === "up" || direction === "down") ? "top" : "left", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11344 |
positiveMotion = (direction === "up" || direction === "left"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11345 |
distance, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11346 |
animation = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11347 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11348 |
// Adjust |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11349 |
$.effects.save( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11350 |
el.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11351 |
distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11352 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11353 |
$.effects.createWrapper( el ).css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11354 |
overflow: "hidden" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11355 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11356 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11357 |
if ( show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11358 |
el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11359 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11360 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11361 |
// Animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11362 |
animation[ ref ] = ( show ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11363 |
( positiveMotion ? "+=" : "-=") : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11364 |
( positiveMotion ? "-=" : "+=")) + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11365 |
distance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11366 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11367 |
// Animate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11368 |
el.animate( animation, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11369 |
queue: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11370 |
duration: o.duration, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11371 |
easing: o.easing, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11372 |
complete: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11373 |
if ( mode === "hide" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11374 |
el.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11375 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11376 |
$.effects.restore( el, props ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11377 |
$.effects.removeWrapper( el ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11378 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11379 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11380 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11381 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11382 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11383 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11384 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11385 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11386 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11387 |
$.effects.effect.transfer = function( o, done ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11388 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11389 |
target = $( o.to ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11390 |
targetFixed = target.css( "position" ) === "fixed", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11391 |
body = $("body"), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11392 |
fixTop = targetFixed ? body.scrollTop() : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11393 |
fixLeft = targetFixed ? body.scrollLeft() : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11394 |
endPosition = target.offset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11395 |
animation = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11396 |
top: endPosition.top - fixTop , |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11397 |
left: endPosition.left - fixLeft , |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11398 |
height: target.innerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11399 |
width: target.innerWidth() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11400 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11401 |
startPosition = elem.offset(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11402 |
transfer = $( "<div class='ui-effects-transfer'></div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11403 |
.appendTo( document.body ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11404 |
.addClass( o.className ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11405 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11406 |
top: startPosition.top - fixTop , |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11407 |
left: startPosition.left - fixLeft , |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11408 |
height: elem.innerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11409 |
width: elem.innerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11410 |
position: targetFixed ? "fixed" : "absolute" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11411 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11412 |
.animate( animation, o.duration, o.easing, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11413 |
transfer.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11414 |
done(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11415 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11416 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11417 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11418 |
})(jQuery); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11419 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11420 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11421 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11422 |
$.widget( "ui.menu", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11423 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11424 |
defaultElement: "<ul>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11425 |
delay: 300, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11426 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11427 |
icons: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11428 |
submenu: "ui-icon-carat-1-e" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11429 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11430 |
menus: "ul", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11431 |
position: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11432 |
my: "left top", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11433 |
at: "right top" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11434 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11435 |
role: "menu", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11436 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11437 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11438 |
blur: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11439 |
focus: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11440 |
select: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11441 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11442 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11443 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11444 |
this.activeMenu = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11445 |
// flag used to prevent firing of the click handler |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11446 |
// as the event bubbles up through nested menus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11447 |
this.mouseHandled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11448 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11449 |
.uniqueId() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11450 |
.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11451 |
.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11452 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11453 |
role: this.options.role, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11454 |
tabIndex: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11455 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11456 |
// need to catch all clicks on disabled menu |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11457 |
// not possible through _on |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11458 |
.bind( "click" + this.eventNamespace, $.proxy(function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11459 |
if ( this.options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11460 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11461 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11462 |
}, this )); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11463 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11464 |
if ( this.options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11465 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11466 |
.addClass( "ui-state-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11467 |
.attr( "aria-disabled", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11468 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11469 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11470 |
this._on({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11471 |
// Prevent focus from sticking to links inside menu after clicking |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11472 |
// them (focus should always stay on UL during navigation). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11473 |
"mousedown .ui-menu-item > a": function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11474 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11475 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11476 |
"click .ui-state-disabled > a": function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11477 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11478 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11479 |
"click .ui-menu-item:has(a)": function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11480 |
var target = $( event.target ).closest( ".ui-menu-item" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11481 |
if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11482 |
this.mouseHandled = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11483 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11484 |
this.select( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11485 |
// Open submenu on click |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11486 |
if ( target.has( ".ui-menu" ).length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11487 |
this.expand( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11488 |
} else if ( !this.element.is( ":focus" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11489 |
// Redirect focus to the menu |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11490 |
this.element.trigger( "focus", [ true ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11491 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11492 |
// If the active item is on the top level, let it stay active. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11493 |
// Otherwise, blur the active item since it is no longer visible. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11494 |
if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11495 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11496 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11497 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11498 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11499 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11500 |
"mouseenter .ui-menu-item": function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11501 |
var target = $( event.currentTarget ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11502 |
// Remove ui-state-active class from siblings of the newly focused menu item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11503 |
// to avoid a jump caused by adjacent elements both having a class with a border |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11504 |
target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11505 |
this.focus( event, target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11506 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11507 |
mouseleave: "collapseAll", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11508 |
"mouseleave .ui-menu": "collapseAll", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11509 |
focus: function( event, keepActiveItem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11510 |
// If there's already an active item, keep it active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11511 |
// If not, activate the first item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11512 |
var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11513 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11514 |
if ( !keepActiveItem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11515 |
this.focus( event, item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11516 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11517 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11518 |
blur: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11519 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11520 |
if ( !$.contains( this.element[0], this.document[0].activeElement ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11521 |
this.collapseAll( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11522 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11523 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11524 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11525 |
keydown: "_keydown" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11526 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11527 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11528 |
this.refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11529 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11530 |
// Clicks outside of a menu collapse any open menus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11531 |
this._on( this.document, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11532 |
click: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11533 |
if ( !$( event.target ).closest( ".ui-menu" ).length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11534 |
this.collapseAll( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11535 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11536 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11537 |
// Reset the mouseHandled flag |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11538 |
this.mouseHandled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11539 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11540 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11541 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11542 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11543 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11544 |
// Destroy (sub)menus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11545 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11546 |
.removeAttr( "aria-activedescendant" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11547 |
.find( ".ui-menu" ).addBack() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11548 |
.removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11549 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11550 |
.removeAttr( "tabIndex" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11551 |
.removeAttr( "aria-labelledby" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11552 |
.removeAttr( "aria-expanded" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11553 |
.removeAttr( "aria-hidden" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11554 |
.removeAttr( "aria-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11555 |
.removeUniqueId() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11556 |
.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11557 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11558 |
// Destroy menu items |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11559 |
this.element.find( ".ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11560 |
.removeClass( "ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11561 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11562 |
.removeAttr( "aria-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11563 |
.children( "a" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11564 |
.removeUniqueId() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11565 |
.removeClass( "ui-corner-all ui-state-hover" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11566 |
.removeAttr( "tabIndex" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11567 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11568 |
.removeAttr( "aria-haspopup" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11569 |
.children().each( function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11570 |
var elem = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11571 |
if ( elem.data( "ui-menu-submenu-carat" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11572 |
elem.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11573 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11574 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11575 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11576 |
// Destroy menu dividers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11577 |
this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11578 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11579 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11580 |
_keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11581 |
/*jshint maxcomplexity:20*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11582 |
var match, prev, character, skip, regex, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11583 |
preventDefault = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11584 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11585 |
function escape( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11586 |
return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11587 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11588 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11589 |
switch ( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11590 |
case $.ui.keyCode.PAGE_UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11591 |
this.previousPage( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11592 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11593 |
case $.ui.keyCode.PAGE_DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11594 |
this.nextPage( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11595 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11596 |
case $.ui.keyCode.HOME: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11597 |
this._move( "first", "first", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11598 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11599 |
case $.ui.keyCode.END: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11600 |
this._move( "last", "last", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11601 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11602 |
case $.ui.keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11603 |
this.previous( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11604 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11605 |
case $.ui.keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11606 |
this.next( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11607 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11608 |
case $.ui.keyCode.LEFT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11609 |
this.collapse( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11610 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11611 |
case $.ui.keyCode.RIGHT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11612 |
if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11613 |
this.expand( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11614 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11615 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11616 |
case $.ui.keyCode.ENTER: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11617 |
case $.ui.keyCode.SPACE: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11618 |
this._activate( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11619 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11620 |
case $.ui.keyCode.ESCAPE: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11621 |
this.collapse( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11622 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11623 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11624 |
preventDefault = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11625 |
prev = this.previousFilter || ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11626 |
character = String.fromCharCode( event.keyCode ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11627 |
skip = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11628 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11629 |
clearTimeout( this.filterTimer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11630 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11631 |
if ( character === prev ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11632 |
skip = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11633 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11634 |
character = prev + character; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11635 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11636 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11637 |
regex = new RegExp( "^" + escape( character ), "i" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11638 |
match = this.activeMenu.children( ".ui-menu-item" ).filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11639 |
return regex.test( $( this ).children( "a" ).text() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11640 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11641 |
match = skip && match.index( this.active.next() ) !== -1 ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11642 |
this.active.nextAll( ".ui-menu-item" ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11643 |
match; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11644 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11645 |
// If no matches on the current filter, reset to the last character pressed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11646 |
// to move down the menu to the first item that starts with that character |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11647 |
if ( !match.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11648 |
character = String.fromCharCode( event.keyCode ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11649 |
regex = new RegExp( "^" + escape( character ), "i" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11650 |
match = this.activeMenu.children( ".ui-menu-item" ).filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11651 |
return regex.test( $( this ).children( "a" ).text() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11652 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11653 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11654 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11655 |
if ( match.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11656 |
this.focus( event, match ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11657 |
if ( match.length > 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11658 |
this.previousFilter = character; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11659 |
this.filterTimer = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11660 |
delete this.previousFilter; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11661 |
}, 1000 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11662 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11663 |
delete this.previousFilter; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11664 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11665 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11666 |
delete this.previousFilter; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11667 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11668 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11669 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11670 |
if ( preventDefault ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11671 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11672 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11673 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11674 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11675 |
_activate: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11676 |
if ( !this.active.is( ".ui-state-disabled" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11677 |
if ( this.active.children( "a[aria-haspopup='true']" ).length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11678 |
this.expand( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11679 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11680 |
this.select( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11681 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11682 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11683 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11684 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11685 |
refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11686 |
var menus, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11687 |
icon = this.options.icons.submenu, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11688 |
submenus = this.element.find( this.options.menus ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11689 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11690 |
// Initialize nested menus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11691 |
submenus.filter( ":not(.ui-menu)" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11692 |
.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11693 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11694 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11695 |
role: this.options.role, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11696 |
"aria-hidden": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11697 |
"aria-expanded": "false" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11698 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11699 |
.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11700 |
var menu = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11701 |
item = menu.prev( "a" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11702 |
submenuCarat = $( "<span>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11703 |
.addClass( "ui-menu-icon ui-icon " + icon ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11704 |
.data( "ui-menu-submenu-carat", true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11705 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11706 |
item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11707 |
.attr( "aria-haspopup", "true" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11708 |
.prepend( submenuCarat ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11709 |
menu.attr( "aria-labelledby", item.attr( "id" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11710 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11711 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11712 |
menus = submenus.add( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11713 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11714 |
// Don't refresh list items that are already adapted |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11715 |
menus.children( ":not(.ui-menu-item):has(a)" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11716 |
.addClass( "ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11717 |
.attr( "role", "presentation" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11718 |
.children( "a" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11719 |
.uniqueId() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11720 |
.addClass( "ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11721 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11722 |
tabIndex: -1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11723 |
role: this._itemRole() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11724 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11725 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11726 |
// Initialize unlinked menu-items containing spaces and/or dashes only as dividers |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11727 |
menus.children( ":not(.ui-menu-item)" ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11728 |
var item = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11729 |
// hyphen, em dash, en dash |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11730 |
if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11731 |
item.addClass( "ui-widget-content ui-menu-divider" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11732 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11733 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11734 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11735 |
// Add aria-disabled attribute to any disabled menu item |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11736 |
menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11737 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11738 |
// If the active item has been removed, blur the menu |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11739 |
if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11740 |
this.blur(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11741 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11742 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11743 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11744 |
_itemRole: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11745 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11746 |
menu: "menuitem", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11747 |
listbox: "option" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11748 |
}[ this.options.role ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11749 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11750 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11751 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11752 |
if ( key === "icons" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11753 |
this.element.find( ".ui-menu-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11754 |
.removeClass( this.options.icons.submenu ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11755 |
.addClass( value.submenu ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11756 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11757 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11758 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11759 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11760 |
focus: function( event, item ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11761 |
var nested, focused; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11762 |
this.blur( event, event && event.type === "focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11763 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11764 |
this._scrollIntoView( item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11765 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11766 |
this.active = item.first(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11767 |
focused = this.active.children( "a" ).addClass( "ui-state-focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11768 |
// Only update aria-activedescendant if there's a role |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11769 |
// otherwise we assume focus is managed elsewhere |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11770 |
if ( this.options.role ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11771 |
this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11772 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11773 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11774 |
// Highlight active parent menu item, if any |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11775 |
this.active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11776 |
.parent() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11777 |
.closest( ".ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11778 |
.children( "a:first" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11779 |
.addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11780 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11781 |
if ( event && event.type === "keydown" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11782 |
this._close(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11783 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11784 |
this.timer = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11785 |
this._close(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11786 |
}, this.delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11787 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11788 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11789 |
nested = item.children( ".ui-menu" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11790 |
if ( nested.length && ( /^mouse/.test( event.type ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11791 |
this._startOpening(nested); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11792 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11793 |
this.activeMenu = item.parent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11794 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11795 |
this._trigger( "focus", event, { item: item } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11796 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11797 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11798 |
_scrollIntoView: function( item ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11799 |
var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11800 |
if ( this._hasScroll() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11801 |
borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11802 |
paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11803 |
offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11804 |
scroll = this.activeMenu.scrollTop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11805 |
elementHeight = this.activeMenu.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11806 |
itemHeight = item.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11807 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11808 |
if ( offset < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11809 |
this.activeMenu.scrollTop( scroll + offset ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11810 |
} else if ( offset + itemHeight > elementHeight ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11811 |
this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11812 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11813 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11814 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11815 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11816 |
blur: function( event, fromFocus ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11817 |
if ( !fromFocus ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11818 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11819 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11820 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11821 |
if ( !this.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11822 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11823 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11824 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11825 |
this.active.children( "a" ).removeClass( "ui-state-focus" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11826 |
this.active = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11827 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11828 |
this._trigger( "blur", event, { item: this.active } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11829 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11830 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11831 |
_startOpening: function( submenu ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11832 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11833 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11834 |
// Don't open if already open fixes a Firefox bug that caused a .5 pixel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11835 |
// shift in the submenu position when mousing over the carat icon |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11836 |
if ( submenu.attr( "aria-hidden" ) !== "true" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11837 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11838 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11839 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11840 |
this.timer = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11841 |
this._close(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11842 |
this._open( submenu ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11843 |
}, this.delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11844 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11845 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11846 |
_open: function( submenu ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11847 |
var position = $.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11848 |
of: this.active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11849 |
}, this.options.position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11850 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11851 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11852 |
this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11853 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11854 |
.attr( "aria-hidden", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11855 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11856 |
submenu |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11857 |
.show() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11858 |
.removeAttr( "aria-hidden" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11859 |
.attr( "aria-expanded", "true" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11860 |
.position( position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11861 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11862 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11863 |
collapseAll: function( event, all ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11864 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11865 |
this.timer = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11866 |
// If we were passed an event, look for the submenu that contains the event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11867 |
var currentMenu = all ? this.element : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11868 |
$( event && event.target ).closest( this.element.find( ".ui-menu" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11869 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11870 |
// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11871 |
if ( !currentMenu.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11872 |
currentMenu = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11873 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11874 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11875 |
this._close( currentMenu ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11876 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11877 |
this.blur( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11878 |
this.activeMenu = currentMenu; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11879 |
}, this.delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11880 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11881 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11882 |
// With no arguments, closes the currently active menu - if nothing is active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11883 |
// it closes all menus. If passed an argument, it will search for menus BELOW |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11884 |
_close: function( startMenu ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11885 |
if ( !startMenu ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11886 |
startMenu = this.active ? this.active.parent() : this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11887 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11888 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11889 |
startMenu |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11890 |
.find( ".ui-menu" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11891 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11892 |
.attr( "aria-hidden", "true" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11893 |
.attr( "aria-expanded", "false" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11894 |
.end() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11895 |
.find( "a.ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11896 |
.removeClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11897 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11898 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11899 |
collapse: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11900 |
var newItem = this.active && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11901 |
this.active.parent().closest( ".ui-menu-item", this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11902 |
if ( newItem && newItem.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11903 |
this._close(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11904 |
this.focus( event, newItem ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11905 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11906 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11907 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11908 |
expand: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11909 |
var newItem = this.active && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11910 |
this.active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11911 |
.children( ".ui-menu " ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11912 |
.children( ".ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11913 |
.first(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11914 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11915 |
if ( newItem && newItem.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11916 |
this._open( newItem.parent() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11917 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11918 |
// Delay so Firefox will not hide activedescendant change in expanding submenu from AT |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11919 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11920 |
this.focus( event, newItem ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11921 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11922 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11923 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11924 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11925 |
next: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11926 |
this._move( "next", "first", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11927 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11928 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11929 |
previous: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11930 |
this._move( "prev", "last", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11931 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11932 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11933 |
isFirstItem: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11934 |
return this.active && !this.active.prevAll( ".ui-menu-item" ).length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11935 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11936 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11937 |
isLastItem: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11938 |
return this.active && !this.active.nextAll( ".ui-menu-item" ).length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11939 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11940 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11941 |
_move: function( direction, filter, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11942 |
var next; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11943 |
if ( this.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11944 |
if ( direction === "first" || direction === "last" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11945 |
next = this.active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11946 |
[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11947 |
.eq( -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11948 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11949 |
next = this.active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11950 |
[ direction + "All" ]( ".ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11951 |
.eq( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11952 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11953 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11954 |
if ( !next || !next.length || !this.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11955 |
next = this.activeMenu.children( ".ui-menu-item" )[ filter ](); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11956 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11957 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11958 |
this.focus( event, next ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11959 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11960 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11961 |
nextPage: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11962 |
var item, base, height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11963 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11964 |
if ( !this.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11965 |
this.next( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11966 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11967 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11968 |
if ( this.isLastItem() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11969 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11970 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11971 |
if ( this._hasScroll() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11972 |
base = this.active.offset().top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11973 |
height = this.element.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11974 |
this.active.nextAll( ".ui-menu-item" ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11975 |
item = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11976 |
return item.offset().top - base - height < 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11977 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11978 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11979 |
this.focus( event, item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11980 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11981 |
this.focus( event, this.activeMenu.children( ".ui-menu-item" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11982 |
[ !this.active ? "first" : "last" ]() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11983 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11984 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11985 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11986 |
previousPage: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11987 |
var item, base, height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11988 |
if ( !this.active ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11989 |
this.next( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11990 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11991 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11992 |
if ( this.isFirstItem() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11993 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11994 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11995 |
if ( this._hasScroll() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11996 |
base = this.active.offset().top; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11997 |
height = this.element.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11998 |
this.active.prevAll( ".ui-menu-item" ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
11999 |
item = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12000 |
return item.offset().top - base + height > 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12001 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12002 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12003 |
this.focus( event, item ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12004 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12005 |
this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12006 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12007 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12008 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12009 |
_hasScroll: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12010 |
return this.element.outerHeight() < this.element.prop( "scrollHeight" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12011 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12012 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12013 |
select: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12014 |
// TODO: It should never be possible to not have an active item at this |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12015 |
// point, but the tests don't trigger mouseenter before click. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12016 |
this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12017 |
var ui = { item: this.active }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12018 |
if ( !this.active.has( ".ui-menu" ).length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12019 |
this.collapseAll( event, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12020 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12021 |
this._trigger( "select", event, ui ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12022 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12023 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12024 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12025 |
}( jQuery )); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12026 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12027 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12028 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12029 |
$.ui = $.ui || {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12030 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12031 |
var cachedScrollbarWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12032 |
max = Math.max, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12033 |
abs = Math.abs, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12034 |
round = Math.round, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12035 |
rhorizontal = /left|center|right/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12036 |
rvertical = /top|center|bottom/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12037 |
roffset = /[\+\-]\d+(\.[\d]+)?%?/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12038 |
rposition = /^\w+/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12039 |
rpercent = /%$/, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12040 |
_position = $.fn.position; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12041 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12042 |
function getOffsets( offsets, width, height ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12043 |
return [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12044 |
parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12045 |
parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12046 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12047 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12048 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12049 |
function parseCss( element, property ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12050 |
return parseInt( $.css( element, property ), 10 ) || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12051 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12052 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12053 |
function getDimensions( elem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12054 |
var raw = elem[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12055 |
if ( raw.nodeType === 9 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12056 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12057 |
width: elem.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12058 |
height: elem.height(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12059 |
offset: { top: 0, left: 0 } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12060 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12061 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12062 |
if ( $.isWindow( raw ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12063 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12064 |
width: elem.width(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12065 |
height: elem.height(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12066 |
offset: { top: elem.scrollTop(), left: elem.scrollLeft() } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12067 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12068 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12069 |
if ( raw.preventDefault ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12070 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12071 |
width: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12072 |
height: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12073 |
offset: { top: raw.pageY, left: raw.pageX } |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12074 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12075 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12076 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12077 |
width: elem.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12078 |
height: elem.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12079 |
offset: elem.offset() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12080 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12081 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12082 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12083 |
$.position = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12084 |
scrollbarWidth: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12085 |
if ( cachedScrollbarWidth !== undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12086 |
return cachedScrollbarWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12087 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12088 |
var w1, w2, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12089 |
div = $( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12090 |
innerDiv = div.children()[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12091 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12092 |
$( "body" ).append( div ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12093 |
w1 = innerDiv.offsetWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12094 |
div.css( "overflow", "scroll" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12095 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12096 |
w2 = innerDiv.offsetWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12097 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12098 |
if ( w1 === w2 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12099 |
w2 = div[0].clientWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12100 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12101 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12102 |
div.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12103 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12104 |
return (cachedScrollbarWidth = w1 - w2); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12105 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12106 |
getScrollInfo: function( within ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12107 |
var overflowX = within.isWindow ? "" : within.element.css( "overflow-x" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12108 |
overflowY = within.isWindow ? "" : within.element.css( "overflow-y" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12109 |
hasOverflowX = overflowX === "scroll" || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12110 |
( overflowX === "auto" && within.width < within.element[0].scrollWidth ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12111 |
hasOverflowY = overflowY === "scroll" || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12112 |
( overflowY === "auto" && within.height < within.element[0].scrollHeight ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12113 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12114 |
width: hasOverflowY ? $.position.scrollbarWidth() : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12115 |
height: hasOverflowX ? $.position.scrollbarWidth() : 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12116 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12117 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12118 |
getWithinInfo: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12119 |
var withinElement = $( element || window ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12120 |
isWindow = $.isWindow( withinElement[0] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12121 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12122 |
element: withinElement, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12123 |
isWindow: isWindow, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12124 |
offset: withinElement.offset() || { left: 0, top: 0 }, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12125 |
scrollLeft: withinElement.scrollLeft(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12126 |
scrollTop: withinElement.scrollTop(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12127 |
width: isWindow ? withinElement.width() : withinElement.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12128 |
height: isWindow ? withinElement.height() : withinElement.outerHeight() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12129 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12130 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12131 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12132 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12133 |
$.fn.position = function( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12134 |
if ( !options || !options.of ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12135 |
return _position.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12136 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12137 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12138 |
// make a copy, we don't want to modify arguments |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12139 |
options = $.extend( {}, options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12140 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12141 |
var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12142 |
target = $( options.of ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12143 |
within = $.position.getWithinInfo( options.within ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12144 |
scrollInfo = $.position.getScrollInfo( within ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12145 |
collision = ( options.collision || "flip" ).split( " " ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12146 |
offsets = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12147 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12148 |
dimensions = getDimensions( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12149 |
if ( target[0].preventDefault ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12150 |
// force left top to allow flipping |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12151 |
options.at = "left top"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12152 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12153 |
targetWidth = dimensions.width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12154 |
targetHeight = dimensions.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12155 |
targetOffset = dimensions.offset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12156 |
// clone to reuse original targetOffset later |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12157 |
basePosition = $.extend( {}, targetOffset ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12158 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12159 |
// force my and at to have valid horizontal and vertical positions |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12160 |
// if a value is missing or invalid, it will be converted to center |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12161 |
$.each( [ "my", "at" ], function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12162 |
var pos = ( options[ this ] || "" ).split( " " ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12163 |
horizontalOffset, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12164 |
verticalOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12165 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12166 |
if ( pos.length === 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12167 |
pos = rhorizontal.test( pos[ 0 ] ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12168 |
pos.concat( [ "center" ] ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12169 |
rvertical.test( pos[ 0 ] ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12170 |
[ "center" ].concat( pos ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12171 |
[ "center", "center" ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12172 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12173 |
pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12174 |
pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12175 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12176 |
// calculate offsets |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12177 |
horizontalOffset = roffset.exec( pos[ 0 ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12178 |
verticalOffset = roffset.exec( pos[ 1 ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12179 |
offsets[ this ] = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12180 |
horizontalOffset ? horizontalOffset[ 0 ] : 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12181 |
verticalOffset ? verticalOffset[ 0 ] : 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12182 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12183 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12184 |
// reduce to just the positions without the offsets |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12185 |
options[ this ] = [ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12186 |
rposition.exec( pos[ 0 ] )[ 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12187 |
rposition.exec( pos[ 1 ] )[ 0 ] |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12188 |
]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12189 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12190 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12191 |
// normalize collision option |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12192 |
if ( collision.length === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12193 |
collision[ 1 ] = collision[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12194 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12195 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12196 |
if ( options.at[ 0 ] === "right" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12197 |
basePosition.left += targetWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12198 |
} else if ( options.at[ 0 ] === "center" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12199 |
basePosition.left += targetWidth / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12200 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12201 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12202 |
if ( options.at[ 1 ] === "bottom" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12203 |
basePosition.top += targetHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12204 |
} else if ( options.at[ 1 ] === "center" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12205 |
basePosition.top += targetHeight / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12206 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12207 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12208 |
atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12209 |
basePosition.left += atOffset[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12210 |
basePosition.top += atOffset[ 1 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12211 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12212 |
return this.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12213 |
var collisionPosition, using, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12214 |
elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12215 |
elemWidth = elem.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12216 |
elemHeight = elem.outerHeight(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12217 |
marginLeft = parseCss( this, "marginLeft" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12218 |
marginTop = parseCss( this, "marginTop" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12219 |
collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12220 |
collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12221 |
position = $.extend( {}, basePosition ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12222 |
myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12223 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12224 |
if ( options.my[ 0 ] === "right" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12225 |
position.left -= elemWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12226 |
} else if ( options.my[ 0 ] === "center" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12227 |
position.left -= elemWidth / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12228 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12229 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12230 |
if ( options.my[ 1 ] === "bottom" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12231 |
position.top -= elemHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12232 |
} else if ( options.my[ 1 ] === "center" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12233 |
position.top -= elemHeight / 2; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12234 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12235 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12236 |
position.left += myOffset[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12237 |
position.top += myOffset[ 1 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12238 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12239 |
// if the browser doesn't support fractions, then round for consistent results |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12240 |
if ( !$.support.offsetFractions ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12241 |
position.left = round( position.left ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12242 |
position.top = round( position.top ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12243 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12244 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12245 |
collisionPosition = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12246 |
marginLeft: marginLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12247 |
marginTop: marginTop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12248 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12249 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12250 |
$.each( [ "left", "top" ], function( i, dir ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12251 |
if ( $.ui.position[ collision[ i ] ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12252 |
$.ui.position[ collision[ i ] ][ dir ]( position, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12253 |
targetWidth: targetWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12254 |
targetHeight: targetHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12255 |
elemWidth: elemWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12256 |
elemHeight: elemHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12257 |
collisionPosition: collisionPosition, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12258 |
collisionWidth: collisionWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12259 |
collisionHeight: collisionHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12260 |
offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12261 |
my: options.my, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12262 |
at: options.at, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12263 |
within: within, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12264 |
elem : elem |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12265 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12266 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12267 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12268 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12269 |
if ( options.using ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12270 |
// adds feedback as second argument to using callback, if present |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12271 |
using = function( props ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12272 |
var left = targetOffset.left - position.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12273 |
right = left + targetWidth - elemWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12274 |
top = targetOffset.top - position.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12275 |
bottom = top + targetHeight - elemHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12276 |
feedback = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12277 |
target: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12278 |
element: target, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12279 |
left: targetOffset.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12280 |
top: targetOffset.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12281 |
width: targetWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12282 |
height: targetHeight |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12283 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12284 |
element: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12285 |
element: elem, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12286 |
left: position.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12287 |
top: position.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12288 |
width: elemWidth, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12289 |
height: elemHeight |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12290 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12291 |
horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12292 |
vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12293 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12294 |
if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12295 |
feedback.horizontal = "center"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12296 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12297 |
if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12298 |
feedback.vertical = "middle"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12299 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12300 |
if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12301 |
feedback.important = "horizontal"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12302 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12303 |
feedback.important = "vertical"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12304 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12305 |
options.using.call( this, props, feedback ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12306 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12307 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12308 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12309 |
elem.offset( $.extend( position, { using: using } ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12310 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12311 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12312 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12313 |
$.ui.position = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12314 |
fit: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12315 |
left: function( position, data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12316 |
var within = data.within, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12317 |
withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12318 |
outerWidth = within.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12319 |
collisionPosLeft = position.left - data.collisionPosition.marginLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12320 |
overLeft = withinOffset - collisionPosLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12321 |
overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12322 |
newOverRight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12323 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12324 |
// element is wider than within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12325 |
if ( data.collisionWidth > outerWidth ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12326 |
// element is initially over the left side of within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12327 |
if ( overLeft > 0 && overRight <= 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12328 |
newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12329 |
position.left += overLeft - newOverRight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12330 |
// element is initially over right side of within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12331 |
} else if ( overRight > 0 && overLeft <= 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12332 |
position.left = withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12333 |
// element is initially over both left and right sides of within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12334 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12335 |
if ( overLeft > overRight ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12336 |
position.left = withinOffset + outerWidth - data.collisionWidth; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12337 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12338 |
position.left = withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12339 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12340 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12341 |
// too far left -> align with left edge |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12342 |
} else if ( overLeft > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12343 |
position.left += overLeft; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12344 |
// too far right -> align with right edge |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12345 |
} else if ( overRight > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12346 |
position.left -= overRight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12347 |
// adjust based on position and margin |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12348 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12349 |
position.left = max( position.left - collisionPosLeft, position.left ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12350 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12351 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12352 |
top: function( position, data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12353 |
var within = data.within, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12354 |
withinOffset = within.isWindow ? within.scrollTop : within.offset.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12355 |
outerHeight = data.within.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12356 |
collisionPosTop = position.top - data.collisionPosition.marginTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12357 |
overTop = withinOffset - collisionPosTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12358 |
overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12359 |
newOverBottom; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12360 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12361 |
// element is taller than within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12362 |
if ( data.collisionHeight > outerHeight ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12363 |
// element is initially over the top of within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12364 |
if ( overTop > 0 && overBottom <= 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12365 |
newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12366 |
position.top += overTop - newOverBottom; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12367 |
// element is initially over bottom of within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12368 |
} else if ( overBottom > 0 && overTop <= 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12369 |
position.top = withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12370 |
// element is initially over both top and bottom of within |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12371 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12372 |
if ( overTop > overBottom ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12373 |
position.top = withinOffset + outerHeight - data.collisionHeight; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12374 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12375 |
position.top = withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12376 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12377 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12378 |
// too far up -> align with top |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12379 |
} else if ( overTop > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12380 |
position.top += overTop; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12381 |
// too far down -> align with bottom edge |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12382 |
} else if ( overBottom > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12383 |
position.top -= overBottom; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12384 |
// adjust based on position and margin |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12385 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12386 |
position.top = max( position.top - collisionPosTop, position.top ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12387 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12388 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12389 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12390 |
flip: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12391 |
left: function( position, data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12392 |
var within = data.within, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12393 |
withinOffset = within.offset.left + within.scrollLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12394 |
outerWidth = within.width, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12395 |
offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12396 |
collisionPosLeft = position.left - data.collisionPosition.marginLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12397 |
overLeft = collisionPosLeft - offsetLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12398 |
overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12399 |
myOffset = data.my[ 0 ] === "left" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12400 |
-data.elemWidth : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12401 |
data.my[ 0 ] === "right" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12402 |
data.elemWidth : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12403 |
0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12404 |
atOffset = data.at[ 0 ] === "left" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12405 |
data.targetWidth : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12406 |
data.at[ 0 ] === "right" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12407 |
-data.targetWidth : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12408 |
0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12409 |
offset = -2 * data.offset[ 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12410 |
newOverRight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12411 |
newOverLeft; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12412 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12413 |
if ( overLeft < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12414 |
newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12415 |
if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12416 |
position.left += myOffset + atOffset + offset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12417 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12418 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12419 |
else if ( overRight > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12420 |
newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12421 |
if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12422 |
position.left += myOffset + atOffset + offset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12423 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12424 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12425 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12426 |
top: function( position, data ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12427 |
var within = data.within, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12428 |
withinOffset = within.offset.top + within.scrollTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12429 |
outerHeight = within.height, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12430 |
offsetTop = within.isWindow ? within.scrollTop : within.offset.top, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12431 |
collisionPosTop = position.top - data.collisionPosition.marginTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12432 |
overTop = collisionPosTop - offsetTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12433 |
overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12434 |
top = data.my[ 1 ] === "top", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12435 |
myOffset = top ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12436 |
-data.elemHeight : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12437 |
data.my[ 1 ] === "bottom" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12438 |
data.elemHeight : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12439 |
0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12440 |
atOffset = data.at[ 1 ] === "top" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12441 |
data.targetHeight : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12442 |
data.at[ 1 ] === "bottom" ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12443 |
-data.targetHeight : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12444 |
0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12445 |
offset = -2 * data.offset[ 1 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12446 |
newOverTop, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12447 |
newOverBottom; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12448 |
if ( overTop < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12449 |
newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12450 |
if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12451 |
position.top += myOffset + atOffset + offset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12452 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12453 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12454 |
else if ( overBottom > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12455 |
newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12456 |
if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12457 |
position.top += myOffset + atOffset + offset; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12458 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12459 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12460 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12461 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12462 |
flipfit: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12463 |
left: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12464 |
$.ui.position.flip.left.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12465 |
$.ui.position.fit.left.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12466 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12467 |
top: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12468 |
$.ui.position.flip.top.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12469 |
$.ui.position.fit.top.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12470 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12471 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12472 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12473 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12474 |
// fraction support test |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12475 |
(function () { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12476 |
var testElement, testElementParent, testElementStyle, offsetLeft, i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12477 |
body = document.getElementsByTagName( "body" )[ 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12478 |
div = document.createElement( "div" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12479 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12480 |
//Create a "fake body" for testing based on method used in jQuery.support |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12481 |
testElement = document.createElement( body ? "div" : "body" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12482 |
testElementStyle = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12483 |
visibility: "hidden", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12484 |
width: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12485 |
height: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12486 |
border: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12487 |
margin: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12488 |
background: "none" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12489 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12490 |
if ( body ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12491 |
$.extend( testElementStyle, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12492 |
position: "absolute", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12493 |
left: "-1000px", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12494 |
top: "-1000px" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12495 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12496 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12497 |
for ( i in testElementStyle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12498 |
testElement.style[ i ] = testElementStyle[ i ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12499 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12500 |
testElement.appendChild( div ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12501 |
testElementParent = body || document.documentElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12502 |
testElementParent.insertBefore( testElement, testElementParent.firstChild ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12503 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12504 |
div.style.cssText = "position: absolute; left: 10.7432222px;"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12505 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12506 |
offsetLeft = $( div ).offset().left; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12507 |
$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12508 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12509 |
testElement.innerHTML = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12510 |
testElementParent.removeChild( testElement ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12511 |
})(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12512 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12513 |
}( jQuery ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12514 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12515 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12516 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12517 |
$.widget( "ui.progressbar", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12518 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12519 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12520 |
max: 100, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12521 |
value: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12522 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12523 |
change: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12524 |
complete: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12525 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12526 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12527 |
min: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12528 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12529 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12530 |
// Constrain initial value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12531 |
this.oldValue = this.options.value = this._constrainedValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12532 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12533 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12534 |
.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12535 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12536 |
// Only set static values, aria-valuenow and aria-valuemax are |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12537 |
// set inside _refreshValue() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12538 |
role: "progressbar", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12539 |
"aria-valuemin": this.min |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12540 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12541 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12542 |
this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12543 |
.appendTo( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12544 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12545 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12546 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12547 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12548 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12549 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12550 |
.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12551 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12552 |
.removeAttr( "aria-valuemin" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12553 |
.removeAttr( "aria-valuemax" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12554 |
.removeAttr( "aria-valuenow" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12555 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12556 |
this.valueDiv.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12557 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12558 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12559 |
value: function( newValue ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12560 |
if ( newValue === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12561 |
return this.options.value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12562 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12563 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12564 |
this.options.value = this._constrainedValue( newValue ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12565 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12566 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12567 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12568 |
_constrainedValue: function( newValue ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12569 |
if ( newValue === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12570 |
newValue = this.options.value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12571 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12572 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12573 |
this.indeterminate = newValue === false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12574 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12575 |
// sanitize value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12576 |
if ( typeof newValue !== "number" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12577 |
newValue = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12578 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12579 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12580 |
return this.indeterminate ? false : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12581 |
Math.min( this.options.max, Math.max( this.min, newValue ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12582 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12583 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12584 |
_setOptions: function( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12585 |
// Ensure "value" option is set after other values (like max) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12586 |
var value = options.value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12587 |
delete options.value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12588 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12589 |
this._super( options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12590 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12591 |
this.options.value = this._constrainedValue( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12592 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12593 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12594 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12595 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12596 |
if ( key === "max" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12597 |
// Don't allow a max less than min |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12598 |
value = Math.max( this.min, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12599 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12600 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12601 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12602 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12603 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12604 |
_percentage: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12605 |
return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12606 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12607 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12608 |
_refreshValue: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12609 |
var value = this.options.value, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12610 |
percentage = this._percentage(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12611 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12612 |
this.valueDiv |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12613 |
.toggle( this.indeterminate || value > this.min ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12614 |
.toggleClass( "ui-corner-right", value === this.options.max ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12615 |
.width( percentage.toFixed(0) + "%" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12616 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12617 |
this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12618 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12619 |
if ( this.indeterminate ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12620 |
this.element.removeAttr( "aria-valuenow" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12621 |
if ( !this.overlayDiv ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12622 |
this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12623 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12624 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12625 |
this.element.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12626 |
"aria-valuemax": this.options.max, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12627 |
"aria-valuenow": value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12628 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12629 |
if ( this.overlayDiv ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12630 |
this.overlayDiv.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12631 |
this.overlayDiv = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12632 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12633 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12634 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12635 |
if ( this.oldValue !== value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12636 |
this.oldValue = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12637 |
this._trigger( "change" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12638 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12639 |
if ( value === this.options.max ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12640 |
this._trigger( "complete" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12641 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12642 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12643 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12644 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12645 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12646 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12647 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12648 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12649 |
// number of pages in a slider |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12650 |
// (how many times can you page up/down to go through the whole range) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12651 |
var numPages = 5; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12652 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12653 |
$.widget( "ui.slider", $.ui.mouse, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12654 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12655 |
widgetEventPrefix: "slide", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12656 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12657 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12658 |
animate: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12659 |
distance: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12660 |
max: 100, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12661 |
min: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12662 |
orientation: "horizontal", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12663 |
range: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12664 |
step: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12665 |
value: 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12666 |
values: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12667 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12668 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12669 |
change: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12670 |
slide: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12671 |
start: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12672 |
stop: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12673 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12674 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12675 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12676 |
this._keySliding = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12677 |
this._mouseSliding = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12678 |
this._animateOff = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12679 |
this._handleIndex = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12680 |
this._detectOrientation(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12681 |
this._mouseInit(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12682 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12683 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12684 |
.addClass( "ui-slider" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12685 |
" ui-slider-" + this.orientation + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12686 |
" ui-widget" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12687 |
" ui-widget-content" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12688 |
" ui-corner-all"); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12689 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12690 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12691 |
this._setOption( "disabled", this.options.disabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12692 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12693 |
this._animateOff = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12694 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12695 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12696 |
_refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12697 |
this._createRange(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12698 |
this._createHandles(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12699 |
this._setupEvents(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12700 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12701 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12702 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12703 |
_createHandles: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12704 |
var i, handleCount, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12705 |
options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12706 |
existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12707 |
handle = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12708 |
handles = []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12709 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12710 |
handleCount = ( options.values && options.values.length ) || 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12711 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12712 |
if ( existingHandles.length > handleCount ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12713 |
existingHandles.slice( handleCount ).remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12714 |
existingHandles = existingHandles.slice( 0, handleCount ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12715 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12716 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12717 |
for ( i = existingHandles.length; i < handleCount; i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12718 |
handles.push( handle ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12719 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12720 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12721 |
this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12722 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12723 |
this.handle = this.handles.eq( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12724 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12725 |
this.handles.each(function( i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12726 |
$( this ).data( "ui-slider-handle-index", i ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12727 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12728 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12729 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12730 |
_createRange: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12731 |
var options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12732 |
classes = ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12733 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12734 |
if ( options.range ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12735 |
if ( options.range === true ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12736 |
if ( !options.values ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12737 |
options.values = [ this._valueMin(), this._valueMin() ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12738 |
} else if ( options.values.length && options.values.length !== 2 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12739 |
options.values = [ options.values[0], options.values[0] ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12740 |
} else if ( $.isArray( options.values ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12741 |
options.values = options.values.slice(0); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12742 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12743 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12744 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12745 |
if ( !this.range || !this.range.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12746 |
this.range = $( "<div></div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12747 |
.appendTo( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12748 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12749 |
classes = "ui-slider-range" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12750 |
// note: this isn't the most fittingly semantic framework class for this element, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12751 |
// but worked best visually with a variety of themes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12752 |
" ui-widget-header ui-corner-all"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12753 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12754 |
this.range.removeClass( "ui-slider-range-min ui-slider-range-max" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12755 |
// Handle range switching from true to min/max |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12756 |
.css({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12757 |
"left": "", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12758 |
"bottom": "" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12759 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12760 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12761 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12762 |
this.range.addClass( classes + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12763 |
( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12764 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12765 |
this.range = $([]); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12766 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12767 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12768 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12769 |
_setupEvents: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12770 |
var elements = this.handles.add( this.range ).filter( "a" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12771 |
this._off( elements ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12772 |
this._on( elements, this._handleEvents ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12773 |
this._hoverable( elements ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12774 |
this._focusable( elements ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12775 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12776 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12777 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12778 |
this.handles.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12779 |
this.range.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12780 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12781 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12782 |
.removeClass( "ui-slider" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12783 |
" ui-slider-horizontal" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12784 |
" ui-slider-vertical" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12785 |
" ui-widget" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12786 |
" ui-widget-content" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12787 |
" ui-corner-all" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12788 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12789 |
this._mouseDestroy(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12790 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12791 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12792 |
_mouseCapture: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12793 |
var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12794 |
that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12795 |
o = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12796 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12797 |
if ( o.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12798 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12799 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12800 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12801 |
this.elementSize = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12802 |
width: this.element.outerWidth(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12803 |
height: this.element.outerHeight() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12804 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12805 |
this.elementOffset = this.element.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12806 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12807 |
position = { x: event.pageX, y: event.pageY }; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12808 |
normValue = this._normValueFromMouse( position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12809 |
distance = this._valueMax() - this._valueMin() + 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12810 |
this.handles.each(function( i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12811 |
var thisDistance = Math.abs( normValue - that.values(i) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12812 |
if (( distance > thisDistance ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12813 |
( distance === thisDistance && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12814 |
(i === that._lastChangedValue || that.values(i) === o.min ))) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12815 |
distance = thisDistance; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12816 |
closestHandle = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12817 |
index = i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12818 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12819 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12820 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12821 |
allowed = this._start( event, index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12822 |
if ( allowed === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12823 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12824 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12825 |
this._mouseSliding = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12826 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12827 |
this._handleIndex = index; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12828 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12829 |
closestHandle |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12830 |
.addClass( "ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12831 |
.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12832 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12833 |
offset = closestHandle.offset(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12834 |
mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12835 |
this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12836 |
left: event.pageX - offset.left - ( closestHandle.width() / 2 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12837 |
top: event.pageY - offset.top - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12838 |
( closestHandle.height() / 2 ) - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12839 |
( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12840 |
( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12841 |
( parseInt( closestHandle.css("marginTop"), 10 ) || 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12842 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12843 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12844 |
if ( !this.handles.hasClass( "ui-state-hover" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12845 |
this._slide( event, index, normValue ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12846 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12847 |
this._animateOff = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12848 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12849 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12850 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12851 |
_mouseStart: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12852 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12853 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12854 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12855 |
_mouseDrag: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12856 |
var position = { x: event.pageX, y: event.pageY }, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12857 |
normValue = this._normValueFromMouse( position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12858 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12859 |
this._slide( event, this._handleIndex, normValue ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12860 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12861 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12862 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12863 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12864 |
_mouseStop: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12865 |
this.handles.removeClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12866 |
this._mouseSliding = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12867 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12868 |
this._stop( event, this._handleIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12869 |
this._change( event, this._handleIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12870 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12871 |
this._handleIndex = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12872 |
this._clickOffset = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12873 |
this._animateOff = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12874 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12875 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12876 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12877 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12878 |
_detectOrientation: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12879 |
this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12880 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12881 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12882 |
_normValueFromMouse: function( position ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12883 |
var pixelTotal, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12884 |
pixelMouse, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12885 |
percentMouse, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12886 |
valueTotal, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12887 |
valueMouse; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12888 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12889 |
if ( this.orientation === "horizontal" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12890 |
pixelTotal = this.elementSize.width; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12891 |
pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12892 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12893 |
pixelTotal = this.elementSize.height; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12894 |
pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12895 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12896 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12897 |
percentMouse = ( pixelMouse / pixelTotal ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12898 |
if ( percentMouse > 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12899 |
percentMouse = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12900 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12901 |
if ( percentMouse < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12902 |
percentMouse = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12903 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12904 |
if ( this.orientation === "vertical" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12905 |
percentMouse = 1 - percentMouse; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12906 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12907 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12908 |
valueTotal = this._valueMax() - this._valueMin(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12909 |
valueMouse = this._valueMin() + percentMouse * valueTotal; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12910 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12911 |
return this._trimAlignValue( valueMouse ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12912 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12913 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12914 |
_start: function( event, index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12915 |
var uiHash = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12916 |
handle: this.handles[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12917 |
value: this.value() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12918 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12919 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12920 |
uiHash.value = this.values( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12921 |
uiHash.values = this.values(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12922 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12923 |
return this._trigger( "start", event, uiHash ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12924 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12925 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12926 |
_slide: function( event, index, newVal ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12927 |
var otherVal, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12928 |
newValues, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12929 |
allowed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12930 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12931 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12932 |
otherVal = this.values( index ? 0 : 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12933 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12934 |
if ( ( this.options.values.length === 2 && this.options.range === true ) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12935 |
( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12936 |
) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12937 |
newVal = otherVal; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12938 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12939 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12940 |
if ( newVal !== this.values( index ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12941 |
newValues = this.values(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12942 |
newValues[ index ] = newVal; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12943 |
// A slide can be canceled by returning false from the slide callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12944 |
allowed = this._trigger( "slide", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12945 |
handle: this.handles[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12946 |
value: newVal, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12947 |
values: newValues |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12948 |
} ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12949 |
otherVal = this.values( index ? 0 : 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12950 |
if ( allowed !== false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12951 |
this.values( index, newVal, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12952 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12953 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12954 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12955 |
if ( newVal !== this.value() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12956 |
// A slide can be canceled by returning false from the slide callback |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12957 |
allowed = this._trigger( "slide", event, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12958 |
handle: this.handles[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12959 |
value: newVal |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12960 |
} ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12961 |
if ( allowed !== false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12962 |
this.value( newVal ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12963 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12964 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12965 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12966 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12967 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12968 |
_stop: function( event, index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12969 |
var uiHash = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12970 |
handle: this.handles[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12971 |
value: this.value() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12972 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12973 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12974 |
uiHash.value = this.values( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12975 |
uiHash.values = this.values(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12976 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12977 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12978 |
this._trigger( "stop", event, uiHash ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12979 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12980 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12981 |
_change: function( event, index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12982 |
if ( !this._keySliding && !this._mouseSliding ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12983 |
var uiHash = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12984 |
handle: this.handles[ index ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12985 |
value: this.value() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12986 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12987 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12988 |
uiHash.value = this.values( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12989 |
uiHash.values = this.values(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12990 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12991 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12992 |
//store the last changed value index for reference when handles overlap |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12993 |
this._lastChangedValue = index; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12994 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12995 |
this._trigger( "change", event, uiHash ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12996 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12997 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12998 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
12999 |
value: function( newValue ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13000 |
if ( arguments.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13001 |
this.options.value = this._trimAlignValue( newValue ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13002 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13003 |
this._change( null, 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13004 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13005 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13006 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13007 |
return this._value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13008 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13009 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13010 |
values: function( index, newValue ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13011 |
var vals, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13012 |
newValues, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13013 |
i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13014 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13015 |
if ( arguments.length > 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13016 |
this.options.values[ index ] = this._trimAlignValue( newValue ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13017 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13018 |
this._change( null, index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13019 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13020 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13021 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13022 |
if ( arguments.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13023 |
if ( $.isArray( arguments[ 0 ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13024 |
vals = this.options.values; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13025 |
newValues = arguments[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13026 |
for ( i = 0; i < vals.length; i += 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13027 |
vals[ i ] = this._trimAlignValue( newValues[ i ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13028 |
this._change( null, i ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13029 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13030 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13031 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13032 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13033 |
return this._values( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13034 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13035 |
return this.value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13036 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13037 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13038 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13039 |
return this._values(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13040 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13041 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13042 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13043 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13044 |
var i, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13045 |
valsLength = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13046 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13047 |
if ( key === "range" && this.options.range === true ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13048 |
if ( value === "min" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13049 |
this.options.value = this._values( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13050 |
this.options.values = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13051 |
} else if ( value === "max" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13052 |
this.options.value = this._values( this.options.values.length-1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13053 |
this.options.values = null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13054 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13055 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13056 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13057 |
if ( $.isArray( this.options.values ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13058 |
valsLength = this.options.values.length; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13059 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13060 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13061 |
$.Widget.prototype._setOption.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13062 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13063 |
switch ( key ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13064 |
case "orientation": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13065 |
this._detectOrientation(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13066 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13067 |
.removeClass( "ui-slider-horizontal ui-slider-vertical" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13068 |
.addClass( "ui-slider-" + this.orientation ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13069 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13070 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13071 |
case "value": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13072 |
this._animateOff = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13073 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13074 |
this._change( null, 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13075 |
this._animateOff = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13076 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13077 |
case "values": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13078 |
this._animateOff = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13079 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13080 |
for ( i = 0; i < valsLength; i += 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13081 |
this._change( null, i ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13082 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13083 |
this._animateOff = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13084 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13085 |
case "min": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13086 |
case "max": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13087 |
this._animateOff = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13088 |
this._refreshValue(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13089 |
this._animateOff = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13090 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13091 |
case "range": |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13092 |
this._animateOff = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13093 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13094 |
this._animateOff = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13095 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13096 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13097 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13098 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13099 |
//internal value getter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13100 |
// _value() returns value trimmed by min and max, aligned by step |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13101 |
_value: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13102 |
var val = this.options.value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13103 |
val = this._trimAlignValue( val ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13104 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13105 |
return val; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13106 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13107 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13108 |
//internal values getter |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13109 |
// _values() returns array of values trimmed by min and max, aligned by step |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13110 |
// _values( index ) returns single value trimmed by min and max, aligned by step |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13111 |
_values: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13112 |
var val, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13113 |
vals, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13114 |
i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13115 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13116 |
if ( arguments.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13117 |
val = this.options.values[ index ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13118 |
val = this._trimAlignValue( val ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13119 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13120 |
return val; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13121 |
} else if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13122 |
// .slice() creates a copy of the array |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13123 |
// this copy gets trimmed by min and max and then returned |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13124 |
vals = this.options.values.slice(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13125 |
for ( i = 0; i < vals.length; i+= 1) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13126 |
vals[ i ] = this._trimAlignValue( vals[ i ] ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13127 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13128 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13129 |
return vals; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13130 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13131 |
return []; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13132 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13133 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13134 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13135 |
// returns the step-aligned value that val is closest to, between (inclusive) min and max |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13136 |
_trimAlignValue: function( val ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13137 |
if ( val <= this._valueMin() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13138 |
return this._valueMin(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13139 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13140 |
if ( val >= this._valueMax() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13141 |
return this._valueMax(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13142 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13143 |
var step = ( this.options.step > 0 ) ? this.options.step : 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13144 |
valModStep = (val - this._valueMin()) % step, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13145 |
alignValue = val - valModStep; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13146 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13147 |
if ( Math.abs(valModStep) * 2 >= step ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13148 |
alignValue += ( valModStep > 0 ) ? step : ( -step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13149 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13150 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13151 |
// Since JavaScript has problems with large floats, round |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13152 |
// the final value to 5 digits after the decimal point (see #4124) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13153 |
return parseFloat( alignValue.toFixed(5) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13154 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13155 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13156 |
_valueMin: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13157 |
return this.options.min; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13158 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13159 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13160 |
_valueMax: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13161 |
return this.options.max; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13162 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13163 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13164 |
_refreshValue: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13165 |
var lastValPercent, valPercent, value, valueMin, valueMax, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13166 |
oRange = this.options.range, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13167 |
o = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13168 |
that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13169 |
animate = ( !this._animateOff ) ? o.animate : false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13170 |
_set = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13171 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13172 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13173 |
this.handles.each(function( i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13174 |
valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13175 |
_set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13176 |
$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13177 |
if ( that.options.range === true ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13178 |
if ( that.orientation === "horizontal" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13179 |
if ( i === 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13180 |
that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13181 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13182 |
if ( i === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13183 |
that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13184 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13185 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13186 |
if ( i === 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13187 |
that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13188 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13189 |
if ( i === 1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13190 |
that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13191 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13192 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13193 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13194 |
lastValPercent = valPercent; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13195 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13196 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13197 |
value = this.value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13198 |
valueMin = this._valueMin(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13199 |
valueMax = this._valueMax(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13200 |
valPercent = ( valueMax !== valueMin ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13201 |
( value - valueMin ) / ( valueMax - valueMin ) * 100 : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13202 |
0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13203 |
_set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13204 |
this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13205 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13206 |
if ( oRange === "min" && this.orientation === "horizontal" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13207 |
this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13208 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13209 |
if ( oRange === "max" && this.orientation === "horizontal" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13210 |
this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13211 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13212 |
if ( oRange === "min" && this.orientation === "vertical" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13213 |
this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13214 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13215 |
if ( oRange === "max" && this.orientation === "vertical" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13216 |
this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13217 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13218 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13219 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13220 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13221 |
_handleEvents: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13222 |
keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13223 |
/*jshint maxcomplexity:25*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13224 |
var allowed, curVal, newVal, step, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13225 |
index = $( event.target ).data( "ui-slider-handle-index" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13226 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13227 |
switch ( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13228 |
case $.ui.keyCode.HOME: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13229 |
case $.ui.keyCode.END: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13230 |
case $.ui.keyCode.PAGE_UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13231 |
case $.ui.keyCode.PAGE_DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13232 |
case $.ui.keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13233 |
case $.ui.keyCode.RIGHT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13234 |
case $.ui.keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13235 |
case $.ui.keyCode.LEFT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13236 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13237 |
if ( !this._keySliding ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13238 |
this._keySliding = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13239 |
$( event.target ).addClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13240 |
allowed = this._start( event, index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13241 |
if ( allowed === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13242 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13243 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13244 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13245 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13246 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13247 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13248 |
step = this.options.step; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13249 |
if ( this.options.values && this.options.values.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13250 |
curVal = newVal = this.values( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13251 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13252 |
curVal = newVal = this.value(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13253 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13254 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13255 |
switch ( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13256 |
case $.ui.keyCode.HOME: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13257 |
newVal = this._valueMin(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13258 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13259 |
case $.ui.keyCode.END: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13260 |
newVal = this._valueMax(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13261 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13262 |
case $.ui.keyCode.PAGE_UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13263 |
newVal = this._trimAlignValue( curVal + ( (this._valueMax() - this._valueMin()) / numPages ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13264 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13265 |
case $.ui.keyCode.PAGE_DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13266 |
newVal = this._trimAlignValue( curVal - ( (this._valueMax() - this._valueMin()) / numPages ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13267 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13268 |
case $.ui.keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13269 |
case $.ui.keyCode.RIGHT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13270 |
if ( curVal === this._valueMax() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13271 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13272 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13273 |
newVal = this._trimAlignValue( curVal + step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13274 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13275 |
case $.ui.keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13276 |
case $.ui.keyCode.LEFT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13277 |
if ( curVal === this._valueMin() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13278 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13279 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13280 |
newVal = this._trimAlignValue( curVal - step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13281 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13282 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13283 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13284 |
this._slide( event, index, newVal ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13285 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13286 |
click: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13287 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13288 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13289 |
keyup: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13290 |
var index = $( event.target ).data( "ui-slider-handle-index" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13291 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13292 |
if ( this._keySliding ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13293 |
this._keySliding = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13294 |
this._stop( event, index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13295 |
this._change( event, index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13296 |
$( event.target ).removeClass( "ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13297 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13298 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13299 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13300 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13301 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13302 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13303 |
}(jQuery)); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13304 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13305 |
(function( $ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13306 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13307 |
function modifier( fn ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13308 |
return function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13309 |
var previous = this.element.val(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13310 |
fn.apply( this, arguments ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13311 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13312 |
if ( previous !== this.element.val() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13313 |
this._trigger( "change" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13314 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13315 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13316 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13317 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13318 |
$.widget( "ui.spinner", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13319 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13320 |
defaultElement: "<input>", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13321 |
widgetEventPrefix: "spin", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13322 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13323 |
culture: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13324 |
icons: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13325 |
down: "ui-icon-triangle-1-s", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13326 |
up: "ui-icon-triangle-1-n" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13327 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13328 |
incremental: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13329 |
max: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13330 |
min: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13331 |
numberFormat: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13332 |
page: 10, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13333 |
step: 1, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13334 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13335 |
change: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13336 |
spin: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13337 |
start: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13338 |
stop: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13339 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13340 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13341 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13342 |
// handle string values that need to be parsed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13343 |
this._setOption( "max", this.options.max ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13344 |
this._setOption( "min", this.options.min ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13345 |
this._setOption( "step", this.options.step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13346 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13347 |
// format the value, but don't constrain |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13348 |
this._value( this.element.val(), true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13349 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13350 |
this._draw(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13351 |
this._on( this._events ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13352 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13353 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13354 |
// turning off autocomplete prevents the browser from remembering the |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13355 |
// value when navigating through history, so we re-enable autocomplete |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13356 |
// if the page is unloaded before the widget is destroyed. #7790 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13357 |
this._on( this.window, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13358 |
beforeunload: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13359 |
this.element.removeAttr( "autocomplete" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13360 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13361 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13362 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13363 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13364 |
_getCreateOptions: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13365 |
var options = {}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13366 |
element = this.element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13367 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13368 |
$.each( [ "min", "max", "step" ], function( i, option ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13369 |
var value = element.attr( option ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13370 |
if ( value !== undefined && value.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13371 |
options[ option ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13372 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13373 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13374 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13375 |
return options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13376 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13377 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13378 |
_events: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13379 |
keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13380 |
if ( this._start( event ) && this._keydown( event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13381 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13382 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13383 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13384 |
keyup: "_stop", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13385 |
focus: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13386 |
this.previous = this.element.val(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13387 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13388 |
blur: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13389 |
if ( this.cancelBlur ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13390 |
delete this.cancelBlur; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13391 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13392 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13393 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13394 |
this._stop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13395 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13396 |
if ( this.previous !== this.element.val() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13397 |
this._trigger( "change", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13398 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13399 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13400 |
mousewheel: function( event, delta ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13401 |
if ( !delta ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13402 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13403 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13404 |
if ( !this.spinning && !this._start( event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13405 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13406 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13407 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13408 |
this._spin( (delta > 0 ? 1 : -1) * this.options.step, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13409 |
clearTimeout( this.mousewheelTimer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13410 |
this.mousewheelTimer = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13411 |
if ( this.spinning ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13412 |
this._stop( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13413 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13414 |
}, 100 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13415 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13416 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13417 |
"mousedown .ui-spinner-button": function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13418 |
var previous; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13419 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13420 |
// We never want the buttons to have focus; whenever the user is |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13421 |
// interacting with the spinner, the focus should be on the input. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13422 |
// If the input is focused then this.previous is properly set from |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13423 |
// when the input first received focus. If the input is not focused |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13424 |
// then we need to set this.previous based on the value before spinning. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13425 |
previous = this.element[0] === this.document[0].activeElement ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13426 |
this.previous : this.element.val(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13427 |
function checkFocus() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13428 |
var isActive = this.element[0] === this.document[0].activeElement; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13429 |
if ( !isActive ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13430 |
this.element.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13431 |
this.previous = previous; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13432 |
// support: IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13433 |
// IE sets focus asynchronously, so we need to check if focus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13434 |
// moved off of the input because the user clicked on the button. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13435 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13436 |
this.previous = previous; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13437 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13438 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13439 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13440 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13441 |
// ensure focus is on (or stays on) the text field |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13442 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13443 |
checkFocus.call( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13444 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13445 |
// support: IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13446 |
// IE doesn't prevent moving focus even with event.preventDefault() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13447 |
// so we set a flag to know when we should ignore the blur event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13448 |
// and check (again) if focus moved off of the input. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13449 |
this.cancelBlur = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13450 |
this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13451 |
delete this.cancelBlur; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13452 |
checkFocus.call( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13453 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13454 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13455 |
if ( this._start( event ) === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13456 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13457 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13458 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13459 |
this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13460 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13461 |
"mouseup .ui-spinner-button": "_stop", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13462 |
"mouseenter .ui-spinner-button": function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13463 |
// button will add ui-state-active if mouse was down while mouseleave and kept down |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13464 |
if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13465 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13466 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13467 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13468 |
if ( this._start( event ) === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13469 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13470 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13471 |
this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13472 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13473 |
// TODO: do we really want to consider this a stop? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13474 |
// shouldn't we just stop the repeater and wait until mouseup before |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13475 |
// we trigger the stop event? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13476 |
"mouseleave .ui-spinner-button": "_stop" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13477 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13478 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13479 |
_draw: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13480 |
var uiSpinner = this.uiSpinner = this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13481 |
.addClass( "ui-spinner-input" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13482 |
.attr( "autocomplete", "off" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13483 |
.wrap( this._uiSpinnerHtml() ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13484 |
.parent() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13485 |
// add buttons |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13486 |
.append( this._buttonHtml() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13487 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13488 |
this.element.attr( "role", "spinbutton" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13489 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13490 |
// button bindings |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13491 |
this.buttons = uiSpinner.find( ".ui-spinner-button" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13492 |
.attr( "tabIndex", -1 ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13493 |
.button() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13494 |
.removeClass( "ui-corner-all" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13495 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13496 |
// IE 6 doesn't understand height: 50% for the buttons |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13497 |
// unless the wrapper has an explicit height |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13498 |
if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13499 |
uiSpinner.height() > 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13500 |
uiSpinner.height( uiSpinner.height() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13501 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13502 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13503 |
// disable spinner if element was already disabled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13504 |
if ( this.options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13505 |
this.disable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13506 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13507 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13508 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13509 |
_keydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13510 |
var options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13511 |
keyCode = $.ui.keyCode; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13512 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13513 |
switch ( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13514 |
case keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13515 |
this._repeat( null, 1, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13516 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13517 |
case keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13518 |
this._repeat( null, -1, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13519 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13520 |
case keyCode.PAGE_UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13521 |
this._repeat( null, options.page, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13522 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13523 |
case keyCode.PAGE_DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13524 |
this._repeat( null, -options.page, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13525 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13526 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13527 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13528 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13529 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13530 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13531 |
_uiSpinnerHtml: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13532 |
return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13533 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13534 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13535 |
_buttonHtml: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13536 |
return "" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13537 |
"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13538 |
"<span class='ui-icon " + this.options.icons.up + "'>▲</span>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13539 |
"</a>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13540 |
"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13541 |
"<span class='ui-icon " + this.options.icons.down + "'>▼</span>" + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13542 |
"</a>"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13543 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13544 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13545 |
_start: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13546 |
if ( !this.spinning && this._trigger( "start", event ) === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13547 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13548 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13549 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13550 |
if ( !this.counter ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13551 |
this.counter = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13552 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13553 |
this.spinning = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13554 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13555 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13556 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13557 |
_repeat: function( i, steps, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13558 |
i = i || 500; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13559 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13560 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13561 |
this.timer = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13562 |
this._repeat( 40, steps, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13563 |
}, i ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13564 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13565 |
this._spin( steps * this.options.step, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13566 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13567 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13568 |
_spin: function( step, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13569 |
var value = this.value() || 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13570 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13571 |
if ( !this.counter ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13572 |
this.counter = 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13573 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13574 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13575 |
value = this._adjustValue( value + step * this._increment( this.counter ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13576 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13577 |
if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13578 |
this._value( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13579 |
this.counter++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13580 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13581 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13582 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13583 |
_increment: function( i ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13584 |
var incremental = this.options.incremental; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13585 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13586 |
if ( incremental ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13587 |
return $.isFunction( incremental ) ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13588 |
incremental( i ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13589 |
Math.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13590 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13591 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13592 |
return 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13593 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13594 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13595 |
_precision: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13596 |
var precision = this._precisionOf( this.options.step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13597 |
if ( this.options.min !== null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13598 |
precision = Math.max( precision, this._precisionOf( this.options.min ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13599 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13600 |
return precision; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13601 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13602 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13603 |
_precisionOf: function( num ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13604 |
var str = num.toString(), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13605 |
decimal = str.indexOf( "." ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13606 |
return decimal === -1 ? 0 : str.length - decimal - 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13607 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13608 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13609 |
_adjustValue: function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13610 |
var base, aboveMin, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13611 |
options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13612 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13613 |
// make sure we're at a valid step |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13614 |
// - find out where we are relative to the base (min or 0) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13615 |
base = options.min !== null ? options.min : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13616 |
aboveMin = value - base; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13617 |
// - round to the nearest step |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13618 |
aboveMin = Math.round(aboveMin / options.step) * options.step; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13619 |
// - rounding is based on 0, so adjust back to our base |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13620 |
value = base + aboveMin; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13621 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13622 |
// fix precision from bad JS floating point math |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13623 |
value = parseFloat( value.toFixed( this._precision() ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13624 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13625 |
// clamp the value |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13626 |
if ( options.max !== null && value > options.max) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13627 |
return options.max; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13628 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13629 |
if ( options.min !== null && value < options.min ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13630 |
return options.min; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13631 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13632 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13633 |
return value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13634 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13635 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13636 |
_stop: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13637 |
if ( !this.spinning ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13638 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13639 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13640 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13641 |
clearTimeout( this.timer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13642 |
clearTimeout( this.mousewheelTimer ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13643 |
this.counter = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13644 |
this.spinning = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13645 |
this._trigger( "stop", event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13646 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13647 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13648 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13649 |
if ( key === "culture" || key === "numberFormat" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13650 |
var prevValue = this._parse( this.element.val() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13651 |
this.options[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13652 |
this.element.val( this._format( prevValue ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13653 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13654 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13655 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13656 |
if ( key === "max" || key === "min" || key === "step" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13657 |
if ( typeof value === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13658 |
value = this._parse( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13659 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13660 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13661 |
if ( key === "icons" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13662 |
this.buttons.first().find( ".ui-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13663 |
.removeClass( this.options.icons.up ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13664 |
.addClass( value.up ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13665 |
this.buttons.last().find( ".ui-icon" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13666 |
.removeClass( this.options.icons.down ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13667 |
.addClass( value.down ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13668 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13669 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13670 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13671 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13672 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13673 |
if ( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13674 |
this.element.prop( "disabled", true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13675 |
this.buttons.button( "disable" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13676 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13677 |
this.element.prop( "disabled", false ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13678 |
this.buttons.button( "enable" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13679 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13680 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13681 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13682 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13683 |
_setOptions: modifier(function( options ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13684 |
this._super( options ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13685 |
this._value( this.element.val() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13686 |
}), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13687 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13688 |
_parse: function( val ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13689 |
if ( typeof val === "string" && val !== "" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13690 |
val = window.Globalize && this.options.numberFormat ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13691 |
Globalize.parseFloat( val, 10, this.options.culture ) : +val; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13692 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13693 |
return val === "" || isNaN( val ) ? null : val; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13694 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13695 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13696 |
_format: function( value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13697 |
if ( value === "" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13698 |
return ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13699 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13700 |
return window.Globalize && this.options.numberFormat ? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13701 |
Globalize.format( value, this.options.numberFormat, this.options.culture ) : |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13702 |
value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13703 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13704 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13705 |
_refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13706 |
this.element.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13707 |
"aria-valuemin": this.options.min, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13708 |
"aria-valuemax": this.options.max, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13709 |
// TODO: what should we do with values that can't be parsed? |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13710 |
"aria-valuenow": this._parse( this.element.val() ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13711 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13712 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13713 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13714 |
// update the value without triggering change |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13715 |
_value: function( value, allowAny ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13716 |
var parsed; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13717 |
if ( value !== "" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13718 |
parsed = this._parse( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13719 |
if ( parsed !== null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13720 |
if ( !allowAny ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13721 |
parsed = this._adjustValue( parsed ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13722 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13723 |
value = this._format( parsed ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13724 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13725 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13726 |
this.element.val( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13727 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13728 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13729 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13730 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13731 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13732 |
.removeClass( "ui-spinner-input" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13733 |
.prop( "disabled", false ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13734 |
.removeAttr( "autocomplete" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13735 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13736 |
.removeAttr( "aria-valuemin" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13737 |
.removeAttr( "aria-valuemax" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13738 |
.removeAttr( "aria-valuenow" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13739 |
this.uiSpinner.replaceWith( this.element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13740 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13741 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13742 |
stepUp: modifier(function( steps ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13743 |
this._stepUp( steps ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13744 |
}), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13745 |
_stepUp: function( steps ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13746 |
if ( this._start() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13747 |
this._spin( (steps || 1) * this.options.step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13748 |
this._stop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13749 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13750 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13751 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13752 |
stepDown: modifier(function( steps ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13753 |
this._stepDown( steps ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13754 |
}), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13755 |
_stepDown: function( steps ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13756 |
if ( this._start() ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13757 |
this._spin( (steps || 1) * -this.options.step ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13758 |
this._stop(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13759 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13760 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13761 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13762 |
pageUp: modifier(function( pages ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13763 |
this._stepUp( (pages || 1) * this.options.page ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13764 |
}), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13765 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13766 |
pageDown: modifier(function( pages ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13767 |
this._stepDown( (pages || 1) * this.options.page ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13768 |
}), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13769 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13770 |
value: function( newVal ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13771 |
if ( !arguments.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13772 |
return this._parse( this.element.val() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13773 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13774 |
modifier( this._value ).call( this, newVal ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13775 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13776 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13777 |
widget: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13778 |
return this.uiSpinner; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13779 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13780 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13781 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13782 |
}( jQuery ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13783 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13784 |
(function( $, undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13785 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13786 |
var tabId = 0, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13787 |
rhash = /#.*$/; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13788 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13789 |
function getNextTabId() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13790 |
return ++tabId; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13791 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13792 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13793 |
function isLocal( anchor ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13794 |
return anchor.hash.length > 1 && |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13795 |
decodeURIComponent( anchor.href.replace( rhash, "" ) ) === |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13796 |
decodeURIComponent( location.href.replace( rhash, "" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13797 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13798 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13799 |
$.widget( "ui.tabs", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13800 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13801 |
delay: 300, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13802 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13803 |
active: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13804 |
collapsible: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13805 |
event: "click", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13806 |
heightStyle: "content", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13807 |
hide: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13808 |
show: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13809 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13810 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13811 |
activate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13812 |
beforeActivate: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13813 |
beforeLoad: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13814 |
load: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13815 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13816 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13817 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13818 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13819 |
options = this.options; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13820 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13821 |
this.running = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13822 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13823 |
this.element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13824 |
.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13825 |
.toggleClass( "ui-tabs-collapsible", options.collapsible ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13826 |
// Prevent users from focusing disabled tabs via click |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13827 |
.delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13828 |
if ( $( this ).is( ".ui-state-disabled" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13829 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13830 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13831 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13832 |
// support: IE <9 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13833 |
// Preventing the default action in mousedown doesn't prevent IE |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13834 |
// from focusing the element, so if the anchor gets focused, blur. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13835 |
// We don't have to worry about focusing the previously focused |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13836 |
// element since clicking on a non-focusable element should focus |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13837 |
// the body anyway. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13838 |
.delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13839 |
if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13840 |
this.blur(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13841 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13842 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13843 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13844 |
this._processTabs(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13845 |
options.active = this._initialActive(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13846 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13847 |
// Take disabling tabs via class attribute from HTML |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13848 |
// into account and update option properly. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13849 |
if ( $.isArray( options.disabled ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13850 |
options.disabled = $.unique( options.disabled.concat( |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13851 |
$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13852 |
return that.tabs.index( li ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13853 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13854 |
) ).sort(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13855 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13856 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13857 |
// check for length avoids error when initializing empty list |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13858 |
if ( this.options.active !== false && this.anchors.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13859 |
this.active = this._findActive( options.active ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13860 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13861 |
this.active = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13862 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13863 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13864 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13865 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13866 |
if ( this.active.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13867 |
this.load( options.active ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13868 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13869 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13870 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13871 |
_initialActive: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13872 |
var active = this.options.active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13873 |
collapsible = this.options.collapsible, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13874 |
locationHash = location.hash.substring( 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13875 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13876 |
if ( active === null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13877 |
// check the fragment identifier in the URL |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13878 |
if ( locationHash ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13879 |
this.tabs.each(function( i, tab ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13880 |
if ( $( tab ).attr( "aria-controls" ) === locationHash ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13881 |
active = i; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13882 |
return false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13883 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13884 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13885 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13886 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13887 |
// check for a tab marked active via a class |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13888 |
if ( active === null ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13889 |
active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13890 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13891 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13892 |
// no active tab, set to false |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13893 |
if ( active === null || active === -1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13894 |
active = this.tabs.length ? 0 : false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13895 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13896 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13897 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13898 |
// handle numbers: negative, out of range |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13899 |
if ( active !== false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13900 |
active = this.tabs.index( this.tabs.eq( active ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13901 |
if ( active === -1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13902 |
active = collapsible ? false : 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13903 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13904 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13905 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13906 |
// don't allow collapsible: false and active: false |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13907 |
if ( !collapsible && active === false && this.anchors.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13908 |
active = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13909 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13910 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13911 |
return active; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13912 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13913 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13914 |
_getCreateEventData: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13915 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13916 |
tab: this.active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13917 |
panel: !this.active.length ? $() : this._getPanelForTab( this.active ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13918 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13919 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13920 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13921 |
_tabKeydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13922 |
/*jshint maxcomplexity:15*/ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13923 |
var focusedTab = $( this.document[0].activeElement ).closest( "li" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13924 |
selectedIndex = this.tabs.index( focusedTab ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13925 |
goingForward = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13926 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13927 |
if ( this._handlePageNav( event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13928 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13929 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13930 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13931 |
switch ( event.keyCode ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13932 |
case $.ui.keyCode.RIGHT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13933 |
case $.ui.keyCode.DOWN: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13934 |
selectedIndex++; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13935 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13936 |
case $.ui.keyCode.UP: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13937 |
case $.ui.keyCode.LEFT: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13938 |
goingForward = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13939 |
selectedIndex--; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13940 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13941 |
case $.ui.keyCode.END: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13942 |
selectedIndex = this.anchors.length - 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13943 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13944 |
case $.ui.keyCode.HOME: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13945 |
selectedIndex = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13946 |
break; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13947 |
case $.ui.keyCode.SPACE: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13948 |
// Activate only, no collapsing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13949 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13950 |
clearTimeout( this.activating ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13951 |
this._activate( selectedIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13952 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13953 |
case $.ui.keyCode.ENTER: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13954 |
// Toggle (cancel delayed activation, allow collapsing) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13955 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13956 |
clearTimeout( this.activating ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13957 |
// Determine if we should collapse or activate |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13958 |
this._activate( selectedIndex === this.options.active ? false : selectedIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13959 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13960 |
default: |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13961 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13962 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13963 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13964 |
// Focus the appropriate tab, based on which key was pressed |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13965 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13966 |
clearTimeout( this.activating ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13967 |
selectedIndex = this._focusNextTab( selectedIndex, goingForward ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13968 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13969 |
// Navigating with control key will prevent automatic activation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13970 |
if ( !event.ctrlKey ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13971 |
// Update aria-selected immediately so that AT think the tab is already selected. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13972 |
// Otherwise AT may confuse the user by stating that they need to activate the tab, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13973 |
// but the tab will already be activated by the time the announcement finishes. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13974 |
focusedTab.attr( "aria-selected", "false" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13975 |
this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13976 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13977 |
this.activating = this._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13978 |
this.option( "active", selectedIndex ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13979 |
}, this.delay ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13980 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13981 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13982 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13983 |
_panelKeydown: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13984 |
if ( this._handlePageNav( event ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13985 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13986 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13987 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13988 |
// Ctrl+up moves focus to the current tab |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13989 |
if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13990 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13991 |
this.active.focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13992 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13993 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13994 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13995 |
// Alt+page up/down moves focus to the previous/next tab (and activates) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13996 |
_handlePageNav: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13997 |
if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13998 |
this._activate( this._focusNextTab( this.options.active - 1, false ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
13999 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14000 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14001 |
if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14002 |
this._activate( this._focusNextTab( this.options.active + 1, true ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14003 |
return true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14004 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14005 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14006 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14007 |
_findNextTab: function( index, goingForward ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14008 |
var lastTabIndex = this.tabs.length - 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14009 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14010 |
function constrain() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14011 |
if ( index > lastTabIndex ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14012 |
index = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14013 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14014 |
if ( index < 0 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14015 |
index = lastTabIndex; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14016 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14017 |
return index; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14018 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14019 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14020 |
while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14021 |
index = goingForward ? index + 1 : index - 1; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14022 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14023 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14024 |
return index; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14025 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14026 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14027 |
_focusNextTab: function( index, goingForward ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14028 |
index = this._findNextTab( index, goingForward ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14029 |
this.tabs.eq( index ).focus(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14030 |
return index; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14031 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14032 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14033 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14034 |
if ( key === "active" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14035 |
// _activate() will handle invalid values and update this.options |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14036 |
this._activate( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14037 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14038 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14039 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14040 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14041 |
// don't use the widget factory's disabled handling |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14042 |
this._setupDisabled( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14043 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14044 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14045 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14046 |
this._super( key, value); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14047 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14048 |
if ( key === "collapsible" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14049 |
this.element.toggleClass( "ui-tabs-collapsible", value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14050 |
// Setting collapsible: false while collapsed; open first panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14051 |
if ( !value && this.options.active === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14052 |
this._activate( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14053 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14054 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14055 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14056 |
if ( key === "event" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14057 |
this._setupEvents( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14058 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14059 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14060 |
if ( key === "heightStyle" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14061 |
this._setupHeightStyle( value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14062 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14063 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14064 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14065 |
_tabId: function( tab ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14066 |
return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14067 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14068 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14069 |
_sanitizeSelector: function( hash ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14070 |
return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14071 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14072 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14073 |
refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14074 |
var options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14075 |
lis = this.tablist.children( ":has(a[href])" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14076 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14077 |
// get disabled tabs from class attribute from HTML |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14078 |
// this will get converted to a boolean if needed in _refresh() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14079 |
options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14080 |
return lis.index( tab ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14081 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14082 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14083 |
this._processTabs(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14084 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14085 |
// was collapsed or no tabs |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14086 |
if ( options.active === false || !this.anchors.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14087 |
options.active = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14088 |
this.active = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14089 |
// was active, but active tab is gone |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14090 |
} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14091 |
// all remaining tabs are disabled |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14092 |
if ( this.tabs.length === options.disabled.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14093 |
options.active = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14094 |
this.active = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14095 |
// activate previous tab |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14096 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14097 |
this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14098 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14099 |
// was active, active tab still exists |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14100 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14101 |
// make sure active index is correct |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14102 |
options.active = this.tabs.index( this.active ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14103 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14104 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14105 |
this._refresh(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14106 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14107 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14108 |
_refresh: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14109 |
this._setupDisabled( this.options.disabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14110 |
this._setupEvents( this.options.event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14111 |
this._setupHeightStyle( this.options.heightStyle ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14112 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14113 |
this.tabs.not( this.active ).attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14114 |
"aria-selected": "false", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14115 |
tabIndex: -1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14116 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14117 |
this.panels.not( this._getPanelForTab( this.active ) ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14118 |
.hide() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14119 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14120 |
"aria-expanded": "false", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14121 |
"aria-hidden": "true" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14122 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14123 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14124 |
// Make sure one tab is in the tab order |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14125 |
if ( !this.active.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14126 |
this.tabs.eq( 0 ).attr( "tabIndex", 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14127 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14128 |
this.active |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14129 |
.addClass( "ui-tabs-active ui-state-active" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14130 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14131 |
"aria-selected": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14132 |
tabIndex: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14133 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14134 |
this._getPanelForTab( this.active ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14135 |
.show() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14136 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14137 |
"aria-expanded": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14138 |
"aria-hidden": "false" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14139 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14140 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14141 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14142 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14143 |
_processTabs: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14144 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14145 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14146 |
this.tablist = this._getList() |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14147 |
.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14148 |
.attr( "role", "tablist" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14149 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14150 |
this.tabs = this.tablist.find( "> li:has(a[href])" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14151 |
.addClass( "ui-state-default ui-corner-top" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14152 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14153 |
role: "tab", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14154 |
tabIndex: -1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14155 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14156 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14157 |
this.anchors = this.tabs.map(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14158 |
return $( "a", this )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14159 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14160 |
.addClass( "ui-tabs-anchor" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14161 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14162 |
role: "presentation", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14163 |
tabIndex: -1 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14164 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14165 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14166 |
this.panels = $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14167 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14168 |
this.anchors.each(function( i, anchor ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14169 |
var selector, panel, panelId, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14170 |
anchorId = $( anchor ).uniqueId().attr( "id" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14171 |
tab = $( anchor ).closest( "li" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14172 |
originalAriaControls = tab.attr( "aria-controls" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14173 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14174 |
// inline tab |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14175 |
if ( isLocal( anchor ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14176 |
selector = anchor.hash; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14177 |
panel = that.element.find( that._sanitizeSelector( selector ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14178 |
// remote tab |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14179 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14180 |
panelId = that._tabId( tab ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14181 |
selector = "#" + panelId; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14182 |
panel = that.element.find( selector ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14183 |
if ( !panel.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14184 |
panel = that._createPanel( panelId ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14185 |
panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14186 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14187 |
panel.attr( "aria-live", "polite" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14188 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14189 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14190 |
if ( panel.length) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14191 |
that.panels = that.panels.add( panel ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14192 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14193 |
if ( originalAriaControls ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14194 |
tab.data( "ui-tabs-aria-controls", originalAriaControls ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14195 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14196 |
tab.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14197 |
"aria-controls": selector.substring( 1 ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14198 |
"aria-labelledby": anchorId |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14199 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14200 |
panel.attr( "aria-labelledby", anchorId ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14201 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14202 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14203 |
this.panels |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14204 |
.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14205 |
.attr( "role", "tabpanel" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14206 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14207 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14208 |
// allow overriding how to find the list for rare usage scenarios (#7715) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14209 |
_getList: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14210 |
return this.element.find( "ol,ul" ).eq( 0 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14211 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14212 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14213 |
_createPanel: function( id ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14214 |
return $( "<div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14215 |
.attr( "id", id ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14216 |
.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14217 |
.data( "ui-tabs-destroy", true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14218 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14219 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14220 |
_setupDisabled: function( disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14221 |
if ( $.isArray( disabled ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14222 |
if ( !disabled.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14223 |
disabled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14224 |
} else if ( disabled.length === this.anchors.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14225 |
disabled = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14226 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14227 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14228 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14229 |
// disable tabs |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14230 |
for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14231 |
if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14232 |
$( li ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14233 |
.addClass( "ui-state-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14234 |
.attr( "aria-disabled", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14235 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14236 |
$( li ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14237 |
.removeClass( "ui-state-disabled" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14238 |
.removeAttr( "aria-disabled" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14239 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14240 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14241 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14242 |
this.options.disabled = disabled; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14243 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14244 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14245 |
_setupEvents: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14246 |
var events = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14247 |
click: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14248 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14249 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14250 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14251 |
if ( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14252 |
$.each( event.split(" "), function( index, eventName ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14253 |
events[ eventName ] = "_eventHandler"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14254 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14255 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14256 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14257 |
this._off( this.anchors.add( this.tabs ).add( this.panels ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14258 |
this._on( this.anchors, events ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14259 |
this._on( this.tabs, { keydown: "_tabKeydown" } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14260 |
this._on( this.panels, { keydown: "_panelKeydown" } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14261 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14262 |
this._focusable( this.tabs ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14263 |
this._hoverable( this.tabs ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14264 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14265 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14266 |
_setupHeightStyle: function( heightStyle ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14267 |
var maxHeight, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14268 |
parent = this.element.parent(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14269 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14270 |
if ( heightStyle === "fill" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14271 |
maxHeight = parent.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14272 |
maxHeight -= this.element.outerHeight() - this.element.height(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14273 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14274 |
this.element.siblings( ":visible" ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14275 |
var elem = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14276 |
position = elem.css( "position" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14277 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14278 |
if ( position === "absolute" || position === "fixed" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14279 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14280 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14281 |
maxHeight -= elem.outerHeight( true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14282 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14283 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14284 |
this.element.children().not( this.panels ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14285 |
maxHeight -= $( this ).outerHeight( true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14286 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14287 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14288 |
this.panels.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14289 |
$( this ).height( Math.max( 0, maxHeight - |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14290 |
$( this ).innerHeight() + $( this ).height() ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14291 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14292 |
.css( "overflow", "auto" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14293 |
} else if ( heightStyle === "auto" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14294 |
maxHeight = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14295 |
this.panels.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14296 |
maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14297 |
}).height( maxHeight ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14298 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14299 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14300 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14301 |
_eventHandler: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14302 |
var options = this.options, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14303 |
active = this.active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14304 |
anchor = $( event.currentTarget ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14305 |
tab = anchor.closest( "li" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14306 |
clickedIsActive = tab[ 0 ] === active[ 0 ], |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14307 |
collapsing = clickedIsActive && options.collapsible, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14308 |
toShow = collapsing ? $() : this._getPanelForTab( tab ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14309 |
toHide = !active.length ? $() : this._getPanelForTab( active ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14310 |
eventData = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14311 |
oldTab: active, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14312 |
oldPanel: toHide, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14313 |
newTab: collapsing ? $() : tab, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14314 |
newPanel: toShow |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14315 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14316 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14317 |
event.preventDefault(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14318 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14319 |
if ( tab.hasClass( "ui-state-disabled" ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14320 |
// tab is already loading |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14321 |
tab.hasClass( "ui-tabs-loading" ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14322 |
// can't switch durning an animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14323 |
this.running || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14324 |
// click on active header, but not collapsible |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14325 |
( clickedIsActive && !options.collapsible ) || |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14326 |
// allow canceling activation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14327 |
( this._trigger( "beforeActivate", event, eventData ) === false ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14328 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14329 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14330 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14331 |
options.active = collapsing ? false : this.tabs.index( tab ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14332 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14333 |
this.active = clickedIsActive ? $() : tab; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14334 |
if ( this.xhr ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14335 |
this.xhr.abort(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14336 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14337 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14338 |
if ( !toHide.length && !toShow.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14339 |
$.error( "jQuery UI Tabs: Mismatching fragment identifier." ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14340 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14341 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14342 |
if ( toShow.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14343 |
this.load( this.tabs.index( tab ), event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14344 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14345 |
this._toggle( event, eventData ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14346 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14347 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14348 |
// handles show/hide for selecting tabs |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14349 |
_toggle: function( event, eventData ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14350 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14351 |
toShow = eventData.newPanel, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14352 |
toHide = eventData.oldPanel; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14353 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14354 |
this.running = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14355 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14356 |
function complete() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14357 |
that.running = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14358 |
that._trigger( "activate", event, eventData ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14359 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14360 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14361 |
function show() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14362 |
eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14363 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14364 |
if ( toShow.length && that.options.show ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14365 |
that._show( toShow, that.options.show, complete ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14366 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14367 |
toShow.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14368 |
complete(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14369 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14370 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14371 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14372 |
// start out by hiding, then showing, then completing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14373 |
if ( toHide.length && this.options.hide ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14374 |
this._hide( toHide, this.options.hide, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14375 |
eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14376 |
show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14377 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14378 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14379 |
eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14380 |
toHide.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14381 |
show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14382 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14383 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14384 |
toHide.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14385 |
"aria-expanded": "false", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14386 |
"aria-hidden": "true" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14387 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14388 |
eventData.oldTab.attr( "aria-selected", "false" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14389 |
// If we're switching tabs, remove the old tab from the tab order. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14390 |
// If we're opening from collapsed state, remove the previous tab from the tab order. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14391 |
// If we're collapsing, then keep the collapsing tab in the tab order. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14392 |
if ( toShow.length && toHide.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14393 |
eventData.oldTab.attr( "tabIndex", -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14394 |
} else if ( toShow.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14395 |
this.tabs.filter(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14396 |
return $( this ).attr( "tabIndex" ) === 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14397 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14398 |
.attr( "tabIndex", -1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14399 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14400 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14401 |
toShow.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14402 |
"aria-expanded": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14403 |
"aria-hidden": "false" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14404 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14405 |
eventData.newTab.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14406 |
"aria-selected": "true", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14407 |
tabIndex: 0 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14408 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14409 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14410 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14411 |
_activate: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14412 |
var anchor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14413 |
active = this._findActive( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14414 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14415 |
// trying to activate the already active panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14416 |
if ( active[ 0 ] === this.active[ 0 ] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14417 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14418 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14419 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14420 |
// trying to collapse, simulate a click on the current active header |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14421 |
if ( !active.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14422 |
active = this.active; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14423 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14424 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14425 |
anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14426 |
this._eventHandler({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14427 |
target: anchor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14428 |
currentTarget: anchor, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14429 |
preventDefault: $.noop |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14430 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14431 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14432 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14433 |
_findActive: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14434 |
return index === false ? $() : this.tabs.eq( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14435 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14436 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14437 |
_getIndex: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14438 |
// meta-function to give users option to provide a href string instead of a numerical index. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14439 |
if ( typeof index === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14440 |
index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14441 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14442 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14443 |
return index; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14444 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14445 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14446 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14447 |
if ( this.xhr ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14448 |
this.xhr.abort(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14449 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14450 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14451 |
this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14452 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14453 |
this.tablist |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14454 |
.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14455 |
.removeAttr( "role" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14456 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14457 |
this.anchors |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14458 |
.removeClass( "ui-tabs-anchor" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14459 |
.removeAttr( "role" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14460 |
.removeAttr( "tabIndex" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14461 |
.removeUniqueId(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14462 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14463 |
this.tabs.add( this.panels ).each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14464 |
if ( $.data( this, "ui-tabs-destroy" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14465 |
$( this ).remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14466 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14467 |
$( this ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14468 |
.removeClass( "ui-state-default ui-state-active ui-state-disabled " + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14469 |
"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14470 |
.removeAttr( "tabIndex" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14471 |
.removeAttr( "aria-live" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14472 |
.removeAttr( "aria-busy" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14473 |
.removeAttr( "aria-selected" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14474 |
.removeAttr( "aria-labelledby" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14475 |
.removeAttr( "aria-hidden" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14476 |
.removeAttr( "aria-expanded" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14477 |
.removeAttr( "role" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14478 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14479 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14480 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14481 |
this.tabs.each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14482 |
var li = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14483 |
prev = li.data( "ui-tabs-aria-controls" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14484 |
if ( prev ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14485 |
li |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14486 |
.attr( "aria-controls", prev ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14487 |
.removeData( "ui-tabs-aria-controls" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14488 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14489 |
li.removeAttr( "aria-controls" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14490 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14491 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14492 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14493 |
this.panels.show(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14494 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14495 |
if ( this.options.heightStyle !== "content" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14496 |
this.panels.css( "height", "" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14497 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14498 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14499 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14500 |
enable: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14501 |
var disabled = this.options.disabled; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14502 |
if ( disabled === false ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14503 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14504 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14505 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14506 |
if ( index === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14507 |
disabled = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14508 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14509 |
index = this._getIndex( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14510 |
if ( $.isArray( disabled ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14511 |
disabled = $.map( disabled, function( num ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14512 |
return num !== index ? num : null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14513 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14514 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14515 |
disabled = $.map( this.tabs, function( li, num ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14516 |
return num !== index ? num : null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14517 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14518 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14519 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14520 |
this._setupDisabled( disabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14521 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14522 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14523 |
disable: function( index ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14524 |
var disabled = this.options.disabled; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14525 |
if ( disabled === true ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14526 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14527 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14528 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14529 |
if ( index === undefined ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14530 |
disabled = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14531 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14532 |
index = this._getIndex( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14533 |
if ( $.inArray( index, disabled ) !== -1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14534 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14535 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14536 |
if ( $.isArray( disabled ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14537 |
disabled = $.merge( [ index ], disabled ).sort(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14538 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14539 |
disabled = [ index ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14540 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14541 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14542 |
this._setupDisabled( disabled ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14543 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14544 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14545 |
load: function( index, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14546 |
index = this._getIndex( index ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14547 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14548 |
tab = this.tabs.eq( index ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14549 |
anchor = tab.find( ".ui-tabs-anchor" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14550 |
panel = this._getPanelForTab( tab ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14551 |
eventData = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14552 |
tab: tab, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14553 |
panel: panel |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14554 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14555 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14556 |
// not remote |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14557 |
if ( isLocal( anchor[ 0 ] ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14558 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14559 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14560 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14561 |
this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14562 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14563 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14564 |
// jQuery <1.8 returns false if the request is canceled in beforeSend, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14565 |
// but as of 1.8, $.ajax() always returns a jqXHR object. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14566 |
if ( this.xhr && this.xhr.statusText !== "canceled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14567 |
tab.addClass( "ui-tabs-loading" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14568 |
panel.attr( "aria-busy", "true" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14569 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14570 |
this.xhr |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14571 |
.success(function( response ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14572 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14573 |
// http://bugs.jquery.com/ticket/11778 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14574 |
setTimeout(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14575 |
panel.html( response ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14576 |
that._trigger( "load", event, eventData ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14577 |
}, 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14578 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14579 |
.complete(function( jqXHR, status ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14580 |
// support: jQuery <1.8 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14581 |
// http://bugs.jquery.com/ticket/11778 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14582 |
setTimeout(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14583 |
if ( status === "abort" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14584 |
that.panels.stop( false, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14585 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14586 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14587 |
tab.removeClass( "ui-tabs-loading" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14588 |
panel.removeAttr( "aria-busy" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14589 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14590 |
if ( jqXHR === that.xhr ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14591 |
delete that.xhr; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14592 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14593 |
}, 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14594 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14595 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14596 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14597 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14598 |
_ajaxSettings: function( anchor, event, eventData ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14599 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14600 |
return { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14601 |
url: anchor.attr( "href" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14602 |
beforeSend: function( jqXHR, settings ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14603 |
return that._trigger( "beforeLoad", event, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14604 |
$.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14605 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14606 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14607 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14608 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14609 |
_getPanelForTab: function( tab ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14610 |
var id = $( tab ).attr( "aria-controls" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14611 |
return this.element.find( this._sanitizeSelector( "#" + id ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14612 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14613 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14614 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14615 |
})( jQuery ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14616 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14617 |
(function( $ ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14618 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14619 |
var increments = 0; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14620 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14621 |
function addDescribedBy( elem, id ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14622 |
var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14623 |
describedby.push( id ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14624 |
elem |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14625 |
.data( "ui-tooltip-id", id ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14626 |
.attr( "aria-describedby", $.trim( describedby.join( " " ) ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14627 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14628 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14629 |
function removeDescribedBy( elem ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14630 |
var id = elem.data( "ui-tooltip-id" ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14631 |
describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14632 |
index = $.inArray( id, describedby ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14633 |
if ( index !== -1 ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14634 |
describedby.splice( index, 1 ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14635 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14636 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14637 |
elem.removeData( "ui-tooltip-id" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14638 |
describedby = $.trim( describedby.join( " " ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14639 |
if ( describedby ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14640 |
elem.attr( "aria-describedby", describedby ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14641 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14642 |
elem.removeAttr( "aria-describedby" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14643 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14644 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14645 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14646 |
$.widget( "ui.tooltip", { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14647 |
version: "1.10.3", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14648 |
options: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14649 |
content: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14650 |
// support: IE<9, Opera in jQuery <1.7 |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14651 |
// .text() can't accept undefined, so coerce to a string |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14652 |
var title = $( this ).attr( "title" ) || ""; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14653 |
// Escape title, since we're going from an attribute to raw HTML |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14654 |
return $( "<a>" ).text( title ).html(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14655 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14656 |
hide: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14657 |
// Disabled elements have inconsistent behavior across browsers (#8661) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14658 |
items: "[title]:not([disabled])", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14659 |
position: { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14660 |
my: "left top+15", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14661 |
at: "left bottom", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14662 |
collision: "flipfit flip" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14663 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14664 |
show: true, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14665 |
tooltipClass: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14666 |
track: false, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14667 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14668 |
// callbacks |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14669 |
close: null, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14670 |
open: null |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14671 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14672 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14673 |
_create: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14674 |
this._on({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14675 |
mouseover: "open", |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14676 |
focusin: "open" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14677 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14678 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14679 |
// IDs of generated tooltips, needed for destroy |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14680 |
this.tooltips = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14681 |
// IDs of parent tooltips where we removed the title attribute |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14682 |
this.parents = {}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14683 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14684 |
if ( this.options.disabled ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14685 |
this._disable(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14686 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14687 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14688 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14689 |
_setOption: function( key, value ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14690 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14691 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14692 |
if ( key === "disabled" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14693 |
this[ value ? "_disable" : "_enable" ](); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14694 |
this.options[ key ] = value; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14695 |
// disable element style changes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14696 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14697 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14698 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14699 |
this._super( key, value ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14700 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14701 |
if ( key === "content" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14702 |
$.each( this.tooltips, function( id, element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14703 |
that._updateContent( element ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14704 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14705 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14706 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14707 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14708 |
_disable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14709 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14710 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14711 |
// close open tooltips |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14712 |
$.each( this.tooltips, function( id, element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14713 |
var event = $.Event( "blur" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14714 |
event.target = event.currentTarget = element[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14715 |
that.close( event, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14716 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14717 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14718 |
// remove title attributes to prevent native tooltips |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14719 |
this.element.find( this.options.items ).addBack().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14720 |
var element = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14721 |
if ( element.is( "[title]" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14722 |
element |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14723 |
.data( "ui-tooltip-title", element.attr( "title" ) ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14724 |
.attr( "title", "" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14725 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14726 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14727 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14728 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14729 |
_enable: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14730 |
// restore title attributes |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14731 |
this.element.find( this.options.items ).addBack().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14732 |
var element = $( this ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14733 |
if ( element.data( "ui-tooltip-title" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14734 |
element.attr( "title", element.data( "ui-tooltip-title" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14735 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14736 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14737 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14738 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14739 |
open: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14740 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14741 |
target = $( event ? event.target : this.element ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14742 |
// we need closest here due to mouseover bubbling, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14743 |
// but always pointing at the same event target |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14744 |
.closest( this.options.items ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14745 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14746 |
// No element to show a tooltip for or the tooltip is already open |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14747 |
if ( !target.length || target.data( "ui-tooltip-id" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14748 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14749 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14750 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14751 |
if ( target.attr( "title" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14752 |
target.data( "ui-tooltip-title", target.attr( "title" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14753 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14754 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14755 |
target.data( "ui-tooltip-open", true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14756 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14757 |
// kill parent tooltips, custom or native, for hover |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14758 |
if ( event && event.type === "mouseover" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14759 |
target.parents().each(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14760 |
var parent = $( this ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14761 |
blurEvent; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14762 |
if ( parent.data( "ui-tooltip-open" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14763 |
blurEvent = $.Event( "blur" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14764 |
blurEvent.target = blurEvent.currentTarget = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14765 |
that.close( blurEvent, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14766 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14767 |
if ( parent.attr( "title" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14768 |
parent.uniqueId(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14769 |
that.parents[ this.id ] = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14770 |
element: this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14771 |
title: parent.attr( "title" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14772 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14773 |
parent.attr( "title", "" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14774 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14775 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14776 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14777 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14778 |
this._updateContent( target, event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14779 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14780 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14781 |
_updateContent: function( target, event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14782 |
var content, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14783 |
contentOption = this.options.content, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14784 |
that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14785 |
eventType = event ? event.type : null; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14786 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14787 |
if ( typeof contentOption === "string" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14788 |
return this._open( event, target, contentOption ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14789 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14790 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14791 |
content = contentOption.call( target[0], function( response ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14792 |
// ignore async response if tooltip was closed already |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14793 |
if ( !target.data( "ui-tooltip-open" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14794 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14795 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14796 |
// IE may instantly serve a cached response for ajax requests |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14797 |
// delay this call to _open so the other call to _open runs first |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14798 |
that._delay(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14799 |
// jQuery creates a special event for focusin when it doesn't |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14800 |
// exist natively. To improve performance, the native event |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14801 |
// object is reused and the type is changed. Therefore, we can't |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14802 |
// rely on the type being correct after the event finished |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14803 |
// bubbling, so we set it back to the previous value. (#8740) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14804 |
if ( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14805 |
event.type = eventType; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14806 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14807 |
this._open( event, target, response ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14808 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14809 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14810 |
if ( content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14811 |
this._open( event, target, content ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14812 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14813 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14814 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14815 |
_open: function( event, target, content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14816 |
var tooltip, events, delayedShow, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14817 |
positionOption = $.extend( {}, this.options.position ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14818 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14819 |
if ( !content ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14820 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14821 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14822 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14823 |
// Content can be updated multiple times. If the tooltip already |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14824 |
// exists, then just update the content and bail. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14825 |
tooltip = this._find( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14826 |
if ( tooltip.length ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14827 |
tooltip.find( ".ui-tooltip-content" ).html( content ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14828 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14829 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14830 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14831 |
// if we have a title, clear it to prevent the native tooltip |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14832 |
// we have to check first to avoid defining a title if none exists |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14833 |
// (we don't want to cause an element to start matching [title]) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14834 |
// |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14835 |
// We use removeAttr only for key events, to allow IE to export the correct |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14836 |
// accessible attributes. For mouse events, set to empty string to avoid |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14837 |
// native tooltip showing up (happens only when removing inside mouseover). |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14838 |
if ( target.is( "[title]" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14839 |
if ( event && event.type === "mouseover" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14840 |
target.attr( "title", "" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14841 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14842 |
target.removeAttr( "title" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14843 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14844 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14845 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14846 |
tooltip = this._tooltip( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14847 |
addDescribedBy( target, tooltip.attr( "id" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14848 |
tooltip.find( ".ui-tooltip-content" ).html( content ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14849 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14850 |
function position( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14851 |
positionOption.of = event; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14852 |
if ( tooltip.is( ":hidden" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14853 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14854 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14855 |
tooltip.position( positionOption ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14856 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14857 |
if ( this.options.track && event && /^mouse/.test( event.type ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14858 |
this._on( this.document, { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14859 |
mousemove: position |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14860 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14861 |
// trigger once to override element-relative positioning |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14862 |
position( event ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14863 |
} else { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14864 |
tooltip.position( $.extend({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14865 |
of: target |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14866 |
}, this.options.position ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14867 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14868 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14869 |
tooltip.hide(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14870 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14871 |
this._show( tooltip, this.options.show ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14872 |
// Handle tracking tooltips that are shown with a delay (#8644). As soon |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14873 |
// as the tooltip is visible, position the tooltip using the most recent |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14874 |
// event. |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14875 |
if ( this.options.show && this.options.show.delay ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14876 |
delayedShow = this.delayedShow = setInterval(function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14877 |
if ( tooltip.is( ":visible" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14878 |
position( positionOption.of ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14879 |
clearInterval( delayedShow ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14880 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14881 |
}, $.fx.interval ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14882 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14883 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14884 |
this._trigger( "open", event, { tooltip: tooltip } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14885 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14886 |
events = { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14887 |
keyup: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14888 |
if ( event.keyCode === $.ui.keyCode.ESCAPE ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14889 |
var fakeEvent = $.Event(event); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14890 |
fakeEvent.currentTarget = target[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14891 |
this.close( fakeEvent, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14892 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14893 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14894 |
remove: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14895 |
this._removeTooltip( tooltip ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14896 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14897 |
}; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14898 |
if ( !event || event.type === "mouseover" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14899 |
events.mouseleave = "close"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14900 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14901 |
if ( !event || event.type === "focusin" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14902 |
events.focusout = "close"; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14903 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14904 |
this._on( true, target, events ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14905 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14906 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14907 |
close: function( event ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14908 |
var that = this, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14909 |
target = $( event ? event.currentTarget : this.element ), |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14910 |
tooltip = this._find( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14911 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14912 |
// disabling closes the tooltip, so we need to track when we're closing |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14913 |
// to avoid an infinite loop in case the tooltip becomes disabled on close |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14914 |
if ( this.closing ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14915 |
return; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14916 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14917 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14918 |
// Clear the interval for delayed tracking tooltips |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14919 |
clearInterval( this.delayedShow ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14920 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14921 |
// only set title if we had one before (see comment in _open()) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14922 |
if ( target.data( "ui-tooltip-title" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14923 |
target.attr( "title", target.data( "ui-tooltip-title" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14924 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14925 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14926 |
removeDescribedBy( target ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14927 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14928 |
tooltip.stop( true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14929 |
this._hide( tooltip, this.options.hide, function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14930 |
that._removeTooltip( $( this ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14931 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14932 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14933 |
target.removeData( "ui-tooltip-open" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14934 |
this._off( target, "mouseleave focusout keyup" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14935 |
// Remove 'remove' binding only on delegated targets |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14936 |
if ( target[0] !== this.element[0] ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14937 |
this._off( target, "remove" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14938 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14939 |
this._off( this.document, "mousemove" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14940 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14941 |
if ( event && event.type === "mouseleave" ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14942 |
$.each( this.parents, function( id, parent ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14943 |
$( parent.element ).attr( "title", parent.title ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14944 |
delete that.parents[ id ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14945 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14946 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14947 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14948 |
this.closing = true; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14949 |
this._trigger( "close", event, { tooltip: tooltip } ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14950 |
this.closing = false; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14951 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14952 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14953 |
_tooltip: function( element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14954 |
var id = "ui-tooltip-" + increments++, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14955 |
tooltip = $( "<div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14956 |
.attr({ |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14957 |
id: id, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14958 |
role: "tooltip" |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14959 |
}) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14960 |
.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " + |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14961 |
( this.options.tooltipClass || "" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14962 |
$( "<div>" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14963 |
.addClass( "ui-tooltip-content" ) |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14964 |
.appendTo( tooltip ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14965 |
tooltip.appendTo( this.document[0].body ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14966 |
this.tooltips[ id ] = element; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14967 |
return tooltip; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14968 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14969 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14970 |
_find: function( target ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14971 |
var id = target.data( "ui-tooltip-id" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14972 |
return id ? $( "#" + id ) : $(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14973 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14974 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14975 |
_removeTooltip: function( tooltip ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14976 |
tooltip.remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14977 |
delete this.tooltips[ tooltip.attr( "id" ) ]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14978 |
}, |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14979 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14980 |
_destroy: function() { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14981 |
var that = this; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14982 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14983 |
// close open tooltips |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14984 |
$.each( this.tooltips, function( id, element ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14985 |
// Delegate to close method to handle common cleanup |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14986 |
var event = $.Event( "blur" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14987 |
event.target = event.currentTarget = element[0]; |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14988 |
that.close( event, true ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14989 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14990 |
// Remove immediately; destroying an open tooltip doesn't use the |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14991 |
// hide animation |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14992 |
$( "#" + id ).remove(); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14993 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14994 |
// Restore the title |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14995 |
if ( element.data( "ui-tooltip-title" ) ) { |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14996 |
element.attr( "title", element.data( "ui-tooltip-title" ) ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14997 |
element.removeData( "ui-tooltip-title" ); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14998 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
14999 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
15000 |
} |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
15001 |
}); |
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
15002 |
|
4c34a63bd113
update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
6448
diff
changeset
|
15003 |
}( jQuery ) ); |