annotate jquery-ui.js @ 8:86219e4aa239 draft

Uploaded
author saskia-hiltemann
date Mon, 28 Aug 2017 10:23:21 -0400
parents 440f4aa3db97
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1 /*! jQuery UI - v1.10.4 - 2014-01-17
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2 * http://jqueryui.com
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3 * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.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.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4 * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8 var uuid = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9 runiqueId = /^ui-id-\d+$/;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11 // $.ui might exist from components with no dependencies, e.g., $.ui.position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12 $.ui = $.ui || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14 $.extend( $.ui, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
16
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
17 keyCode: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
18 BACKSPACE: 8,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
19 COMMA: 188,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
20 DELETE: 46,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
21 DOWN: 40,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
22 END: 35,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
23 ENTER: 13,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
24 ESCAPE: 27,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
25 HOME: 36,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
26 LEFT: 37,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
27 NUMPAD_ADD: 107,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
28 NUMPAD_DECIMAL: 110,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
29 NUMPAD_DIVIDE: 111,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
30 NUMPAD_ENTER: 108,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
31 NUMPAD_MULTIPLY: 106,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
32 NUMPAD_SUBTRACT: 109,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
33 PAGE_DOWN: 34,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
34 PAGE_UP: 33,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
35 PERIOD: 190,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
36 RIGHT: 39,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
37 SPACE: 32,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
38 TAB: 9,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
39 UP: 38
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
40 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
41 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
42
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
43 // plugins
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
44 $.fn.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
45 focus: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
46 return function( delay, fn ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
47 return typeof delay === "number" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
48 this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
49 var elem = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
50 setTimeout(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
51 $( elem ).focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
52 if ( fn ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
53 fn.call( elem );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
54 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
55 }, delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
56 }) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
57 orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
58 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
59 })( $.fn.focus ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
60
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
61 scrollParent: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
62 var scrollParent;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
63 if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
64 scrollParent = this.parents().filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
65 return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
66 }).eq(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
67 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
68 scrollParent = this.parents().filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
69 return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
70 }).eq(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
71 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
72
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
73 return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
74 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
75
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
76 zIndex: function( zIndex ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
77 if ( zIndex !== undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
78 return this.css( "zIndex", zIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
79 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
80
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
81 if ( this.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
82 var elem = $( this[ 0 ] ), position, value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
83 while ( elem.length && elem[ 0 ] !== document ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
84 // Ignore z-index if position is set to a value where z-index is ignored by the browser
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
85 // This makes behavior of this function consistent across browsers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
86 // WebKit always returns auto if the element is positioned
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
87 position = elem.css( "position" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
88 if ( position === "absolute" || position === "relative" || position === "fixed" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
89 // IE returns 0 when zIndex is not specified
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
90 // other browsers return a string
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
91 // we ignore the case of nested elements with an explicit value of 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
92 // <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
93 value = parseInt( elem.css( "zIndex" ), 10 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
94 if ( !isNaN( value ) && value !== 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
95 return value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
96 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
97 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
98 elem = elem.parent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
99 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
100 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
101
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
102 return 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
103 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
104
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
105 uniqueId: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
106 return this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
107 if ( !this.id ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
108 this.id = "ui-id-" + (++uuid);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
109 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
110 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
111 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
112
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
113 removeUniqueId: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
114 return this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
115 if ( runiqueId.test( this.id ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
116 $( this ).removeAttr( "id" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
117 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
118 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
119 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
120 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
121
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
122 // selectors
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
123 function focusable( element, isTabIndexNotNaN ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
124 var map, mapName, img,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
125 nodeName = element.nodeName.toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
126 if ( "area" === nodeName ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
127 map = element.parentNode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
128 mapName = map.name;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
129 if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
130 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
131 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
132 img = $( "img[usemap=#" + mapName + "]" )[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
133 return !!img && visible( img );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
134 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
135 return ( /input|select|textarea|button|object/.test( nodeName ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
136 !element.disabled :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
137 "a" === nodeName ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
138 element.href || isTabIndexNotNaN :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
139 isTabIndexNotNaN) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
140 // the element and all of its ancestors must be visible
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
141 visible( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
142 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
143
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
144 function visible( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
145 return $.expr.filters.visible( element ) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
146 !$( element ).parents().addBack().filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
147 return $.css( this, "visibility" ) === "hidden";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
148 }).length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
149 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
150
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
151 $.extend( $.expr[ ":" ], {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
152 data: $.expr.createPseudo ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
153 $.expr.createPseudo(function( dataName ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
154 return function( elem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
155 return !!$.data( elem, dataName );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
156 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
157 }) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
158 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
159 function( elem, i, match ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
160 return !!$.data( elem, match[ 3 ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
161 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
162
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
163 focusable: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
164 return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
165 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
166
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
167 tabbable: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
168 var tabIndex = $.attr( element, "tabindex" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
169 isTabIndexNaN = isNaN( tabIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
170 return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
171 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
172 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
173
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
174 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
175 if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
176 $.each( [ "Width", "Height" ], function( i, name ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
177 var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
178 type = name.toLowerCase(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
179 orig = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
180 innerWidth: $.fn.innerWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
181 innerHeight: $.fn.innerHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
182 outerWidth: $.fn.outerWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
183 outerHeight: $.fn.outerHeight
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
184 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
185
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
186 function reduce( elem, size, border, margin ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
187 $.each( side, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
188 size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
189 if ( border ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
190 size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
191 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
192 if ( margin ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
193 size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
194 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
195 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
196 return size;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
197 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
198
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
199 $.fn[ "inner" + name ] = function( size ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
200 if ( size === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
201 return orig[ "inner" + name ].call( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
202 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
203
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
204 return this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
205 $( this ).css( type, reduce( this, size ) + "px" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
206 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
207 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
208
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
209 $.fn[ "outer" + name] = function( size, margin ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
210 if ( typeof size !== "number" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
211 return orig[ "outer" + name ].call( this, size );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
212 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
213
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
214 return this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
215 $( this).css( type, reduce( this, size, true, margin ) + "px" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
216 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
217 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
218 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
219 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
220
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
221 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
222 if ( !$.fn.addBack ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
223 $.fn.addBack = function( selector ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
224 return this.add( selector == null ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
225 this.prevObject : this.prevObject.filter( selector )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
226 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
227 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
228 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
229
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
230 // support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
231 if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
232 $.fn.removeData = (function( removeData ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
233 return function( key ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
234 if ( arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
235 return removeData.call( this, $.camelCase( key ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
236 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
237 return removeData.call( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
238 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
239 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
240 })( $.fn.removeData );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
241 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
242
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
243
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
244
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
245
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
246
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
247 // deprecated
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
248 $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
249
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
250 $.support.selectstart = "onselectstart" in document.createElement( "div" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
251 $.fn.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
252 disableSelection: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
253 return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
254 ".ui-disableSelection", function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
255 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
256 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
257 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
258
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
259 enableSelection: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
260 return this.unbind( ".ui-disableSelection" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
261 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
262 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
263
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
264 $.extend( $.ui, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
265 // $.ui.plugin is deprecated. Use $.widget() extensions instead.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
266 plugin: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
267 add: function( module, option, set ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
268 var i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
269 proto = $.ui[ module ].prototype;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
270 for ( i in set ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
271 proto.plugins[ i ] = proto.plugins[ i ] || [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
272 proto.plugins[ i ].push( [ option, set[ i ] ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
273 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
274 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
275 call: function( instance, name, args ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
276 var i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
277 set = instance.plugins[ name ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
278 if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
279 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
280 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
281
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
282 for ( i = 0; i < set.length; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
283 if ( instance.options[ set[ i ][ 0 ] ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
284 set[ i ][ 1 ].apply( instance.element, args );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
285 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
286 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
287 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
288 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
289
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
290 // only used by resizable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
291 hasScroll: function( el, a ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
292
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
293 //If overflow is hidden, the element might have extra content, but the user wants to hide it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
294 if ( $( el ).css( "overflow" ) === "hidden") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
295 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
296 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
297
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
298 var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
299 has = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
300
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
301 if ( el[ scroll ] > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
302 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
303 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
304
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
305 // TODO: determine which cases actually cause this to happen
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
306 // if the element doesn't have the scroll set, see if it's possible to
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
307 // set the scroll
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
308 el[ scroll ] = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
309 has = ( el[ scroll ] > 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
310 el[ scroll ] = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
311 return has;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
312 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
313 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
314
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
315 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
316 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
317
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
318 var uuid = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
319 slice = Array.prototype.slice,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
320 _cleanData = $.cleanData;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
321 $.cleanData = function( elems ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
322 for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
323 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
324 $( elem ).triggerHandler( "remove" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
325 // http://bugs.jquery.com/ticket/8235
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
326 } catch( e ) {}
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
327 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
328 _cleanData( elems );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
329 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
330
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
331 $.widget = function( name, base, prototype ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
332 var fullName, existingConstructor, constructor, basePrototype,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
333 // proxiedPrototype allows the provided prototype to remain unmodified
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
334 // so that it can be used as a mixin for multiple widgets (#8876)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
335 proxiedPrototype = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
336 namespace = name.split( "." )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
337
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
338 name = name.split( "." )[ 1 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
339 fullName = namespace + "-" + name;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
340
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
341 if ( !prototype ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
342 prototype = base;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
343 base = $.Widget;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
344 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
345
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
346 // create selector for plugin
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
347 $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
348 return !!$.data( elem, fullName );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
349 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
350
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
351 $[ namespace ] = $[ namespace ] || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
352 existingConstructor = $[ namespace ][ name ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
353 constructor = $[ namespace ][ name ] = function( options, element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
354 // allow instantiation without "new" keyword
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
355 if ( !this._createWidget ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
356 return new constructor( options, element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
357 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
358
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
359 // allow instantiation without initializing for simple inheritance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
360 // must use "new" keyword (the code above always passes args)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
361 if ( arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
362 this._createWidget( options, element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
363 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
364 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
365 // extend with the existing constructor to carry over any static properties
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
366 $.extend( constructor, existingConstructor, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
367 version: prototype.version,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
368 // copy the object used to create the prototype in case we need to
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
369 // redefine the widget later
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
370 _proto: $.extend( {}, prototype ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
371 // track widgets that inherit from this widget in case this widget is
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
372 // redefined after a widget inherits from it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
373 _childConstructors: []
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
374 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
375
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
376 basePrototype = new base();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
377 // we need to make the options hash a property directly on the new instance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
378 // otherwise we'll modify the options hash on the prototype that we're
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
379 // inheriting from
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
380 basePrototype.options = $.widget.extend( {}, basePrototype.options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
381 $.each( prototype, function( prop, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
382 if ( !$.isFunction( value ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
383 proxiedPrototype[ prop ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
384 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
385 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
386 proxiedPrototype[ prop ] = (function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
387 var _super = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
388 return base.prototype[ prop ].apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
389 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
390 _superApply = function( args ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
391 return base.prototype[ prop ].apply( this, args );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
392 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
393 return function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
394 var __super = this._super,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
395 __superApply = this._superApply,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
396 returnValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
397
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
398 this._super = _super;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
399 this._superApply = _superApply;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
400
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
401 returnValue = value.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
402
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
403 this._super = __super;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
404 this._superApply = __superApply;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
405
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
406 return returnValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
407 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
408 })();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
409 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
410 constructor.prototype = $.widget.extend( basePrototype, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
411 // TODO: remove support for widgetEventPrefix
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
412 // always use the name + a colon as the prefix, e.g., draggable:start
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
413 // don't prefix for widgets that aren't DOM-based
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
414 widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
415 }, proxiedPrototype, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
416 constructor: constructor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
417 namespace: namespace,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
418 widgetName: name,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
419 widgetFullName: fullName
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
420 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
421
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
422 // If this widget is being redefined then we need to find all widgets that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
423 // are inheriting from it and redefine all of them so that they inherit from
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
424 // the new version of this widget. We're essentially trying to replace one
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
425 // level in the prototype chain.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
426 if ( existingConstructor ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
427 $.each( existingConstructor._childConstructors, function( i, child ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
428 var childPrototype = child.prototype;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
429
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
430 // redefine the child widget using the same prototype that was
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
431 // originally used, but inherit from the new version of the base
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
432 $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
433 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
434 // remove the list of existing child constructors from the old constructor
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
435 // so the old child constructors can be garbage collected
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
436 delete existingConstructor._childConstructors;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
437 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
438 base._childConstructors.push( constructor );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
439 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
440
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
441 $.widget.bridge( name, constructor );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
442 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
443
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
444 $.widget.extend = function( target ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
445 var input = slice.call( arguments, 1 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
446 inputIndex = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
447 inputLength = input.length,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
448 key,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
449 value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
450 for ( ; inputIndex < inputLength; inputIndex++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
451 for ( key in input[ inputIndex ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
452 value = input[ inputIndex ][ key ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
453 if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
454 // Clone objects
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
455 if ( $.isPlainObject( value ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
456 target[ key ] = $.isPlainObject( target[ key ] ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
457 $.widget.extend( {}, target[ key ], value ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
458 // Don't extend strings, arrays, etc. with objects
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
459 $.widget.extend( {}, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
460 // Copy everything else by reference
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
461 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
462 target[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
463 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
464 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
465 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
466 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
467 return target;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
468 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
469
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
470 $.widget.bridge = function( name, object ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
471 var fullName = object.prototype.widgetFullName || name;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
472 $.fn[ name ] = function( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
473 var isMethodCall = typeof options === "string",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
474 args = slice.call( arguments, 1 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
475 returnValue = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
476
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
477 // allow multiple hashes to be passed on init
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
478 options = !isMethodCall && args.length ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
479 $.widget.extend.apply( null, [ options ].concat(args) ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
480 options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
481
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
482 if ( isMethodCall ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
483 this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
484 var methodValue,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
485 instance = $.data( this, fullName );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
486 if ( !instance ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
487 return $.error( "cannot call methods on " + name + " prior to initialization; " +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
488 "attempted to call method '" + options + "'" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
489 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
490 if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
491 return $.error( "no such method '" + options + "' for " + name + " widget instance" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
492 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
493 methodValue = instance[ options ].apply( instance, args );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
494 if ( methodValue !== instance && methodValue !== undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
495 returnValue = methodValue && methodValue.jquery ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
496 returnValue.pushStack( methodValue.get() ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
497 methodValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
498 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
499 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
500 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
501 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
502 this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
503 var instance = $.data( this, fullName );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
504 if ( instance ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
505 instance.option( options || {} )._init();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
506 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
507 $.data( this, fullName, new object( options, this ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
508 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
509 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
510 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
511
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
512 return returnValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
513 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
514 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
515
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
516 $.Widget = function( /* options, element */ ) {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
517 $.Widget._childConstructors = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
518
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
519 $.Widget.prototype = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
520 widgetName: "widget",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
521 widgetEventPrefix: "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
522 defaultElement: "<div>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
523 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
524 disabled: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
525
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
526 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
527 create: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
528 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
529 _createWidget: function( options, element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
530 element = $( element || this.defaultElement || this )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
531 this.element = $( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
532 this.uuid = uuid++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
533 this.eventNamespace = "." + this.widgetName + this.uuid;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
534 this.options = $.widget.extend( {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
535 this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
536 this._getCreateOptions(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
537 options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
538
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
539 this.bindings = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
540 this.hoverable = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
541 this.focusable = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
542
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
543 if ( element !== this ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
544 $.data( element, this.widgetFullName, this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
545 this._on( true, this.element, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
546 remove: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
547 if ( event.target === element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
548 this.destroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
549 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
550 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
551 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
552 this.document = $( element.style ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
553 // element within the document
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
554 element.ownerDocument :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
555 // element is window or document
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
556 element.document || element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
557 this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
558 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
559
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
560 this._create();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
561 this._trigger( "create", null, this._getCreateEventData() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
562 this._init();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
563 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
564 _getCreateOptions: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
565 _getCreateEventData: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
566 _create: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
567 _init: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
568
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
569 destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
570 this._destroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
571 // we can probably remove the unbind calls in 2.0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
572 // all event bindings should go through this._on()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
573 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
574 .unbind( this.eventNamespace )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
575 // 1.9 BC for #7810
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
576 // TODO remove dual storage
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
577 .removeData( this.widgetName )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
578 .removeData( this.widgetFullName )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
579 // support: jquery <1.6.3
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
580 // http://bugs.jquery.com/ticket/9413
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
581 .removeData( $.camelCase( this.widgetFullName ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
582 this.widget()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
583 .unbind( this.eventNamespace )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
584 .removeAttr( "aria-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
585 .removeClass(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
586 this.widgetFullName + "-disabled " +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
587 "ui-state-disabled" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
588
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
589 // clean up events and states
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
590 this.bindings.unbind( this.eventNamespace );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
591 this.hoverable.removeClass( "ui-state-hover" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
592 this.focusable.removeClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
593 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
594 _destroy: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
596 widget: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
597 return this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
598 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
599
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
600 option: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
601 var options = key,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
602 parts,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
603 curOption,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
604 i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
605
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
606 if ( arguments.length === 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
607 // don't return a reference to the internal hash
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
608 return $.widget.extend( {}, this.options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
609 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
610
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
611 if ( typeof key === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
612 // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
613 options = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
614 parts = key.split( "." );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
615 key = parts.shift();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
616 if ( parts.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
617 curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
618 for ( i = 0; i < parts.length - 1; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
619 curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
620 curOption = curOption[ parts[ i ] ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
621 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
622 key = parts.pop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
623 if ( arguments.length === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
624 return curOption[ key ] === undefined ? null : curOption[ key ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
625 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
626 curOption[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
627 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
628 if ( arguments.length === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
629 return this.options[ key ] === undefined ? null : this.options[ key ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
630 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
631 options[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
632 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
633 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
634
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
635 this._setOptions( options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
636
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
637 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
638 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
639 _setOptions: function( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
640 var key;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
641
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
642 for ( key in options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
643 this._setOption( key, options[ key ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
644 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
645
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
646 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
647 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
648 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
649 this.options[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
650
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
651 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
652 this.widget()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
653 .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
654 .attr( "aria-disabled", value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
655 this.hoverable.removeClass( "ui-state-hover" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
656 this.focusable.removeClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
657 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
658
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
659 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
660 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
661
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
662 enable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
663 return this._setOption( "disabled", false );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
664 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
665 disable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
666 return this._setOption( "disabled", true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
667 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
668
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
669 _on: function( suppressDisabledCheck, element, handlers ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
670 var delegateElement,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
671 instance = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
672
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
673 // no suppressDisabledCheck flag, shuffle arguments
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
674 if ( typeof suppressDisabledCheck !== "boolean" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
675 handlers = element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
676 element = suppressDisabledCheck;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
677 suppressDisabledCheck = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
678 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
679
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
680 // no element argument, shuffle and use this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
681 if ( !handlers ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
682 handlers = element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
683 element = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
684 delegateElement = this.widget();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
685 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
686 // accept selectors, DOM elements
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
687 element = delegateElement = $( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
688 this.bindings = this.bindings.add( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
689 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
690
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
691 $.each( handlers, function( event, handler ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
692 function handlerProxy() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
693 // allow widgets to customize the disabled handling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
694 // - disabled as an array instead of boolean
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
695 // - disabled class as method for disabling individual parts
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
696 if ( !suppressDisabledCheck &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
697 ( instance.options.disabled === true ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
698 $( this ).hasClass( "ui-state-disabled" ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
699 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
700 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
701 return ( typeof handler === "string" ? instance[ handler ] : handler )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
702 .apply( instance, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
703 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
704
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
705 // copy the guid so direct unbinding works
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
706 if ( typeof handler !== "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
707 handlerProxy.guid = handler.guid =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
708 handler.guid || handlerProxy.guid || $.guid++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
709 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
710
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
711 var match = event.match( /^(\w+)\s*(.*)$/ ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
712 eventName = match[1] + instance.eventNamespace,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
713 selector = match[2];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
714 if ( selector ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
715 delegateElement.delegate( selector, eventName, handlerProxy );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
716 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
717 element.bind( eventName, handlerProxy );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
718 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
719 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
720 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
721
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
722 _off: function( element, eventName ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
723 eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
724 element.unbind( eventName ).undelegate( eventName );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
725 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
726
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
727 _delay: function( handler, delay ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
728 function handlerProxy() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
729 return ( typeof handler === "string" ? instance[ handler ] : handler )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
730 .apply( instance, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
731 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
732 var instance = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
733 return setTimeout( handlerProxy, delay || 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
734 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
735
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
736 _hoverable: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
737 this.hoverable = this.hoverable.add( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
738 this._on( element, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
739 mouseenter: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
740 $( event.currentTarget ).addClass( "ui-state-hover" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
741 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
742 mouseleave: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
743 $( event.currentTarget ).removeClass( "ui-state-hover" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
744 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
745 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
746 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
747
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
748 _focusable: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
749 this.focusable = this.focusable.add( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
750 this._on( element, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
751 focusin: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
752 $( event.currentTarget ).addClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
753 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
754 focusout: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
755 $( event.currentTarget ).removeClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
756 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
757 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
758 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
759
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
760 _trigger: function( type, event, data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
761 var prop, orig,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
762 callback = this.options[ type ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
763
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
764 data = data || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
765 event = $.Event( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
766 event.type = ( type === this.widgetEventPrefix ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
767 type :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
768 this.widgetEventPrefix + type ).toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
769 // the original event may come from any element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
770 // so we need to reset the target on the new event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
771 event.target = this.element[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
772
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
773 // copy original event properties over to the new event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
774 orig = event.originalEvent;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
775 if ( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
776 for ( prop in orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
777 if ( !( prop in event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
778 event[ prop ] = orig[ prop ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
779 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
780 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
781 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
782
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
783 this.element.trigger( event, data );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
784 return !( $.isFunction( callback ) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
785 callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
786 event.isDefaultPrevented() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
787 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
788 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
789
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
790 $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
791 $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
792 if ( typeof options === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
793 options = { effect: options };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
794 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
795 var hasOptions,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
796 effectName = !options ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
797 method :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
798 options === true || typeof options === "number" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
799 defaultEffect :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
800 options.effect || defaultEffect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
801 options = options || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
802 if ( typeof options === "number" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
803 options = { duration: options };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
804 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
805 hasOptions = !$.isEmptyObject( options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
806 options.complete = callback;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
807 if ( options.delay ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
808 element.delay( options.delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
809 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
810 if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
811 element[ method ]( options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
812 } else if ( effectName !== method && element[ effectName ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
813 element[ effectName ]( options.duration, options.easing, callback );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
814 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
815 element.queue(function( next ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
816 $( this )[ method ]();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
817 if ( callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
818 callback.call( element[ 0 ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
819 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
820 next();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
821 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
822 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
823 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
824 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
825
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
826 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
827 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
828
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
829 var mouseHandled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
830 $( document ).mouseup( function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
831 mouseHandled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
832 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
833
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
834 $.widget("ui.mouse", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
835 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
836 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
837 cancel: "input,textarea,button,select,option",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
838 distance: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
839 delay: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
840 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
841 _mouseInit: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
842 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
843
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
844 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
845 .bind("mousedown."+this.widgetName, function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
846 return that._mouseDown(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
847 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
848 .bind("click."+this.widgetName, function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
849 if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
850 $.removeData(event.target, that.widgetName + ".preventClickEvent");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
851 event.stopImmediatePropagation();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
852 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
853 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
854 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
855
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
856 this.started = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
857 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
858
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
859 // TODO: make sure destroying one instance of mouse doesn't mess with
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
860 // other instances of mouse
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
861 _mouseDestroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
862 this.element.unbind("."+this.widgetName);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
863 if ( this._mouseMoveDelegate ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
864 $(document)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
865 .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
866 .unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
867 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
868 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
869
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
870 _mouseDown: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
871 // don't let more than one widget handle mouseStart
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
872 if( mouseHandled ) { return; }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
873
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
874 // we may have missed mouseup (out of window)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
875 (this._mouseStarted && this._mouseUp(event));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
876
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
877 this._mouseDownEvent = event;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
878
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
879 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
880 btnIsLeft = (event.which === 1),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
881 // event.target.nodeName works around a bug in IE 8 with
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
882 // disabled inputs (#7620)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
883 elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
884 if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
885 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
886 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
887
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
888 this.mouseDelayMet = !this.options.delay;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
889 if (!this.mouseDelayMet) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
890 this._mouseDelayTimer = setTimeout(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
891 that.mouseDelayMet = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
892 }, this.options.delay);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
893 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
894
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
895 if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
896 this._mouseStarted = (this._mouseStart(event) !== false);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
897 if (!this._mouseStarted) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
898 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
899 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
900 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
901 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
902
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
903 // Click event may never have fired (Gecko & Opera)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
904 if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
905 $.removeData(event.target, this.widgetName + ".preventClickEvent");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
906 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
907
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
908 // these delegates are required to keep context
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
909 this._mouseMoveDelegate = function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
910 return that._mouseMove(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
911 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
912 this._mouseUpDelegate = function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
913 return that._mouseUp(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
914 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
915 $(document)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
916 .bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
917 .bind("mouseup."+this.widgetName, this._mouseUpDelegate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
918
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
919 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
920
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
921 mouseHandled = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
922 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
923 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
924
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
925 _mouseMove: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
926 // IE mouseup check - mouseup happened when mouse was out of window
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
927 if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
928 return this._mouseUp(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
929 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
930
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
931 if (this._mouseStarted) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
932 this._mouseDrag(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
933 return event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
934 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
935
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
936 if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
937 this._mouseStarted =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
938 (this._mouseStart(this._mouseDownEvent, event) !== false);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
939 (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
940 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
941
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
942 return !this._mouseStarted;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
943 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
944
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
945 _mouseUp: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
946 $(document)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
947 .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
948 .unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
949
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
950 if (this._mouseStarted) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
951 this._mouseStarted = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
952
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
953 if (event.target === this._mouseDownEvent.target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
954 $.data(event.target, this.widgetName + ".preventClickEvent", true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
955 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
956
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
957 this._mouseStop(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
958 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
959
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
960 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
961 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
962
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
963 _mouseDistanceMet: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
964 return (Math.max(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
965 Math.abs(this._mouseDownEvent.pageX - event.pageX),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
966 Math.abs(this._mouseDownEvent.pageY - event.pageY)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
967 ) >= this.options.distance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
968 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
969 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
970
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
971 _mouseDelayMet: function(/* event */) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
972 return this.mouseDelayMet;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
973 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
974
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
975 // These are placeholder methods, to be overriden by extending plugin
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
976 _mouseStart: function(/* event */) {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
977 _mouseDrag: function(/* event */) {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
978 _mouseStop: function(/* event */) {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
979 _mouseCapture: function(/* event */) { return true; }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
980 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
981
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
982 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
983 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
984
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
985 $.ui = $.ui || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
986
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
987 var cachedScrollbarWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
988 max = Math.max,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
989 abs = Math.abs,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
990 round = Math.round,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
991 rhorizontal = /left|center|right/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
992 rvertical = /top|center|bottom/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
993 roffset = /[\+\-]\d+(\.[\d]+)?%?/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
994 rposition = /^\w+/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
995 rpercent = /%$/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
996 _position = $.fn.position;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
997
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
998 function getOffsets( offsets, width, height ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
999 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1000 parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1001 parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1002 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1003 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1004
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1005 function parseCss( element, property ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1006 return parseInt( $.css( element, property ), 10 ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1007 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1008
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1009 function getDimensions( elem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1010 var raw = elem[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1011 if ( raw.nodeType === 9 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1012 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1013 width: elem.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1014 height: elem.height(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1015 offset: { top: 0, left: 0 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1016 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1017 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1018 if ( $.isWindow( raw ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1019 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1020 width: elem.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1021 height: elem.height(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1022 offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1023 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1024 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1025 if ( raw.preventDefault ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1026 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1027 width: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1028 height: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1029 offset: { top: raw.pageY, left: raw.pageX }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1030 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1031 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1032 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1033 width: elem.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1034 height: elem.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1035 offset: elem.offset()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1036 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1037 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1038
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1039 $.position = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1040 scrollbarWidth: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1041 if ( cachedScrollbarWidth !== undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1042 return cachedScrollbarWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1043 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1044 var w1, w2,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1045 div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1046 innerDiv = div.children()[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1047
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1048 $( "body" ).append( div );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1049 w1 = innerDiv.offsetWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1050 div.css( "overflow", "scroll" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1051
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1052 w2 = innerDiv.offsetWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1053
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1054 if ( w1 === w2 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1055 w2 = div[0].clientWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1056 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1057
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1058 div.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1059
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1060 return (cachedScrollbarWidth = w1 - w2);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1061 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1062 getScrollInfo: function( within ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1063 var overflowX = within.isWindow || within.isDocument ? "" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1064 within.element.css( "overflow-x" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1065 overflowY = within.isWindow || within.isDocument ? "" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1066 within.element.css( "overflow-y" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1067 hasOverflowX = overflowX === "scroll" ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1068 ( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1069 hasOverflowY = overflowY === "scroll" ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1070 ( overflowY === "auto" && within.height < within.element[0].scrollHeight );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1071 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1072 width: hasOverflowY ? $.position.scrollbarWidth() : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1073 height: hasOverflowX ? $.position.scrollbarWidth() : 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1074 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1075 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1076 getWithinInfo: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1077 var withinElement = $( element || window ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1078 isWindow = $.isWindow( withinElement[0] ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1079 isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1080 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1081 element: withinElement,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1082 isWindow: isWindow,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1083 isDocument: isDocument,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1084 offset: withinElement.offset() || { left: 0, top: 0 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1085 scrollLeft: withinElement.scrollLeft(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1086 scrollTop: withinElement.scrollTop(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1087 width: isWindow ? withinElement.width() : withinElement.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1088 height: isWindow ? withinElement.height() : withinElement.outerHeight()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1089 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1090 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1091 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1092
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1093 $.fn.position = function( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1094 if ( !options || !options.of ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1095 return _position.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1096 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1097
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1098 // make a copy, we don't want to modify arguments
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1099 options = $.extend( {}, options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1100
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1101 var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1102 target = $( options.of ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1103 within = $.position.getWithinInfo( options.within ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1104 scrollInfo = $.position.getScrollInfo( within ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1105 collision = ( options.collision || "flip" ).split( " " ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1106 offsets = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1107
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1108 dimensions = getDimensions( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1109 if ( target[0].preventDefault ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1110 // force left top to allow flipping
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1111 options.at = "left top";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1112 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1113 targetWidth = dimensions.width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1114 targetHeight = dimensions.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1115 targetOffset = dimensions.offset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1116 // clone to reuse original targetOffset later
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1117 basePosition = $.extend( {}, targetOffset );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1118
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1119 // force my and at to have valid horizontal and vertical positions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1120 // if a value is missing or invalid, it will be converted to center
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1121 $.each( [ "my", "at" ], function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1122 var pos = ( options[ this ] || "" ).split( " " ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1123 horizontalOffset,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1124 verticalOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1125
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1126 if ( pos.length === 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1127 pos = rhorizontal.test( pos[ 0 ] ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1128 pos.concat( [ "center" ] ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1129 rvertical.test( pos[ 0 ] ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1130 [ "center" ].concat( pos ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1131 [ "center", "center" ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1132 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1133 pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1134 pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1135
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1136 // calculate offsets
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1137 horizontalOffset = roffset.exec( pos[ 0 ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1138 verticalOffset = roffset.exec( pos[ 1 ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1139 offsets[ this ] = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1140 horizontalOffset ? horizontalOffset[ 0 ] : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1141 verticalOffset ? verticalOffset[ 0 ] : 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1142 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1143
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1144 // reduce to just the positions without the offsets
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1145 options[ this ] = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1146 rposition.exec( pos[ 0 ] )[ 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1147 rposition.exec( pos[ 1 ] )[ 0 ]
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1148 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1149 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1150
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1151 // normalize collision option
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1152 if ( collision.length === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1153 collision[ 1 ] = collision[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1154 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1155
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1156 if ( options.at[ 0 ] === "right" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1157 basePosition.left += targetWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1158 } else if ( options.at[ 0 ] === "center" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1159 basePosition.left += targetWidth / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1160 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1161
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1162 if ( options.at[ 1 ] === "bottom" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1163 basePosition.top += targetHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1164 } else if ( options.at[ 1 ] === "center" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1165 basePosition.top += targetHeight / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1166 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1167
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1168 atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1169 basePosition.left += atOffset[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1170 basePosition.top += atOffset[ 1 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1171
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1172 return this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1173 var collisionPosition, using,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1174 elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1175 elemWidth = elem.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1176 elemHeight = elem.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1177 marginLeft = parseCss( this, "marginLeft" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1178 marginTop = parseCss( this, "marginTop" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1179 collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1180 collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1181 position = $.extend( {}, basePosition ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1182 myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1183
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1184 if ( options.my[ 0 ] === "right" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1185 position.left -= elemWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1186 } else if ( options.my[ 0 ] === "center" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1187 position.left -= elemWidth / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1188 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1189
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1190 if ( options.my[ 1 ] === "bottom" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1191 position.top -= elemHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1192 } else if ( options.my[ 1 ] === "center" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1193 position.top -= elemHeight / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1194 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1195
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1196 position.left += myOffset[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1197 position.top += myOffset[ 1 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1198
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1199 // if the browser doesn't support fractions, then round for consistent results
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1200 if ( !$.support.offsetFractions ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1201 position.left = round( position.left );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1202 position.top = round( position.top );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1203 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1204
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1205 collisionPosition = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1206 marginLeft: marginLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1207 marginTop: marginTop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1208 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1209
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1210 $.each( [ "left", "top" ], function( i, dir ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1211 if ( $.ui.position[ collision[ i ] ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1212 $.ui.position[ collision[ i ] ][ dir ]( position, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1213 targetWidth: targetWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1214 targetHeight: targetHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1215 elemWidth: elemWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1216 elemHeight: elemHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1217 collisionPosition: collisionPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1218 collisionWidth: collisionWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1219 collisionHeight: collisionHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1220 offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1221 my: options.my,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1222 at: options.at,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1223 within: within,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1224 elem : elem
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1225 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1226 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1227 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1228
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1229 if ( options.using ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1230 // adds feedback as second argument to using callback, if present
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1231 using = function( props ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1232 var left = targetOffset.left - position.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1233 right = left + targetWidth - elemWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1234 top = targetOffset.top - position.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1235 bottom = top + targetHeight - elemHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1236 feedback = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1237 target: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1238 element: target,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1239 left: targetOffset.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1240 top: targetOffset.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1241 width: targetWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1242 height: targetHeight
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1243 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1244 element: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1245 element: elem,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1246 left: position.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1247 top: position.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1248 width: elemWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1249 height: elemHeight
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1250 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1251 horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1252 vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1253 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1254 if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1255 feedback.horizontal = "center";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1256 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1257 if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1258 feedback.vertical = "middle";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1259 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1260 if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1261 feedback.important = "horizontal";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1262 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1263 feedback.important = "vertical";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1264 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1265 options.using.call( this, props, feedback );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1266 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1267 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1268
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1269 elem.offset( $.extend( position, { using: using } ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1270 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1271 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1272
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1273 $.ui.position = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1274 fit: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1275 left: function( position, data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1276 var within = data.within,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1277 withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1278 outerWidth = within.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1279 collisionPosLeft = position.left - data.collisionPosition.marginLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1280 overLeft = withinOffset - collisionPosLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1281 overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1282 newOverRight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1283
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1284 // element is wider than within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1285 if ( data.collisionWidth > outerWidth ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1286 // element is initially over the left side of within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1287 if ( overLeft > 0 && overRight <= 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1288 newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1289 position.left += overLeft - newOverRight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1290 // element is initially over right side of within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1291 } else if ( overRight > 0 && overLeft <= 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1292 position.left = withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1293 // element is initially over both left and right sides of within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1294 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1295 if ( overLeft > overRight ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1296 position.left = withinOffset + outerWidth - data.collisionWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1297 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1298 position.left = withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1299 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1300 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1301 // too far left -> align with left edge
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1302 } else if ( overLeft > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1303 position.left += overLeft;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1304 // too far right -> align with right edge
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1305 } else if ( overRight > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1306 position.left -= overRight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1307 // adjust based on position and margin
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1308 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1309 position.left = max( position.left - collisionPosLeft, position.left );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1310 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1311 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1312 top: function( position, data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1313 var within = data.within,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1314 withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1315 outerHeight = data.within.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1316 collisionPosTop = position.top - data.collisionPosition.marginTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1317 overTop = withinOffset - collisionPosTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1318 overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1319 newOverBottom;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1320
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1321 // element is taller than within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1322 if ( data.collisionHeight > outerHeight ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1323 // element is initially over the top of within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1324 if ( overTop > 0 && overBottom <= 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1325 newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1326 position.top += overTop - newOverBottom;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1327 // element is initially over bottom of within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1328 } else if ( overBottom > 0 && overTop <= 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1329 position.top = withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1330 // element is initially over both top and bottom of within
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1331 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1332 if ( overTop > overBottom ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1333 position.top = withinOffset + outerHeight - data.collisionHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1334 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1335 position.top = withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1336 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1337 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1338 // too far up -> align with top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1339 } else if ( overTop > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1340 position.top += overTop;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1341 // too far down -> align with bottom edge
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1342 } else if ( overBottom > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1343 position.top -= overBottom;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1344 // adjust based on position and margin
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1345 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1346 position.top = max( position.top - collisionPosTop, position.top );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1347 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1348 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1349 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1350 flip: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1351 left: function( position, data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1352 var within = data.within,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1353 withinOffset = within.offset.left + within.scrollLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1354 outerWidth = within.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1355 offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1356 collisionPosLeft = position.left - data.collisionPosition.marginLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1357 overLeft = collisionPosLeft - offsetLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1358 overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1359 myOffset = data.my[ 0 ] === "left" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1360 -data.elemWidth :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1361 data.my[ 0 ] === "right" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1362 data.elemWidth :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1363 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1364 atOffset = data.at[ 0 ] === "left" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1365 data.targetWidth :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1366 data.at[ 0 ] === "right" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1367 -data.targetWidth :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1368 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1369 offset = -2 * data.offset[ 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1370 newOverRight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1371 newOverLeft;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1372
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1373 if ( overLeft < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1374 newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1375 if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1376 position.left += myOffset + atOffset + offset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1377 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1378 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1379 else if ( overRight > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1380 newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1381 if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1382 position.left += myOffset + atOffset + offset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1383 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1384 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1385 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1386 top: function( position, data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1387 var within = data.within,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1388 withinOffset = within.offset.top + within.scrollTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1389 outerHeight = within.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1390 offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1391 collisionPosTop = position.top - data.collisionPosition.marginTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1392 overTop = collisionPosTop - offsetTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1393 overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1394 top = data.my[ 1 ] === "top",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1395 myOffset = top ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1396 -data.elemHeight :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1397 data.my[ 1 ] === "bottom" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1398 data.elemHeight :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1399 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1400 atOffset = data.at[ 1 ] === "top" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1401 data.targetHeight :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1402 data.at[ 1 ] === "bottom" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1403 -data.targetHeight :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1404 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1405 offset = -2 * data.offset[ 1 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1406 newOverTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1407 newOverBottom;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1408 if ( overTop < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1409 newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1410 if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1411 position.top += myOffset + atOffset + offset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1412 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1413 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1414 else if ( overBottom > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1415 newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1416 if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1417 position.top += myOffset + atOffset + offset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1418 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1419 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1420 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1421 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1422 flipfit: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1423 left: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1424 $.ui.position.flip.left.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1425 $.ui.position.fit.left.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1426 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1427 top: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1428 $.ui.position.flip.top.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1429 $.ui.position.fit.top.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1430 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1431 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1432 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1433
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1434 // fraction support test
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1435 (function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1436 var testElement, testElementParent, testElementStyle, offsetLeft, i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1437 body = document.getElementsByTagName( "body" )[ 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1438 div = document.createElement( "div" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1439
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1440 //Create a "fake body" for testing based on method used in jQuery.support
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1441 testElement = document.createElement( body ? "div" : "body" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1442 testElementStyle = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1443 visibility: "hidden",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1444 width: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1445 height: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1446 border: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1447 margin: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1448 background: "none"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1449 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1450 if ( body ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1451 $.extend( testElementStyle, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1452 position: "absolute",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1453 left: "-1000px",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1454 top: "-1000px"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1455 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1456 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1457 for ( i in testElementStyle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1458 testElement.style[ i ] = testElementStyle[ i ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1459 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1460 testElement.appendChild( div );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1461 testElementParent = body || document.documentElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1462 testElementParent.insertBefore( testElement, testElementParent.firstChild );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1463
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1464 div.style.cssText = "position: absolute; left: 10.7432222px;";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1465
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1466 offsetLeft = $( div ).offset().left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1467 $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1468
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1469 testElement.innerHTML = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1470 testElementParent.removeChild( testElement );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1471 })();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1472
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1473 }( jQuery ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1474 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1475
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1476 var uid = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1477 hideProps = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1478 showProps = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1479
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1480 hideProps.height = hideProps.paddingTop = hideProps.paddingBottom =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1481 hideProps.borderTopWidth = hideProps.borderBottomWidth = "hide";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1482 showProps.height = showProps.paddingTop = showProps.paddingBottom =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1483 showProps.borderTopWidth = showProps.borderBottomWidth = "show";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1484
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1485 $.widget( "ui.accordion", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1486 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1487 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1488 active: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1489 animate: {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1490 collapsible: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1491 event: "click",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1492 header: "> li > :first-child,> :not(li):even",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1493 heightStyle: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1494 icons: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1495 activeHeader: "ui-icon-triangle-1-s",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1496 header: "ui-icon-triangle-1-e"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1497 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1498
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1499 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1500 activate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1501 beforeActivate: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1502 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1503
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1504 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1505 var options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1506 this.prevShow = this.prevHide = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1507 this.element.addClass( "ui-accordion ui-widget ui-helper-reset" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1508 // ARIA
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1509 .attr( "role", "tablist" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1510
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1511 // don't allow collapsible: false and active: false / null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1512 if ( !options.collapsible && (options.active === false || options.active == null) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1513 options.active = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1514 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1515
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1516 this._processPanels();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1517 // handle negative values
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1518 if ( options.active < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1519 options.active += this.headers.length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1520 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1521 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1522 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1523
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1524 _getCreateEventData: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1525 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1526 header: this.active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1527 panel: !this.active.length ? $() : this.active.next(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1528 content: !this.active.length ? $() : this.active.next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1529 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1530 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1531
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1532 _createIcons: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1533 var icons = this.options.icons;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1534 if ( icons ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1535 $( "<span>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1536 .addClass( "ui-accordion-header-icon ui-icon " + icons.header )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1537 .prependTo( this.headers );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1538 this.active.children( ".ui-accordion-header-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1539 .removeClass( icons.header )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1540 .addClass( icons.activeHeader );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1541 this.headers.addClass( "ui-accordion-icons" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1542 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1543 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1544
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1545 _destroyIcons: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1546 this.headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1547 .removeClass( "ui-accordion-icons" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1548 .children( ".ui-accordion-header-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1549 .remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1550 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1551
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1552 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1553 var contents;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1554
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1555 // clean up main element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1556 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1557 .removeClass( "ui-accordion ui-widget ui-helper-reset" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1558 .removeAttr( "role" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1559
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1560 // clean up headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1561 this.headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1562 .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" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1563 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1564 .removeAttr( "aria-expanded" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1565 .removeAttr( "aria-selected" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1566 .removeAttr( "aria-controls" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1567 .removeAttr( "tabIndex" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1568 .each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1569 if ( /^ui-accordion/.test( this.id ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1570 this.removeAttribute( "id" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1571 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1572 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1573 this._destroyIcons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1574
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1575 // clean up content panels
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1576 contents = this.headers.next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1577 .css( "display", "" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1578 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1579 .removeAttr( "aria-hidden" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1580 .removeAttr( "aria-labelledby" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1581 .removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1582 .each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1583 if ( /^ui-accordion/.test( this.id ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1584 this.removeAttribute( "id" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1585 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1586 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1587 if ( this.options.heightStyle !== "content" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1588 contents.css( "height", "" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1589 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1590 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1591
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1592 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1593 if ( key === "active" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1594 // _activate() will handle invalid values and update this.options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1595 this._activate( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1596 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1597 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1598
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1599 if ( key === "event" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1600 if ( this.options.event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1601 this._off( this.headers, this.options.event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1602 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1603 this._setupEvents( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1604 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1605
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1606 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1607
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1608 // setting collapsible: false while collapsed; open first panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1609 if ( key === "collapsible" && !value && this.options.active === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1610 this._activate( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1611 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1612
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1613 if ( key === "icons" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1614 this._destroyIcons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1615 if ( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1616 this._createIcons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1617 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1618 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1619
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1620 // #5332 - opacity doesn't cascade to positioned elements in IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1621 // so we need to add the disabled class to the headers and panels
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1622 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1623 this.headers.add( this.headers.next() )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1624 .toggleClass( "ui-state-disabled", !!value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1625 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1626 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1627
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1628 _keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1629 if ( event.altKey || event.ctrlKey ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1630 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1631 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1632
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1633 var keyCode = $.ui.keyCode,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1634 length = this.headers.length,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1635 currentIndex = this.headers.index( event.target ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1636 toFocus = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1637
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1638 switch ( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1639 case keyCode.RIGHT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1640 case keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1641 toFocus = this.headers[ ( currentIndex + 1 ) % length ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1642 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1643 case keyCode.LEFT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1644 case keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1645 toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1646 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1647 case keyCode.SPACE:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1648 case keyCode.ENTER:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1649 this._eventHandler( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1650 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1651 case keyCode.HOME:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1652 toFocus = this.headers[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1653 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1654 case keyCode.END:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1655 toFocus = this.headers[ length - 1 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1656 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1657 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1658
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1659 if ( toFocus ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1660 $( event.target ).attr( "tabIndex", -1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1661 $( toFocus ).attr( "tabIndex", 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1662 toFocus.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1663 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1664 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1665 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1666
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1667 _panelKeyDown : function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1668 if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1669 $( event.currentTarget ).prev().focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1670 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1671 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1672
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1673 refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1674 var options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1675 this._processPanels();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1676
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1677 // was collapsed or no panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1678 if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1679 options.active = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1680 this.active = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1681 // active false only when collapsible is true
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1682 } else if ( options.active === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1683 this._activate( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1684 // was active, but active panel is gone
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1685 } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1686 // all remaining panel are disabled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1687 if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1688 options.active = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1689 this.active = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1690 // activate previous panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1691 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1692 this._activate( Math.max( 0, options.active - 1 ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1693 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1694 // was active, active panel still exists
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1695 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1696 // make sure active index is correct
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1697 options.active = this.headers.index( this.active );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1698 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1699
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1700 this._destroyIcons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1701
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1702 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1703 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1704
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1705 _processPanels: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1706 this.headers = this.element.find( this.options.header )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1707 .addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1708
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1709 this.headers.next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1710 .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1711 .filter(":not(.ui-accordion-content-active)")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1712 .hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1713 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1714
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1715 _refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1716 var maxHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1717 options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1718 heightStyle = options.heightStyle,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1719 parent = this.element.parent(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1720 accordionId = this.accordionId = "ui-accordion-" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1721 (this.element.attr( "id" ) || ++uid);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1722
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1723 this.active = this._findActive( options.active )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1724 .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1725 .removeClass( "ui-corner-all" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1726 this.active.next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1727 .addClass( "ui-accordion-content-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1728 .show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1729
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1730 this.headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1731 .attr( "role", "tab" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1732 .each(function( i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1733 var header = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1734 headerId = header.attr( "id" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1735 panel = header.next(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1736 panelId = panel.attr( "id" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1737 if ( !headerId ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1738 headerId = accordionId + "-header-" + i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1739 header.attr( "id", headerId );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1740 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1741 if ( !panelId ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1742 panelId = accordionId + "-panel-" + i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1743 panel.attr( "id", panelId );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1744 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1745 header.attr( "aria-controls", panelId );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1746 panel.attr( "aria-labelledby", headerId );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1747 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1748 .next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1749 .attr( "role", "tabpanel" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1750
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1751 this.headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1752 .not( this.active )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1753 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1754 "aria-selected": "false",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1755 "aria-expanded": "false",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1756 tabIndex: -1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1757 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1758 .next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1759 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1760 "aria-hidden": "true"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1761 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1762 .hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1763
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1764 // make sure at least one header is in the tab order
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1765 if ( !this.active.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1766 this.headers.eq( 0 ).attr( "tabIndex", 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1767 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1768 this.active.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1769 "aria-selected": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1770 "aria-expanded": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1771 tabIndex: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1772 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1773 .next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1774 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1775 "aria-hidden": "false"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1776 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1777 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1778
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1779 this._createIcons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1780
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1781 this._setupEvents( options.event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1782
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1783 if ( heightStyle === "fill" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1784 maxHeight = parent.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1785 this.element.siblings( ":visible" ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1786 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1787 position = elem.css( "position" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1788
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1789 if ( position === "absolute" || position === "fixed" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1790 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1791 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1792 maxHeight -= elem.outerHeight( true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1793 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1794
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1795 this.headers.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1796 maxHeight -= $( this ).outerHeight( true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1797 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1798
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1799 this.headers.next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1800 .each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1801 $( this ).height( Math.max( 0, maxHeight -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1802 $( this ).innerHeight() + $( this ).height() ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1803 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1804 .css( "overflow", "auto" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1805 } else if ( heightStyle === "auto" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1806 maxHeight = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1807 this.headers.next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1808 .each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1809 maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1810 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1811 .height( maxHeight );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1812 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1813 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1814
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1815 _activate: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1816 var active = this._findActive( index )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1817
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1818 // trying to activate the already active panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1819 if ( active === this.active[ 0 ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1820 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1821 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1822
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1823 // trying to collapse, simulate a click on the currently active header
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1824 active = active || this.active[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1825
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1826 this._eventHandler({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1827 target: active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1828 currentTarget: active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1829 preventDefault: $.noop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1830 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1831 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1832
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1833 _findActive: function( selector ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1834 return typeof selector === "number" ? this.headers.eq( selector ) : $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1835 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1836
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1837 _setupEvents: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1838 var events = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1839 keydown: "_keydown"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1840 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1841 if ( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1842 $.each( event.split(" "), function( index, eventName ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1843 events[ eventName ] = "_eventHandler";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1844 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1845 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1846
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1847 this._off( this.headers.add( this.headers.next() ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1848 this._on( this.headers, events );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1849 this._on( this.headers.next(), { keydown: "_panelKeyDown" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1850 this._hoverable( this.headers );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1851 this._focusable( this.headers );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1852 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1853
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1854 _eventHandler: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1855 var options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1856 active = this.active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1857 clicked = $( event.currentTarget ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1858 clickedIsActive = clicked[ 0 ] === active[ 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1859 collapsing = clickedIsActive && options.collapsible,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1860 toShow = collapsing ? $() : clicked.next(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1861 toHide = active.next(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1862 eventData = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1863 oldHeader: active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1864 oldPanel: toHide,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1865 newHeader: collapsing ? $() : clicked,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1866 newPanel: toShow
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1867 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1868
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1869 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1870
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1871 if (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1872 // click on active header, but not collapsible
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1873 ( clickedIsActive && !options.collapsible ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1874 // allow canceling activation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1875 ( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1876 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1877 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1878
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1879 options.active = collapsing ? false : this.headers.index( clicked );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1880
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1881 // when the call to ._toggle() comes after the class changes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1882 // it causes a very odd bug in IE 8 (see #6720)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1883 this.active = clickedIsActive ? $() : clicked;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1884 this._toggle( eventData );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1885
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1886 // switch classes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1887 // corner classes on the previously active header stay after the animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1888 active.removeClass( "ui-accordion-header-active ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1889 if ( options.icons ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1890 active.children( ".ui-accordion-header-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1891 .removeClass( options.icons.activeHeader )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1892 .addClass( options.icons.header );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1893 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1894
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1895 if ( !clickedIsActive ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1896 clicked
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1897 .removeClass( "ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1898 .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1899 if ( options.icons ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1900 clicked.children( ".ui-accordion-header-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1901 .removeClass( options.icons.header )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1902 .addClass( options.icons.activeHeader );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1903 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1904
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1905 clicked
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1906 .next()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1907 .addClass( "ui-accordion-content-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1908 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1909 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1910
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1911 _toggle: function( data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1912 var toShow = data.newPanel,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1913 toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1914
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1915 // handle activating a panel during the animation for another activation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1916 this.prevShow.add( this.prevHide ).stop( true, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1917 this.prevShow = toShow;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1918 this.prevHide = toHide;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1919
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1920 if ( this.options.animate ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1921 this._animate( toShow, toHide, data );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1922 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1923 toHide.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1924 toShow.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1925 this._toggleComplete( data );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1926 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1927
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1928 toHide.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1929 "aria-hidden": "true"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1930 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1931 toHide.prev().attr( "aria-selected", "false" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1932 // if we're switching panels, remove the old header from the tab order
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1933 // if we're opening from collapsed state, remove the previous header from the tab order
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1934 // if we're collapsing, then keep the collapsing header in the tab order
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1935 if ( toShow.length && toHide.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1936 toHide.prev().attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1937 "tabIndex": -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1938 "aria-expanded": "false"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1939 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1940 } else if ( toShow.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1941 this.headers.filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1942 return $( this ).attr( "tabIndex" ) === 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1943 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1944 .attr( "tabIndex", -1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1945 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1946
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1947 toShow
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1948 .attr( "aria-hidden", "false" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1949 .prev()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1950 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1951 "aria-selected": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1952 tabIndex: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1953 "aria-expanded": "true"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1954 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1955 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1956
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1957 _animate: function( toShow, toHide, data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1958 var total, easing, duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1959 that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1960 adjust = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1961 down = toShow.length &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1962 ( !toHide.length || ( toShow.index() < toHide.index() ) ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1963 animate = this.options.animate || {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1964 options = down && animate.down || animate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1965 complete = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1966 that._toggleComplete( data );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1967 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1968
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1969 if ( typeof options === "number" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1970 duration = options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1971 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1972 if ( typeof options === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1973 easing = options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1974 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1975 // fall back from options to animation in case of partial down settings
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1976 easing = easing || options.easing || animate.easing;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1977 duration = duration || options.duration || animate.duration;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1978
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1979 if ( !toHide.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1980 return toShow.animate( showProps, duration, easing, complete );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1981 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1982 if ( !toShow.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1983 return toHide.animate( hideProps, duration, easing, complete );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1984 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1985
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1986 total = toShow.show().outerHeight();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1987 toHide.animate( hideProps, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1988 duration: duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1989 easing: easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1990 step: function( now, fx ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1991 fx.now = Math.round( now );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1992 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1993 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1994 toShow
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1995 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1996 .animate( showProps, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1997 duration: duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1998 easing: easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
1999 complete: complete,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2000 step: function( now, fx ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2001 fx.now = Math.round( now );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2002 if ( fx.prop !== "height" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2003 adjust += fx.now;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2004 } else if ( that.options.heightStyle !== "content" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2005 fx.now = Math.round( total - toHide.outerHeight() - adjust );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2006 adjust = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2007 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2008 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2009 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2010 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2011
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2012 _toggleComplete: function( data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2013 var toHide = data.oldPanel;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2014
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2015 toHide
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2016 .removeClass( "ui-accordion-content-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2017 .prev()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2018 .removeClass( "ui-corner-top" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2019 .addClass( "ui-corner-all" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2020
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2021 // Work around for rendering bug in IE (#5421)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2022 if ( toHide.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2023 toHide.parent()[0].className = toHide.parent()[0].className;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2024 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2025 this._trigger( "activate", null, data );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2026 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2027 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2028
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2029 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2030 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2031
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2032 $.widget( "ui.autocomplete", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2033 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2034 defaultElement: "<input>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2035 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2036 appendTo: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2037 autoFocus: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2038 delay: 300,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2039 minLength: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2040 position: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2041 my: "left top",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2042 at: "left bottom",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2043 collision: "none"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2044 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2045 source: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2046
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2047 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2048 change: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2049 close: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2050 focus: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2051 open: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2052 response: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2053 search: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2054 select: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2055 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2056
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2057 requestIndex: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2058 pending: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2059
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2060 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2061 // Some browsers only repeat keydown events, not keypress events,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2062 // so we use the suppressKeyPress flag to determine if we've already
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2063 // handled the keydown event. #7269
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2064 // Unfortunately the code for & in keypress is the same as the up arrow,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2065 // so we use the suppressKeyPressRepeat flag to avoid handling keypress
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2066 // events when we know the keydown event was used to modify the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2067 // search term. #7799
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2068 var suppressKeyPress, suppressKeyPressRepeat, suppressInput,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2069 nodeName = this.element[0].nodeName.toLowerCase(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2070 isTextarea = nodeName === "textarea",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2071 isInput = nodeName === "input";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2072
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2073 this.isMultiLine =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2074 // Textareas are always multi-line
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2075 isTextarea ? true :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2076 // Inputs are always single-line, even if inside a contentEditable element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2077 // IE also treats inputs as contentEditable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2078 isInput ? false :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2079 // All other element types are determined by whether or not they're contentEditable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2080 this.element.prop( "isContentEditable" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2081
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2082 this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2083 this.isNewMenu = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2084
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2085 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2086 .addClass( "ui-autocomplete-input" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2087 .attr( "autocomplete", "off" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2088
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2089 this._on( this.element, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2090 keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2091 if ( this.element.prop( "readOnly" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2092 suppressKeyPress = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2093 suppressInput = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2094 suppressKeyPressRepeat = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2095 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2096 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2097
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2098 suppressKeyPress = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2099 suppressInput = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2100 suppressKeyPressRepeat = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2101 var keyCode = $.ui.keyCode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2102 switch( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2103 case keyCode.PAGE_UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2104 suppressKeyPress = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2105 this._move( "previousPage", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2106 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2107 case keyCode.PAGE_DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2108 suppressKeyPress = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2109 this._move( "nextPage", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2110 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2111 case keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2112 suppressKeyPress = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2113 this._keyEvent( "previous", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2114 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2115 case keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2116 suppressKeyPress = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2117 this._keyEvent( "next", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2118 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2119 case keyCode.ENTER:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2120 case keyCode.NUMPAD_ENTER:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2121 // when menu is open and has focus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2122 if ( this.menu.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2123 // #6055 - Opera still allows the keypress to occur
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2124 // which causes forms to submit
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2125 suppressKeyPress = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2126 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2127 this.menu.select( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2128 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2129 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2130 case keyCode.TAB:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2131 if ( this.menu.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2132 this.menu.select( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2133 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2134 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2135 case keyCode.ESCAPE:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2136 if ( this.menu.element.is( ":visible" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2137 this._value( this.term );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2138 this.close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2139 // Different browsers have different default behavior for escape
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2140 // Single press can mean undo or clear
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2141 // Double press in IE means clear the whole form
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2142 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2143 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2144 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2145 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2146 suppressKeyPressRepeat = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2147 // search timeout should be triggered before the input value is changed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2148 this._searchTimeout( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2149 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2150 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2151 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2152 keypress: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2153 if ( suppressKeyPress ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2154 suppressKeyPress = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2155 if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2156 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2157 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2158 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2159 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2160 if ( suppressKeyPressRepeat ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2161 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2162 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2163
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2164 // replicate some key handlers to allow them to repeat in Firefox and Opera
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2165 var keyCode = $.ui.keyCode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2166 switch( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2167 case keyCode.PAGE_UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2168 this._move( "previousPage", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2169 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2170 case keyCode.PAGE_DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2171 this._move( "nextPage", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2172 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2173 case keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2174 this._keyEvent( "previous", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2175 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2176 case keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2177 this._keyEvent( "next", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2178 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2179 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2180 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2181 input: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2182 if ( suppressInput ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2183 suppressInput = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2184 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2185 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2186 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2187 this._searchTimeout( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2188 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2189 focus: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2190 this.selectedItem = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2191 this.previous = this._value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2192 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2193 blur: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2194 if ( this.cancelBlur ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2195 delete this.cancelBlur;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2196 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2197 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2198
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2199 clearTimeout( this.searching );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2200 this.close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2201 this._change( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2202 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2203 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2204
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2205 this._initSource();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2206 this.menu = $( "<ul>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2207 .addClass( "ui-autocomplete ui-front" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2208 .appendTo( this._appendTo() )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2209 .menu({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2210 // disable ARIA support, the live region takes care of that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2211 role: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2212 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2213 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2214 .data( "ui-menu" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2215
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2216 this._on( this.menu.element, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2217 mousedown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2218 // prevent moving focus out of the text field
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2219 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2220
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2221 // IE doesn't prevent moving focus even with event.preventDefault()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2222 // so we set a flag to know when we should ignore the blur event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2223 this.cancelBlur = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2224 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2225 delete this.cancelBlur;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2226 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2227
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2228 // clicking on the scrollbar causes focus to shift to the body
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2229 // but we can't detect a mouseup or a click immediately afterward
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2230 // so we have to track the next mousedown and close the menu if
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2231 // the user clicks somewhere outside of the autocomplete
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2232 var menuElement = this.menu.element[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2233 if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2234 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2235 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2236 this.document.one( "mousedown", function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2237 if ( event.target !== that.element[ 0 ] &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2238 event.target !== menuElement &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2239 !$.contains( menuElement, event.target ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2240 that.close();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2241 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2242 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2243 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2244 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2245 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2246 menufocus: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2247 // support: Firefox
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2248 // Prevent accidental activation of menu items in Firefox (#7024 #9118)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2249 if ( this.isNewMenu ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2250 this.isNewMenu = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2251 if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2252 this.menu.blur();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2253
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2254 this.document.one( "mousemove", function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2255 $( event.target ).trigger( event.originalEvent );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2256 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2257
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2258 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2259 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2260 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2261
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2262 var item = ui.item.data( "ui-autocomplete-item" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2263 if ( false !== this._trigger( "focus", event, { item: item } ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2264 // use value to match what will end up in the input, if it was a key event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2265 if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2266 this._value( item.value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2267 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2268 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2269 // Normally the input is populated with the item's value as the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2270 // menu is navigated, causing screen readers to notice a change and
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2271 // announce the item. Since the focus event was canceled, this doesn't
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2272 // happen, so we update the live region so that screen readers can
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2273 // still notice the change and announce it.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2274 this.liveRegion.text( item.value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2275 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2276 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2277 menuselect: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2278 var item = ui.item.data( "ui-autocomplete-item" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2279 previous = this.previous;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2280
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2281 // only trigger when focus was lost (click on menu)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2282 if ( this.element[0] !== this.document[0].activeElement ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2283 this.element.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2284 this.previous = previous;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2285 // #6109 - IE triggers two focus events and the second
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2286 // is asynchronous, so we need to reset the previous
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2287 // term synchronously and asynchronously :-(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2288 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2289 this.previous = previous;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2290 this.selectedItem = item;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2291 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2292 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2293
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2294 if ( false !== this._trigger( "select", event, { item: item } ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2295 this._value( item.value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2296 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2297 // reset the term after the select event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2298 // this allows custom select handling to work properly
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2299 this.term = this._value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2300
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2301 this.close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2302 this.selectedItem = item;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2303 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2304 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2305
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2306 this.liveRegion = $( "<span>", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2307 role: "status",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2308 "aria-live": "polite"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2309 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2310 .addClass( "ui-helper-hidden-accessible" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2311 .insertBefore( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2312
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2313 // turning off autocomplete prevents the browser from remembering the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2314 // value when navigating through history, so we re-enable autocomplete
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2315 // if the page is unloaded before the widget is destroyed. #7790
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2316 this._on( this.window, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2317 beforeunload: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2318 this.element.removeAttr( "autocomplete" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2319 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2320 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2321 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2322
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2323 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2324 clearTimeout( this.searching );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2325 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2326 .removeClass( "ui-autocomplete-input" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2327 .removeAttr( "autocomplete" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2328 this.menu.element.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2329 this.liveRegion.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2330 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2331
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2332 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2333 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2334 if ( key === "source" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2335 this._initSource();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2336 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2337 if ( key === "appendTo" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2338 this.menu.element.appendTo( this._appendTo() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2339 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2340 if ( key === "disabled" && value && this.xhr ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2341 this.xhr.abort();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2342 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2343 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2344
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2345 _appendTo: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2346 var element = this.options.appendTo;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2347
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2348 if ( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2349 element = element.jquery || element.nodeType ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2350 $( element ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2351 this.document.find( element ).eq( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2352 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2353
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2354 if ( !element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2355 element = this.element.closest( ".ui-front" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2356 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2357
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2358 if ( !element.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2359 element = this.document[0].body;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2360 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2361
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2362 return element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2363 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2364
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2365 _initSource: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2366 var array, url,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2367 that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2368 if ( $.isArray(this.options.source) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2369 array = this.options.source;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2370 this.source = function( request, response ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2371 response( $.ui.autocomplete.filter( array, request.term ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2372 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2373 } else if ( typeof this.options.source === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2374 url = this.options.source;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2375 this.source = function( request, response ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2376 if ( that.xhr ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2377 that.xhr.abort();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2378 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2379 that.xhr = $.ajax({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2380 url: url,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2381 data: request,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2382 dataType: "json",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2383 success: function( data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2384 response( data );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2385 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2386 error: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2387 response( [] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2388 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2389 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2390 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2391 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2392 this.source = this.options.source;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2393 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2394 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2395
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2396 _searchTimeout: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2397 clearTimeout( this.searching );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2398 this.searching = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2399 // only search if the value has changed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2400 if ( this.term !== this._value() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2401 this.selectedItem = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2402 this.search( null, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2403 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2404 }, this.options.delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2405 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2406
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2407 search: function( value, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2408 value = value != null ? value : this._value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2409
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2410 // always save the actual value, not the one passed as an argument
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2411 this.term = this._value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2412
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2413 if ( value.length < this.options.minLength ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2414 return this.close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2415 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2416
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2417 if ( this._trigger( "search", event ) === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2418 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2419 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2420
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2421 return this._search( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2422 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2423
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2424 _search: function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2425 this.pending++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2426 this.element.addClass( "ui-autocomplete-loading" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2427 this.cancelSearch = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2428
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2429 this.source( { term: value }, this._response() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2430 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2431
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2432 _response: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2433 var index = ++this.requestIndex;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2434
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2435 return $.proxy(function( content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2436 if ( index === this.requestIndex ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2437 this.__response( content );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2438 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2439
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2440 this.pending--;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2441 if ( !this.pending ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2442 this.element.removeClass( "ui-autocomplete-loading" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2443 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2444 }, this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2445 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2446
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2447 __response: function( content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2448 if ( content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2449 content = this._normalize( content );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2450 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2451 this._trigger( "response", null, { content: content } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2452 if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2453 this._suggest( content );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2454 this._trigger( "open" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2455 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2456 // use ._close() instead of .close() so we don't cancel future searches
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2457 this._close();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2458 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2459 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2460
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2461 close: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2462 this.cancelSearch = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2463 this._close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2464 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2465
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2466 _close: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2467 if ( this.menu.element.is( ":visible" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2468 this.menu.element.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2469 this.menu.blur();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2470 this.isNewMenu = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2471 this._trigger( "close", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2472 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2473 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2474
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2475 _change: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2476 if ( this.previous !== this._value() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2477 this._trigger( "change", event, { item: this.selectedItem } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2478 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2479 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2480
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2481 _normalize: function( items ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2482 // assume all items have the right format when the first item is complete
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2483 if ( items.length && items[0].label && items[0].value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2484 return items;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2485 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2486 return $.map( items, function( item ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2487 if ( typeof item === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2488 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2489 label: item,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2490 value: item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2491 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2492 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2493 return $.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2494 label: item.label || item.value,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2495 value: item.value || item.label
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2496 }, item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2497 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2498 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2499
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2500 _suggest: function( items ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2501 var ul = this.menu.element.empty();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2502 this._renderMenu( ul, items );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2503 this.isNewMenu = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2504 this.menu.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2505
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2506 // size and position menu
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2507 ul.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2508 this._resizeMenu();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2509 ul.position( $.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2510 of: this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2511 }, this.options.position ));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2512
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2513 if ( this.options.autoFocus ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2514 this.menu.next();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2515 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2516 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2517
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2518 _resizeMenu: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2519 var ul = this.menu.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2520 ul.outerWidth( Math.max(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2521 // Firefox wraps long text (possibly a rounding bug)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2522 // so we add 1px to avoid the wrapping (#7513)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2523 ul.width( "" ).outerWidth() + 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2524 this.element.outerWidth()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2525 ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2526 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2527
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2528 _renderMenu: function( ul, items ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2529 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2530 $.each( items, function( index, item ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2531 that._renderItemData( ul, item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2532 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2533 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2535 _renderItemData: function( ul, item ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2536 return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2537 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2538
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2539 _renderItem: function( ul, item ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2540 return $( "<li>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2541 .append( $( "<a>" ).text( item.label ) )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2542 .appendTo( ul );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2543 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2544
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2545 _move: function( direction, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2546 if ( !this.menu.element.is( ":visible" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2547 this.search( null, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2548 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2549 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2550 if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2551 this.menu.isLastItem() && /^next/.test( direction ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2552 this._value( this.term );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2553 this.menu.blur();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2554 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2555 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2556 this.menu[ direction ]( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2557 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2558
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2559 widget: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2560 return this.menu.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2561 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2562
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2563 _value: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2564 return this.valueMethod.apply( this.element, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2565 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2566
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2567 _keyEvent: function( keyEvent, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2568 if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2569 this._move( keyEvent, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2570
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2571 // prevents moving cursor to beginning/end of the text field in some browsers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2572 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2573 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2574 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2575 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2576
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2577 $.extend( $.ui.autocomplete, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2578 escapeRegex: function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2579 return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2580 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2581 filter: function(array, term) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2582 var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2583 return $.grep( array, function(value) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2584 return matcher.test( value.label || value.value || value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2585 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2586 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2587 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2588
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2589
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2590 // live region extension, adding a `messages` option
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2591 // NOTE: This is an experimental API. We are still investigating
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2592 // a full solution for string manipulation and internationalization.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2593 $.widget( "ui.autocomplete", $.ui.autocomplete, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2594 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2595 messages: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2596 noResults: "No search results.",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2597 results: function( amount ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2598 return amount + ( amount > 1 ? " results are" : " result is" ) +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2599 " available, use up and down arrow keys to navigate.";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2600 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2601 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2602 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2603
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2604 __response: function( content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2605 var message;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2606 this._superApply( arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2607 if ( this.options.disabled || this.cancelSearch ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2608 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2609 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2610 if ( content && content.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2611 message = this.options.messages.results( content.length );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2612 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2613 message = this.options.messages.noResults;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2614 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2615 this.liveRegion.text( message );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2616 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2617 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2618
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2619 }( jQuery ));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2620 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2621
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2622 var lastActive,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2623 baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2624 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",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2625 formResetHandler = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2626 var form = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2627 setTimeout(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2628 form.find( ":ui-button" ).button( "refresh" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2629 }, 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2630 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2631 radioGroup = function( radio ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2632 var name = radio.name,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2633 form = radio.form,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2634 radios = $( [] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2635 if ( name ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2636 name = name.replace( /'/g, "\\'" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2637 if ( form ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2638 radios = $( form ).find( "[name='" + name + "']" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2639 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2640 radios = $( "[name='" + name + "']", radio.ownerDocument )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2641 .filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2642 return !this.form;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2643 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2644 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2645 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2646 return radios;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2647 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2648
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2649 $.widget( "ui.button", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2650 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2651 defaultElement: "<button>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2652 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2653 disabled: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2654 text: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2655 label: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2656 icons: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2657 primary: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2658 secondary: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2659 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2660 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2661 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2662 this.element.closest( "form" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2663 .unbind( "reset" + this.eventNamespace )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2664 .bind( "reset" + this.eventNamespace, formResetHandler );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2665
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2666 if ( typeof this.options.disabled !== "boolean" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2667 this.options.disabled = !!this.element.prop( "disabled" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2668 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2669 this.element.prop( "disabled", this.options.disabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2670 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2671
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2672 this._determineButtonType();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2673 this.hasTitle = !!this.buttonElement.attr( "title" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2674
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2675 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2676 options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2677 toggleButton = this.type === "checkbox" || this.type === "radio",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2678 activeClass = !toggleButton ? "ui-state-active" : "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2679
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2680 if ( options.label === null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2681 options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2682 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2683
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2684 this._hoverable( this.buttonElement );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2685
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2686 this.buttonElement
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2687 .addClass( baseClasses )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2688 .attr( "role", "button" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2689 .bind( "mouseenter" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2690 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2691 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2692 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2693 if ( this === lastActive ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2694 $( this ).addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2695 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2696 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2697 .bind( "mouseleave" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2698 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2699 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2700 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2701 $( this ).removeClass( activeClass );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2702 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2703 .bind( "click" + this.eventNamespace, function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2704 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2705 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2706 event.stopImmediatePropagation();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2707 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2708 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2709
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2710 // Can't use _focusable() because the element that receives focus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2711 // and the element that gets the ui-state-focus class are different
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2712 this._on({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2713 focus: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2714 this.buttonElement.addClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2715 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2716 blur: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2717 this.buttonElement.removeClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2718 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2719 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2720
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2721 if ( toggleButton ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2722 this.element.bind( "change" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2723 that.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2724 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2725 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2726
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2727 if ( this.type === "checkbox" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2728 this.buttonElement.bind( "click" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2729 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2730 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2731 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2732 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2733 } else if ( this.type === "radio" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2734 this.buttonElement.bind( "click" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2735 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2736 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2737 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2738 $( this ).addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2739 that.buttonElement.attr( "aria-pressed", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2740
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2741 var radio = that.element[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2742 radioGroup( radio )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2743 .not( radio )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2744 .map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2745 return $( this ).button( "widget" )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2746 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2747 .removeClass( "ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2748 .attr( "aria-pressed", "false" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2749 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2750 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2751 this.buttonElement
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2752 .bind( "mousedown" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2753 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2754 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2755 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2756 $( this ).addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2757 lastActive = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2758 that.document.one( "mouseup", function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2759 lastActive = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2760 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2761 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2762 .bind( "mouseup" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2763 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2764 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2765 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2766 $( this ).removeClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2767 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2768 .bind( "keydown" + this.eventNamespace, function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2769 if ( options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2770 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2771 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2772 if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2773 $( this ).addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2774 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2775 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2776 // see #8559, we bind to blur here in case the button element loses
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2777 // focus between keydown and keyup, it would be left in an "active" state
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2778 .bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2779 $( this ).removeClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2780 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2781
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2782 if ( this.buttonElement.is("a") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2783 this.buttonElement.keyup(function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2784 if ( event.keyCode === $.ui.keyCode.SPACE ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2785 // TODO pass through original event correctly (just as 2nd argument doesn't work)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2786 $( this ).click();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2787 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2788 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2789 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2790 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2791
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2792 // TODO: pull out $.Widget's handling for the disabled option into
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2793 // $.Widget.prototype._setOptionDisabled so it's easy to proxy and can
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2794 // be overridden by individual plugins
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2795 this._setOption( "disabled", options.disabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2796 this._resetButton();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2797 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2798
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2799 _determineButtonType: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2800 var ancestor, labelSelector, checked;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2801
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2802 if ( this.element.is("[type=checkbox]") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2803 this.type = "checkbox";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2804 } else if ( this.element.is("[type=radio]") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2805 this.type = "radio";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2806 } else if ( this.element.is("input") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2807 this.type = "input";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2808 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2809 this.type = "button";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2810 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2811
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2812 if ( this.type === "checkbox" || this.type === "radio" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2813 // we don't search against the document in case the element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2814 // is disconnected from the DOM
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2815 ancestor = this.element.parents().last();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2816 labelSelector = "label[for='" + this.element.attr("id") + "']";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2817 this.buttonElement = ancestor.find( labelSelector );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2818 if ( !this.buttonElement.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2819 ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2820 this.buttonElement = ancestor.filter( labelSelector );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2821 if ( !this.buttonElement.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2822 this.buttonElement = ancestor.find( labelSelector );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2823 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2824 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2825 this.element.addClass( "ui-helper-hidden-accessible" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2826
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2827 checked = this.element.is( ":checked" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2828 if ( checked ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2829 this.buttonElement.addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2830 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2831 this.buttonElement.prop( "aria-pressed", checked );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2832 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2833 this.buttonElement = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2834 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2835 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2836
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2837 widget: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2838 return this.buttonElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2839 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2840
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2841 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2842 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2843 .removeClass( "ui-helper-hidden-accessible" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2844 this.buttonElement
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2845 .removeClass( baseClasses + " ui-state-active " + typeClasses )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2846 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2847 .removeAttr( "aria-pressed" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2848 .html( this.buttonElement.find(".ui-button-text").html() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2849
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2850 if ( !this.hasTitle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2851 this.buttonElement.removeAttr( "title" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2852 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2853 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2854
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2855 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2856 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2857 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2858 this.element.prop( "disabled", !!value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2859 if ( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2860 this.buttonElement.removeClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2861 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2862 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2863 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2864 this._resetButton();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2865 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2866
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2867 refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2868 //See #8237 & #8828
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2869 var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2870
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2871 if ( isDisabled !== this.options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2872 this._setOption( "disabled", isDisabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2873 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2874 if ( this.type === "radio" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2875 radioGroup( this.element[0] ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2876 if ( $( this ).is( ":checked" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2877 $( this ).button( "widget" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2878 .addClass( "ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2879 .attr( "aria-pressed", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2880 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2881 $( this ).button( "widget" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2882 .removeClass( "ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2883 .attr( "aria-pressed", "false" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2884 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2885 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2886 } else if ( this.type === "checkbox" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2887 if ( this.element.is( ":checked" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2888 this.buttonElement
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2889 .addClass( "ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2890 .attr( "aria-pressed", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2891 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2892 this.buttonElement
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2893 .removeClass( "ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2894 .attr( "aria-pressed", "false" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2895 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2896 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2897 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2898
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2899 _resetButton: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2900 if ( this.type === "input" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2901 if ( this.options.label ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2902 this.element.val( this.options.label );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2903 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2904 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2905 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2906 var buttonElement = this.buttonElement.removeClass( typeClasses ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2907 buttonText = $( "<span></span>", this.document[0] )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2908 .addClass( "ui-button-text" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2909 .html( this.options.label )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2910 .appendTo( buttonElement.empty() )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2911 .text(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2912 icons = this.options.icons,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2913 multipleIcons = icons.primary && icons.secondary,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2914 buttonClasses = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2915
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2916 if ( icons.primary || icons.secondary ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2917 if ( this.options.text ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2918 buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2919 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2920
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2921 if ( icons.primary ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2922 buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2923 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2924
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2925 if ( icons.secondary ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2926 buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2927 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2928
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2929 if ( !this.options.text ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2930 buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2931
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2932 if ( !this.hasTitle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2933 buttonElement.attr( "title", $.trim( buttonText ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2934 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2935 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2936 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2937 buttonClasses.push( "ui-button-text-only" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2938 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2939 buttonElement.addClass( buttonClasses.join( " " ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2940 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2941 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2942
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2943 $.widget( "ui.buttonset", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2944 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2945 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2946 items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2947 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2948
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2949 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2950 this.element.addClass( "ui-buttonset" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2951 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2952
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2953 _init: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2954 this.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2955 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2956
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2957 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2958 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2959 this.buttons.button( "option", key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2960 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2961
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2962 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2963 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2964
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2965 refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2966 var rtl = this.element.css( "direction" ) === "rtl";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2967
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2968 this.buttons = this.element.find( this.options.items )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2969 .filter( ":ui-button" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2970 .button( "refresh" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2971 .end()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2972 .not( ":ui-button" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2973 .button()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2974 .end()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2975 .map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2976 return $( this ).button( "widget" )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2977 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2978 .removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2979 .filter( ":first" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2980 .addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2981 .end()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2982 .filter( ":last" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2983 .addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2984 .end()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2985 .end();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2986 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2987
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2988 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2989 this.element.removeClass( "ui-buttonset" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2990 this.buttons
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2991 .map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2992 return $( this ).button( "widget" )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2993 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2994 .removeClass( "ui-corner-left ui-corner-right" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2995 .end()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2996 .button( "destroy" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2997 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2998 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
2999
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3000 }( jQuery ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3001 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3002
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3003 $.extend($.ui, { datepicker: { version: "1.10.4" } });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3004
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3005 var PROP_NAME = "datepicker",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3006 instActive;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3007
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3008 /* Date picker manager.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3009 Use the singleton instance of this class, $.datepicker, to interact with the date picker.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3010 Settings for (groups of) date pickers are maintained in an instance object,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3011 allowing multiple different settings on the same page. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3012
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3013 function Datepicker() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3014 this._curInst = null; // The current instance in use
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3015 this._keyEvent = false; // If the last event was a key event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3016 this._disabledInputs = []; // List of date picker inputs that have been disabled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3017 this._datepickerShowing = false; // True if the popup picker is showing , false if not
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3018 this._inDialog = false; // True if showing within a "dialog", false if not
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3019 this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3020 this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3021 this._appendClass = "ui-datepicker-append"; // The name of the append marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3022 this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3023 this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3024 this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3025 this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3026 this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3027 this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3028 this.regional = []; // Available regional settings, indexed by language code
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3029 this.regional[""] = { // Default regional settings
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3030 closeText: "Done", // Display text for close link
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3031 prevText: "Prev", // Display text for previous month link
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3032 nextText: "Next", // Display text for next month link
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3033 currentText: "Today", // Display text for current month link
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3034 monthNames: ["January","February","March","April","May","June",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3035 "July","August","September","October","November","December"], // Names of months for drop-down and formatting
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3036 monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3037 dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3038 dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3039 dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3040 weekHeader: "Wk", // Column header for week of the year
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3041 dateFormat: "mm/dd/yy", // See format options on parseDate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3042 firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3043 isRTL: false, // True if right-to-left language, false if left-to-right
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3044 showMonthAfterYear: false, // True if the year select precedes month, false for month then year
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3045 yearSuffix: "" // Additional text to append to the year in the month headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3046 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3047 this._defaults = { // Global defaults for all the date picker instances
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3048 showOn: "focus", // "focus" for popup on focus,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3049 // "button" for trigger button, or "both" for either
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3050 showAnim: "fadeIn", // Name of jQuery animation for popup
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3051 showOptions: {}, // Options for enhanced animations
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3052 defaultDate: null, // Used when field is blank: actual date,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3053 // +/-number for offset from today, null for today
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3054 appendText: "", // Display text following the input box, e.g. showing the format
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3055 buttonText: "...", // Text for trigger button
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3056 buttonImage: "", // URL for trigger button image
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3057 buttonImageOnly: false, // True if the image appears alone, false if it appears on a button
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3058 hideIfNoPrevNext: false, // True to hide next/previous month links
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3059 // if not applicable, false to just disable them
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3060 navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3061 gotoCurrent: false, // True if today link goes back to current selection instead
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3062 changeMonth: false, // True if month can be selected directly, false if only prev/next
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3063 changeYear: false, // True if year can be selected directly, false if only prev/next
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3064 yearRange: "c-10:c+10", // Range of years to display in drop-down,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3065 // either relative to today's year (-nn:+nn), relative to currently displayed year
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3066 // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3067 showOtherMonths: false, // True to show dates in other months, false to leave blank
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3068 selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3069 showWeek: false, // True to show week of the year, false to not show it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3070 calculateWeek: this.iso8601Week, // How to calculate the week of the year,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3071 // takes a Date and returns the number of the week for it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3072 shortYearCutoff: "+10", // Short year values < this are in the current century,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3073 // > this are in the previous century,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3074 // string value starting with "+" for current year + value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3075 minDate: null, // The earliest selectable date, or null for no limit
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3076 maxDate: null, // The latest selectable date, or null for no limit
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3077 duration: "fast", // Duration of display/closure
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3078 beforeShowDay: null, // Function that takes a date and returns an array with
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3079 // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3080 // [2] = cell title (optional), e.g. $.datepicker.noWeekends
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3081 beforeShow: null, // Function that takes an input field and
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3082 // returns a set of custom settings for the date picker
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3083 onSelect: null, // Define a callback function when a date is selected
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3084 onChangeMonthYear: null, // Define a callback function when the month or year is changed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3085 onClose: null, // Define a callback function when the datepicker is closed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3086 numberOfMonths: 1, // Number of months to show at a time
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3087 showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3088 stepMonths: 1, // Number of months to step back/forward
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3089 stepBigMonths: 12, // Number of months to step back/forward for the big links
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3090 altField: "", // Selector for an alternate field to store selected dates into
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3091 altFormat: "", // The date format to use for the alternate field
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3092 constrainInput: true, // The input is constrained by the current date format
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3093 showButtonPanel: false, // True to show button panel, false to not show it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3094 autoSize: false, // True to size the input for the date format, false to leave as is
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3095 disabled: false // The initial disabled state
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3096 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3097 $.extend(this._defaults, this.regional[""]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3098 this.dpDiv = bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3099 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3100
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3101 $.extend(Datepicker.prototype, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3102 /* Class name added to elements to indicate already configured with a date picker. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3103 markerClassName: "hasDatepicker",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3104
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3105 //Keep track of the maximum number of rows displayed (see #7043)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3106 maxRows: 4,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3107
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3108 // TODO rename to "widget" when switching to widget factory
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3109 _widgetDatepicker: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3110 return this.dpDiv;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3111 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3112
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3113 /* Override the default settings for all instances of the date picker.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3114 * @param settings object - the new settings to use as defaults (anonymous object)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3115 * @return the manager object
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3116 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3117 setDefaults: function(settings) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3118 extendRemove(this._defaults, settings || {});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3119 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3120 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3121
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3122 /* Attach the date picker to a jQuery selection.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3123 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3124 * @param settings object - the new settings to use for this date picker instance (anonymous)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3125 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3126 _attachDatepicker: function(target, settings) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3127 var nodeName, inline, inst;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3128 nodeName = target.nodeName.toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3129 inline = (nodeName === "div" || nodeName === "span");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3130 if (!target.id) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3131 this.uuid += 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3132 target.id = "dp" + this.uuid;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3133 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3134 inst = this._newInst($(target), inline);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3135 inst.settings = $.extend({}, settings || {});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3136 if (nodeName === "input") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3137 this._connectDatepicker(target, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3138 } else if (inline) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3139 this._inlineDatepicker(target, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3140 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3141 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3142
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3143 /* Create a new instance object. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3144 _newInst: function(target, inline) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3145 var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3146 return {id: id, input: target, // associated target
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3147 selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3148 drawMonth: 0, drawYear: 0, // month being drawn
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3149 inline: inline, // is datepicker inline or not
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3150 dpDiv: (!inline ? this.dpDiv : // presentation div
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3151 bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3152 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3153
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3154 /* Attach the date picker to an input field. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3155 _connectDatepicker: function(target, inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3156 var input = $(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3157 inst.append = $([]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3158 inst.trigger = $([]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3159 if (input.hasClass(this.markerClassName)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3160 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3161 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3162 this._attachments(input, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3163 input.addClass(this.markerClassName).keydown(this._doKeyDown).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3164 keypress(this._doKeyPress).keyup(this._doKeyUp);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3165 this._autoSize(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3166 $.data(target, PROP_NAME, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3167 //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3168 if( inst.settings.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3169 this._disableDatepicker( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3170 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3171 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3172
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3173 /* Make attachments based on settings. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3174 _attachments: function(input, inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3175 var showOn, buttonText, buttonImage,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3176 appendText = this._get(inst, "appendText"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3177 isRTL = this._get(inst, "isRTL");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3178
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3179 if (inst.append) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3180 inst.append.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3181 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3182 if (appendText) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3183 inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3184 input[isRTL ? "before" : "after"](inst.append);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3185 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3186
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3187 input.unbind("focus", this._showDatepicker);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3188
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3189 if (inst.trigger) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3190 inst.trigger.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3191 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3192
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3193 showOn = this._get(inst, "showOn");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3194 if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3195 input.focus(this._showDatepicker);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3196 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3197 if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3198 buttonText = this._get(inst, "buttonText");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3199 buttonImage = this._get(inst, "buttonImage");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3200 inst.trigger = $(this._get(inst, "buttonImageOnly") ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3201 $("<img/>").addClass(this._triggerClass).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3202 attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3203 $("<button type='button'></button>").addClass(this._triggerClass).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3204 html(!buttonImage ? buttonText : $("<img/>").attr(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3205 { src:buttonImage, alt:buttonText, title:buttonText })));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3206 input[isRTL ? "before" : "after"](inst.trigger);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3207 inst.trigger.click(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3208 if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3209 $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3210 } else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3211 $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3212 $.datepicker._showDatepicker(input[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3213 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3214 $.datepicker._showDatepicker(input[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3215 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3216 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3217 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3218 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3219 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3220
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3221 /* Apply the maximum length for the date format. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3222 _autoSize: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3223 if (this._get(inst, "autoSize") && !inst.inline) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3224 var findMax, max, maxI, i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3225 date = new Date(2009, 12 - 1, 20), // Ensure double digits
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3226 dateFormat = this._get(inst, "dateFormat");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3227
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3228 if (dateFormat.match(/[DM]/)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3229 findMax = function(names) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3230 max = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3231 maxI = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3232 for (i = 0; i < names.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3233 if (names[i].length > max) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3234 max = names[i].length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3235 maxI = i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3236 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3237 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3238 return maxI;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3239 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3240 date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3241 "monthNames" : "monthNamesShort"))));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3242 date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3243 "dayNames" : "dayNamesShort"))) + 20 - date.getDay());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3244 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3245 inst.input.attr("size", this._formatDate(inst, date).length);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3246 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3247 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3248
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3249 /* Attach an inline date picker to a div. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3250 _inlineDatepicker: function(target, inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3251 var divSpan = $(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3252 if (divSpan.hasClass(this.markerClassName)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3253 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3254 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3255 divSpan.addClass(this.markerClassName).append(inst.dpDiv);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3256 $.data(target, PROP_NAME, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3257 this._setDate(inst, this._getDefaultDate(inst), true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3258 this._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3259 this._updateAlternate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3260 //If disabled option is true, disable the datepicker before showing it (see ticket #5665)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3261 if( inst.settings.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3262 this._disableDatepicker( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3263 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3264 // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3265 // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3266 inst.dpDiv.css( "display", "block" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3267 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3268
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3269 /* Pop-up the date picker in a "dialog" box.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3270 * @param input element - ignored
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3271 * @param date string or Date - the initial date to display
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3272 * @param onSelect function - the function to call when a date is selected
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3273 * @param settings object - update the dialog date picker instance's settings (anonymous object)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3274 * @param pos int[2] - coordinates for the dialog's position within the screen or
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3275 * event - with x/y coordinates or
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3276 * leave empty for default (screen centre)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3277 * @return the manager object
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3278 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3279 _dialogDatepicker: function(input, date, onSelect, settings, pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3280 var id, browserWidth, browserHeight, scrollX, scrollY,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3281 inst = this._dialogInst; // internal instance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3282
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3283 if (!inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3284 this.uuid += 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3285 id = "dp" + this.uuid;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3286 this._dialogInput = $("<input type='text' id='" + id +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3287 "' style='position: absolute; top: -100px; width: 0px;'/>");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3288 this._dialogInput.keydown(this._doKeyDown);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3289 $("body").append(this._dialogInput);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3290 inst = this._dialogInst = this._newInst(this._dialogInput, false);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3291 inst.settings = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3292 $.data(this._dialogInput[0], PROP_NAME, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3293 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3294 extendRemove(inst.settings, settings || {});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3295 date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3296 this._dialogInput.val(date);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3297
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3298 this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3299 if (!this._pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3300 browserWidth = document.documentElement.clientWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3301 browserHeight = document.documentElement.clientHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3302 scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3303 scrollY = document.documentElement.scrollTop || document.body.scrollTop;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3304 this._pos = // should use actual width/height below
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3305 [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3306 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3307
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3308 // move input on screen for focus, but hidden behind dialog
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3309 this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3310 inst.settings.onSelect = onSelect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3311 this._inDialog = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3312 this.dpDiv.addClass(this._dialogClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3313 this._showDatepicker(this._dialogInput[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3314 if ($.blockUI) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3315 $.blockUI(this.dpDiv);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3316 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3317 $.data(this._dialogInput[0], PROP_NAME, inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3318 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3319 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3320
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3321 /* Detach a datepicker from its control.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3322 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3323 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3324 _destroyDatepicker: function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3325 var nodeName,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3326 $target = $(target),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3327 inst = $.data(target, PROP_NAME);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3328
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3329 if (!$target.hasClass(this.markerClassName)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3330 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3331 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3332
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3333 nodeName = target.nodeName.toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3334 $.removeData(target, PROP_NAME);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3335 if (nodeName === "input") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3336 inst.append.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3337 inst.trigger.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3338 $target.removeClass(this.markerClassName).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3339 unbind("focus", this._showDatepicker).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3340 unbind("keydown", this._doKeyDown).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3341 unbind("keypress", this._doKeyPress).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3342 unbind("keyup", this._doKeyUp);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3343 } else if (nodeName === "div" || nodeName === "span") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3344 $target.removeClass(this.markerClassName).empty();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3345 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3346 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3347
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3348 /* Enable the date picker to a jQuery selection.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3349 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3350 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3351 _enableDatepicker: function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3352 var nodeName, inline,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3353 $target = $(target),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3354 inst = $.data(target, PROP_NAME);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3355
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3356 if (!$target.hasClass(this.markerClassName)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3357 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3358 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3359
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3360 nodeName = target.nodeName.toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3361 if (nodeName === "input") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3362 target.disabled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3363 inst.trigger.filter("button").
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3364 each(function() { this.disabled = false; }).end().
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3365 filter("img").css({opacity: "1.0", cursor: ""});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3366 } else if (nodeName === "div" || nodeName === "span") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3367 inline = $target.children("." + this._inlineClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3368 inline.children().removeClass("ui-state-disabled");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3369 inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3370 prop("disabled", false);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3371 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3372 this._disabledInputs = $.map(this._disabledInputs,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3373 function(value) { return (value === target ? null : value); }); // delete entry
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3374 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3375
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3376 /* Disable the date picker to a jQuery selection.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3377 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3378 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3379 _disableDatepicker: function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3380 var nodeName, inline,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3381 $target = $(target),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3382 inst = $.data(target, PROP_NAME);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3383
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3384 if (!$target.hasClass(this.markerClassName)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3385 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3386 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3387
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3388 nodeName = target.nodeName.toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3389 if (nodeName === "input") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3390 target.disabled = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3391 inst.trigger.filter("button").
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3392 each(function() { this.disabled = true; }).end().
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3393 filter("img").css({opacity: "0.5", cursor: "default"});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3394 } else if (nodeName === "div" || nodeName === "span") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3395 inline = $target.children("." + this._inlineClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3396 inline.children().addClass("ui-state-disabled");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3397 inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3398 prop("disabled", true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3399 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3400 this._disabledInputs = $.map(this._disabledInputs,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3401 function(value) { return (value === target ? null : value); }); // delete entry
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3402 this._disabledInputs[this._disabledInputs.length] = target;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3403 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3404
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3405 /* Is the first field in a jQuery collection disabled as a datepicker?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3406 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3407 * @return boolean - true if disabled, false if enabled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3408 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3409 _isDisabledDatepicker: function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3410 if (!target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3411 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3412 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3413 for (var i = 0; i < this._disabledInputs.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3414 if (this._disabledInputs[i] === target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3415 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3416 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3417 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3418 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3419 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3420
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3421 /* Retrieve the instance data for the target control.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3422 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3423 * @return object - the associated instance data
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3424 * @throws error if a jQuery problem getting data
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3425 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3426 _getInst: function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3427 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3428 return $.data(target, PROP_NAME);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3429 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3430 catch (err) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3431 throw "Missing instance data for this datepicker";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3432 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3433 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3434
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3435 /* Update or retrieve the settings for a date picker attached to an input field or division.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3436 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3437 * @param name object - the new settings to update or
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3438 * string - the name of the setting to change or retrieve,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3439 * when retrieving also "all" for all instance settings or
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3440 * "defaults" for all global defaults
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3441 * @param value any - the new value for the setting
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3442 * (omit if above is an object or to retrieve a value)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3443 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3444 _optionDatepicker: function(target, name, value) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3445 var settings, date, minDate, maxDate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3446 inst = this._getInst(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3447
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3448 if (arguments.length === 2 && typeof name === "string") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3449 return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3450 (inst ? (name === "all" ? $.extend({}, inst.settings) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3451 this._get(inst, name)) : null));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3452 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3453
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3454 settings = name || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3455 if (typeof name === "string") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3456 settings = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3457 settings[name] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3458 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3459
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3460 if (inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3461 if (this._curInst === inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3462 this._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3463 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3464
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3465 date = this._getDateDatepicker(target, true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3466 minDate = this._getMinMaxDate(inst, "min");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3467 maxDate = this._getMinMaxDate(inst, "max");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3468 extendRemove(inst.settings, settings);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3469 // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3470 if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3471 inst.settings.minDate = this._formatDate(inst, minDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3472 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3473 if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3474 inst.settings.maxDate = this._formatDate(inst, maxDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3475 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3476 if ( "disabled" in settings ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3477 if ( settings.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3478 this._disableDatepicker(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3479 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3480 this._enableDatepicker(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3481 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3482 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3483 this._attachments($(target), inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3484 this._autoSize(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3485 this._setDate(inst, date);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3486 this._updateAlternate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3487 this._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3488 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3489 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3490
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3491 // change method deprecated
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3492 _changeDatepicker: function(target, name, value) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3493 this._optionDatepicker(target, name, value);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3494 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3495
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3496 /* Redraw the date picker attached to an input field or division.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3497 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3498 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3499 _refreshDatepicker: function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3500 var inst = this._getInst(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3501 if (inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3502 this._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3503 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3504 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3505
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3506 /* Set the dates for a jQuery selection.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3507 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3508 * @param date Date - the new date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3509 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3510 _setDateDatepicker: function(target, date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3511 var inst = this._getInst(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3512 if (inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3513 this._setDate(inst, date);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3514 this._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3515 this._updateAlternate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3516 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3517 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3518
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3519 /* Get the date(s) for the first entry in a jQuery selection.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3520 * @param target element - the target input field or division or span
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3521 * @param noDefault boolean - true if no default date is to be used
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3522 * @return Date - the current date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3523 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3524 _getDateDatepicker: function(target, noDefault) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3525 var inst = this._getInst(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3526 if (inst && !inst.inline) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3527 this._setDateFromField(inst, noDefault);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3528 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3529 return (inst ? this._getDate(inst) : null);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3530 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3531
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3532 /* Handle keystrokes. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3533 _doKeyDown: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3534 var onSelect, dateStr, sel,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3535 inst = $.datepicker._getInst(event.target),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3536 handled = true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3537 isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3538
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3539 inst._keyEvent = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3540 if ($.datepicker._datepickerShowing) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3541 switch (event.keyCode) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3542 case 9: $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3543 handled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3544 break; // hide on tab out
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3545 case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3546 $.datepicker._currentClass + ")", inst.dpDiv);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3547 if (sel[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3548 $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3549 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3550
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3551 onSelect = $.datepicker._get(inst, "onSelect");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3552 if (onSelect) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3553 dateStr = $.datepicker._formatDate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3554
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3555 // trigger custom callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3556 onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3557 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3558 $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3559 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3560
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3561 return false; // don't submit the form
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3562 case 27: $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3563 break; // hide on escape
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3564 case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3565 -$.datepicker._get(inst, "stepBigMonths") :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3566 -$.datepicker._get(inst, "stepMonths")), "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3567 break; // previous month/year on page up/+ ctrl
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3568 case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3569 +$.datepicker._get(inst, "stepBigMonths") :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3570 +$.datepicker._get(inst, "stepMonths")), "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3571 break; // next month/year on page down/+ ctrl
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3572 case 35: if (event.ctrlKey || event.metaKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3573 $.datepicker._clearDate(event.target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3574 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3575 handled = event.ctrlKey || event.metaKey;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3576 break; // clear on ctrl or command +end
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3577 case 36: if (event.ctrlKey || event.metaKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3578 $.datepicker._gotoToday(event.target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3579 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3580 handled = event.ctrlKey || event.metaKey;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3581 break; // current on ctrl or command +home
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3582 case 37: if (event.ctrlKey || event.metaKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3583 $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3584 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3585 handled = event.ctrlKey || event.metaKey;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3586 // -1 day on ctrl or command +left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3587 if (event.originalEvent.altKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3588 $.datepicker._adjustDate(event.target, (event.ctrlKey ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3589 -$.datepicker._get(inst, "stepBigMonths") :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3590 -$.datepicker._get(inst, "stepMonths")), "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3591 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3592 // next month/year on alt +left on Mac
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3593 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3594 case 38: if (event.ctrlKey || event.metaKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3595 $.datepicker._adjustDate(event.target, -7, "D");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3596 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3597 handled = event.ctrlKey || event.metaKey;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3598 break; // -1 week on ctrl or command +up
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3599 case 39: if (event.ctrlKey || event.metaKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3600 $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3601 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3602 handled = event.ctrlKey || event.metaKey;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3603 // +1 day on ctrl or command +right
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3604 if (event.originalEvent.altKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3605 $.datepicker._adjustDate(event.target, (event.ctrlKey ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3606 +$.datepicker._get(inst, "stepBigMonths") :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3607 +$.datepicker._get(inst, "stepMonths")), "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3608 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3609 // next month/year on alt +right
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3610 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3611 case 40: if (event.ctrlKey || event.metaKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3612 $.datepicker._adjustDate(event.target, +7, "D");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3613 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3614 handled = event.ctrlKey || event.metaKey;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3615 break; // +1 week on ctrl or command +down
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3616 default: handled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3617 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3618 } else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3619 $.datepicker._showDatepicker(this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3620 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3621 handled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3622 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3623
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3624 if (handled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3625 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3626 event.stopPropagation();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3627 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3628 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3629
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3630 /* Filter entered characters - based on date format. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3631 _doKeyPress: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3632 var chars, chr,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3633 inst = $.datepicker._getInst(event.target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3634
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3635 if ($.datepicker._get(inst, "constrainInput")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3636 chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3637 chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3638 return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3639 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3640 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3641
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3642 /* Synchronise manual entry and field/alternate field. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3643 _doKeyUp: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3644 var date,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3645 inst = $.datepicker._getInst(event.target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3646
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3647 if (inst.input.val() !== inst.lastVal) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3648 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3649 date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3650 (inst.input ? inst.input.val() : null),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3651 $.datepicker._getFormatConfig(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3652
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3653 if (date) { // only if valid
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3654 $.datepicker._setDateFromField(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3655 $.datepicker._updateAlternate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3656 $.datepicker._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3657 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3658 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3659 catch (err) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3660 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3661 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3662 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3663 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3664
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3665 /* Pop-up the date picker for a given input field.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3666 * If false returned from beforeShow event handler do not show.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3667 * @param input element - the input field attached to the date picker or
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3668 * event - if triggered by focus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3669 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3670 _showDatepicker: function(input) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3671 input = input.target || input;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3672 if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3673 input = $("input", input.parentNode)[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3674 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3675
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3676 if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3677 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3678 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3679
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3680 var inst, beforeShow, beforeShowSettings, isFixed,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3681 offset, showAnim, duration;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3682
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3683 inst = $.datepicker._getInst(input);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3684 if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3685 $.datepicker._curInst.dpDiv.stop(true, true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3686 if ( inst && $.datepicker._datepickerShowing ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3687 $.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3688 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3689 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3690
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3691 beforeShow = $.datepicker._get(inst, "beforeShow");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3692 beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3693 if(beforeShowSettings === false){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3694 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3695 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3696 extendRemove(inst.settings, beforeShowSettings);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3697
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3698 inst.lastVal = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3699 $.datepicker._lastInput = input;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3700 $.datepicker._setDateFromField(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3701
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3702 if ($.datepicker._inDialog) { // hide cursor
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3703 input.value = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3704 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3705 if (!$.datepicker._pos) { // position below input
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3706 $.datepicker._pos = $.datepicker._findPos(input);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3707 $.datepicker._pos[1] += input.offsetHeight; // add the height
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3708 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3709
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3710 isFixed = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3711 $(input).parents().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3712 isFixed |= $(this).css("position") === "fixed";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3713 return !isFixed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3714 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3715
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3716 offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3717 $.datepicker._pos = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3718 //to avoid flashes on Firefox
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3719 inst.dpDiv.empty();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3720 // determine sizing offscreen
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3721 inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3722 $.datepicker._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3723 // fix width for dynamic number of date pickers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3724 // and adjust position before showing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3725 offset = $.datepicker._checkOffset(inst, offset, isFixed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3726 inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3727 "static" : (isFixed ? "fixed" : "absolute")), display: "none",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3728 left: offset.left + "px", top: offset.top + "px"});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3729
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3730 if (!inst.inline) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3731 showAnim = $.datepicker._get(inst, "showAnim");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3732 duration = $.datepicker._get(inst, "duration");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3733 inst.dpDiv.zIndex($(input).zIndex()+1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3734 $.datepicker._datepickerShowing = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3735
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3736 if ( $.effects && $.effects.effect[ showAnim ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3737 inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3738 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3739 inst.dpDiv[showAnim || "show"](showAnim ? duration : null);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3740 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3741
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3742 if ( $.datepicker._shouldFocusInput( inst ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3743 inst.input.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3744 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3745
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3746 $.datepicker._curInst = inst;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3747 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3748 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3749
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3750 /* Generate the date picker content. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3751 _updateDatepicker: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3752 this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3753 instActive = inst; // for delegate hover events
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3754 inst.dpDiv.empty().append(this._generateHTML(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3755 this._attachHandlers(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3756 inst.dpDiv.find("." + this._dayOverClass + " a").mouseover();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3757
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3758 var origyearshtml,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3759 numMonths = this._getNumberOfMonths(inst),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3760 cols = numMonths[1],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3761 width = 17;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3762
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3763 inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3764 if (cols > 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3765 inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3766 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3767 inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3768 "Class"]("ui-datepicker-multi");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3769 inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3770 "Class"]("ui-datepicker-rtl");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3771
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3772 if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3773 inst.input.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3774 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3775
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3776 // deffered render of the years select (to avoid flashes on Firefox)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3777 if( inst.yearshtml ){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3778 origyearshtml = inst.yearshtml;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3779 setTimeout(function(){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3780 //assure that inst.yearshtml didn't change.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3781 if( origyearshtml === inst.yearshtml && inst.yearshtml ){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3782 inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3783 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3784 origyearshtml = inst.yearshtml = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3785 }, 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3786 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3787 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3788
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3789 // #6694 - don't focus the input if it's already focused
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3790 // this breaks the change event in IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3791 // Support: IE and jQuery <1.9
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3792 _shouldFocusInput: function( inst ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3793 return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3794 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3795
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3796 /* Check positioning to remain on screen. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3797 _checkOffset: function(inst, offset, isFixed) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3798 var dpWidth = inst.dpDiv.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3799 dpHeight = inst.dpDiv.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3800 inputWidth = inst.input ? inst.input.outerWidth() : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3801 inputHeight = inst.input ? inst.input.outerHeight() : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3802 viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3803 viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3804
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3805 offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3806 offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3807 offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3808
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3809 // now check if datepicker is showing outside window viewport - move to a better place if so.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3810 offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3811 Math.abs(offset.left + dpWidth - viewWidth) : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3812 offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3813 Math.abs(dpHeight + inputHeight) : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3814
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3815 return offset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3816 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3817
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3818 /* Find an object's position on the screen. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3819 _findPos: function(obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3820 var position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3821 inst = this._getInst(obj),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3822 isRTL = this._get(inst, "isRTL");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3824 while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3825 obj = obj[isRTL ? "previousSibling" : "nextSibling"];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3826 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3827
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3828 position = $(obj).offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3829 return [position.left, position.top];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3830 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3831
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3832 /* Hide the date picker from view.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3833 * @param input element - the input field attached to the date picker
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3834 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3835 _hideDatepicker: function(input) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3836 var showAnim, duration, postProcess, onClose,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3837 inst = this._curInst;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3838
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3839 if (!inst || (input && inst !== $.data(input, PROP_NAME))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3840 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3841 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3842
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3843 if (this._datepickerShowing) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3844 showAnim = this._get(inst, "showAnim");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3845 duration = this._get(inst, "duration");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3846 postProcess = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3847 $.datepicker._tidyDialog(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3848 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3849
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3850 // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3851 if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3852 inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3853 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3854 inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3855 (showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3856 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3857
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3858 if (!showAnim) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3859 postProcess();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3860 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3861 this._datepickerShowing = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3862
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3863 onClose = this._get(inst, "onClose");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3864 if (onClose) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3865 onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3866 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3867
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3868 this._lastInput = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3869 if (this._inDialog) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3870 this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3871 if ($.blockUI) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3872 $.unblockUI();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3873 $("body").append(this.dpDiv);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3874 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3875 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3876 this._inDialog = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3877 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3878 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3879
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3880 /* Tidy up after a dialog display. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3881 _tidyDialog: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3882 inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3883 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3884
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3885 /* Close date picker if clicked elsewhere. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3886 _checkExternalClick: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3887 if (!$.datepicker._curInst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3888 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3889 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3890
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3891 var $target = $(event.target),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3892 inst = $.datepicker._getInst($target[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3893
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3894 if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3895 $target.parents("#" + $.datepicker._mainDivId).length === 0 &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3896 !$target.hasClass($.datepicker.markerClassName) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3897 !$target.closest("." + $.datepicker._triggerClass).length &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3898 $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3899 ( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3900 $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3901 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3902 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3903
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3904 /* Adjust one of the date sub-fields. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3905 _adjustDate: function(id, offset, period) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3906 var target = $(id),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3907 inst = this._getInst(target[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3908
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3909 if (this._isDisabledDatepicker(target[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3910 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3911 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3912 this._adjustInstDate(inst, offset +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3913 (period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3914 period);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3915 this._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3916 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3917
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3918 /* Action for current link. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3919 _gotoToday: function(id) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3920 var date,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3921 target = $(id),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3922 inst = this._getInst(target[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3923
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3924 if (this._get(inst, "gotoCurrent") && inst.currentDay) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3925 inst.selectedDay = inst.currentDay;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3926 inst.drawMonth = inst.selectedMonth = inst.currentMonth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3927 inst.drawYear = inst.selectedYear = inst.currentYear;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3928 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3929 date = new Date();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3930 inst.selectedDay = date.getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3931 inst.drawMonth = inst.selectedMonth = date.getMonth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3932 inst.drawYear = inst.selectedYear = date.getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3933 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3934 this._notifyChange(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3935 this._adjustDate(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3936 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3937
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3938 /* Action for selecting a new month/year. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3939 _selectMonthYear: function(id, select, period) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3940 var target = $(id),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3941 inst = this._getInst(target[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3942
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3943 inst["selected" + (period === "M" ? "Month" : "Year")] =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3944 inst["draw" + (period === "M" ? "Month" : "Year")] =
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3945 parseInt(select.options[select.selectedIndex].value,10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3946
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3947 this._notifyChange(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3948 this._adjustDate(target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3949 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3950
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3951 /* Action for selecting a day. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3952 _selectDay: function(id, month, year, td) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3953 var inst,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3954 target = $(id);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3955
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3956 if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3957 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3958 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3959
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3960 inst = this._getInst(target[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3961 inst.selectedDay = inst.currentDay = $("a", td).html();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3962 inst.selectedMonth = inst.currentMonth = month;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3963 inst.selectedYear = inst.currentYear = year;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3964 this._selectDate(id, this._formatDate(inst,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3965 inst.currentDay, inst.currentMonth, inst.currentYear));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3966 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3967
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3968 /* Erase the input field and hide the date picker. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3969 _clearDate: function(id) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3970 var target = $(id);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3971 this._selectDate(target, "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3972 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3973
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3974 /* Update the input field with the selected date. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3975 _selectDate: function(id, dateStr) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3976 var onSelect,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3977 target = $(id),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3978 inst = this._getInst(target[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3979
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3980 dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3981 if (inst.input) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3982 inst.input.val(dateStr);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3983 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3984 this._updateAlternate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3985
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3986 onSelect = this._get(inst, "onSelect");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3987 if (onSelect) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3988 onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3989 } else if (inst.input) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3990 inst.input.trigger("change"); // fire the change event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3991 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3992
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3993 if (inst.inline){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3994 this._updateDatepicker(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3995 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3996 this._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3997 this._lastInput = inst.input[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3998 if (typeof(inst.input[0]) !== "object") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
3999 inst.input.focus(); // restore focus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4000 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4001 this._lastInput = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4002 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4003 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4004
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4005 /* Update any alternate field to synchronise with the main field. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4006 _updateAlternate: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4007 var altFormat, date, dateStr,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4008 altField = this._get(inst, "altField");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4009
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4010 if (altField) { // update alternate field too
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4011 altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4012 date = this._getDate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4013 dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4014 $(altField).each(function() { $(this).val(dateStr); });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4015 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4016 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4017
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4018 /* Set as beforeShowDay function to prevent selection of weekends.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4019 * @param date Date - the date to customise
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4020 * @return [boolean, string] - is this date selectable?, what is its CSS class?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4021 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4022 noWeekends: function(date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4023 var day = date.getDay();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4024 return [(day > 0 && day < 6), ""];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4025 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4026
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4027 /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4028 * @param date Date - the date to get the week for
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4029 * @return number - the number of the week within the year that contains this date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4030 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4031 iso8601Week: function(date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4032 var time,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4033 checkDate = new Date(date.getTime());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4034
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4035 // Find Thursday of this week starting on Monday
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4036 checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4037
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4038 time = checkDate.getTime();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4039 checkDate.setMonth(0); // Compare with Jan 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4040 checkDate.setDate(1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4041 return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4042 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4043
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4044 /* Parse a string value into a date object.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4045 * See formatDate below for the possible formats.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4046 *
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4047 * @param format string - the expected format of the date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4048 * @param value string - the date in the above format
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4049 * @param settings Object - attributes include:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4050 * shortYearCutoff number - the cutoff year for determining the century (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4051 * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4052 * dayNames string[7] - names of the days from Sunday (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4053 * monthNamesShort string[12] - abbreviated names of the months (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4054 * monthNames string[12] - names of the months (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4055 * @return Date - the extracted date value or null if value is blank
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4056 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4057 parseDate: function (format, value, settings) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4058 if (format == null || value == null) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4059 throw "Invalid arguments";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4060 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4061
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4062 value = (typeof value === "object" ? value.toString() : value + "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4063 if (value === "") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4064 return null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4065 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4066
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4067 var iFormat, dim, extra,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4068 iValue = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4069 shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4070 shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4071 new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4072 dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4073 dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4074 monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4075 monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4076 year = -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4077 month = -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4078 day = -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4079 doy = -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4080 literal = false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4081 date,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4082 // Check whether a format character is doubled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4083 lookAhead = function(match) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4084 var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4085 if (matches) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4086 iFormat++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4087 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4088 return matches;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4089 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4090 // Extract a number from the string value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4091 getNumber = function(match) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4092 var isDoubled = lookAhead(match),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4093 size = (match === "@" ? 14 : (match === "!" ? 20 :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4094 (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4095 digits = new RegExp("^\\d{1," + size + "}"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4096 num = value.substring(iValue).match(digits);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4097 if (!num) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4098 throw "Missing number at position " + iValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4099 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4100 iValue += num[0].length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4101 return parseInt(num[0], 10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4102 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4103 // Extract a name from the string value and convert to an index
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4104 getName = function(match, shortNames, longNames) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4105 var index = -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4106 names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4107 return [ [k, v] ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4108 }).sort(function (a, b) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4109 return -(a[1].length - b[1].length);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4110 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4111
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4112 $.each(names, function (i, pair) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4113 var name = pair[1];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4114 if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4115 index = pair[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4116 iValue += name.length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4117 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4118 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4119 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4120 if (index !== -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4121 return index + 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4122 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4123 throw "Unknown name at position " + iValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4124 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4125 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4126 // Confirm that a literal character matches the string value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4127 checkLiteral = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4128 if (value.charAt(iValue) !== format.charAt(iFormat)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4129 throw "Unexpected literal at position " + iValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4130 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4131 iValue++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4132 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4133
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4134 for (iFormat = 0; iFormat < format.length; iFormat++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4135 if (literal) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4136 if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4137 literal = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4138 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4139 checkLiteral();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4140 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4141 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4142 switch (format.charAt(iFormat)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4143 case "d":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4144 day = getNumber("d");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4145 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4146 case "D":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4147 getName("D", dayNamesShort, dayNames);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4148 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4149 case "o":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4150 doy = getNumber("o");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4151 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4152 case "m":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4153 month = getNumber("m");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4154 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4155 case "M":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4156 month = getName("M", monthNamesShort, monthNames);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4157 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4158 case "y":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4159 year = getNumber("y");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4160 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4161 case "@":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4162 date = new Date(getNumber("@"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4163 year = date.getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4164 month = date.getMonth() + 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4165 day = date.getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4166 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4167 case "!":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4168 date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4169 year = date.getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4170 month = date.getMonth() + 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4171 day = date.getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4172 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4173 case "'":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4174 if (lookAhead("'")){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4175 checkLiteral();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4176 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4177 literal = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4178 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4179 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4180 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4181 checkLiteral();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4182 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4183 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4184 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4185
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4186 if (iValue < value.length){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4187 extra = value.substr(iValue);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4188 if (!/^\s+/.test(extra)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4189 throw "Extra/unparsed characters found in date: " + extra;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4190 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4191 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4192
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4193 if (year === -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4194 year = new Date().getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4195 } else if (year < 100) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4196 year += new Date().getFullYear() - new Date().getFullYear() % 100 +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4197 (year <= shortYearCutoff ? 0 : -100);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4198 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4199
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4200 if (doy > -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4201 month = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4202 day = doy;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4203 do {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4204 dim = this._getDaysInMonth(year, month - 1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4205 if (day <= dim) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4206 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4207 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4208 month++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4209 day -= dim;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4210 } while (true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4211 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4212
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4213 date = this._daylightSavingAdjust(new Date(year, month - 1, day));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4214 if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4215 throw "Invalid date"; // E.g. 31/02/00
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4216 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4217 return date;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4218 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4219
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4220 /* Standard date formats. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4221 ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4222 COOKIE: "D, dd M yy",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4223 ISO_8601: "yy-mm-dd",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4224 RFC_822: "D, d M y",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4225 RFC_850: "DD, dd-M-y",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4226 RFC_1036: "D, d M y",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4227 RFC_1123: "D, d M yy",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4228 RFC_2822: "D, d M yy",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4229 RSS: "D, d M y", // RFC 822
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4230 TICKS: "!",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4231 TIMESTAMP: "@",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4232 W3C: "yy-mm-dd", // ISO 8601
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4233
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4234 _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4235 Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4236
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4237 /* Format a date object into a string value.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4238 * The format can be combinations of the following:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4239 * d - day of month (no leading zero)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4240 * dd - day of month (two digit)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4241 * o - day of year (no leading zeros)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4242 * oo - day of year (three digit)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4243 * D - day name short
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4244 * DD - day name long
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4245 * m - month of year (no leading zero)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4246 * mm - month of year (two digit)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4247 * M - month name short
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4248 * MM - month name long
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4249 * y - year (two digit)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4250 * yy - year (four digit)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4251 * @ - Unix timestamp (ms since 01/01/1970)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4252 * ! - Windows ticks (100ns since 01/01/0001)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4253 * "..." - literal text
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4254 * '' - single quote
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4255 *
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4256 * @param format string - the desired format of the date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4257 * @param date Date - the date value to format
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4258 * @param settings Object - attributes include:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4259 * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4260 * dayNames string[7] - names of the days from Sunday (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4261 * monthNamesShort string[12] - abbreviated names of the months (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4262 * monthNames string[12] - names of the months (optional)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4263 * @return string - the date in the above format
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4264 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4265 formatDate: function (format, date, settings) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4266 if (!date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4267 return "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4268 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4269
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4270 var iFormat,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4271 dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4272 dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4273 monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4274 monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4275 // Check whether a format character is doubled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4276 lookAhead = function(match) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4277 var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4278 if (matches) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4279 iFormat++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4280 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4281 return matches;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4282 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4283 // Format a number, with leading zero if necessary
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4284 formatNumber = function(match, value, len) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4285 var num = "" + value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4286 if (lookAhead(match)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4287 while (num.length < len) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4288 num = "0" + num;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4289 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4290 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4291 return num;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4292 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4293 // Format a name, short or long as requested
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4294 formatName = function(match, value, shortNames, longNames) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4295 return (lookAhead(match) ? longNames[value] : shortNames[value]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4296 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4297 output = "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4298 literal = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4299
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4300 if (date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4301 for (iFormat = 0; iFormat < format.length; iFormat++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4302 if (literal) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4303 if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4304 literal = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4305 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4306 output += format.charAt(iFormat);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4307 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4308 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4309 switch (format.charAt(iFormat)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4310 case "d":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4311 output += formatNumber("d", date.getDate(), 2);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4312 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4313 case "D":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4314 output += formatName("D", date.getDay(), dayNamesShort, dayNames);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4315 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4316 case "o":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4317 output += formatNumber("o",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4318 Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4319 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4320 case "m":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4321 output += formatNumber("m", date.getMonth() + 1, 2);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4322 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4323 case "M":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4324 output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4325 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4326 case "y":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4327 output += (lookAhead("y") ? date.getFullYear() :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4328 (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4329 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4330 case "@":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4331 output += date.getTime();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4332 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4333 case "!":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4334 output += date.getTime() * 10000 + this._ticksTo1970;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4335 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4336 case "'":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4337 if (lookAhead("'")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4338 output += "'";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4339 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4340 literal = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4341 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4342 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4343 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4344 output += format.charAt(iFormat);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4345 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4346 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4347 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4348 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4349 return output;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4350 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4351
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4352 /* Extract all possible characters from the date format. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4353 _possibleChars: function (format) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4354 var iFormat,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4355 chars = "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4356 literal = false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4357 // Check whether a format character is doubled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4358 lookAhead = function(match) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4359 var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4360 if (matches) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4361 iFormat++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4362 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4363 return matches;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4364 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4365
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4366 for (iFormat = 0; iFormat < format.length; iFormat++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4367 if (literal) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4368 if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4369 literal = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4370 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4371 chars += format.charAt(iFormat);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4372 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4373 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4374 switch (format.charAt(iFormat)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4375 case "d": case "m": case "y": case "@":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4376 chars += "0123456789";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4377 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4378 case "D": case "M":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4379 return null; // Accept anything
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4380 case "'":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4381 if (lookAhead("'")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4382 chars += "'";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4383 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4384 literal = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4385 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4386 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4387 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4388 chars += format.charAt(iFormat);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4389 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4390 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4391 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4392 return chars;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4393 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4394
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4395 /* Get a setting value, defaulting if necessary. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4396 _get: function(inst, name) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4397 return inst.settings[name] !== undefined ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4398 inst.settings[name] : this._defaults[name];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4399 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4400
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4401 /* Parse existing date and initialise date picker. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4402 _setDateFromField: function(inst, noDefault) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4403 if (inst.input.val() === inst.lastVal) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4404 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4405 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4406
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4407 var dateFormat = this._get(inst, "dateFormat"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4408 dates = inst.lastVal = inst.input ? inst.input.val() : null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4409 defaultDate = this._getDefaultDate(inst),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4410 date = defaultDate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4411 settings = this._getFormatConfig(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4412
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4413 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4414 date = this.parseDate(dateFormat, dates, settings) || defaultDate;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4415 } catch (event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4416 dates = (noDefault ? "" : dates);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4417 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4418 inst.selectedDay = date.getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4419 inst.drawMonth = inst.selectedMonth = date.getMonth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4420 inst.drawYear = inst.selectedYear = date.getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4421 inst.currentDay = (dates ? date.getDate() : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4422 inst.currentMonth = (dates ? date.getMonth() : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4423 inst.currentYear = (dates ? date.getFullYear() : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4424 this._adjustInstDate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4425 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4426
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4427 /* Retrieve the default date shown on opening. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4428 _getDefaultDate: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4429 return this._restrictMinMax(inst,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4430 this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4431 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4432
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4433 /* A date may be specified as an exact value or a relative one. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4434 _determineDate: function(inst, date, defaultDate) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4435 var offsetNumeric = function(offset) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4436 var date = new Date();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4437 date.setDate(date.getDate() + offset);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4438 return date;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4439 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4440 offsetString = function(offset) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4441 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4442 return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4443 offset, $.datepicker._getFormatConfig(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4444 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4445 catch (e) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4446 // Ignore
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4447 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4448
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4449 var date = (offset.toLowerCase().match(/^c/) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4450 $.datepicker._getDate(inst) : null) || new Date(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4451 year = date.getFullYear(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4452 month = date.getMonth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4453 day = date.getDate(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4454 pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4455 matches = pattern.exec(offset);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4456
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4457 while (matches) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4458 switch (matches[2] || "d") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4459 case "d" : case "D" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4460 day += parseInt(matches[1],10); break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4461 case "w" : case "W" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4462 day += parseInt(matches[1],10) * 7; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4463 case "m" : case "M" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4464 month += parseInt(matches[1],10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4465 day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4466 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4467 case "y": case "Y" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4468 year += parseInt(matches[1],10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4469 day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4470 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4471 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4472 matches = pattern.exec(offset);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4473 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4474 return new Date(year, month, day);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4475 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4476 newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4477 (typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4478
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4479 newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4480 if (newDate) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4481 newDate.setHours(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4482 newDate.setMinutes(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4483 newDate.setSeconds(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4484 newDate.setMilliseconds(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4485 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4486 return this._daylightSavingAdjust(newDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4487 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4488
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4489 /* Handle switch to/from daylight saving.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4490 * Hours may be non-zero on daylight saving cut-over:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4491 * > 12 when midnight changeover, but then cannot generate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4492 * midnight datetime, so jump to 1AM, otherwise reset.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4493 * @param date (Date) the date to check
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4494 * @return (Date) the corrected date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4495 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4496 _daylightSavingAdjust: function(date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4497 if (!date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4498 return null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4499 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4500 date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4501 return date;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4502 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4503
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4504 /* Set the date(s) directly. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4505 _setDate: function(inst, date, noChange) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4506 var clear = !date,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4507 origMonth = inst.selectedMonth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4508 origYear = inst.selectedYear,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4509 newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4510
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4511 inst.selectedDay = inst.currentDay = newDate.getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4512 inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4513 inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4514 if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4515 this._notifyChange(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4516 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4517 this._adjustInstDate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4518 if (inst.input) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4519 inst.input.val(clear ? "" : this._formatDate(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4520 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4521 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4522
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4523 /* Retrieve the date(s) directly. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4524 _getDate: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4525 var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4526 this._daylightSavingAdjust(new Date(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4527 inst.currentYear, inst.currentMonth, inst.currentDay)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4528 return startDate;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4529 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4530
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4531 /* Attach the onxxx handlers. These are declared statically so
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4532 * they work with static code transformers like Caja.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4533 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4534 _attachHandlers: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4535 var stepMonths = this._get(inst, "stepMonths"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4536 id = "#" + inst.id.replace( /\\\\/g, "\\" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4537 inst.dpDiv.find("[data-handler]").map(function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4538 var handler = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4539 prev: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4540 $.datepicker._adjustDate(id, -stepMonths, "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4541 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4542 next: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4543 $.datepicker._adjustDate(id, +stepMonths, "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4544 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4545 hide: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4546 $.datepicker._hideDatepicker();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4547 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4548 today: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4549 $.datepicker._gotoToday(id);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4550 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4551 selectDay: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4552 $.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4553 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4554 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4555 selectMonth: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4556 $.datepicker._selectMonthYear(id, this, "M");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4557 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4558 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4559 selectYear: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4560 $.datepicker._selectMonthYear(id, this, "Y");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4561 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4562 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4563 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4564 $(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4565 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4566 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4567
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4568 /* Generate the HTML for the current state of the date picker. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4569 _generateHTML: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4570 var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4571 controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4572 monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4573 selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4574 cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4575 printDate, dRow, tbody, daySettings, otherMonth, unselectable,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4576 tempDate = new Date(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4577 today = this._daylightSavingAdjust(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4578 new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4579 isRTL = this._get(inst, "isRTL"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4580 showButtonPanel = this._get(inst, "showButtonPanel"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4581 hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4582 navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4583 numMonths = this._getNumberOfMonths(inst),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4584 showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4585 stepMonths = this._get(inst, "stepMonths"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4586 isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4587 currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4588 new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4589 minDate = this._getMinMaxDate(inst, "min"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4590 maxDate = this._getMinMaxDate(inst, "max"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4591 drawMonth = inst.drawMonth - showCurrentAtPos,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4592 drawYear = inst.drawYear;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4593
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4594 if (drawMonth < 0) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4595 drawMonth += 12;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4596 drawYear--;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4597 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4598 if (maxDate) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4599 maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4600 maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4601 maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4602 while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4603 drawMonth--;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4604 if (drawMonth < 0) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4605 drawMonth = 11;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4606 drawYear--;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4607 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4608 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4609 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4610 inst.drawMonth = drawMonth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4611 inst.drawYear = drawYear;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4612
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4613 prevText = this._get(inst, "prevText");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4614 prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4615 this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4616 this._getFormatConfig(inst)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4617
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4618 prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4619 "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4620 " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4621 (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>"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4622
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4623 nextText = this._get(inst, "nextText");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4624 nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4625 this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4626 this._getFormatConfig(inst)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4627
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4628 next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4629 "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4630 " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4631 (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>"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4632
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4633 currentText = this._get(inst, "currentText");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4634 gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4635 currentText = (!navigationAsDateFormat ? currentText :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4636 this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4637
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4638 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'>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4639 this._get(inst, "closeText") + "</button>" : "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4640
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4641 buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4642 (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'" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4643 ">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4644
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4645 firstDay = parseInt(this._get(inst, "firstDay"),10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4646 firstDay = (isNaN(firstDay) ? 0 : firstDay);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4647
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4648 showWeek = this._get(inst, "showWeek");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4649 dayNames = this._get(inst, "dayNames");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4650 dayNamesMin = this._get(inst, "dayNamesMin");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4651 monthNames = this._get(inst, "monthNames");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4652 monthNamesShort = this._get(inst, "monthNamesShort");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4653 beforeShowDay = this._get(inst, "beforeShowDay");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4654 showOtherMonths = this._get(inst, "showOtherMonths");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4655 selectOtherMonths = this._get(inst, "selectOtherMonths");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4656 defaultDate = this._getDefaultDate(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4657 html = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4658 dow;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4659 for (row = 0; row < numMonths[0]; row++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4660 group = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4661 this.maxRows = 4;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4662 for (col = 0; col < numMonths[1]; col++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4663 selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4664 cornerClass = " ui-corner-all";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4665 calender = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4666 if (isMultiMonth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4667 calender += "<div class='ui-datepicker-group";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4668 if (numMonths[1] > 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4669 switch (col) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4670 case 0: calender += " ui-datepicker-group-first";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4671 cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4672 case numMonths[1]-1: calender += " ui-datepicker-group-last";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4673 cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4674 default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4675 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4676 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4677 calender += "'>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4678 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4679 calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4680 (/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4681 (/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4682 this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4683 row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4684 "</div><table class='ui-datepicker-calendar'><thead>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4685 "<tr>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4686 thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4687 for (dow = 0; dow < 7; dow++) { // days of the week
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4688 day = (dow + firstDay) % 7;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4689 thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4690 "<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4691 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4692 calender += thead + "</tr></thead><tbody>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4693 daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4694 if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4695 inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4696 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4697 leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4698 curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4699 numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4700 this.maxRows = numRows;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4701 printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4702 for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4703 calender += "<tr>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4704 tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4705 this._get(inst, "calculateWeek")(printDate) + "</td>");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4706 for (dow = 0; dow < 7; dow++) { // create date picker days
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4707 daySettings = (beforeShowDay ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4708 beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4709 otherMonth = (printDate.getMonth() !== drawMonth);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4710 unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4711 (minDate && printDate < minDate) || (maxDate && printDate > maxDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4712 tbody += "<td class='" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4713 ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4714 (otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4715 ((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4716 (defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4717 // or defaultDate is current printedDate and defaultDate is selectedDate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4718 " " + this._dayOverClass : "") + // highlight selected day
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4719 (unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") + // highlight unselectable days
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4720 (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4721 (printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4722 (printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4723 ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "&#39;") + "'" : "") + // cell title
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4724 (unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4725 (otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4726 (unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4727 (printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4728 (printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4729 (otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4730 "' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4731 printDate.setDate(printDate.getDate() + 1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4732 printDate = this._daylightSavingAdjust(printDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4733 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4734 calender += tbody + "</tr>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4735 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4736 drawMonth++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4737 if (drawMonth > 11) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4738 drawMonth = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4739 drawYear++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4740 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4741 calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4742 ((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4743 group += calender;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4744 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4745 html += group;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4746 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4747 html += buttonPanel;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4748 inst._keyEvent = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4749 return html;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4750 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4751
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4752 /* Generate the month and year header. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4753 _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4754 secondary, monthNames, monthNamesShort) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4755
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4756 var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4757 changeMonth = this._get(inst, "changeMonth"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4758 changeYear = this._get(inst, "changeYear"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4759 showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4760 html = "<div class='ui-datepicker-title'>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4761 monthHtml = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4762
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4763 // month selection
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4764 if (secondary || !changeMonth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4765 monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4766 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4767 inMinYear = (minDate && minDate.getFullYear() === drawYear);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4768 inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4769 monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4770 for ( month = 0; month < 12; month++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4771 if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4772 monthHtml += "<option value='" + month + "'" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4773 (month === drawMonth ? " selected='selected'" : "") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4774 ">" + monthNamesShort[month] + "</option>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4775 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4776 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4777 monthHtml += "</select>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4778 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4779
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4780 if (!showMonthAfterYear) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4781 html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4782 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4783
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4784 // year selection
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4785 if ( !inst.yearshtml ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4786 inst.yearshtml = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4787 if (secondary || !changeYear) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4788 html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4789 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4790 // determine range of years to display
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4791 years = this._get(inst, "yearRange").split(":");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4792 thisYear = new Date().getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4793 determineYear = function(value) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4794 var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4795 (value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4796 parseInt(value, 10)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4797 return (isNaN(year) ? thisYear : year);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4798 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4799 year = determineYear(years[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4800 endYear = Math.max(year, determineYear(years[1] || ""));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4801 year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4802 endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4803 inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4804 for (; year <= endYear; year++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4805 inst.yearshtml += "<option value='" + year + "'" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4806 (year === drawYear ? " selected='selected'" : "") +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4807 ">" + year + "</option>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4808 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4809 inst.yearshtml += "</select>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4810
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4811 html += inst.yearshtml;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4812 inst.yearshtml = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4813 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4814 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4815
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4816 html += this._get(inst, "yearSuffix");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4817 if (showMonthAfterYear) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4818 html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4819 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4820 html += "</div>"; // Close datepicker_header
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4821 return html;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4822 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4824 /* Adjust one of the date sub-fields. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4825 _adjustInstDate: function(inst, offset, period) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4826 var year = inst.drawYear + (period === "Y" ? offset : 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4827 month = inst.drawMonth + (period === "M" ? offset : 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4828 day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4829 date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4830
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4831 inst.selectedDay = date.getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4832 inst.drawMonth = inst.selectedMonth = date.getMonth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4833 inst.drawYear = inst.selectedYear = date.getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4834 if (period === "M" || period === "Y") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4835 this._notifyChange(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4836 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4837 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4838
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4839 /* Ensure a date is within any min/max bounds. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4840 _restrictMinMax: function(inst, date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4841 var minDate = this._getMinMaxDate(inst, "min"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4842 maxDate = this._getMinMaxDate(inst, "max"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4843 newDate = (minDate && date < minDate ? minDate : date);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4844 return (maxDate && newDate > maxDate ? maxDate : newDate);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4845 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4846
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4847 /* Notify change of month/year. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4848 _notifyChange: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4849 var onChange = this._get(inst, "onChangeMonthYear");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4850 if (onChange) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4851 onChange.apply((inst.input ? inst.input[0] : null),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4852 [inst.selectedYear, inst.selectedMonth + 1, inst]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4853 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4854 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4855
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4856 /* Determine the number of months to show. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4857 _getNumberOfMonths: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4858 var numMonths = this._get(inst, "numberOfMonths");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4859 return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4860 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4861
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4862 /* Determine the current maximum date - ensure no time components are set. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4863 _getMinMaxDate: function(inst, minMax) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4864 return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4865 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4866
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4867 /* Find the number of days in a given month. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4868 _getDaysInMonth: function(year, month) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4869 return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4870 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4871
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4872 /* Find the day of the week of the first of a month. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4873 _getFirstDayOfMonth: function(year, month) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4874 return new Date(year, month, 1).getDay();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4875 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4876
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4877 /* Determines if we should allow a "next/prev" month display change. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4878 _canAdjustMonth: function(inst, offset, curYear, curMonth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4879 var numMonths = this._getNumberOfMonths(inst),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4880 date = this._daylightSavingAdjust(new Date(curYear,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4881 curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4882
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4883 if (offset < 0) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4884 date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4885 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4886 return this._isInRange(inst, date);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4887 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4888
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4889 /* Is the given date in the accepted range? */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4890 _isInRange: function(inst, date) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4891 var yearSplit, currentYear,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4892 minDate = this._getMinMaxDate(inst, "min"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4893 maxDate = this._getMinMaxDate(inst, "max"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4894 minYear = null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4895 maxYear = null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4896 years = this._get(inst, "yearRange");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4897 if (years){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4898 yearSplit = years.split(":");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4899 currentYear = new Date().getFullYear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4900 minYear = parseInt(yearSplit[0], 10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4901 maxYear = parseInt(yearSplit[1], 10);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4902 if ( yearSplit[0].match(/[+\-].*/) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4903 minYear += currentYear;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4904 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4905 if ( yearSplit[1].match(/[+\-].*/) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4906 maxYear += currentYear;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4907 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4908 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4909
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4910 return ((!minDate || date.getTime() >= minDate.getTime()) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4911 (!maxDate || date.getTime() <= maxDate.getTime()) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4912 (!minYear || date.getFullYear() >= minYear) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4913 (!maxYear || date.getFullYear() <= maxYear));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4914 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4915
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4916 /* Provide the configuration settings for formatting/parsing. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4917 _getFormatConfig: function(inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4918 var shortYearCutoff = this._get(inst, "shortYearCutoff");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4919 shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4920 new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4921 return {shortYearCutoff: shortYearCutoff,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4922 dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4923 monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4924 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4925
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4926 /* Format the given date for display. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4927 _formatDate: function(inst, day, month, year) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4928 if (!day) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4929 inst.currentDay = inst.selectedDay;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4930 inst.currentMonth = inst.selectedMonth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4931 inst.currentYear = inst.selectedYear;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4932 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4933 var date = (day ? (typeof day === "object" ? day :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4934 this._daylightSavingAdjust(new Date(year, month, day))) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4935 this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4936 return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4937 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4938 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4939
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4940 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4941 * Bind hover events for datepicker elements.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4942 * Done via delegate so the binding only occurs once in the lifetime of the parent div.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4943 * Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4944 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4945 function bindHover(dpDiv) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4946 var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4947 return dpDiv.delegate(selector, "mouseout", function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4948 $(this).removeClass("ui-state-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4949 if (this.className.indexOf("ui-datepicker-prev") !== -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4950 $(this).removeClass("ui-datepicker-prev-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4951 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4952 if (this.className.indexOf("ui-datepicker-next") !== -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4953 $(this).removeClass("ui-datepicker-next-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4954 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4955 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4956 .delegate(selector, "mouseover", function(){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4957 if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4958 $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4959 $(this).addClass("ui-state-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4960 if (this.className.indexOf("ui-datepicker-prev") !== -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4961 $(this).addClass("ui-datepicker-prev-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4962 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4963 if (this.className.indexOf("ui-datepicker-next") !== -1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4964 $(this).addClass("ui-datepicker-next-hover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4965 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4966 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4967 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4968 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4969
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4970 /* jQuery extend now ignores nulls! */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4971 function extendRemove(target, props) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4972 $.extend(target, props);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4973 for (var name in props) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4974 if (props[name] == null) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4975 target[name] = props[name];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4976 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4977 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4978 return target;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4979 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4980
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4981 /* Invoke the datepicker functionality.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4982 @param options string - a command, optionally followed by additional parameters or
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4983 Object - settings for attaching new datepicker functionality
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4984 @return jQuery object */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4985 $.fn.datepicker = function(options){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4986
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4987 /* Verify an empty collection wasn't passed - Fixes #6976 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4988 if ( !this.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4989 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4990 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4991
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4992 /* Initialise the date picker. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4993 if (!$.datepicker.initialized) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4994 $(document).mousedown($.datepicker._checkExternalClick);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4995 $.datepicker.initialized = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4996 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4997
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4998 /* Append datepicker main container to body if not exist. */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
4999 if ($("#"+$.datepicker._mainDivId).length === 0) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5000 $("body").append($.datepicker.dpDiv);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5001 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5002
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5003 var otherArgs = Array.prototype.slice.call(arguments, 1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5004 if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5005 return $.datepicker["_" + options + "Datepicker"].
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5006 apply($.datepicker, [this[0]].concat(otherArgs));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5007 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5008 if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5009 return $.datepicker["_" + options + "Datepicker"].
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5010 apply($.datepicker, [this[0]].concat(otherArgs));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5011 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5012 return this.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5013 typeof options === "string" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5014 $.datepicker["_" + options + "Datepicker"].
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5015 apply($.datepicker, [this].concat(otherArgs)) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5016 $.datepicker._attachDatepicker(this, options);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5017 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5018 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5019
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5020 $.datepicker = new Datepicker(); // singleton instance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5021 $.datepicker.initialized = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5022 $.datepicker.uuid = new Date().getTime();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5023 $.datepicker.version = "1.10.4";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5024
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5025 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5026 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5027
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5028 var sizeRelatedOptions = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5029 buttons: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5030 height: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5031 maxHeight: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5032 maxWidth: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5033 minHeight: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5034 minWidth: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5035 width: true
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5036 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5037 resizableRelatedOptions = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5038 maxHeight: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5039 maxWidth: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5040 minHeight: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5041 minWidth: true
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5042 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5043
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5044 $.widget( "ui.dialog", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5045 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5046 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5047 appendTo: "body",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5048 autoOpen: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5049 buttons: [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5050 closeOnEscape: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5051 closeText: "close",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5052 dialogClass: "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5053 draggable: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5054 hide: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5055 height: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5056 maxHeight: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5057 maxWidth: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5058 minHeight: 150,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5059 minWidth: 150,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5060 modal: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5061 position: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5062 my: "center",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5063 at: "center",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5064 of: window,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5065 collision: "fit",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5066 // Ensure the titlebar is always visible
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5067 using: function( pos ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5068 var topOffset = $( this ).css( pos ).offset().top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5069 if ( topOffset < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5070 $( this ).css( "top", pos.top - topOffset );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5071 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5072 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5073 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5074 resizable: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5075 show: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5076 title: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5077 width: 300,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5078
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5079 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5080 beforeClose: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5081 close: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5082 drag: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5083 dragStart: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5084 dragStop: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5085 focus: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5086 open: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5087 resize: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5088 resizeStart: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5089 resizeStop: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5090 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5091
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5092 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5093 this.originalCss = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5094 display: this.element[0].style.display,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5095 width: this.element[0].style.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5096 minHeight: this.element[0].style.minHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5097 maxHeight: this.element[0].style.maxHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5098 height: this.element[0].style.height
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5099 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5100 this.originalPosition = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5101 parent: this.element.parent(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5102 index: this.element.parent().children().index( this.element )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5103 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5104 this.originalTitle = this.element.attr("title");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5105 this.options.title = this.options.title || this.originalTitle;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5106
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5107 this._createWrapper();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5108
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5109 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5110 .show()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5111 .removeAttr("title")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5112 .addClass("ui-dialog-content ui-widget-content")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5113 .appendTo( this.uiDialog );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5114
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5115 this._createTitlebar();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5116 this._createButtonPane();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5117
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5118 if ( this.options.draggable && $.fn.draggable ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5119 this._makeDraggable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5120 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5121 if ( this.options.resizable && $.fn.resizable ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5122 this._makeResizable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5123 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5124
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5125 this._isOpen = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5126 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5127
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5128 _init: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5129 if ( this.options.autoOpen ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5130 this.open();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5131 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5132 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5133
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5134 _appendTo: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5135 var element = this.options.appendTo;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5136 if ( element && (element.jquery || element.nodeType) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5137 return $( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5138 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5139 return this.document.find( element || "body" ).eq( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5140 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5141
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5142 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5143 var next,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5144 originalPosition = this.originalPosition;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5145
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5146 this._destroyOverlay();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5147
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5148 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5149 .removeUniqueId()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5150 .removeClass("ui-dialog-content ui-widget-content")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5151 .css( this.originalCss )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5152 // Without detaching first, the following becomes really slow
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5153 .detach();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5154
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5155 this.uiDialog.stop( true, true ).remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5156
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5157 if ( this.originalTitle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5158 this.element.attr( "title", this.originalTitle );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5159 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5160
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5161 next = originalPosition.parent.children().eq( originalPosition.index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5162 // Don't try to place the dialog next to itself (#8613)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5163 if ( next.length && next[0] !== this.element[0] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5164 next.before( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5165 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5166 originalPosition.parent.append( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5167 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5168 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5169
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5170 widget: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5171 return this.uiDialog;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5172 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5173
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5174 disable: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5175 enable: $.noop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5176
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5177 close: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5178 var activeElement,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5179 that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5180
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5181 if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5182 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5183 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5184
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5185 this._isOpen = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5186 this._destroyOverlay();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5187
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5188 if ( !this.opener.filter(":focusable").focus().length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5189
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5190 // support: IE9
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5191 // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5192 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5193 activeElement = this.document[ 0 ].activeElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5194
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5195 // Support: IE9, IE10
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5196 // If the <body> is blurred, IE will switch windows, see #4520
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5197 if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5198
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5199 // Hiding a focused element doesn't trigger blur in WebKit
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5200 // so in case we have nothing to focus on, explicitly blur the active element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5201 // https://bugs.webkit.org/show_bug.cgi?id=47182
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5202 $( activeElement ).blur();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5203 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5204 } catch ( error ) {}
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5205 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5206
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5207 this._hide( this.uiDialog, this.options.hide, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5208 that._trigger( "close", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5209 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5210 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5211
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5212 isOpen: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5213 return this._isOpen;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5214 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5215
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5216 moveToTop: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5217 this._moveToTop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5218 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5219
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5220 _moveToTop: function( event, silent ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5221 var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5222 if ( moved && !silent ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5223 this._trigger( "focus", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5224 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5225 return moved;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5226 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5227
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5228 open: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5229 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5230 if ( this._isOpen ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5231 if ( this._moveToTop() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5232 this._focusTabbable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5233 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5234 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5235 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5236
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5237 this._isOpen = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5238 this.opener = $( this.document[0].activeElement );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5239
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5240 this._size();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5241 this._position();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5242 this._createOverlay();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5243 this._moveToTop( null, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5244 this._show( this.uiDialog, this.options.show, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5245 that._focusTabbable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5246 that._trigger("focus");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5247 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5248
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5249 this._trigger("open");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5250 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5251
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5252 _focusTabbable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5253 // Set focus to the first match:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5254 // 1. First element inside the dialog matching [autofocus]
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5255 // 2. Tabbable element inside the content element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5256 // 3. Tabbable element inside the buttonpane
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5257 // 4. The close button
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5258 // 5. The dialog itself
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5259 var hasFocus = this.element.find("[autofocus]");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5260 if ( !hasFocus.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5261 hasFocus = this.element.find(":tabbable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5262 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5263 if ( !hasFocus.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5264 hasFocus = this.uiDialogButtonPane.find(":tabbable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5265 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5266 if ( !hasFocus.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5267 hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5268 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5269 if ( !hasFocus.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5270 hasFocus = this.uiDialog;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5271 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5272 hasFocus.eq( 0 ).focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5273 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5274
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5275 _keepFocus: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5276 function checkFocus() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5277 var activeElement = this.document[0].activeElement,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5278 isActive = this.uiDialog[0] === activeElement ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5279 $.contains( this.uiDialog[0], activeElement );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5280 if ( !isActive ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5281 this._focusTabbable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5282 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5283 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5284 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5285 checkFocus.call( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5286 // support: IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5287 // IE <= 8 doesn't prevent moving focus even with event.preventDefault()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5288 // so we check again later
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5289 this._delay( checkFocus );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5290 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5291
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5292 _createWrapper: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5293 this.uiDialog = $("<div>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5294 .addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5295 this.options.dialogClass )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5296 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5297 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5298 // Setting tabIndex makes the div focusable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5299 tabIndex: -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5300 role: "dialog"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5301 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5302 .appendTo( this._appendTo() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5303
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5304 this._on( this.uiDialog, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5305 keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5306 if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5307 event.keyCode === $.ui.keyCode.ESCAPE ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5308 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5309 this.close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5310 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5311 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5312
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5313 // prevent tabbing out of dialogs
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5314 if ( event.keyCode !== $.ui.keyCode.TAB ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5315 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5316 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5317 var tabbables = this.uiDialog.find(":tabbable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5318 first = tabbables.filter(":first"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5319 last = tabbables.filter(":last");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5320
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5321 if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5322 first.focus( 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5323 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5324 } else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5325 last.focus( 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5326 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5327 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5328 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5329 mousedown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5330 if ( this._moveToTop( event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5331 this._focusTabbable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5332 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5333 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5334 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5335
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5336 // We assume that any existing aria-describedby attribute means
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5337 // that the dialog content is marked up properly
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5338 // otherwise we brute force the content as the description
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5339 if ( !this.element.find("[aria-describedby]").length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5340 this.uiDialog.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5341 "aria-describedby": this.element.uniqueId().attr("id")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5342 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5343 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5344 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5345
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5346 _createTitlebar: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5347 var uiDialogTitle;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5348
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5349 this.uiDialogTitlebar = $("<div>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5350 .addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5351 .prependTo( this.uiDialog );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5352 this._on( this.uiDialogTitlebar, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5353 mousedown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5354 // Don't prevent click on close button (#8838)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5355 // Focusing a dialog that is partially scrolled out of view
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5356 // causes the browser to scroll it into view, preventing the click event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5357 if ( !$( event.target ).closest(".ui-dialog-titlebar-close") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5358 // Dialog isn't getting focus when dragging (#8063)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5359 this.uiDialog.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5360 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5361 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5362 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5363
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5364 // support: IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5365 // Use type="button" to prevent enter keypresses in textboxes from closing the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5366 // dialog in IE (#9312)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5367 this.uiDialogTitlebarClose = $( "<button type='button'></button>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5368 .button({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5369 label: this.options.closeText,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5370 icons: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5371 primary: "ui-icon-closethick"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5372 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5373 text: false
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5374 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5375 .addClass("ui-dialog-titlebar-close")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5376 .appendTo( this.uiDialogTitlebar );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5377 this._on( this.uiDialogTitlebarClose, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5378 click: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5379 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5380 this.close( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5381 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5382 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5383
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5384 uiDialogTitle = $("<span>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5385 .uniqueId()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5386 .addClass("ui-dialog-title")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5387 .prependTo( this.uiDialogTitlebar );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5388 this._title( uiDialogTitle );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5389
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5390 this.uiDialog.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5391 "aria-labelledby": uiDialogTitle.attr("id")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5392 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5393 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5394
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5395 _title: function( title ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5396 if ( !this.options.title ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5397 title.html("&#160;");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5398 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5399 title.text( this.options.title );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5400 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5401
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5402 _createButtonPane: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5403 this.uiDialogButtonPane = $("<div>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5404 .addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5405
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5406 this.uiButtonSet = $("<div>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5407 .addClass("ui-dialog-buttonset")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5408 .appendTo( this.uiDialogButtonPane );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5409
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5410 this._createButtons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5411 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5412
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5413 _createButtons: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5414 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5415 buttons = this.options.buttons;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5416
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5417 // if we already have a button pane, remove it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5418 this.uiDialogButtonPane.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5419 this.uiButtonSet.empty();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5420
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5421 if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5422 this.uiDialog.removeClass("ui-dialog-buttons");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5423 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5424 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5425
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5426 $.each( buttons, function( name, props ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5427 var click, buttonOptions;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5428 props = $.isFunction( props ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5429 { click: props, text: name } :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5430 props;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5431 // Default to a non-submitting button
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5432 props = $.extend( { type: "button" }, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5433 // Change the context for the click callback to be the main element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5434 click = props.click;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5435 props.click = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5436 click.apply( that.element[0], arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5437 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5438 buttonOptions = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5439 icons: props.icons,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5440 text: props.showText
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5441 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5442 delete props.icons;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5443 delete props.showText;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5444 $( "<button></button>", props )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5445 .button( buttonOptions )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5446 .appendTo( that.uiButtonSet );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5447 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5448 this.uiDialog.addClass("ui-dialog-buttons");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5449 this.uiDialogButtonPane.appendTo( this.uiDialog );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5450 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5451
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5452 _makeDraggable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5453 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5454 options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5455
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5456 function filteredUi( ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5457 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5458 position: ui.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5459 offset: ui.offset
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5460 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5461 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5462
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5463 this.uiDialog.draggable({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5464 cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5465 handle: ".ui-dialog-titlebar",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5466 containment: "document",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5467 start: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5468 $( this ).addClass("ui-dialog-dragging");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5469 that._blockFrames();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5470 that._trigger( "dragStart", event, filteredUi( ui ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5471 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5472 drag: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5473 that._trigger( "drag", event, filteredUi( ui ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5474 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5475 stop: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5476 options.position = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5477 ui.position.left - that.document.scrollLeft(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5478 ui.position.top - that.document.scrollTop()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5479 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5480 $( this ).removeClass("ui-dialog-dragging");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5481 that._unblockFrames();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5482 that._trigger( "dragStop", event, filteredUi( ui ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5483 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5484 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5485 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5486
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5487 _makeResizable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5488 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5489 options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5490 handles = options.resizable,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5491 // .ui-resizable has position: relative defined in the stylesheet
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5492 // but dialogs have to use absolute or fixed positioning
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5493 position = this.uiDialog.css("position"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5494 resizeHandles = typeof handles === "string" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5495 handles :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5496 "n,e,s,w,se,sw,ne,nw";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5497
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5498 function filteredUi( ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5499 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5500 originalPosition: ui.originalPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5501 originalSize: ui.originalSize,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5502 position: ui.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5503 size: ui.size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5504 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5505 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5506
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5507 this.uiDialog.resizable({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5508 cancel: ".ui-dialog-content",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5509 containment: "document",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5510 alsoResize: this.element,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5511 maxWidth: options.maxWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5512 maxHeight: options.maxHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5513 minWidth: options.minWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5514 minHeight: this._minHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5515 handles: resizeHandles,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5516 start: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5517 $( this ).addClass("ui-dialog-resizing");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5518 that._blockFrames();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5519 that._trigger( "resizeStart", event, filteredUi( ui ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5520 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5521 resize: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5522 that._trigger( "resize", event, filteredUi( ui ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5523 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5524 stop: function( event, ui ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5525 options.height = $( this ).height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5526 options.width = $( this ).width();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5527 $( this ).removeClass("ui-dialog-resizing");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5528 that._unblockFrames();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5529 that._trigger( "resizeStop", event, filteredUi( ui ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5530 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5531 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5532 .css( "position", position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5533 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5535 _minHeight: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5536 var options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5537
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5538 return options.height === "auto" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5539 options.minHeight :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5540 Math.min( options.minHeight, options.height );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5541 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5542
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5543 _position: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5544 // Need to show the dialog to get the actual offset in the position plugin
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5545 var isVisible = this.uiDialog.is(":visible");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5546 if ( !isVisible ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5547 this.uiDialog.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5548 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5549 this.uiDialog.position( this.options.position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5550 if ( !isVisible ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5551 this.uiDialog.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5552 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5553 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5554
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5555 _setOptions: function( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5556 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5557 resize = false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5558 resizableOptions = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5559
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5560 $.each( options, function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5561 that._setOption( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5562
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5563 if ( key in sizeRelatedOptions ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5564 resize = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5565 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5566 if ( key in resizableRelatedOptions ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5567 resizableOptions[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5568 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5569 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5570
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5571 if ( resize ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5572 this._size();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5573 this._position();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5574 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5575 if ( this.uiDialog.is(":data(ui-resizable)") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5576 this.uiDialog.resizable( "option", resizableOptions );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5577 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5578 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5579
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5580 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5581 var isDraggable, isResizable,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5582 uiDialog = this.uiDialog;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5583
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5584 if ( key === "dialogClass" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5585 uiDialog
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5586 .removeClass( this.options.dialogClass )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5587 .addClass( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5588 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5589
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5590 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5591 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5592 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5593
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5594 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5596 if ( key === "appendTo" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5597 this.uiDialog.appendTo( this._appendTo() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5598 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5599
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5600 if ( key === "buttons" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5601 this._createButtons();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5602 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5603
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5604 if ( key === "closeText" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5605 this.uiDialogTitlebarClose.button({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5606 // Ensure that we always pass a string
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5607 label: "" + value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5608 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5609 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5610
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5611 if ( key === "draggable" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5612 isDraggable = uiDialog.is(":data(ui-draggable)");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5613 if ( isDraggable && !value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5614 uiDialog.draggable("destroy");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5615 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5616
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5617 if ( !isDraggable && value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5618 this._makeDraggable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5619 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5620 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5621
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5622 if ( key === "position" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5623 this._position();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5624 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5625
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5626 if ( key === "resizable" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5627 // currently resizable, becoming non-resizable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5628 isResizable = uiDialog.is(":data(ui-resizable)");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5629 if ( isResizable && !value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5630 uiDialog.resizable("destroy");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5631 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5632
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5633 // currently resizable, changing handles
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5634 if ( isResizable && typeof value === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5635 uiDialog.resizable( "option", "handles", value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5636 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5637
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5638 // currently non-resizable, becoming resizable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5639 if ( !isResizable && value !== false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5640 this._makeResizable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5641 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5642 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5643
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5644 if ( key === "title" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5645 this._title( this.uiDialogTitlebar.find(".ui-dialog-title") );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5646 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5647 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5648
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5649 _size: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5650 // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5651 // divs will both have width and height set, so we need to reset them
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5652 var nonContentHeight, minContentHeight, maxContentHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5653 options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5654
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5655 // Reset content sizing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5656 this.element.show().css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5657 width: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5658 minHeight: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5659 maxHeight: "none",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5660 height: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5661 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5662
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5663 if ( options.minWidth > options.width ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5664 options.width = options.minWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5665 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5666
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5667 // reset wrapper sizing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5668 // determine the height of all the non-content elements
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5669 nonContentHeight = this.uiDialog.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5670 height: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5671 width: options.width
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5672 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5673 .outerHeight();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5674 minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5675 maxContentHeight = typeof options.maxHeight === "number" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5676 Math.max( 0, options.maxHeight - nonContentHeight ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5677 "none";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5678
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5679 if ( options.height === "auto" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5680 this.element.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5681 minHeight: minContentHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5682 maxHeight: maxContentHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5683 height: "auto"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5684 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5685 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5686 this.element.height( Math.max( 0, options.height - nonContentHeight ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5687 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5688
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5689 if (this.uiDialog.is(":data(ui-resizable)") ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5690 this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5691 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5692 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5693
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5694 _blockFrames: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5695 this.iframeBlocks = this.document.find( "iframe" ).map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5696 var iframe = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5697
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5698 return $( "<div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5699 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5700 position: "absolute",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5701 width: iframe.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5702 height: iframe.outerHeight()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5703 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5704 .appendTo( iframe.parent() )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5705 .offset( iframe.offset() )[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5706 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5707 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5708
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5709 _unblockFrames: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5710 if ( this.iframeBlocks ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5711 this.iframeBlocks.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5712 delete this.iframeBlocks;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5713 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5714 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5715
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5716 _allowInteraction: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5717 if ( $( event.target ).closest(".ui-dialog").length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5718 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5719 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5720
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5721 // TODO: Remove hack when datepicker implements
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5722 // the .ui-front logic (#8989)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5723 return !!$( event.target ).closest(".ui-datepicker").length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5724 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5725
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5726 _createOverlay: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5727 if ( !this.options.modal ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5728 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5729 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5730
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5731 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5732 widgetFullName = this.widgetFullName;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5733 if ( !$.ui.dialog.overlayInstances ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5734 // Prevent use of anchors and inputs.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5735 // We use a delay in case the overlay is created from an
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5736 // event that we're going to be cancelling. (#2804)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5737 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5738 // Handle .dialog().dialog("close") (#4065)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5739 if ( $.ui.dialog.overlayInstances ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5740 this.document.bind( "focusin.dialog", function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5741 if ( !that._allowInteraction( event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5742 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5743 $(".ui-dialog:visible:last .ui-dialog-content")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5744 .data( widgetFullName )._focusTabbable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5745 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5746 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5747 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5748 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5749 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5750
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5751 this.overlay = $("<div>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5752 .addClass("ui-widget-overlay ui-front")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5753 .appendTo( this._appendTo() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5754 this._on( this.overlay, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5755 mousedown: "_keepFocus"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5756 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5757 $.ui.dialog.overlayInstances++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5758 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5759
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5760 _destroyOverlay: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5761 if ( !this.options.modal ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5762 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5763 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5764
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5765 if ( this.overlay ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5766 $.ui.dialog.overlayInstances--;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5767
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5768 if ( !$.ui.dialog.overlayInstances ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5769 this.document.unbind( "focusin.dialog" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5770 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5771 this.overlay.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5772 this.overlay = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5773 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5774 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5775 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5776
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5777 $.ui.dialog.overlayInstances = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5778
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5779 // DEPRECATED
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5780 if ( $.uiBackCompat !== false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5781 // position option with array notation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5782 // just override with old implementation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5783 $.widget( "ui.dialog", $.ui.dialog, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5784 _position: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5785 var position = this.options.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5786 myAt = [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5787 offset = [ 0, 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5788 isVisible;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5789
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5790 if ( position ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5791 if ( typeof position === "string" || (typeof position === "object" && "0" in position ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5792 myAt = position.split ? position.split(" ") : [ position[0], position[1] ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5793 if ( myAt.length === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5794 myAt[1] = myAt[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5795 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5796
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5797 $.each( [ "left", "top" ], function( i, offsetPosition ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5798 if ( +myAt[ i ] === myAt[ i ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5799 offset[ i ] = myAt[ i ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5800 myAt[ i ] = offsetPosition;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5801 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5802 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5803
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5804 position = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5805 my: myAt[0] + (offset[0] < 0 ? offset[0] : "+" + offset[0]) + " " +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5806 myAt[1] + (offset[1] < 0 ? offset[1] : "+" + offset[1]),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5807 at: myAt.join(" ")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5808 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5809 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5810
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5811 position = $.extend( {}, $.ui.dialog.prototype.options.position, position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5812 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5813 position = $.ui.dialog.prototype.options.position;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5814 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5815
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5816 // need to show the dialog to get the actual offset in the position plugin
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5817 isVisible = this.uiDialog.is(":visible");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5818 if ( !isVisible ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5819 this.uiDialog.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5820 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5821 this.uiDialog.position( position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5822 if ( !isVisible ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5823 this.uiDialog.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5824 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5825 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5826 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5827 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5828
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5829 }( jQuery ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5830 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5831
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5832 $.widget("ui.draggable", $.ui.mouse, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5833 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5834 widgetEventPrefix: "drag",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5835 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5836 addClasses: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5837 appendTo: "parent",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5838 axis: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5839 connectToSortable: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5840 containment: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5841 cursor: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5842 cursorAt: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5843 grid: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5844 handle: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5845 helper: "original",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5846 iframeFix: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5847 opacity: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5848 refreshPositions: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5849 revert: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5850 revertDuration: 500,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5851 scope: "default",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5852 scroll: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5853 scrollSensitivity: 20,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5854 scrollSpeed: 20,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5855 snap: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5856 snapMode: "both",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5857 snapTolerance: 20,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5858 stack: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5859 zIndex: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5860
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5861 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5862 drag: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5863 start: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5864 stop: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5865 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5866 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5867
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5868 if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5869 this.element[0].style.position = "relative";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5870 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5871 if (this.options.addClasses){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5872 this.element.addClass("ui-draggable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5873 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5874 if (this.options.disabled){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5875 this.element.addClass("ui-draggable-disabled");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5876 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5877
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5878 this._mouseInit();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5879
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5880 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5881
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5882 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5883 this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5884 this._mouseDestroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5885 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5886
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5887 _mouseCapture: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5888
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5889 var o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5890
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5891 // among others, prevent a drag on a resizable-handle
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5892 if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5893 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5894 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5895
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5896 //Quit if we're not on a valid handle
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5897 this.handle = this._getHandle(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5898 if (!this.handle) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5899 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5900 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5901
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5902 $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5903 $("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5904 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5905 width: this.offsetWidth+"px", height: this.offsetHeight+"px",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5906 position: "absolute", opacity: "0.001", zIndex: 1000
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5907 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5908 .css($(this).offset())
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5909 .appendTo("body");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5910 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5911
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5912 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5913
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5914 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5915
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5916 _mouseStart: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5917
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5918 var o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5919
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5920 //Create and append the visible helper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5921 this.helper = this._createHelper(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5922
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5923 this.helper.addClass("ui-draggable-dragging");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5924
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5925 //Cache the helper size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5926 this._cacheHelperProportions();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5927
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5928 //If ddmanager is used for droppables, set the global draggable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5929 if($.ui.ddmanager) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5930 $.ui.ddmanager.current = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5931 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5932
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5933 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5934 * - Position generation -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5935 * This block generates everything position related - it's the core of draggables.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5936 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5937
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5938 //Cache the margins of the original element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5939 this._cacheMargins();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5940
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5941 //Store the helper's css position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5942 this.cssPosition = this.helper.css( "position" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5943 this.scrollParent = this.helper.scrollParent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5944 this.offsetParent = this.helper.offsetParent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5945 this.offsetParentCssPosition = this.offsetParent.css( "position" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5946
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5947 //The element's absolute position on the page minus margins
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5948 this.offset = this.positionAbs = this.element.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5949 this.offset = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5950 top: this.offset.top - this.margins.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5951 left: this.offset.left - this.margins.left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5952 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5953
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5954 //Reset scroll cache
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5955 this.offset.scroll = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5956
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5957 $.extend(this.offset, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5958 click: { //Where the click happened, relative to the element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5959 left: event.pageX - this.offset.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5960 top: event.pageY - this.offset.top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5961 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5962 parent: this._getParentOffset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5963 relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5964 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5965
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5966 //Generate the original position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5967 this.originalPosition = this.position = this._generatePosition(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5968 this.originalPageX = event.pageX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5969 this.originalPageY = event.pageY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5970
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5971 //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5972 (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5973
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5974 //Set a containment if given in the options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5975 this._setContainment();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5976
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5977 //Trigger event + callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5978 if(this._trigger("start", event) === false) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5979 this._clear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5980 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5981 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5982
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5983 //Recache the helper size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5984 this._cacheHelperProportions();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5985
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5986 //Prepare the droppable offsets
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5987 if ($.ui.ddmanager && !o.dropBehaviour) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5988 $.ui.ddmanager.prepareOffsets(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5989 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5990
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5991
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5992 this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5993
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5994 //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5995 if ( $.ui.ddmanager ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5996 $.ui.ddmanager.dragStart(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5997 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5998
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
5999 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6000 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6001
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6002 _mouseDrag: function(event, noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6003 // reset any necessary cached properties (see #5009)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6004 if ( this.offsetParentCssPosition === "fixed" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6005 this.offset.parent = this._getParentOffset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6006 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6007
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6008 //Compute the helpers position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6009 this.position = this._generatePosition(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6010 this.positionAbs = this._convertPositionTo("absolute");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6011
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6012 //Call plugins and callbacks and use the resulting position if something is returned
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6013 if (!noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6014 var ui = this._uiHash();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6015 if(this._trigger("drag", event, ui) === false) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6016 this._mouseUp({});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6017 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6018 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6019 this.position = ui.position;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6020 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6022 if(!this.options.axis || this.options.axis !== "y") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6023 this.helper[0].style.left = this.position.left+"px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6024 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6025 if(!this.options.axis || this.options.axis !== "x") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6026 this.helper[0].style.top = this.position.top+"px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6027 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6028 if($.ui.ddmanager) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6029 $.ui.ddmanager.drag(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6030 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6031
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6032 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6033 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6034
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6035 _mouseStop: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6036
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6037 //If we are using droppables, inform the manager about the drop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6038 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6039 dropped = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6040 if ($.ui.ddmanager && !this.options.dropBehaviour) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6041 dropped = $.ui.ddmanager.drop(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6042 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6043
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6044 //if a drop comes from outside (a sortable)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6045 if(this.dropped) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6046 dropped = this.dropped;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6047 this.dropped = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6048 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6049
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6050 //if the original element is no longer in the DOM don't bother to continue (see #8269)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6051 if ( this.options.helper === "original" && !$.contains( this.element[ 0 ].ownerDocument, this.element[ 0 ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6052 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6053 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6054
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6055 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))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6056 $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6057 if(that._trigger("stop", event) !== false) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6058 that._clear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6059 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6060 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6061 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6062 if(this._trigger("stop", event) !== false) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6063 this._clear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6064 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6065 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6066
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6067 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6068 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6069
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6070 _mouseUp: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6071 //Remove frame helpers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6072 $("div.ui-draggable-iframeFix").each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6073 this.parentNode.removeChild(this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6074 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6075
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6076 //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6077 if( $.ui.ddmanager ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6078 $.ui.ddmanager.dragStop(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6079 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6080
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6081 return $.ui.mouse.prototype._mouseUp.call(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6082 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6083
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6084 cancel: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6085
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6086 if(this.helper.is(".ui-draggable-dragging")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6087 this._mouseUp({});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6088 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6089 this._clear();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6090 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6091
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6092 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6093
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6094 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6095
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6096 _getHandle: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6097 return this.options.handle ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6098 !!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6099 true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6100 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6101
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6102 _createHelper: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6103
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6104 var o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6105 helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6106
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6107 if(!helper.parents("body").length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6108 helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6109 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6110
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6111 if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6112 helper.css("position", "absolute");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6113 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6114
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6115 return helper;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6116
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6117 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6118
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6119 _adjustOffsetFromHelper: function(obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6120 if (typeof obj === "string") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6121 obj = obj.split(" ");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6122 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6123 if ($.isArray(obj)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6124 obj = {left: +obj[0], top: +obj[1] || 0};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6125 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6126 if ("left" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6127 this.offset.click.left = obj.left + this.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6128 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6129 if ("right" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6130 this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6131 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6132 if ("top" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6133 this.offset.click.top = obj.top + this.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6134 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6135 if ("bottom" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6136 this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6137 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6138 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6139
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6140 _getParentOffset: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6141
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6142 //Get the offsetParent and cache its position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6143 var po = this.offsetParent.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6144
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6145 // This is a special case where we need to modify a offset calculated on start, since the following happened:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6146 // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6147 // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6148 // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6149 if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6150 po.left += this.scrollParent.scrollLeft();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6151 po.top += this.scrollParent.scrollTop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6152 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6153
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6154 //This needs to be actually done for all browsers, since pageX/pageY includes this information
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6155 //Ugly IE fix
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6156 if((this.offsetParent[0] === document.body) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6157 (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6158 po = { top: 0, left: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6159 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6160
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6161 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6162 top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6163 left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6164 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6165
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6166 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6167
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6168 _getRelativeOffset: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6169
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6170 if(this.cssPosition === "relative") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6171 var p = this.element.position();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6172 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6173 top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6174 left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6175 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6176 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6177 return { top: 0, left: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6178 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6179
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6180 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6181
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6182 _cacheMargins: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6183 this.margins = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6184 left: (parseInt(this.element.css("marginLeft"),10) || 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6185 top: (parseInt(this.element.css("marginTop"),10) || 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6186 right: (parseInt(this.element.css("marginRight"),10) || 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6187 bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6188 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6189 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6190
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6191 _cacheHelperProportions: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6192 this.helperProportions = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6193 width: this.helper.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6194 height: this.helper.outerHeight()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6195 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6196 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6197
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6198 _setContainment: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6199
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6200 var over, c, ce,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6201 o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6202
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6203 if ( !o.containment ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6204 this.containment = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6205 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6206 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6207
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6208 if ( o.containment === "window" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6209 this.containment = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6210 $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6211 $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6212 $( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6213 $( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6214 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6215 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6216 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6217
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6218 if ( o.containment === "document") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6219 this.containment = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6220 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6221 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6222 $( document ).width() - this.helperProportions.width - this.margins.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6223 ( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6224 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6225 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6226 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6227
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6228 if ( o.containment.constructor === Array ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6229 this.containment = o.containment;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6230 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6231 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6232
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6233 if ( o.containment === "parent" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6234 o.containment = this.helper[ 0 ].parentNode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6235 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6236
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6237 c = $( o.containment );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6238 ce = c[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6239
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6240 if( !ce ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6241 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6242 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6243
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6244 over = c.css( "overflow" ) !== "hidden";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6245
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6246 this.containment = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6247 ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6248 ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ) ,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6249 ( 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,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6250 ( 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
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6251 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6252 this.relative_container = c;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6253 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6254
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6255 _convertPositionTo: function(d, pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6256
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6257 if(!pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6258 pos = this.position;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6259 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6260
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6261 var mod = d === "absolute" ? 1 : -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6262 scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6263
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6264 //Cache the scroll
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6265 if (!this.offset.scroll) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6266 this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6267 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6268
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6269 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6270 top: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6271 pos.top + // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6272 this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6273 this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6274 ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top ) * mod )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6275 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6276 left: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6277 pos.left + // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6278 this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6279 this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6280 ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left ) * mod )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6281 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6282 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6283
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6284 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6285
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6286 _generatePosition: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6287
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6288 var containment, co, top, left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6289 o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6290 scroll = this.cssPosition === "absolute" && !( this.scrollParent[ 0 ] !== document && $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? this.offsetParent : this.scrollParent,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6291 pageX = event.pageX,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6292 pageY = event.pageY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6293
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6294 //Cache the scroll
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6295 if (!this.offset.scroll) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6296 this.offset.scroll = {top : scroll.scrollTop(), left : scroll.scrollLeft()};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6297 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6298
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6299 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6300 * - Position constraining -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6301 * Constrain the position to a mix of grid, containment.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6302 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6303
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6304 // If we are not dragging yet, we won't check for options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6305 if ( this.originalPosition ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6306 if ( this.containment ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6307 if ( this.relative_container ){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6308 co = this.relative_container.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6309 containment = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6310 this.containment[ 0 ] + co.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6311 this.containment[ 1 ] + co.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6312 this.containment[ 2 ] + co.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6313 this.containment[ 3 ] + co.top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6314 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6315 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6316 else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6317 containment = this.containment;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6318 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6319
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6320 if(event.pageX - this.offset.click.left < containment[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6321 pageX = containment[0] + this.offset.click.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6322 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6323 if(event.pageY - this.offset.click.top < containment[1]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6324 pageY = containment[1] + this.offset.click.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6325 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6326 if(event.pageX - this.offset.click.left > containment[2]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6327 pageX = containment[2] + this.offset.click.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6328 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6329 if(event.pageY - this.offset.click.top > containment[3]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6330 pageY = containment[3] + this.offset.click.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6331 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6332 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6333
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6334 if(o.grid) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6335 //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6336 top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6337 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;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6338
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6339 left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6340 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;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6341 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6342
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6343 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6344
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6345 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6346 top: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6347 pageY - // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6348 this.offset.click.top - // Click offset (relative to the element)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6349 this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6350 this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6351 ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : this.offset.scroll.top )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6352 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6353 left: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6354 pageX - // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6355 this.offset.click.left - // Click offset (relative to the element)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6356 this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6357 this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6358 ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : this.offset.scroll.left )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6359 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6360 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6361
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6362 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6363
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6364 _clear: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6365 this.helper.removeClass("ui-draggable-dragging");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6366 if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6367 this.helper.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6368 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6369 this.helper = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6370 this.cancelHelperRemoval = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6371 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6372
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6373 // From now on bulk stuff - mainly helpers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6374
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6375 _trigger: function(type, event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6376 ui = ui || this._uiHash();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6377 $.ui.plugin.call(this, type, [event, ui]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6378 //The absolute position has to be recalculated after plugins
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6379 if(type === "drag") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6380 this.positionAbs = this._convertPositionTo("absolute");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6381 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6382 return $.Widget.prototype._trigger.call(this, type, event, ui);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6383 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6384
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6385 plugins: {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6386
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6387 _uiHash: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6388 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6389 helper: this.helper,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6390 position: this.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6391 originalPosition: this.originalPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6392 offset: this.positionAbs
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6393 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6394 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6395
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6396 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6397
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6398 $.ui.plugin.add("draggable", "connectToSortable", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6399 start: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6400
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6401 var inst = $(this).data("ui-draggable"), o = inst.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6402 uiSortable = $.extend({}, ui, { item: inst.element });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6403 inst.sortables = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6404 $(o.connectToSortable).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6405 var sortable = $.data(this, "ui-sortable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6406 if (sortable && !sortable.options.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6407 inst.sortables.push({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6408 instance: sortable,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6409 shouldRevert: sortable.options.revert
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6410 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6411 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).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6412 sortable._trigger("activate", event, uiSortable);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6413 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6414 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6415
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6416 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6417 stop: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6418
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6419 //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6420 var inst = $(this).data("ui-draggable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6421 uiSortable = $.extend({}, ui, { item: inst.element });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6422
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6423 $.each(inst.sortables, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6424 if(this.instance.isOver) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6425
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6426 this.instance.isOver = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6427
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6428 inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6429 this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6430
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6431 //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6432 if(this.shouldRevert) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6433 this.instance.options.revert = this.shouldRevert;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6434 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6435
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6436 //Trigger the stop of the sortable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6437 this.instance._mouseStop(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6438
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6439 this.instance.options.helper = this.instance.options._helper;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6440
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6441 //If the helper has been the original item, restore properties in the sortable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6442 if(inst.options.helper === "original") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6443 this.instance.currentItem.css({ top: "auto", left: "auto" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6444 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6445
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6446 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6447 this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6448 this.instance._trigger("deactivate", event, uiSortable);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6449 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6450
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6451 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6452
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6453 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6454 drag: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6455
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6456 var inst = $(this).data("ui-draggable"), that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6457
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6458 $.each(inst.sortables, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6459
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6460 var innermostIntersecting = false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6461 thisSortable = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6462
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6463 //Copy over some variables to allow calling the sortable's native _intersectsWith
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6464 this.instance.positionAbs = inst.positionAbs;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6465 this.instance.helperProportions = inst.helperProportions;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6466 this.instance.offset.click = inst.offset.click;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6467
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6468 if(this.instance._intersectsWith(this.instance.containerCache)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6469 innermostIntersecting = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6470 $.each(inst.sortables, function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6471 this.instance.positionAbs = inst.positionAbs;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6472 this.instance.helperProportions = inst.helperProportions;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6473 this.instance.offset.click = inst.offset.click;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6474 if (this !== thisSortable &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6475 this.instance._intersectsWith(this.instance.containerCache) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6476 $.contains(thisSortable.instance.element[0], this.instance.element[0])
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6477 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6478 innermostIntersecting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6479 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6480 return innermostIntersecting;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6481 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6482 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6483
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6484
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6485 if(innermostIntersecting) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6486 //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6487 if(!this.instance.isOver) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6488
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6489 this.instance.isOver = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6490 //Now we fake the start of dragging for the sortable instance,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6491 //by cloning the list group item, appending it to the sortable and using it as inst.currentItem
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6492 //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)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6493 this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6494 this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6495 this.instance.options.helper = function() { return ui.helper[0]; };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6496
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6497 event.target = this.instance.currentItem[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6498 this.instance._mouseCapture(event, true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6499 this.instance._mouseStart(event, true, true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6500
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6501 //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6502 this.instance.offset.click.top = inst.offset.click.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6503 this.instance.offset.click.left = inst.offset.click.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6504 this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6505 this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6506
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6507 inst._trigger("toSortable", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6508 inst.dropped = this.instance.element; //draggable revert needs that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6509 //hack so receive/update callbacks work (mostly)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6510 inst.currentItem = inst.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6511 this.instance.fromOutside = inst;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6512
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6513 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6514
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6515 //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
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6516 if(this.instance.currentItem) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6517 this.instance._mouseDrag(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6518 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6519
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6520 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6521
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6522 //If it doesn't intersect with the sortable, and it intersected before,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6523 //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6524 if(this.instance.isOver) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6525
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6526 this.instance.isOver = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6527 this.instance.cancelHelperRemoval = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6528
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6529 //Prevent reverting on this forced stop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6530 this.instance.options.revert = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6531
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6532 // The out event needs to be triggered independently
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6533 this.instance._trigger("out", event, this.instance._uiHash(this.instance));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6535 this.instance._mouseStop(event, true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6536 this.instance.options.helper = this.instance.options._helper;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6537
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6538 //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6539 this.instance.currentItem.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6540 if(this.instance.placeholder) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6541 this.instance.placeholder.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6542 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6543
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6544 inst._trigger("fromSortable", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6545 inst.dropped = false; //draggable revert needs that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6546 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6547
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6548 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6549
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6550 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6551
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6552 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6553 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6554
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6555 $.ui.plugin.add("draggable", "cursor", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6556 start: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6557 var t = $("body"), o = $(this).data("ui-draggable").options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6558 if (t.css("cursor")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6559 o._cursor = t.css("cursor");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6560 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6561 t.css("cursor", o.cursor);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6562 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6563 stop: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6564 var o = $(this).data("ui-draggable").options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6565 if (o._cursor) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6566 $("body").css("cursor", o._cursor);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6567 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6568 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6569 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6570
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6571 $.ui.plugin.add("draggable", "opacity", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6572 start: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6573 var t = $(ui.helper), o = $(this).data("ui-draggable").options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6574 if(t.css("opacity")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6575 o._opacity = t.css("opacity");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6576 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6577 t.css("opacity", o.opacity);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6578 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6579 stop: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6580 var o = $(this).data("ui-draggable").options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6581 if(o._opacity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6582 $(ui.helper).css("opacity", o._opacity);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6583 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6584 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6585 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6586
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6587 $.ui.plugin.add("draggable", "scroll", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6588 start: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6589 var i = $(this).data("ui-draggable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6590 if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6591 i.overflowOffset = i.scrollParent.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6592 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6593 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6594 drag: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6596 var i = $(this).data("ui-draggable"), o = i.options, scrolled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6597
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6598 if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6599
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6600 if(!o.axis || o.axis !== "x") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6601 if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6602 i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6603 } else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6604 i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6605 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6606 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6607
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6608 if(!o.axis || o.axis !== "y") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6609 if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6610 i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6611 } else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6612 i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6613 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6614 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6615
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6616 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6617
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6618 if(!o.axis || o.axis !== "x") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6619 if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6620 scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6621 } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6622 scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6623 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6624 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6625
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6626 if(!o.axis || o.axis !== "y") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6627 if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6628 scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6629 } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6630 scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6631 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6632 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6633
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6634 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6635
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6636 if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6637 $.ui.ddmanager.prepareOffsets(i, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6638 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6639
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6640 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6641 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6642
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6643 $.ui.plugin.add("draggable", "snap", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6644 start: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6645
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6646 var i = $(this).data("ui-draggable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6647 o = i.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6648
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6649 i.snapElements = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6650
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6651 $(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6652 var $t = $(this),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6653 $o = $t.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6654 if(this !== i.element[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6655 i.snapElements.push({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6656 item: this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6657 width: $t.outerWidth(), height: $t.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6658 top: $o.top, left: $o.left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6659 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6660 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6661 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6662
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6663 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6664 drag: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6665
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6666 var ts, bs, ls, rs, l, r, t, b, i, first,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6667 inst = $(this).data("ui-draggable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6668 o = inst.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6669 d = o.snapTolerance,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6670 x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6671 y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6672
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6673 for (i = inst.snapElements.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6674
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6675 l = inst.snapElements[i].left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6676 r = l + inst.snapElements[i].width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6677 t = inst.snapElements[i].top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6678 b = t + inst.snapElements[i].height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6679
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6680 if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6681 if(inst.snapElements[i].snapping) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6682 (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6683 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6684 inst.snapElements[i].snapping = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6685 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6686 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6687
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6688 if(o.snapMode !== "inner") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6689 ts = Math.abs(t - y2) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6690 bs = Math.abs(b - y1) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6691 ls = Math.abs(l - x2) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6692 rs = Math.abs(r - x1) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6693 if(ts) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6694 ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6695 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6696 if(bs) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6697 ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6698 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6699 if(ls) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6700 ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6701 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6702 if(rs) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6703 ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6704 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6705 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6706
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6707 first = (ts || bs || ls || rs);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6708
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6709 if(o.snapMode !== "outer") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6710 ts = Math.abs(t - y1) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6711 bs = Math.abs(b - y2) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6712 ls = Math.abs(l - x1) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6713 rs = Math.abs(r - x2) <= d;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6714 if(ts) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6715 ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6716 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6717 if(bs) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6718 ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6719 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6720 if(ls) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6721 ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6722 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6723 if(rs) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6724 ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6725 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6726 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6727
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6728 if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6729 (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6730 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6731 inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6732
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6733 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6734
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6735 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6736 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6737
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6738 $.ui.plugin.add("draggable", "stack", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6739 start: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6740 var min,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6741 o = this.data("ui-draggable").options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6742 group = $.makeArray($(o.stack)).sort(function(a,b) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6743 return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6744 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6745
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6746 if (!group.length) { return; }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6747
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6748 min = parseInt($(group[0]).css("zIndex"), 10) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6749 $(group).each(function(i) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6750 $(this).css("zIndex", min + i);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6751 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6752 this.css("zIndex", (min + group.length));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6753 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6754 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6755
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6756 $.ui.plugin.add("draggable", "zIndex", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6757 start: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6758 var t = $(ui.helper), o = $(this).data("ui-draggable").options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6759 if(t.css("zIndex")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6760 o._zIndex = t.css("zIndex");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6761 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6762 t.css("zIndex", o.zIndex);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6763 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6764 stop: function(event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6765 var o = $(this).data("ui-draggable").options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6766 if(o._zIndex) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6767 $(ui.helper).css("zIndex", o._zIndex);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6768 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6769 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6770 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6771
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6772 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6773 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6774
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6775 function isOverAxis( x, reference, size ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6776 return ( x > reference ) && ( x < ( reference + size ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6777 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6778
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6779 $.widget("ui.droppable", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6780 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6781 widgetEventPrefix: "drop",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6782 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6783 accept: "*",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6784 activeClass: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6785 addClasses: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6786 greedy: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6787 hoverClass: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6788 scope: "default",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6789 tolerance: "intersect",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6790
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6791 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6792 activate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6793 deactivate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6794 drop: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6795 out: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6796 over: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6797 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6798 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6799
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6800 var proportions,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6801 o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6802 accept = o.accept;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6803
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6804 this.isover = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6805 this.isout = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6806
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6807 this.accept = $.isFunction(accept) ? accept : function(d) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6808 return d.is(accept);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6809 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6810
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6811 this.proportions = function( /* valueToWrite */ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6812 if ( arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6813 // Store the droppable's proportions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6814 proportions = arguments[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6815 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6816 // Retrieve or derive the droppable's proportions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6817 return proportions ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6818 proportions :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6819 proportions = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6820 width: this.element[ 0 ].offsetWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6821 height: this.element[ 0 ].offsetHeight
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6822 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6823 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6824 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6825
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6826 // Add the reference and positions to the manager
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6827 $.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6828 $.ui.ddmanager.droppables[o.scope].push(this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6829
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6830 (o.addClasses && this.element.addClass("ui-droppable"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6831
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6832 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6833
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6834 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6835 var i = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6836 drop = $.ui.ddmanager.droppables[this.options.scope];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6837
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6838 for ( ; i < drop.length; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6839 if ( drop[i] === this ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6840 drop.splice(i, 1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6841 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6842 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6843
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6844 this.element.removeClass("ui-droppable ui-droppable-disabled");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6845 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6846
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6847 _setOption: function(key, value) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6848
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6849 if(key === "accept") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6850 this.accept = $.isFunction(value) ? value : function(d) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6851 return d.is(value);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6852 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6853 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6854 $.Widget.prototype._setOption.apply(this, arguments);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6855 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6856
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6857 _activate: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6858 var draggable = $.ui.ddmanager.current;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6859 if(this.options.activeClass) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6860 this.element.addClass(this.options.activeClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6861 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6862 if(draggable){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6863 this._trigger("activate", event, this.ui(draggable));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6864 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6865 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6866
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6867 _deactivate: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6868 var draggable = $.ui.ddmanager.current;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6869 if(this.options.activeClass) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6870 this.element.removeClass(this.options.activeClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6871 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6872 if(draggable){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6873 this._trigger("deactivate", event, this.ui(draggable));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6874 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6875 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6876
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6877 _over: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6878
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6879 var draggable = $.ui.ddmanager.current;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6880
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6881 // Bail if draggable and droppable are same element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6882 if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6883 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6884 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6885
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6886 if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6887 if(this.options.hoverClass) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6888 this.element.addClass(this.options.hoverClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6889 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6890 this._trigger("over", event, this.ui(draggable));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6891 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6892
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6893 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6894
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6895 _out: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6896
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6897 var draggable = $.ui.ddmanager.current;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6898
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6899 // Bail if draggable and droppable are same element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6900 if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6901 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6902 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6903
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6904 if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6905 if(this.options.hoverClass) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6906 this.element.removeClass(this.options.hoverClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6907 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6908 this._trigger("out", event, this.ui(draggable));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6909 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6910
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6911 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6912
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6913 _drop: function(event,custom) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6914
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6915 var draggable = custom || $.ui.ddmanager.current,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6916 childrenIntersection = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6917
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6918 // Bail if draggable and droppable are same element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6919 if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6920 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6921 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6922
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6923 this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6924 var inst = $.data(this, "ui-droppable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6925 if(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6926 inst.options.greedy &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6927 !inst.options.disabled &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6928 inst.options.scope === draggable.options.scope &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6929 inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6930 $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6931 ) { childrenIntersection = true; return false; }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6932 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6933 if(childrenIntersection) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6934 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6935 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6936
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6937 if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6938 if(this.options.activeClass) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6939 this.element.removeClass(this.options.activeClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6940 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6941 if(this.options.hoverClass) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6942 this.element.removeClass(this.options.hoverClass);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6943 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6944 this._trigger("drop", event, this.ui(draggable));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6945 return this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6946 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6947
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6948 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6949
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6950 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6951
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6952 ui: function(c) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6953 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6954 draggable: (c.currentItem || c.element),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6955 helper: c.helper,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6956 position: c.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6957 offset: c.positionAbs
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6958 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6959 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6960
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6961 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6962
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6963 $.ui.intersect = function(draggable, droppable, toleranceMode) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6964
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6965 if (!droppable.offset) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6966 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6967 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6968
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6969 var draggableLeft, draggableTop,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6970 x1 = (draggable.positionAbs || draggable.position.absolute).left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6971 y1 = (draggable.positionAbs || draggable.position.absolute).top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6972 x2 = x1 + draggable.helperProportions.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6973 y2 = y1 + draggable.helperProportions.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6974 l = droppable.offset.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6975 t = droppable.offset.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6976 r = l + droppable.proportions().width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6977 b = t + droppable.proportions().height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6978
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6979 switch (toleranceMode) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6980 case "fit":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6981 return (l <= x1 && x2 <= r && t <= y1 && y2 <= b);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6982 case "intersect":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6983 return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6984 x2 - (draggable.helperProportions.width / 2) < r && // Left Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6985 t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6986 y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6987 case "pointer":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6988 draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6989 draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6990 return isOverAxis( draggableTop, t, droppable.proportions().height ) && isOverAxis( draggableLeft, l, droppable.proportions().width );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6991 case "touch":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6992 return (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6993 (y1 >= t && y1 <= b) || // Top edge touching
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6994 (y2 >= t && y2 <= b) || // Bottom edge touching
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6995 (y1 < t && y2 > b) // Surrounded vertically
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6996 ) && (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6997 (x1 >= l && x1 <= r) || // Left edge touching
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6998 (x2 >= l && x2 <= r) || // Right edge touching
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
6999 (x1 < l && x2 > r) // Surrounded horizontally
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7000 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7001 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7002 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7003 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7004
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7005 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7006
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7007 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7008 This manager tracks offsets of draggables and droppables
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7009 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7010 $.ui.ddmanager = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7011 current: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7012 droppables: { "default": [] },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7013 prepareOffsets: function(t, event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7014
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7015 var i, j,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7016 m = $.ui.ddmanager.droppables[t.options.scope] || [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7017 type = event ? event.type : null, // workaround for #2317
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7018 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7019
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7020 droppablesLoop: for (i = 0; i < m.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7022 //No disabled and non-accepted
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7023 if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7024 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7025 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7026
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7027 // Filter out elements in the current dragged item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7028 for (j=0; j < list.length; j++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7029 if(list[j] === m[i].element[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7030 m[i].proportions().height = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7031 continue droppablesLoop;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7032 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7033 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7034
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7035 m[i].visible = m[i].element.css("display") !== "none";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7036 if(!m[i].visible) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7037 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7038 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7039
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7040 //Activate the droppable if used directly from draggables
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7041 if(type === "mousedown") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7042 m[i]._activate.call(m[i], event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7043 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7044
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7045 m[ i ].offset = m[ i ].element.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7046 m[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7047
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7048 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7049
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7050 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7051 drop: function(draggable, event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7052
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7053 var dropped = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7054 // Create a copy of the droppables in case the list changes during the drop (#9116)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7055 $.each(($.ui.ddmanager.droppables[draggable.options.scope] || []).slice(), function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7056
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7057 if(!this.options) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7058 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7059 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7060 if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7061 dropped = this._drop.call(this, event) || dropped;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7062 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7063
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7064 if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7065 this.isout = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7066 this.isover = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7067 this._deactivate.call(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7068 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7069
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7070 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7071 return dropped;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7072
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7073 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7074 dragStart: function( draggable, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7075 //Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7076 draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7077 if( !draggable.options.refreshPositions ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7078 $.ui.ddmanager.prepareOffsets( draggable, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7079 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7080 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7081 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7082 drag: function(draggable, event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7083
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7084 //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7085 if(draggable.options.refreshPositions) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7086 $.ui.ddmanager.prepareOffsets(draggable, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7087 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7088
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7089 //Run through all droppables and check their positions based on specific tolerance options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7090 $.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7091
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7092 if(this.options.disabled || this.greedyChild || !this.visible) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7093 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7094 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7095
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7096 var parentInstance, scope, parent,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7097 intersects = $.ui.intersect(draggable, this, this.options.tolerance),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7098 c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7099 if(!c) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7100 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7101 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7102
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7103 if (this.options.greedy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7104 // find droppable parents with same scope
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7105 scope = this.options.scope;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7106 parent = this.element.parents(":data(ui-droppable)").filter(function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7107 return $.data(this, "ui-droppable").options.scope === scope;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7108 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7109
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7110 if (parent.length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7111 parentInstance = $.data(parent[0], "ui-droppable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7112 parentInstance.greedyChild = (c === "isover");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7113 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7114 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7115
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7116 // we just moved into a greedy child
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7117 if (parentInstance && c === "isover") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7118 parentInstance.isover = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7119 parentInstance.isout = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7120 parentInstance._out.call(parentInstance, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7121 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7122
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7123 this[c] = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7124 this[c === "isout" ? "isover" : "isout"] = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7125 this[c === "isover" ? "_over" : "_out"].call(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7126
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7127 // we just moved out of a greedy child
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7128 if (parentInstance && c === "isout") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7129 parentInstance.isout = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7130 parentInstance.isover = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7131 parentInstance._over.call(parentInstance, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7132 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7133 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7134
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7135 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7136 dragStop: function( draggable, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7137 draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7138 //Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7139 if( !draggable.options.refreshPositions ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7140 $.ui.ddmanager.prepareOffsets( draggable, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7141 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7142 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7143 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7144
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7145 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7146 (function($, undefined) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7147
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7148 var dataSpace = "ui-effects-";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7149
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7150 $.effects = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7151 effect: {}
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7152 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7153
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7154 /*!
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7155 * jQuery Color Animations v2.1.2
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7156 * https://github.com/jquery/jquery-color
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7157 *
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7158 * Copyright 2013 jQuery Foundation and other contributors
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7159 * Released under the MIT license.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7160 * http://jquery.org/license
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7161 *
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7162 * Date: Wed Jan 16 08:47:09 2013 -0600
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7163 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7164 (function( jQuery, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7165
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7166 var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7167
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7168 // plusequals test for += 100 -= 100
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7169 rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7170 // a set of RE's that can match strings and generate color tuples.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7171 stringParsers = [{
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7172 re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7173 parse: function( execResult ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7174 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7175 execResult[ 1 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7176 execResult[ 2 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7177 execResult[ 3 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7178 execResult[ 4 ]
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7179 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7180 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7181 }, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7182 re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7183 parse: function( execResult ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7184 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7185 execResult[ 1 ] * 2.55,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7186 execResult[ 2 ] * 2.55,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7187 execResult[ 3 ] * 2.55,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7188 execResult[ 4 ]
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7189 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7190 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7191 }, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7192 // this regex ignores A-F because it's compared against an already lowercased string
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7193 re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7194 parse: function( execResult ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7195 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7196 parseInt( execResult[ 1 ], 16 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7197 parseInt( execResult[ 2 ], 16 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7198 parseInt( execResult[ 3 ], 16 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7199 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7200 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7201 }, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7202 // this regex ignores A-F because it's compared against an already lowercased string
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7203 re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7204 parse: function( execResult ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7205 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7206 parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7207 parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7208 parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7209 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7210 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7211 }, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7212 re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7213 space: "hsla",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7214 parse: function( execResult ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7215 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7216 execResult[ 1 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7217 execResult[ 2 ] / 100,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7218 execResult[ 3 ] / 100,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7219 execResult[ 4 ]
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7220 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7221 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7222 }],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7223
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7224 // jQuery.Color( )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7225 color = jQuery.Color = function( color, green, blue, alpha ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7226 return new jQuery.Color.fn.parse( color, green, blue, alpha );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7227 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7228 spaces = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7229 rgba: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7230 props: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7231 red: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7232 idx: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7233 type: "byte"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7234 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7235 green: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7236 idx: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7237 type: "byte"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7238 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7239 blue: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7240 idx: 2,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7241 type: "byte"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7242 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7243 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7244 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7245
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7246 hsla: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7247 props: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7248 hue: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7249 idx: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7250 type: "degrees"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7251 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7252 saturation: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7253 idx: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7254 type: "percent"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7255 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7256 lightness: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7257 idx: 2,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7258 type: "percent"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7259 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7260 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7261 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7262 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7263 propTypes = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7264 "byte": {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7265 floor: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7266 max: 255
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7267 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7268 "percent": {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7269 max: 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7270 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7271 "degrees": {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7272 mod: 360,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7273 floor: true
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7274 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7275 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7276 support = color.support = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7277
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7278 // element for support tests
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7279 supportElem = jQuery( "<p>" )[ 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7280
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7281 // colors = jQuery.Color.names
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7282 colors,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7283
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7284 // local aliases of functions called often
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7285 each = jQuery.each;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7286
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7287 // determine rgba support immediately
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7288 supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7289 support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7290
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7291 // define cache name and alpha properties
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7292 // for rgba and hsla spaces
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7293 each( spaces, function( spaceName, space ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7294 space.cache = "_" + spaceName;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7295 space.props.alpha = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7296 idx: 3,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7297 type: "percent",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7298 def: 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7299 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7300 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7301
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7302 function clamp( value, prop, allowEmpty ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7303 var type = propTypes[ prop.type ] || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7304
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7305 if ( value == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7306 return (allowEmpty || !prop.def) ? null : prop.def;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7307 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7308
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7309 // ~~ is an short way of doing floor for positive numbers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7310 value = type.floor ? ~~value : parseFloat( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7311
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7312 // IE will pass in empty strings as value for alpha,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7313 // which will hit this case
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7314 if ( isNaN( value ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7315 return prop.def;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7316 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7317
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7318 if ( type.mod ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7319 // we add mod before modding to make sure that negatives values
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7320 // get converted properly: -10 -> 350
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7321 return (value + type.mod) % type.mod;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7322 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7323
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7324 // for now all property types without mod have min and max
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7325 return 0 > value ? 0 : type.max < value ? type.max : value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7326 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7327
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7328 function stringParse( string ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7329 var inst = color(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7330 rgba = inst._rgba = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7331
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7332 string = string.toLowerCase();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7333
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7334 each( stringParsers, function( i, parser ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7335 var parsed,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7336 match = parser.re.exec( string ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7337 values = match && parser.parse( match ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7338 spaceName = parser.space || "rgba";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7339
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7340 if ( values ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7341 parsed = inst[ spaceName ]( values );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7342
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7343 // if this was an rgba parse the assignment might happen twice
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7344 // oh well....
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7345 inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7346 rgba = inst._rgba = parsed._rgba;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7347
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7348 // exit each( stringParsers ) here because we matched
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7349 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7350 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7351 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7352
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7353 // Found a stringParser that handled it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7354 if ( rgba.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7355
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7356 // if this came from a parsed string, force "transparent" when alpha is 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7357 // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7358 if ( rgba.join() === "0,0,0,0" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7359 jQuery.extend( rgba, colors.transparent );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7360 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7361 return inst;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7362 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7363
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7364 // named colors
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7365 return colors[ string ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7366 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7367
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7368 color.fn = jQuery.extend( color.prototype, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7369 parse: function( red, green, blue, alpha ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7370 if ( red === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7371 this._rgba = [ null, null, null, null ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7372 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7373 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7374 if ( red.jquery || red.nodeType ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7375 red = jQuery( red ).css( green );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7376 green = undefined;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7377 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7378
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7379 var inst = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7380 type = jQuery.type( red ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7381 rgba = this._rgba = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7382
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7383 // more than 1 argument specified - assume ( red, green, blue, alpha )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7384 if ( green !== undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7385 red = [ red, green, blue, alpha ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7386 type = "array";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7387 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7388
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7389 if ( type === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7390 return this.parse( stringParse( red ) || colors._default );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7391 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7392
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7393 if ( type === "array" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7394 each( spaces.rgba.props, function( key, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7395 rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7396 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7397 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7398 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7399
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7400 if ( type === "object" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7401 if ( red instanceof color ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7402 each( spaces, function( spaceName, space ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7403 if ( red[ space.cache ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7404 inst[ space.cache ] = red[ space.cache ].slice();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7405 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7406 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7407 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7408 each( spaces, function( spaceName, space ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7409 var cache = space.cache;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7410 each( space.props, function( key, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7411
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7412 // if the cache doesn't exist, and we know how to convert
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7413 if ( !inst[ cache ] && space.to ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7414
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7415 // if the value was null, we don't need to copy it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7416 // if the key was alpha, we don't need to copy it either
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7417 if ( key === "alpha" || red[ key ] == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7418 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7419 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7420 inst[ cache ] = space.to( inst._rgba );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7421 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7422
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7423 // this is the only case where we allow nulls for ALL properties.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7424 // call clamp with alwaysAllowEmpty
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7425 inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7426 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7427
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7428 // everything defined but alpha?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7429 if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7430 // use the default of 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7431 inst[ cache ][ 3 ] = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7432 if ( space.from ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7433 inst._rgba = space.from( inst[ cache ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7434 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7435 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7436 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7437 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7438 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7439 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7440 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7441 is: function( compare ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7442 var is = color( compare ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7443 same = true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7444 inst = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7445
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7446 each( spaces, function( _, space ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7447 var localCache,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7448 isCache = is[ space.cache ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7449 if (isCache) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7450 localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7451 each( space.props, function( _, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7452 if ( isCache[ prop.idx ] != null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7453 same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7454 return same;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7455 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7456 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7457 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7458 return same;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7459 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7460 return same;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7461 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7462 _space: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7463 var used = [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7464 inst = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7465 each( spaces, function( spaceName, space ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7466 if ( inst[ space.cache ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7467 used.push( spaceName );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7468 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7469 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7470 return used.pop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7471 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7472 transition: function( other, distance ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7473 var end = color( other ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7474 spaceName = end._space(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7475 space = spaces[ spaceName ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7476 startColor = this.alpha() === 0 ? color( "transparent" ) : this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7477 start = startColor[ space.cache ] || space.to( startColor._rgba ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7478 result = start.slice();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7479
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7480 end = end[ space.cache ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7481 each( space.props, function( key, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7482 var index = prop.idx,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7483 startValue = start[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7484 endValue = end[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7485 type = propTypes[ prop.type ] || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7486
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7487 // if null, don't override start value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7488 if ( endValue === null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7489 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7490 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7491 // if null - use end
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7492 if ( startValue === null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7493 result[ index ] = endValue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7494 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7495 if ( type.mod ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7496 if ( endValue - startValue > type.mod / 2 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7497 startValue += type.mod;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7498 } else if ( startValue - endValue > type.mod / 2 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7499 startValue -= type.mod;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7500 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7501 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7502 result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7503 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7504 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7505 return this[ spaceName ]( result );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7506 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7507 blend: function( opaque ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7508 // if we are already opaque - return ourself
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7509 if ( this._rgba[ 3 ] === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7510 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7511 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7512
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7513 var rgb = this._rgba.slice(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7514 a = rgb.pop(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7515 blend = color( opaque )._rgba;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7516
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7517 return color( jQuery.map( rgb, function( v, i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7518 return ( 1 - a ) * blend[ i ] + a * v;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7519 }));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7520 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7521 toRgbaString: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7522 var prefix = "rgba(",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7523 rgba = jQuery.map( this._rgba, function( v, i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7524 return v == null ? ( i > 2 ? 1 : 0 ) : v;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7525 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7526
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7527 if ( rgba[ 3 ] === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7528 rgba.pop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7529 prefix = "rgb(";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7530 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7531
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7532 return prefix + rgba.join() + ")";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7533 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7534 toHslaString: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7535 var prefix = "hsla(",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7536 hsla = jQuery.map( this.hsla(), function( v, i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7537 if ( v == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7538 v = i > 2 ? 1 : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7539 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7540
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7541 // catch 1 and 2
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7542 if ( i && i < 3 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7543 v = Math.round( v * 100 ) + "%";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7544 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7545 return v;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7546 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7547
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7548 if ( hsla[ 3 ] === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7549 hsla.pop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7550 prefix = "hsl(";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7551 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7552 return prefix + hsla.join() + ")";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7553 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7554 toHexString: function( includeAlpha ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7555 var rgba = this._rgba.slice(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7556 alpha = rgba.pop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7557
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7558 if ( includeAlpha ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7559 rgba.push( ~~( alpha * 255 ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7560 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7561
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7562 return "#" + jQuery.map( rgba, function( v ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7563
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7564 // default to 0 when nulls exist
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7565 v = ( v || 0 ).toString( 16 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7566 return v.length === 1 ? "0" + v : v;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7567 }).join("");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7568 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7569 toString: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7570 return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7571 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7572 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7573 color.fn.parse.prototype = color.fn;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7574
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7575 // hsla conversions adapted from:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7576 // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7577
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7578 function hue2rgb( p, q, h ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7579 h = ( h + 1 ) % 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7580 if ( h * 6 < 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7581 return p + (q - p) * h * 6;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7582 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7583 if ( h * 2 < 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7584 return q;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7585 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7586 if ( h * 3 < 2 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7587 return p + (q - p) * ((2/3) - h) * 6;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7588 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7589 return p;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7590 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7591
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7592 spaces.hsla.to = function ( rgba ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7593 if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7594 return [ null, null, null, rgba[ 3 ] ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7595 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7596 var r = rgba[ 0 ] / 255,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7597 g = rgba[ 1 ] / 255,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7598 b = rgba[ 2 ] / 255,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7599 a = rgba[ 3 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7600 max = Math.max( r, g, b ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7601 min = Math.min( r, g, b ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7602 diff = max - min,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7603 add = max + min,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7604 l = add * 0.5,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7605 h, s;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7606
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7607 if ( min === max ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7608 h = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7609 } else if ( r === max ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7610 h = ( 60 * ( g - b ) / diff ) + 360;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7611 } else if ( g === max ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7612 h = ( 60 * ( b - r ) / diff ) + 120;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7613 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7614 h = ( 60 * ( r - g ) / diff ) + 240;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7615 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7616
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7617 // chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7618 // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7619 if ( diff === 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7620 s = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7621 } else if ( l <= 0.5 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7622 s = diff / add;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7623 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7624 s = diff / ( 2 - add );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7625 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7626 return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7627 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7628
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7629 spaces.hsla.from = function ( hsla ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7630 if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7631 return [ null, null, null, hsla[ 3 ] ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7632 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7633 var h = hsla[ 0 ] / 360,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7634 s = hsla[ 1 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7635 l = hsla[ 2 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7636 a = hsla[ 3 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7637 q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7638 p = 2 * l - q;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7639
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7640 return [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7641 Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7642 Math.round( hue2rgb( p, q, h ) * 255 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7643 Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7644 a
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7645 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7646 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7647
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7648
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7649 each( spaces, function( spaceName, space ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7650 var props = space.props,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7651 cache = space.cache,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7652 to = space.to,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7653 from = space.from;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7654
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7655 // makes rgba() and hsla()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7656 color.fn[ spaceName ] = function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7657
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7658 // generate a cache for this space if it doesn't exist
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7659 if ( to && !this[ cache ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7660 this[ cache ] = to( this._rgba );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7661 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7662 if ( value === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7663 return this[ cache ].slice();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7664 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7665
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7666 var ret,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7667 type = jQuery.type( value ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7668 arr = ( type === "array" || type === "object" ) ? value : arguments,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7669 local = this[ cache ].slice();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7670
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7671 each( props, function( key, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7672 var val = arr[ type === "object" ? key : prop.idx ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7673 if ( val == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7674 val = local[ prop.idx ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7675 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7676 local[ prop.idx ] = clamp( val, prop );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7677 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7678
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7679 if ( from ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7680 ret = color( from( local ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7681 ret[ cache ] = local;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7682 return ret;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7683 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7684 return color( local );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7685 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7686 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7687
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7688 // makes red() green() blue() alpha() hue() saturation() lightness()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7689 each( props, function( key, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7690 // alpha is included in more than one space
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7691 if ( color.fn[ key ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7692 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7693 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7694 color.fn[ key ] = function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7695 var vtype = jQuery.type( value ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7696 fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7697 local = this[ fn ](),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7698 cur = local[ prop.idx ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7699 match;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7700
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7701 if ( vtype === "undefined" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7702 return cur;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7703 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7704
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7705 if ( vtype === "function" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7706 value = value.call( this, cur );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7707 vtype = jQuery.type( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7708 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7709 if ( value == null && prop.empty ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7710 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7711 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7712 if ( vtype === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7713 match = rplusequals.exec( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7714 if ( match ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7715 value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7716 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7717 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7718 local[ prop.idx ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7719 return this[ fn ]( local );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7720 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7721 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7722 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7723
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7724 // add cssHook and .fx.step function for each named hook.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7725 // accept a space separated string of properties
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7726 color.hook = function( hook ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7727 var hooks = hook.split( " " );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7728 each( hooks, function( i, hook ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7729 jQuery.cssHooks[ hook ] = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7730 set: function( elem, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7731 var parsed, curElem,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7732 backgroundColor = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7733
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7734 if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7735 value = color( parsed || value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7736 if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7737 curElem = hook === "backgroundColor" ? elem.parentNode : elem;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7738 while (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7739 (backgroundColor === "" || backgroundColor === "transparent") &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7740 curElem && curElem.style
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7741 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7742 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7743 backgroundColor = jQuery.css( curElem, "backgroundColor" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7744 curElem = curElem.parentNode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7745 } catch ( e ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7746 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7747 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7748
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7749 value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7750 backgroundColor :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7751 "_default" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7752 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7753
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7754 value = value.toRgbaString();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7755 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7756 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7757 elem.style[ hook ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7758 } catch( e ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7759 // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7760 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7761 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7762 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7763 jQuery.fx.step[ hook ] = function( fx ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7764 if ( !fx.colorInit ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7765 fx.start = color( fx.elem, hook );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7766 fx.end = color( fx.end );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7767 fx.colorInit = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7768 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7769 jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7770 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7771 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7772
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7773 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7774
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7775 color.hook( stepHooks );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7776
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7777 jQuery.cssHooks.borderColor = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7778 expand: function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7779 var expanded = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7780
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7781 each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7782 expanded[ "border" + part + "Color" ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7783 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7784 return expanded;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7785 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7786 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7787
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7788 // Basic color names only.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7789 // Usage of any of the other color names requires adding yourself or including
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7790 // jquery.color.svg-names.js.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7791 colors = jQuery.Color.names = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7792 // 4.1. Basic color keywords
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7793 aqua: "#00ffff",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7794 black: "#000000",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7795 blue: "#0000ff",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7796 fuchsia: "#ff00ff",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7797 gray: "#808080",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7798 green: "#008000",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7799 lime: "#00ff00",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7800 maroon: "#800000",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7801 navy: "#000080",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7802 olive: "#808000",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7803 purple: "#800080",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7804 red: "#ff0000",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7805 silver: "#c0c0c0",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7806 teal: "#008080",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7807 white: "#ffffff",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7808 yellow: "#ffff00",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7809
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7810 // 4.2.3. "transparent" color keyword
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7811 transparent: [ null, null, null, 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7812
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7813 _default: "#ffffff"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7814 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7815
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7816 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7817
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7818
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7819 /******************************************************************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7820 /****************************** CLASS ANIMATIONS ******************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7821 /******************************************************************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7822 (function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7824 var classAnimationActions = [ "add", "remove", "toggle" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7825 shorthandStyles = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7826 border: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7827 borderBottom: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7828 borderColor: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7829 borderLeft: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7830 borderRight: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7831 borderTop: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7832 borderWidth: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7833 margin: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7834 padding: 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7835 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7836
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7837 $.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7838 $.fx.step[ prop ] = function( fx ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7839 if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7840 jQuery.style( fx.elem, prop, fx.end );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7841 fx.setAttr = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7842 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7843 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7844 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7845
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7846 function getElementStyles( elem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7847 var key, len,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7848 style = elem.ownerDocument.defaultView ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7849 elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7850 elem.currentStyle,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7851 styles = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7852
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7853 if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7854 len = style.length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7855 while ( len-- ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7856 key = style[ len ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7857 if ( typeof style[ key ] === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7858 styles[ $.camelCase( key ) ] = style[ key ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7859 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7860 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7861 // support: Opera, IE <9
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7862 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7863 for ( key in style ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7864 if ( typeof style[ key ] === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7865 styles[ key ] = style[ key ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7866 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7867 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7868 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7869
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7870 return styles;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7871 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7872
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7873
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7874 function styleDifference( oldStyle, newStyle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7875 var diff = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7876 name, value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7877
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7878 for ( name in newStyle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7879 value = newStyle[ name ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7880 if ( oldStyle[ name ] !== value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7881 if ( !shorthandStyles[ name ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7882 if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7883 diff[ name ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7884 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7885 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7886 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7887 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7888
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7889 return diff;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7890 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7891
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7892 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7893 if ( !$.fn.addBack ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7894 $.fn.addBack = function( selector ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7895 return this.add( selector == null ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7896 this.prevObject : this.prevObject.filter( selector )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7897 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7898 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7899 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7900
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7901 $.effects.animateClass = function( value, duration, easing, callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7902 var o = $.speed( duration, easing, callback );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7903
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7904 return this.queue( function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7905 var animated = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7906 baseClass = animated.attr( "class" ) || "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7907 applyClassChange,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7908 allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7909
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7910 // map the animated objects to store the original styles.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7911 allAnimations = allAnimations.map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7912 var el = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7913 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7914 el: el,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7915 start: getElementStyles( this )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7916 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7917 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7918
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7919 // apply class change
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7920 applyClassChange = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7921 $.each( classAnimationActions, function(i, action) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7922 if ( value[ action ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7923 animated[ action + "Class" ]( value[ action ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7924 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7925 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7926 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7927 applyClassChange();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7928
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7929 // map all animated objects again - calculate new styles and diff
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7930 allAnimations = allAnimations.map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7931 this.end = getElementStyles( this.el[ 0 ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7932 this.diff = styleDifference( this.start, this.end );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7933 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7934 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7935
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7936 // apply original class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7937 animated.attr( "class", baseClass );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7938
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7939 // map all animated objects again - this time collecting a promise
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7940 allAnimations = allAnimations.map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7941 var styleInfo = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7942 dfd = $.Deferred(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7943 opts = $.extend({}, o, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7944 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7945 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7946 dfd.resolve( styleInfo );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7947 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7948 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7949
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7950 this.el.animate( this.diff, opts );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7951 return dfd.promise();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7952 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7953
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7954 // once all animations have completed:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7955 $.when.apply( $, allAnimations.get() ).done(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7956
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7957 // set the final class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7958 applyClassChange();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7959
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7960 // for each animated element,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7961 // clear all css properties that were animated
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7962 $.each( arguments, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7963 var el = this.el;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7964 $.each( this.diff, function(key) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7965 el.css( key, "" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7966 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7967 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7968
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7969 // this is guarnteed to be there if you use jQuery.speed()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7970 // it also handles dequeuing the next anim...
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7971 o.complete.call( animated[ 0 ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7972 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7973 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7974 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7975
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7976 $.fn.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7977 addClass: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7978 return function( classNames, speed, easing, callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7979 return speed ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7980 $.effects.animateClass.call( this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7981 { add: classNames }, speed, easing, callback ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7982 orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7983 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7984 })( $.fn.addClass ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7985
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7986 removeClass: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7987 return function( classNames, speed, easing, callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7988 return arguments.length > 1 ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7989 $.effects.animateClass.call( this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7990 { remove: classNames }, speed, easing, callback ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7991 orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7992 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7993 })( $.fn.removeClass ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7994
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7995 toggleClass: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7996 return function( classNames, force, speed, easing, callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7997 if ( typeof force === "boolean" || force === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7998 if ( !speed ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
7999 // without speed parameter
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8000 return orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8001 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8002 return $.effects.animateClass.call( this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8003 (force ? { add: classNames } : { remove: classNames }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8004 speed, easing, callback );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8005 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8006 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8007 // without force parameter
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8008 return $.effects.animateClass.call( this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8009 { toggle: classNames }, force, speed, easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8010 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8011 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8012 })( $.fn.toggleClass ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8013
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8014 switchClass: function( remove, add, speed, easing, callback) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8015 return $.effects.animateClass.call( this, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8016 add: add,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8017 remove: remove
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8018 }, speed, easing, callback );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8019 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8020 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8022 })();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8023
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8024 /******************************************************************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8025 /*********************************** EFFECTS **********************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8026 /******************************************************************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8027
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8028 (function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8029
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8030 $.extend( $.effects, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8031 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8032
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8033 // Saves a set of properties in a data storage
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8034 save: function( element, set ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8035 for( var i=0; i < set.length; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8036 if ( set[ i ] !== null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8037 element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8038 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8039 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8040 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8041
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8042 // Restores a set of previously saved properties from a data storage
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8043 restore: function( element, set ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8044 var val, i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8045 for( i=0; i < set.length; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8046 if ( set[ i ] !== null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8047 val = element.data( dataSpace + set[ i ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8048 // support: jQuery 1.6.2
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8049 // http://bugs.jquery.com/ticket/9917
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8050 // jQuery 1.6.2 incorrectly returns undefined for any falsy value.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8051 // We can't differentiate between "" and 0 here, so we just assume
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8052 // empty string since it's likely to be a more common value...
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8053 if ( val === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8054 val = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8055 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8056 element.css( set[ i ], val );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8057 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8058 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8059 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8060
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8061 setMode: function( el, mode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8062 if (mode === "toggle") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8063 mode = el.is( ":hidden" ) ? "show" : "hide";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8064 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8065 return mode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8066 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8067
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8068 // Translates a [top,left] array into a baseline value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8069 // this should be a little more flexible in the future to handle a string & hash
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8070 getBaseline: function( origin, original ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8071 var y, x;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8072 switch ( origin[ 0 ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8073 case "top": y = 0; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8074 case "middle": y = 0.5; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8075 case "bottom": y = 1; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8076 default: y = origin[ 0 ] / original.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8077 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8078 switch ( origin[ 1 ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8079 case "left": x = 0; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8080 case "center": x = 0.5; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8081 case "right": x = 1; break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8082 default: x = origin[ 1 ] / original.width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8083 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8084 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8085 x: x,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8086 y: y
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8087 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8088 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8089
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8090 // Wraps the element around a wrapper that copies position properties
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8091 createWrapper: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8092
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8093 // if the element is already wrapped, return it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8094 if ( element.parent().is( ".ui-effects-wrapper" )) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8095 return element.parent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8096 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8097
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8098 // wrap the element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8099 var props = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8100 width: element.outerWidth(true),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8101 height: element.outerHeight(true),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8102 "float": element.css( "float" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8103 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8104 wrapper = $( "<div></div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8105 .addClass( "ui-effects-wrapper" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8106 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8107 fontSize: "100%",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8108 background: "transparent",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8109 border: "none",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8110 margin: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8111 padding: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8112 }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8113 // Store the size in case width/height are defined in % - Fixes #5245
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8114 size = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8115 width: element.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8116 height: element.height()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8117 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8118 active = document.activeElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8119
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8120 // support: Firefox
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8121 // Firefox incorrectly exposes anonymous content
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8122 // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8123 try {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8124 active.id;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8125 } catch( e ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8126 active = document.body;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8127 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8128
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8129 element.wrap( wrapper );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8130
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8131 // Fixes #7595 - Elements lose focus when wrapped.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8132 if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8133 $( active ).focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8134 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8135
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8136 wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8137
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8138 // transfer positioning properties to the wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8139 if ( element.css( "position" ) === "static" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8140 wrapper.css({ position: "relative" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8141 element.css({ position: "relative" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8142 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8143 $.extend( props, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8144 position: element.css( "position" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8145 zIndex: element.css( "z-index" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8146 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8147 $.each([ "top", "left", "bottom", "right" ], function(i, pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8148 props[ pos ] = element.css( pos );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8149 if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8150 props[ pos ] = "auto";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8151 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8152 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8153 element.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8154 position: "relative",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8155 top: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8156 left: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8157 right: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8158 bottom: "auto"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8159 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8160 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8161 element.css(size);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8162
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8163 return wrapper.css( props ).show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8164 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8165
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8166 removeWrapper: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8167 var active = document.activeElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8168
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8169 if ( element.parent().is( ".ui-effects-wrapper" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8170 element.parent().replaceWith( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8171
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8172 // Fixes #7595 - Elements lose focus when wrapped.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8173 if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8174 $( active ).focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8175 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8176 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8177
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8178
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8179 return element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8180 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8181
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8182 setTransition: function( element, list, factor, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8183 value = value || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8184 $.each( list, function( i, x ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8185 var unit = element.cssUnit( x );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8186 if ( unit[ 0 ] > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8187 value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8188 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8189 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8190 return value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8191 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8192 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8193
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8194 // return an effect options object for the given parameters:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8195 function _normalizeArguments( effect, options, speed, callback ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8196
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8197 // allow passing all options as the first parameter
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8198 if ( $.isPlainObject( effect ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8199 options = effect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8200 effect = effect.effect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8201 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8202
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8203 // convert to an object
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8204 effect = { effect: effect };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8205
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8206 // catch (effect, null, ...)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8207 if ( options == null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8208 options = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8209 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8210
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8211 // catch (effect, callback)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8212 if ( $.isFunction( options ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8213 callback = options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8214 speed = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8215 options = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8216 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8217
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8218 // catch (effect, speed, ?)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8219 if ( typeof options === "number" || $.fx.speeds[ options ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8220 callback = speed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8221 speed = options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8222 options = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8223 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8224
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8225 // catch (effect, options, callback)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8226 if ( $.isFunction( speed ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8227 callback = speed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8228 speed = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8229 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8230
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8231 // add options to effect
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8232 if ( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8233 $.extend( effect, options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8234 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8235
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8236 speed = speed || options.duration;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8237 effect.duration = $.fx.off ? 0 :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8238 typeof speed === "number" ? speed :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8239 speed in $.fx.speeds ? $.fx.speeds[ speed ] :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8240 $.fx.speeds._default;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8241
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8242 effect.complete = callback || options.complete;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8243
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8244 return effect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8245 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8246
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8247 function standardAnimationOption( option ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8248 // Valid standard speeds (nothing, number, named speed)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8249 if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8250 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8251 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8252
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8253 // Invalid strings - treat as "normal" speed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8254 if ( typeof option === "string" && !$.effects.effect[ option ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8255 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8256 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8257
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8258 // Complete callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8259 if ( $.isFunction( option ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8260 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8261 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8262
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8263 // Options hash (but not naming an effect)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8264 if ( typeof option === "object" && !option.effect ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8265 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8266 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8267
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8268 // Didn't match any standard API
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8269 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8270 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8271
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8272 $.fn.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8273 effect: function( /* effect, options, speed, callback */ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8274 var args = _normalizeArguments.apply( this, arguments ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8275 mode = args.mode,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8276 queue = args.queue,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8277 effectMethod = $.effects.effect[ args.effect ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8278
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8279 if ( $.fx.off || !effectMethod ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8280 // delegate to the original method (e.g., .show()) if possible
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8281 if ( mode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8282 return this[ mode ]( args.duration, args.complete );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8283 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8284 return this.each( function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8285 if ( args.complete ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8286 args.complete.call( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8287 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8288 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8289 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8290 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8291
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8292 function run( next ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8293 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8294 complete = args.complete,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8295 mode = args.mode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8296
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8297 function done() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8298 if ( $.isFunction( complete ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8299 complete.call( elem[0] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8300 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8301 if ( $.isFunction( next ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8302 next();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8303 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8304 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8305
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8306 // If the element already has the correct final state, delegate to
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8307 // the core methods so the internal tracking of "olddisplay" works.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8308 if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8309 elem[ mode ]();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8310 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8311 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8312 effectMethod.call( elem[0], args, done );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8313 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8314 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8315
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8316 return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8317 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8318
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8319 show: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8320 return function( option ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8321 if ( standardAnimationOption( option ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8322 return orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8323 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8324 var args = _normalizeArguments.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8325 args.mode = "show";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8326 return this.effect.call( this, args );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8327 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8328 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8329 })( $.fn.show ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8330
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8331 hide: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8332 return function( option ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8333 if ( standardAnimationOption( option ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8334 return orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8335 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8336 var args = _normalizeArguments.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8337 args.mode = "hide";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8338 return this.effect.call( this, args );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8339 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8340 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8341 })( $.fn.hide ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8342
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8343 toggle: (function( orig ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8344 return function( option ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8345 if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8346 return orig.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8347 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8348 var args = _normalizeArguments.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8349 args.mode = "toggle";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8350 return this.effect.call( this, args );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8351 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8352 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8353 })( $.fn.toggle ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8354
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8355 // helper functions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8356 cssUnit: function(key) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8357 var style = this.css( key ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8358 val = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8359
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8360 $.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8361 if ( style.indexOf( unit ) > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8362 val = [ parseFloat( style ), unit ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8363 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8364 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8365 return val;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8366 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8367 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8368
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8369 })();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8370
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8371 /******************************************************************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8372 /*********************************** EASING ***********************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8373 /******************************************************************************/
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8374
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8375 (function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8376
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8377 // based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8378
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8379 var baseEasings = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8380
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8381 $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8382 baseEasings[ name ] = function( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8383 return Math.pow( p, i + 2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8384 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8385 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8386
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8387 $.extend( baseEasings, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8388 Sine: function ( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8389 return 1 - Math.cos( p * Math.PI / 2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8390 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8391 Circ: function ( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8392 return 1 - Math.sqrt( 1 - p * p );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8393 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8394 Elastic: function( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8395 return p === 0 || p === 1 ? p :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8396 -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8397 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8398 Back: function( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8399 return p * p * ( 3 * p - 2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8400 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8401 Bounce: function ( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8402 var pow2,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8403 bounce = 4;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8404
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8405 while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8406 return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8407 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8408 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8409
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8410 $.each( baseEasings, function( name, easeIn ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8411 $.easing[ "easeIn" + name ] = easeIn;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8412 $.easing[ "easeOut" + name ] = function( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8413 return 1 - easeIn( 1 - p );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8414 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8415 $.easing[ "easeInOut" + name ] = function( p ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8416 return p < 0.5 ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8417 easeIn( p * 2 ) / 2 :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8418 1 - easeIn( p * -2 + 2 ) / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8419 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8420 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8421
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8422 })();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8423
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8424 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8425 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8426
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8427 var rvertical = /up|down|vertical/,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8428 rpositivemotion = /up|left|vertical|horizontal/;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8429
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8430 $.effects.effect.blind = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8431 // Create element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8432 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8433 props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8434 mode = $.effects.setMode( el, o.mode || "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8435 direction = o.direction || "up",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8436 vertical = rvertical.test( direction ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8437 ref = vertical ? "height" : "width",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8438 ref2 = vertical ? "top" : "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8439 motion = rpositivemotion.test( direction ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8440 animation = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8441 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8442 wrapper, distance, margin;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8443
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8444 // if already wrapped, the wrapper's properties are my property. #6245
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8445 if ( el.parent().is( ".ui-effects-wrapper" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8446 $.effects.save( el.parent(), props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8447 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8448 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8449 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8450 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8451 wrapper = $.effects.createWrapper( el ).css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8452 overflow: "hidden"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8453 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8454
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8455 distance = wrapper[ ref ]();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8456 margin = parseFloat( wrapper.css( ref2 ) ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8457
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8458 animation[ ref ] = show ? distance : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8459 if ( !motion ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8460 el
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8461 .css( vertical ? "bottom" : "right", 0 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8462 .css( vertical ? "top" : "left", "auto" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8463 .css({ position: "absolute" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8464
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8465 animation[ ref2 ] = show ? margin : distance + margin;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8466 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8467
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8468 // start at 0 if we are showing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8469 if ( show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8470 wrapper.css( ref, 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8471 if ( ! motion ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8472 wrapper.css( ref2, margin + distance );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8473 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8474 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8475
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8476 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8477 wrapper.animate( animation, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8478 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8479 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8480 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8481 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8482 if ( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8483 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8484 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8485 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8486 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8487 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8488 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8489 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8490
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8491 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8492
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8493 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8494 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8495
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8496 $.effects.effect.bounce = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8497 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8498 props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8499
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8500 // defaults:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8501 mode = $.effects.setMode( el, o.mode || "effect" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8502 hide = mode === "hide",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8503 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8504 direction = o.direction || "up",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8505 distance = o.distance,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8506 times = o.times || 5,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8507
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8508 // number of internal animations
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8509 anims = times * 2 + ( show || hide ? 1 : 0 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8510 speed = o.duration / anims,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8511 easing = o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8512
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8513 // utility:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8514 ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8515 motion = ( direction === "up" || direction === "left" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8516 i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8517 upAnim,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8518 downAnim,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8519
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8520 // we will need to re-assemble the queue to stack our animations in place
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8521 queue = el.queue(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8522 queuelen = queue.length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8523
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8524 // Avoid touching opacity to prevent clearType and PNG issues in IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8525 if ( show || hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8526 props.push( "opacity" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8527 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8528
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8529 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8530 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8531 $.effects.createWrapper( el ); // Create Wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8532
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8533 // default distance for the BIGGEST bounce is the outer Distance / 3
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8534 if ( !distance ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8535 distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8536 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8537
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8538 if ( show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8539 downAnim = { opacity: 1 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8540 downAnim[ ref ] = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8541
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8542 // if we are showing, force opacity 0 and set the initial position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8543 // then do the "first" animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8544 el.css( "opacity", 0 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8545 .css( ref, motion ? -distance * 2 : distance * 2 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8546 .animate( downAnim, speed, easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8547 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8548
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8549 // start at the smallest distance if we are hiding
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8550 if ( hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8551 distance = distance / Math.pow( 2, times - 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8552 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8553
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8554 downAnim = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8555 downAnim[ ref ] = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8556 // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8557 for ( i = 0; i < times; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8558 upAnim = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8559 upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8560
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8561 el.animate( upAnim, speed, easing )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8562 .animate( downAnim, speed, easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8563
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8564 distance = hide ? distance * 2 : distance / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8565 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8566
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8567 // Last Bounce when Hiding
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8568 if ( hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8569 upAnim = { opacity: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8570 upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8571
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8572 el.animate( upAnim, speed, easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8573 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8574
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8575 el.queue(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8576 if ( hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8577 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8578 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8579 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8580 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8581 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8582 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8583
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8584 // inject all the animations we just queued to be first in line (after "inprogress")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8585 if ( queuelen > 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8586 queue.splice.apply( queue,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8587 [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8588 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8589 el.dequeue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8590
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8591 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8592
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8593 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8594 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8596 $.effects.effect.clip = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8597 // Create element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8598 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8599 props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8600 mode = $.effects.setMode( el, o.mode || "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8601 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8602 direction = o.direction || "vertical",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8603 vert = direction === "vertical",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8604 size = vert ? "height" : "width",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8605 position = vert ? "top" : "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8606 animation = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8607 wrapper, animate, distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8608
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8609 // Save & Show
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8610 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8611 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8612
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8613 // Create Wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8614 wrapper = $.effects.createWrapper( el ).css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8615 overflow: "hidden"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8616 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8617 animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8618 distance = animate[ size ]();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8619
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8620 // Shift
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8621 if ( show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8622 animate.css( size, 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8623 animate.css( position, distance / 2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8624 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8625
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8626 // Create Animation Object:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8627 animation[ size ] = show ? distance : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8628 animation[ position ] = show ? 0 : distance / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8629
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8630 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8631 animate.animate( animation, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8632 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8633 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8634 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8635 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8636 if ( !show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8637 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8638 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8639 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8640 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8641 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8642 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8643 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8644
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8645 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8646
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8647 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8648 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8649
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8650 $.effects.effect.drop = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8651
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8652 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8653 props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8654 mode = $.effects.setMode( el, o.mode || "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8655 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8656 direction = o.direction || "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8657 ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8658 motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8659 animation = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8660 opacity: show ? 1 : 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8661 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8662 distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8663
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8664 // Adjust
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8665 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8666 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8667 $.effects.createWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8668
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8669 distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8670
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8671 if ( show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8672 el
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8673 .css( "opacity", 0 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8674 .css( ref, motion === "pos" ? -distance : distance );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8675 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8676
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8677 // Animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8678 animation[ ref ] = ( show ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8679 ( motion === "pos" ? "+=" : "-=" ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8680 ( motion === "pos" ? "-=" : "+=" ) ) +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8681 distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8682
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8683 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8684 el.animate( animation, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8685 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8686 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8687 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8688 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8689 if ( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8690 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8691 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8692 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8693 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8694 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8695 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8696 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8697 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8698
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8699 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8700 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8701
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8702 $.effects.effect.explode = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8703
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8704 var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8705 cells = rows,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8706 el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8707 mode = $.effects.setMode( el, o.mode || "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8708 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8709
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8710 // show and then visibility:hidden the element before calculating offset
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8711 offset = el.show().css( "visibility", "hidden" ).offset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8712
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8713 // width and height of a piece
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8714 width = Math.ceil( el.outerWidth() / cells ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8715 height = Math.ceil( el.outerHeight() / rows ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8716 pieces = [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8717
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8718 // loop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8719 i, j, left, top, mx, my;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8720
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8721 // children animate complete:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8722 function childComplete() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8723 pieces.push( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8724 if ( pieces.length === rows * cells ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8725 animComplete();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8726 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8727 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8728
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8729 // clone the element for each row and cell.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8730 for( i = 0; i < rows ; i++ ) { // ===>
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8731 top = offset.top + i * height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8732 my = i - ( rows - 1 ) / 2 ;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8733
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8734 for( j = 0; j < cells ; j++ ) { // |||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8735 left = offset.left + j * width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8736 mx = j - ( cells - 1 ) / 2 ;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8737
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8738 // Create a clone of the now hidden main element that will be absolute positioned
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8739 // within a wrapper div off the -left and -top equal to size of our pieces
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8740 el
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8741 .clone()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8742 .appendTo( "body" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8743 .wrap( "<div></div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8744 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8745 position: "absolute",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8746 visibility: "visible",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8747 left: -j * width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8748 top: -i * height
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8749 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8750
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8751 // select the wrapper - make it overflow: hidden and absolute positioned based on
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8752 // where the original was located +left and +top equal to the size of pieces
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8753 .parent()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8754 .addClass( "ui-effects-explode" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8755 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8756 position: "absolute",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8757 overflow: "hidden",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8758 width: width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8759 height: height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8760 left: left + ( show ? mx * width : 0 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8761 top: top + ( show ? my * height : 0 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8762 opacity: show ? 0 : 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8763 }).animate({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8764 left: left + ( show ? 0 : mx * width ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8765 top: top + ( show ? 0 : my * height ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8766 opacity: show ? 1 : 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8767 }, o.duration || 500, o.easing, childComplete );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8768 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8769 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8770
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8771 function animComplete() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8772 el.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8773 visibility: "visible"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8774 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8775 $( pieces ).remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8776 if ( !show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8777 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8778 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8779 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8780 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8781 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8782
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8783 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8784 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8785
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8786 $.effects.effect.fade = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8787 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8788 mode = $.effects.setMode( el, o.mode || "toggle" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8789
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8790 el.animate({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8791 opacity: mode
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8792 }, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8793 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8794 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8795 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8796 complete: done
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8797 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8798 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8799
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8800 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8801 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8802
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8803 $.effects.effect.fold = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8804
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8805 // Create element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8806 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8807 props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8808 mode = $.effects.setMode( el, o.mode || "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8809 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8810 hide = mode === "hide",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8811 size = o.size || 15,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8812 percent = /([0-9]+)%/.exec( size ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8813 horizFirst = !!o.horizFirst,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8814 widthFirst = show !== horizFirst,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8815 ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8816 duration = o.duration / 2,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8817 wrapper, distance,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8818 animation1 = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8819 animation2 = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8820
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8821 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8822 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8824 // Create Wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8825 wrapper = $.effects.createWrapper( el ).css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8826 overflow: "hidden"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8827 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8828 distance = widthFirst ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8829 [ wrapper.width(), wrapper.height() ] :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8830 [ wrapper.height(), wrapper.width() ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8831
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8832 if ( percent ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8833 size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8834 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8835 if ( show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8836 wrapper.css( horizFirst ? {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8837 height: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8838 width: size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8839 } : {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8840 height: size,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8841 width: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8842 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8843 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8844
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8845 // Animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8846 animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8847 animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8848
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8849 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8850 wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8851 .animate( animation1, duration, o.easing )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8852 .animate( animation2, duration, o.easing, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8853 if ( hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8854 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8855 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8856 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8857 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8858 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8859 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8860
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8861 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8862
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8863 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8864 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8865
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8866 $.effects.effect.highlight = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8867 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8868 props = [ "backgroundImage", "backgroundColor", "opacity" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8869 mode = $.effects.setMode( elem, o.mode || "show" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8870 animation = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8871 backgroundColor: elem.css( "backgroundColor" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8872 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8873
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8874 if (mode === "hide") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8875 animation.opacity = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8876 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8877
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8878 $.effects.save( elem, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8879
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8880 elem
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8881 .show()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8882 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8883 backgroundImage: "none",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8884 backgroundColor: o.color || "#ffff99"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8885 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8886 .animate( animation, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8887 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8888 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8889 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8890 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8891 if ( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8892 elem.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8893 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8894 $.effects.restore( elem, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8895 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8896 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8897 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8898 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8899
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8900 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8901 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8902
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8903 $.effects.effect.pulsate = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8904 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8905 mode = $.effects.setMode( elem, o.mode || "show" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8906 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8907 hide = mode === "hide",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8908 showhide = ( show || mode === "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8909
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8910 // showing or hiding leaves of the "last" animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8911 anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8912 duration = o.duration / anims,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8913 animateTo = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8914 queue = elem.queue(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8915 queuelen = queue.length,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8916 i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8917
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8918 if ( show || !elem.is(":visible")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8919 elem.css( "opacity", 0 ).show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8920 animateTo = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8921 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8922
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8923 // anims - 1 opacity "toggles"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8924 for ( i = 1; i < anims; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8925 elem.animate({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8926 opacity: animateTo
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8927 }, duration, o.easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8928 animateTo = 1 - animateTo;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8929 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8930
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8931 elem.animate({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8932 opacity: animateTo
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8933 }, duration, o.easing);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8934
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8935 elem.queue(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8936 if ( hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8937 elem.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8938 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8939 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8940 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8941
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8942 // We just queued up "anims" animations, we need to put them next in the queue
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8943 if ( queuelen > 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8944 queue.splice.apply( queue,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8945 [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8946 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8947 elem.dequeue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8948 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8949
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8950 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8951 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8952
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8953 $.effects.effect.puff = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8954 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8955 mode = $.effects.setMode( elem, o.mode || "hide" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8956 hide = mode === "hide",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8957 percent = parseInt( o.percent, 10 ) || 150,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8958 factor = percent / 100,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8959 original = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8960 height: elem.height(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8961 width: elem.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8962 outerHeight: elem.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8963 outerWidth: elem.outerWidth()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8964 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8965
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8966 $.extend( o, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8967 effect: "scale",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8968 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8969 fade: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8970 mode: mode,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8971 complete: done,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8972 percent: hide ? percent : 100,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8973 from: hide ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8974 original :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8975 {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8976 height: original.height * factor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8977 width: original.width * factor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8978 outerHeight: original.outerHeight * factor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8979 outerWidth: original.outerWidth * factor
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8980 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8981 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8982
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8983 elem.effect( o );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8984 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8985
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8986 $.effects.effect.scale = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8987
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8988 // Create element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8989 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8990 options = $.extend( true, {}, o ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8991 mode = $.effects.setMode( el, o.mode || "effect" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8992 percent = parseInt( o.percent, 10 ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8993 ( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8994 direction = o.direction || "both",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8995 origin = o.origin,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8996 original = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8997 height: el.height(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8998 width: el.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
8999 outerHeight: el.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9000 outerWidth: el.outerWidth()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9001 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9002 factor = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9003 y: direction !== "horizontal" ? (percent / 100) : 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9004 x: direction !== "vertical" ? (percent / 100) : 1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9005 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9006
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9007 // We are going to pass this effect to the size effect:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9008 options.effect = "size";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9009 options.queue = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9010 options.complete = done;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9011
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9012 // Set default origin and restore for show/hide
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9013 if ( mode !== "effect" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9014 options.origin = origin || ["middle","center"];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9015 options.restore = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9016 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9017
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9018 options.from = o.from || ( mode === "show" ? {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9019 height: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9020 width: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9021 outerHeight: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9022 outerWidth: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9023 } : original );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9024 options.to = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9025 height: original.height * factor.y,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9026 width: original.width * factor.x,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9027 outerHeight: original.outerHeight * factor.y,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9028 outerWidth: original.outerWidth * factor.x
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9029 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9030
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9031 // Fade option to support puff
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9032 if ( options.fade ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9033 if ( mode === "show" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9034 options.from.opacity = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9035 options.to.opacity = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9036 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9037 if ( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9038 options.from.opacity = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9039 options.to.opacity = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9040 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9041 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9042
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9043 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9044 el.effect( options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9045
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9046 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9047
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9048 $.effects.effect.size = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9049
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9050 // Create element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9051 var original, baseline, factor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9052 el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9053 props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9054
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9055 // Always restore
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9056 props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9057
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9058 // Copy for children
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9059 props2 = [ "width", "height", "overflow" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9060 cProps = [ "fontSize" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9061 vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9062 hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9063
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9064 // Set options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9065 mode = $.effects.setMode( el, o.mode || "effect" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9066 restore = o.restore || mode !== "effect",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9067 scale = o.scale || "both",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9068 origin = o.origin || [ "middle", "center" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9069 position = el.css( "position" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9070 props = restore ? props0 : props1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9071 zero = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9072 height: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9073 width: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9074 outerHeight: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9075 outerWidth: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9076 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9077
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9078 if ( mode === "show" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9079 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9080 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9081 original = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9082 height: el.height(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9083 width: el.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9084 outerHeight: el.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9085 outerWidth: el.outerWidth()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9086 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9087
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9088 if ( o.mode === "toggle" && mode === "show" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9089 el.from = o.to || zero;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9090 el.to = o.from || original;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9091 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9092 el.from = o.from || ( mode === "show" ? zero : original );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9093 el.to = o.to || ( mode === "hide" ? zero : original );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9094 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9095
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9096 // Set scaling factor
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9097 factor = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9098 from: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9099 y: el.from.height / original.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9100 x: el.from.width / original.width
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9101 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9102 to: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9103 y: el.to.height / original.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9104 x: el.to.width / original.width
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9105 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9106 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9107
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9108 // Scale the css box
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9109 if ( scale === "box" || scale === "both" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9110
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9111 // Vertical props scaling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9112 if ( factor.from.y !== factor.to.y ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9113 props = props.concat( vProps );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9114 el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9115 el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9116 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9117
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9118 // Horizontal props scaling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9119 if ( factor.from.x !== factor.to.x ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9120 props = props.concat( hProps );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9121 el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9122 el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9123 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9124 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9125
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9126 // Scale the content
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9127 if ( scale === "content" || scale === "both" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9128
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9129 // Vertical props scaling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9130 if ( factor.from.y !== factor.to.y ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9131 props = props.concat( cProps ).concat( props2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9132 el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9133 el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9134 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9135 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9136
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9137 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9138 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9139 $.effects.createWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9140 el.css( "overflow", "hidden" ).css( el.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9141
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9142 // Adjust
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9143 if (origin) { // Calculate baseline shifts
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9144 baseline = $.effects.getBaseline( origin, original );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9145 el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9146 el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9147 el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9148 el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9149 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9150 el.css( el.from ); // set top & left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9151
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9152 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9153 if ( scale === "content" || scale === "both" ) { // Scale the children
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9154
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9155 // Add margins/font-size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9156 vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9157 hProps = hProps.concat([ "marginLeft", "marginRight" ]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9158 props2 = props0.concat(vProps).concat(hProps);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9159
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9160 el.find( "*[width]" ).each( function(){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9161 var child = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9162 c_original = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9163 height: child.height(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9164 width: child.width(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9165 outerHeight: child.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9166 outerWidth: child.outerWidth()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9167 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9168 if (restore) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9169 $.effects.save(child, props2);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9170 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9171
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9172 child.from = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9173 height: c_original.height * factor.from.y,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9174 width: c_original.width * factor.from.x,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9175 outerHeight: c_original.outerHeight * factor.from.y,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9176 outerWidth: c_original.outerWidth * factor.from.x
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9177 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9178 child.to = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9179 height: c_original.height * factor.to.y,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9180 width: c_original.width * factor.to.x,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9181 outerHeight: c_original.height * factor.to.y,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9182 outerWidth: c_original.width * factor.to.x
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9183 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9184
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9185 // Vertical props scaling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9186 if ( factor.from.y !== factor.to.y ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9187 child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9188 child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9189 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9190
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9191 // Horizontal props scaling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9192 if ( factor.from.x !== factor.to.x ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9193 child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9194 child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9195 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9196
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9197 // Animate children
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9198 child.css( child.from );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9199 child.animate( child.to, o.duration, o.easing, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9200
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9201 // Restore children
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9202 if ( restore ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9203 $.effects.restore( child, props2 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9204 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9205 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9206 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9207 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9208
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9209 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9210 el.animate( el.to, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9211 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9212 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9213 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9214 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9215 if ( el.to.opacity === 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9216 el.css( "opacity", el.from.opacity );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9217 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9218 if( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9219 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9220 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9221 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9222 if ( !restore ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9223
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9224 // we need to calculate our new positioning based on the scaling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9225 if ( position === "static" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9226 el.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9227 position: "relative",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9228 top: el.to.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9229 left: el.to.left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9230 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9231 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9232 $.each([ "top", "left" ], function( idx, pos ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9233 el.css( pos, function( _, str ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9234 var val = parseInt( str, 10 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9235 toRef = idx ? el.to.left : el.to.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9236
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9237 // if original was "auto", recalculate the new value from wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9238 if ( str === "auto" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9239 return toRef + "px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9240 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9241
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9242 return val + toRef + "px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9243 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9244 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9245 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9246 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9247
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9248 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9249 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9250 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9251 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9252
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9253 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9254
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9255 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9256 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9257
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9258 $.effects.effect.shake = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9259
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9260 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9261 props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9262 mode = $.effects.setMode( el, o.mode || "effect" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9263 direction = o.direction || "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9264 distance = o.distance || 20,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9265 times = o.times || 3,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9266 anims = times * 2 + 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9267 speed = Math.round(o.duration/anims),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9268 ref = (direction === "up" || direction === "down") ? "top" : "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9269 positiveMotion = (direction === "up" || direction === "left"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9270 animation = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9271 animation1 = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9272 animation2 = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9273 i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9274
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9275 // we will need to re-assemble the queue to stack our animations in place
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9276 queue = el.queue(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9277 queuelen = queue.length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9278
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9279 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9280 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9281 $.effects.createWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9282
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9283 // Animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9284 animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9285 animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9286 animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9287
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9288 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9289 el.animate( animation, speed, o.easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9290
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9291 // Shakes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9292 for ( i = 1; i < times; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9293 el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9294 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9295 el
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9296 .animate( animation1, speed, o.easing )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9297 .animate( animation, speed / 2, o.easing )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9298 .queue(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9299 if ( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9300 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9301 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9302 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9303 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9304 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9305 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9306
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9307 // inject all the animations we just queued to be first in line (after "inprogress")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9308 if ( queuelen > 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9309 queue.splice.apply( queue,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9310 [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9311 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9312 el.dequeue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9313
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9314 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9315
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9316 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9317 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9318
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9319 $.effects.effect.slide = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9320
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9321 // Create element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9322 var el = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9323 props = [ "position", "top", "bottom", "left", "right", "width", "height" ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9324 mode = $.effects.setMode( el, o.mode || "show" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9325 show = mode === "show",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9326 direction = o.direction || "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9327 ref = (direction === "up" || direction === "down") ? "top" : "left",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9328 positiveMotion = (direction === "up" || direction === "left"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9329 distance,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9330 animation = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9331
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9332 // Adjust
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9333 $.effects.save( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9334 el.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9335 distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9336
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9337 $.effects.createWrapper( el ).css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9338 overflow: "hidden"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9339 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9340
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9341 if ( show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9342 el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9343 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9344
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9345 // Animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9346 animation[ ref ] = ( show ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9347 ( positiveMotion ? "+=" : "-=") :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9348 ( positiveMotion ? "-=" : "+=")) +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9349 distance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9350
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9351 // Animate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9352 el.animate( animation, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9353 queue: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9354 duration: o.duration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9355 easing: o.easing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9356 complete: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9357 if ( mode === "hide" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9358 el.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9359 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9360 $.effects.restore( el, props );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9361 $.effects.removeWrapper( el );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9362 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9363 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9364 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9365 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9366
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9367 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9368 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9369
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9370 $.effects.effect.transfer = function( o, done ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9371 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9372 target = $( o.to ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9373 targetFixed = target.css( "position" ) === "fixed",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9374 body = $("body"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9375 fixTop = targetFixed ? body.scrollTop() : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9376 fixLeft = targetFixed ? body.scrollLeft() : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9377 endPosition = target.offset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9378 animation = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9379 top: endPosition.top - fixTop ,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9380 left: endPosition.left - fixLeft ,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9381 height: target.innerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9382 width: target.innerWidth()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9383 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9384 startPosition = elem.offset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9385 transfer = $( "<div class='ui-effects-transfer'></div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9386 .appendTo( document.body )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9387 .addClass( o.className )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9388 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9389 top: startPosition.top - fixTop ,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9390 left: startPosition.left - fixLeft ,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9391 height: elem.innerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9392 width: elem.innerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9393 position: targetFixed ? "fixed" : "absolute"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9394 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9395 .animate( animation, o.duration, o.easing, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9396 transfer.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9397 done();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9398 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9399 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9400
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9401 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9402 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9403
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9404 $.widget( "ui.menu", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9405 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9406 defaultElement: "<ul>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9407 delay: 300,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9408 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9409 icons: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9410 submenu: "ui-icon-carat-1-e"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9411 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9412 menus: "ul",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9413 position: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9414 my: "left top",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9415 at: "right top"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9416 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9417 role: "menu",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9418
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9419 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9420 blur: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9421 focus: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9422 select: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9423 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9424
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9425 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9426 this.activeMenu = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9427 // flag used to prevent firing of the click handler
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9428 // as the event bubbles up through nested menus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9429 this.mouseHandled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9430 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9431 .uniqueId()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9432 .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9433 .toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9434 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9435 role: this.options.role,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9436 tabIndex: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9437 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9438 // need to catch all clicks on disabled menu
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9439 // not possible through _on
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9440 .bind( "click" + this.eventNamespace, $.proxy(function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9441 if ( this.options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9442 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9443 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9444 }, this ));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9445
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9446 if ( this.options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9447 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9448 .addClass( "ui-state-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9449 .attr( "aria-disabled", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9450 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9451
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9452 this._on({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9453 // Prevent focus from sticking to links inside menu after clicking
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9454 // them (focus should always stay on UL during navigation).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9455 "mousedown .ui-menu-item > a": function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9456 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9457 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9458 "click .ui-state-disabled > a": function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9459 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9460 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9461 "click .ui-menu-item:has(a)": function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9462 var target = $( event.target ).closest( ".ui-menu-item" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9463 if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9464 this.select( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9465
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9466 // Only set the mouseHandled flag if the event will bubble, see #9469.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9467 if ( !event.isPropagationStopped() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9468 this.mouseHandled = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9469 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9470
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9471 // Open submenu on click
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9472 if ( target.has( ".ui-menu" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9473 this.expand( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9474 } else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9475
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9476 // Redirect focus to the menu
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9477 this.element.trigger( "focus", [ true ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9478
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9479 // If the active item is on the top level, let it stay active.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9480 // Otherwise, blur the active item since it is no longer visible.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9481 if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9482 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9483 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9484 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9485 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9486 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9487 "mouseenter .ui-menu-item": function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9488 var target = $( event.currentTarget );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9489 // Remove ui-state-active class from siblings of the newly focused menu item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9490 // to avoid a jump caused by adjacent elements both having a class with a border
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9491 target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9492 this.focus( event, target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9493 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9494 mouseleave: "collapseAll",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9495 "mouseleave .ui-menu": "collapseAll",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9496 focus: function( event, keepActiveItem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9497 // If there's already an active item, keep it active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9498 // If not, activate the first item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9499 var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9500
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9501 if ( !keepActiveItem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9502 this.focus( event, item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9503 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9504 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9505 blur: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9506 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9507 if ( !$.contains( this.element[0], this.document[0].activeElement ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9508 this.collapseAll( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9509 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9510 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9511 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9512 keydown: "_keydown"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9513 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9514
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9515 this.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9516
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9517 // Clicks outside of a menu collapse any open menus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9518 this._on( this.document, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9519 click: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9520 if ( !$( event.target ).closest( ".ui-menu" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9521 this.collapseAll( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9522 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9523
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9524 // Reset the mouseHandled flag
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9525 this.mouseHandled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9526 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9527 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9528 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9529
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9530 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9531 // Destroy (sub)menus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9532 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9533 .removeAttr( "aria-activedescendant" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9534 .find( ".ui-menu" ).addBack()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9535 .removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9536 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9537 .removeAttr( "tabIndex" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9538 .removeAttr( "aria-labelledby" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9539 .removeAttr( "aria-expanded" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9540 .removeAttr( "aria-hidden" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9541 .removeAttr( "aria-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9542 .removeUniqueId()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9543 .show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9544
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9545 // Destroy menu items
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9546 this.element.find( ".ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9547 .removeClass( "ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9548 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9549 .removeAttr( "aria-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9550 .children( "a" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9551 .removeUniqueId()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9552 .removeClass( "ui-corner-all ui-state-hover" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9553 .removeAttr( "tabIndex" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9554 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9555 .removeAttr( "aria-haspopup" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9556 .children().each( function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9557 var elem = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9558 if ( elem.data( "ui-menu-submenu-carat" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9559 elem.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9560 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9561 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9562
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9563 // Destroy menu dividers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9564 this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9565 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9566
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9567 _keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9568 var match, prev, character, skip, regex,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9569 preventDefault = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9570
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9571 function escape( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9572 return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9573 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9574
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9575 switch ( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9576 case $.ui.keyCode.PAGE_UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9577 this.previousPage( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9578 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9579 case $.ui.keyCode.PAGE_DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9580 this.nextPage( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9581 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9582 case $.ui.keyCode.HOME:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9583 this._move( "first", "first", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9584 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9585 case $.ui.keyCode.END:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9586 this._move( "last", "last", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9587 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9588 case $.ui.keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9589 this.previous( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9590 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9591 case $.ui.keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9592 this.next( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9593 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9594 case $.ui.keyCode.LEFT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9595 this.collapse( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9596 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9597 case $.ui.keyCode.RIGHT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9598 if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9599 this.expand( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9600 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9601 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9602 case $.ui.keyCode.ENTER:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9603 case $.ui.keyCode.SPACE:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9604 this._activate( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9605 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9606 case $.ui.keyCode.ESCAPE:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9607 this.collapse( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9608 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9609 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9610 preventDefault = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9611 prev = this.previousFilter || "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9612 character = String.fromCharCode( event.keyCode );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9613 skip = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9614
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9615 clearTimeout( this.filterTimer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9616
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9617 if ( character === prev ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9618 skip = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9619 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9620 character = prev + character;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9621 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9622
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9623 regex = new RegExp( "^" + escape( character ), "i" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9624 match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9625 return regex.test( $( this ).children( "a" ).text() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9626 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9627 match = skip && match.index( this.active.next() ) !== -1 ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9628 this.active.nextAll( ".ui-menu-item" ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9629 match;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9630
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9631 // If no matches on the current filter, reset to the last character pressed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9632 // to move down the menu to the first item that starts with that character
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9633 if ( !match.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9634 character = String.fromCharCode( event.keyCode );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9635 regex = new RegExp( "^" + escape( character ), "i" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9636 match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9637 return regex.test( $( this ).children( "a" ).text() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9638 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9639 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9640
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9641 if ( match.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9642 this.focus( event, match );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9643 if ( match.length > 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9644 this.previousFilter = character;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9645 this.filterTimer = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9646 delete this.previousFilter;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9647 }, 1000 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9648 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9649 delete this.previousFilter;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9650 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9651 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9652 delete this.previousFilter;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9653 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9654 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9655
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9656 if ( preventDefault ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9657 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9658 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9659 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9660
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9661 _activate: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9662 if ( !this.active.is( ".ui-state-disabled" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9663 if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9664 this.expand( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9665 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9666 this.select( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9667 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9668 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9669 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9670
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9671 refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9672 var menus,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9673 icon = this.options.icons.submenu,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9674 submenus = this.element.find( this.options.menus );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9675
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9676 this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9677
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9678 // Initialize nested menus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9679 submenus.filter( ":not(.ui-menu)" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9680 .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9681 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9682 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9683 role: this.options.role,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9684 "aria-hidden": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9685 "aria-expanded": "false"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9686 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9687 .each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9688 var menu = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9689 item = menu.prev( "a" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9690 submenuCarat = $( "<span>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9691 .addClass( "ui-menu-icon ui-icon " + icon )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9692 .data( "ui-menu-submenu-carat", true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9693
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9694 item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9695 .attr( "aria-haspopup", "true" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9696 .prepend( submenuCarat );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9697 menu.attr( "aria-labelledby", item.attr( "id" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9698 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9699
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9700 menus = submenus.add( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9701
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9702 // Don't refresh list items that are already adapted
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9703 menus.children( ":not(.ui-menu-item):has(a)" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9704 .addClass( "ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9705 .attr( "role", "presentation" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9706 .children( "a" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9707 .uniqueId()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9708 .addClass( "ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9709 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9710 tabIndex: -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9711 role: this._itemRole()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9712 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9713
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9714 // Initialize unlinked menu-items containing spaces and/or dashes only as dividers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9715 menus.children( ":not(.ui-menu-item)" ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9716 var item = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9717 // hyphen, em dash, en dash
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9718 if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9719 item.addClass( "ui-widget-content ui-menu-divider" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9720 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9721 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9722
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9723 // Add aria-disabled attribute to any disabled menu item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9724 menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9725
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9726 // If the active item has been removed, blur the menu
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9727 if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9728 this.blur();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9729 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9730 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9731
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9732 _itemRole: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9733 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9734 menu: "menuitem",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9735 listbox: "option"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9736 }[ this.options.role ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9737 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9738
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9739 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9740 if ( key === "icons" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9741 this.element.find( ".ui-menu-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9742 .removeClass( this.options.icons.submenu )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9743 .addClass( value.submenu );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9744 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9745 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9746 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9747
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9748 focus: function( event, item ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9749 var nested, focused;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9750 this.blur( event, event && event.type === "focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9751
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9752 this._scrollIntoView( item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9753
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9754 this.active = item.first();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9755 focused = this.active.children( "a" ).addClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9756 // Only update aria-activedescendant if there's a role
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9757 // otherwise we assume focus is managed elsewhere
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9758 if ( this.options.role ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9759 this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9760 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9761
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9762 // Highlight active parent menu item, if any
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9763 this.active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9764 .parent()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9765 .closest( ".ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9766 .children( "a:first" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9767 .addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9768
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9769 if ( event && event.type === "keydown" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9770 this._close();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9771 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9772 this.timer = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9773 this._close();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9774 }, this.delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9775 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9776
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9777 nested = item.children( ".ui-menu" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9778 if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9779 this._startOpening(nested);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9780 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9781 this.activeMenu = item.parent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9782
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9783 this._trigger( "focus", event, { item: item } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9784 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9785
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9786 _scrollIntoView: function( item ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9787 var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9788 if ( this._hasScroll() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9789 borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9790 paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9791 offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9792 scroll = this.activeMenu.scrollTop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9793 elementHeight = this.activeMenu.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9794 itemHeight = item.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9795
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9796 if ( offset < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9797 this.activeMenu.scrollTop( scroll + offset );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9798 } else if ( offset + itemHeight > elementHeight ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9799 this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9800 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9801 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9802 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9803
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9804 blur: function( event, fromFocus ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9805 if ( !fromFocus ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9806 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9807 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9808
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9809 if ( !this.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9810 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9811 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9812
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9813 this.active.children( "a" ).removeClass( "ui-state-focus" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9814 this.active = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9815
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9816 this._trigger( "blur", event, { item: this.active } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9817 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9818
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9819 _startOpening: function( submenu ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9820 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9821
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9822 // Don't open if already open fixes a Firefox bug that caused a .5 pixel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9823 // shift in the submenu position when mousing over the carat icon
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9824 if ( submenu.attr( "aria-hidden" ) !== "true" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9825 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9826 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9827
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9828 this.timer = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9829 this._close();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9830 this._open( submenu );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9831 }, this.delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9832 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9833
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9834 _open: function( submenu ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9835 var position = $.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9836 of: this.active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9837 }, this.options.position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9838
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9839 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9840 this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9841 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9842 .attr( "aria-hidden", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9843
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9844 submenu
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9845 .show()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9846 .removeAttr( "aria-hidden" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9847 .attr( "aria-expanded", "true" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9848 .position( position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9849 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9850
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9851 collapseAll: function( event, all ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9852 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9853 this.timer = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9854 // If we were passed an event, look for the submenu that contains the event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9855 var currentMenu = all ? this.element :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9856 $( event && event.target ).closest( this.element.find( ".ui-menu" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9857
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9858 // If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9859 if ( !currentMenu.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9860 currentMenu = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9861 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9862
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9863 this._close( currentMenu );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9864
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9865 this.blur( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9866 this.activeMenu = currentMenu;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9867 }, this.delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9868 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9869
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9870 // With no arguments, closes the currently active menu - if nothing is active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9871 // it closes all menus. If passed an argument, it will search for menus BELOW
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9872 _close: function( startMenu ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9873 if ( !startMenu ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9874 startMenu = this.active ? this.active.parent() : this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9875 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9876
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9877 startMenu
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9878 .find( ".ui-menu" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9879 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9880 .attr( "aria-hidden", "true" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9881 .attr( "aria-expanded", "false" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9882 .end()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9883 .find( "a.ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9884 .removeClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9885 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9886
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9887 collapse: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9888 var newItem = this.active &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9889 this.active.parent().closest( ".ui-menu-item", this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9890 if ( newItem && newItem.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9891 this._close();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9892 this.focus( event, newItem );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9893 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9894 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9895
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9896 expand: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9897 var newItem = this.active &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9898 this.active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9899 .children( ".ui-menu " )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9900 .children( ".ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9901 .first();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9902
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9903 if ( newItem && newItem.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9904 this._open( newItem.parent() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9905
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9906 // Delay so Firefox will not hide activedescendant change in expanding submenu from AT
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9907 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9908 this.focus( event, newItem );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9909 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9910 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9911 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9912
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9913 next: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9914 this._move( "next", "first", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9915 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9916
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9917 previous: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9918 this._move( "prev", "last", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9919 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9920
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9921 isFirstItem: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9922 return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9923 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9924
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9925 isLastItem: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9926 return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9927 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9928
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9929 _move: function( direction, filter, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9930 var next;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9931 if ( this.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9932 if ( direction === "first" || direction === "last" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9933 next = this.active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9934 [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9935 .eq( -1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9936 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9937 next = this.active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9938 [ direction + "All" ]( ".ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9939 .eq( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9940 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9941 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9942 if ( !next || !next.length || !this.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9943 next = this.activeMenu.children( ".ui-menu-item" )[ filter ]();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9944 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9945
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9946 this.focus( event, next );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9947 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9948
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9949 nextPage: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9950 var item, base, height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9951
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9952 if ( !this.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9953 this.next( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9954 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9955 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9956 if ( this.isLastItem() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9957 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9958 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9959 if ( this._hasScroll() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9960 base = this.active.offset().top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9961 height = this.element.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9962 this.active.nextAll( ".ui-menu-item" ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9963 item = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9964 return item.offset().top - base - height < 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9965 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9966
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9967 this.focus( event, item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9968 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9969 this.focus( event, this.activeMenu.children( ".ui-menu-item" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9970 [ !this.active ? "first" : "last" ]() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9971 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9972 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9973
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9974 previousPage: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9975 var item, base, height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9976 if ( !this.active ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9977 this.next( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9978 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9979 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9980 if ( this.isFirstItem() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9981 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9982 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9983 if ( this._hasScroll() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9984 base = this.active.offset().top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9985 height = this.element.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9986 this.active.prevAll( ".ui-menu-item" ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9987 item = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9988 return item.offset().top - base + height > 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9989 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9990
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9991 this.focus( event, item );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9992 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9993 this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9994 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9995 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9996
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9997 _hasScroll: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9998 return this.element.outerHeight() < this.element.prop( "scrollHeight" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
9999 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10000
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10001 select: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10002 // TODO: It should never be possible to not have an active item at this
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10003 // point, but the tests don't trigger mouseenter before click.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10004 this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10005 var ui = { item: this.active };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10006 if ( !this.active.has( ".ui-menu" ).length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10007 this.collapseAll( event, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10008 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10009 this._trigger( "select", event, ui );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10010 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10011 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10012
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10013 }( jQuery ));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10014 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10015
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10016 $.widget( "ui.progressbar", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10017 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10018 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10019 max: 100,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10020 value: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10022 change: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10023 complete: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10024 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10025
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10026 min: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10027
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10028 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10029 // Constrain initial value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10030 this.oldValue = this.options.value = this._constrainedValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10031
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10032 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10033 .addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10034 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10035 // Only set static values, aria-valuenow and aria-valuemax are
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10036 // set inside _refreshValue()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10037 role: "progressbar",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10038 "aria-valuemin": this.min
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10039 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10040
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10041 this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10042 .appendTo( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10043
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10044 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10045 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10046
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10047 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10048 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10049 .removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10050 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10051 .removeAttr( "aria-valuemin" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10052 .removeAttr( "aria-valuemax" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10053 .removeAttr( "aria-valuenow" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10054
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10055 this.valueDiv.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10056 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10057
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10058 value: function( newValue ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10059 if ( newValue === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10060 return this.options.value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10061 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10062
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10063 this.options.value = this._constrainedValue( newValue );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10064 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10065 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10066
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10067 _constrainedValue: function( newValue ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10068 if ( newValue === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10069 newValue = this.options.value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10070 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10071
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10072 this.indeterminate = newValue === false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10073
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10074 // sanitize value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10075 if ( typeof newValue !== "number" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10076 newValue = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10077 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10078
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10079 return this.indeterminate ? false :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10080 Math.min( this.options.max, Math.max( this.min, newValue ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10081 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10082
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10083 _setOptions: function( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10084 // Ensure "value" option is set after other values (like max)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10085 var value = options.value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10086 delete options.value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10087
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10088 this._super( options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10089
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10090 this.options.value = this._constrainedValue( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10091 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10092 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10093
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10094 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10095 if ( key === "max" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10096 // Don't allow a max less than min
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10097 value = Math.max( this.min, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10098 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10099
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10100 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10101 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10102
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10103 _percentage: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10104 return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10105 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10106
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10107 _refreshValue: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10108 var value = this.options.value,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10109 percentage = this._percentage();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10110
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10111 this.valueDiv
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10112 .toggle( this.indeterminate || value > this.min )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10113 .toggleClass( "ui-corner-right", value === this.options.max )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10114 .width( percentage.toFixed(0) + "%" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10115
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10116 this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10117
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10118 if ( this.indeterminate ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10119 this.element.removeAttr( "aria-valuenow" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10120 if ( !this.overlayDiv ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10121 this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10122 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10123 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10124 this.element.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10125 "aria-valuemax": this.options.max,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10126 "aria-valuenow": value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10127 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10128 if ( this.overlayDiv ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10129 this.overlayDiv.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10130 this.overlayDiv = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10131 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10132 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10133
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10134 if ( this.oldValue !== value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10135 this.oldValue = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10136 this._trigger( "change" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10137 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10138 if ( value === this.options.max ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10139 this._trigger( "complete" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10140 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10141 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10142 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10143
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10144 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10145 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10146
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10147 function num(v) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10148 return parseInt(v, 10) || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10149 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10150
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10151 function isNumber(value) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10152 return !isNaN(parseInt(value, 10));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10153 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10154
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10155 $.widget("ui.resizable", $.ui.mouse, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10156 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10157 widgetEventPrefix: "resize",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10158 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10159 alsoResize: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10160 animate: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10161 animateDuration: "slow",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10162 animateEasing: "swing",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10163 aspectRatio: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10164 autoHide: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10165 containment: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10166 ghost: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10167 grid: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10168 handles: "e,s,se",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10169 helper: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10170 maxHeight: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10171 maxWidth: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10172 minHeight: 10,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10173 minWidth: 10,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10174 // See #7960
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10175 zIndex: 90,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10176
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10177 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10178 resize: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10179 start: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10180 stop: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10181 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10182 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10183
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10184 var n, i, handle, axis, hname,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10185 that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10186 o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10187 this.element.addClass("ui-resizable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10188
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10189 $.extend(this, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10190 _aspectRatio: !!(o.aspectRatio),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10191 aspectRatio: o.aspectRatio,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10192 originalElement: this.element,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10193 _proportionallyResizeElements: [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10194 _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10195 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10196
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10197 //Wrap the element if it cannot hold child nodes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10198 if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10199
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10200 //Create a wrapper element and set the wrapper to the new current internal element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10201 this.element.wrap(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10202 $("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10203 position: this.element.css("position"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10204 width: this.element.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10205 height: this.element.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10206 top: this.element.css("top"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10207 left: this.element.css("left")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10208 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10209 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10210
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10211 //Overwrite the original this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10212 this.element = this.element.parent().data(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10213 "ui-resizable", this.element.data("ui-resizable")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10214 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10215
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10216 this.elementIsWrapper = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10217
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10218 //Move margins to the wrapper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10219 this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10220 this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10221
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10222 //Prevent Safari textarea resize
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10223 this.originalResizeStyle = this.originalElement.css("resize");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10224 this.originalElement.css("resize", "none");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10225
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10226 //Push the actual element to our proportionallyResize internal array
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10227 this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" }));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10228
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10229 // avoid IE jump (hard set the margin)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10230 this.originalElement.css({ margin: this.originalElement.css("margin") });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10231
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10232 // fix handlers offset
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10233 this._proportionallyResize();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10234
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10235 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10236
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10237 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" });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10238 if(this.handles.constructor === String) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10239
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10240 if ( this.handles === "all") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10241 this.handles = "n,e,s,w,se,sw,ne,nw";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10242 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10243
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10244 n = this.handles.split(",");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10245 this.handles = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10246
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10247 for(i = 0; i < n.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10248
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10249 handle = $.trim(n[i]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10250 hname = "ui-resizable-"+handle;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10251 axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10252
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10253 // Apply zIndex to all handles - see #7960
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10254 axis.css({ zIndex: o.zIndex });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10255
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10256 //TODO : What's going on here?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10257 if ("se" === handle) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10258 axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10259 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10260
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10261 //Insert into internal handles object and append to element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10262 this.handles[handle] = ".ui-resizable-"+handle;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10263 this.element.append(axis);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10264 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10265
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10266 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10267
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10268 this._renderAxis = function(target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10269
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10270 var i, axis, padPos, padWrapper;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10271
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10272 target = target || this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10273
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10274 for(i in this.handles) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10275
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10276 if(this.handles[i].constructor === String) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10277 this.handles[i] = $(this.handles[i], this.element).show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10278 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10279
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10280 //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10281 if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10282
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10283 axis = $(this.handles[i], this.element);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10284
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10285 //Checking the correct pad and border
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10286 padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10287
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10288 //The padding type i have to apply...
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10289 padPos = [ "padding",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10290 /ne|nw|n/.test(i) ? "Top" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10291 /se|sw|s/.test(i) ? "Bottom" :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10292 /^e$/.test(i) ? "Right" : "Left" ].join("");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10293
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10294 target.css(padPos, padWrapper);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10295
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10296 this._proportionallyResize();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10297
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10298 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10299
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10300 //TODO: What's that good for? There's not anything to be executed left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10301 if(!$(this.handles[i]).length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10302 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10303 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10304 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10305 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10306
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10307 //TODO: make renderAxis a prototype function
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10308 this._renderAxis(this.element);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10309
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10310 this._handles = $(".ui-resizable-handle", this.element)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10311 .disableSelection();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10312
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10313 //Matching axis name
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10314 this._handles.mouseover(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10315 if (!that.resizing) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10316 if (this.className) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10317 axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10318 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10319 //Axis, default = se
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10320 that.axis = axis && axis[1] ? axis[1] : "se";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10321 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10322 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10323
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10324 //If we want to auto hide the elements
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10325 if (o.autoHide) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10326 this._handles.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10327 $(this.element)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10328 .addClass("ui-resizable-autohide")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10329 .mouseenter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10330 if (o.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10331 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10332 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10333 $(this).removeClass("ui-resizable-autohide");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10334 that._handles.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10335 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10336 .mouseleave(function(){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10337 if (o.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10338 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10339 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10340 if (!that.resizing) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10341 $(this).addClass("ui-resizable-autohide");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10342 that._handles.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10343 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10344 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10345 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10346
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10347 //Initialize the mouse interaction
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10348 this._mouseInit();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10349
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10350 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10351
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10352 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10353
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10354 this._mouseDestroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10355
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10356 var wrapper,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10357 _destroy = function(exp) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10358 $(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10359 .removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10360 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10361
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10362 //TODO: Unwrap at same DOM position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10363 if (this.elementIsWrapper) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10364 _destroy(this.element);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10365 wrapper = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10366 this.originalElement.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10367 position: wrapper.css("position"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10368 width: wrapper.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10369 height: wrapper.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10370 top: wrapper.css("top"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10371 left: wrapper.css("left")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10372 }).insertAfter( wrapper );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10373 wrapper.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10374 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10375
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10376 this.originalElement.css("resize", this.originalResizeStyle);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10377 _destroy(this.originalElement);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10378
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10379 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10380 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10381
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10382 _mouseCapture: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10383 var i, handle,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10384 capture = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10385
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10386 for (i in this.handles) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10387 handle = $(this.handles[i])[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10388 if (handle === event.target || $.contains(handle, event.target)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10389 capture = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10390 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10391 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10392
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10393 return !this.options.disabled && capture;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10394 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10395
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10396 _mouseStart: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10397
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10398 var curleft, curtop, cursor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10399 o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10400 iniPos = this.element.position(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10401 el = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10402
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10403 this.resizing = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10404
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10405 // bugfix for http://dev.jquery.com/ticket/1749
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10406 if ( (/absolute/).test( el.css("position") ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10407 el.css({ position: "absolute", top: el.css("top"), left: el.css("left") });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10408 } else if (el.is(".ui-draggable")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10409 el.css({ position: "absolute", top: iniPos.top, left: iniPos.left });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10410 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10411
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10412 this._renderProxy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10413
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10414 curleft = num(this.helper.css("left"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10415 curtop = num(this.helper.css("top"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10416
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10417 if (o.containment) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10418 curleft += $(o.containment).scrollLeft() || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10419 curtop += $(o.containment).scrollTop() || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10420 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10421
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10422 //Store needed variables
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10423 this.offset = this.helper.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10424 this.position = { left: curleft, top: curtop };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10425 this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: el.width(), height: el.height() };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10426 this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10427 this.originalPosition = { left: curleft, top: curtop };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10428 this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10429 this.originalMousePosition = { left: event.pageX, top: event.pageY };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10430
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10431 //Aspect Ratio
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10432 this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10433
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10434 cursor = $(".ui-resizable-" + this.axis).css("cursor");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10435 $("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10436
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10437 el.addClass("ui-resizable-resizing");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10438 this._propagate("start", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10439 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10440 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10441
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10442 _mouseDrag: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10443
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10444 //Increase performance, avoid regex
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10445 var data,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10446 el = this.helper, props = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10447 smp = this.originalMousePosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10448 a = this.axis,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10449 prevTop = this.position.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10450 prevLeft = this.position.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10451 prevWidth = this.size.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10452 prevHeight = this.size.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10453 dx = (event.pageX-smp.left)||0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10454 dy = (event.pageY-smp.top)||0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10455 trigger = this._change[a];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10456
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10457 if (!trigger) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10458 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10459 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10460
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10461 // Calculate the attrs that will be change
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10462 data = trigger.apply(this, [event, dx, dy]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10463
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10464 // Put this in the mouseDrag handler since the user can start pressing shift while resizing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10465 this._updateVirtualBoundaries(event.shiftKey);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10466 if (this._aspectRatio || event.shiftKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10467 data = this._updateRatio(data, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10468 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10469
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10470 data = this._respectSize(data, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10471
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10472 this._updateCache(data);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10473
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10474 // plugins callbacks need to be called first
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10475 this._propagate("resize", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10476
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10477 if (this.position.top !== prevTop) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10478 props.top = this.position.top + "px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10479 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10480 if (this.position.left !== prevLeft) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10481 props.left = this.position.left + "px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10482 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10483 if (this.size.width !== prevWidth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10484 props.width = this.size.width + "px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10485 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10486 if (this.size.height !== prevHeight) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10487 props.height = this.size.height + "px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10488 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10489 el.css(props);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10490
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10491 if (!this._helper && this._proportionallyResizeElements.length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10492 this._proportionallyResize();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10493 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10494
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10495 // Call the user callback if the element was resized
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10496 if ( ! $.isEmptyObject(props) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10497 this._trigger("resize", event, this.ui());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10498 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10499
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10500 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10501 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10502
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10503 _mouseStop: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10504
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10505 this.resizing = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10506 var pr, ista, soffseth, soffsetw, s, left, top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10507 o = this.options, that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10508
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10509 if(this._helper) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10510
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10511 pr = this._proportionallyResizeElements;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10512 ista = pr.length && (/textarea/i).test(pr[0].nodeName);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10513 soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10514 soffsetw = ista ? 0 : that.sizeDiff.width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10515
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10516 s = { width: (that.helper.width() - soffsetw), height: (that.helper.height() - soffseth) };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10517 left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10518 top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10519
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10520 if (!o.animate) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10521 this.element.css($.extend(s, { top: top, left: left }));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10522 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10523
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10524 that.helper.height(that.size.height);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10525 that.helper.width(that.size.width);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10526
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10527 if (this._helper && !o.animate) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10528 this._proportionallyResize();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10529 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10530 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10531
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10532 $("body").css("cursor", "auto");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10533
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10534 this.element.removeClass("ui-resizable-resizing");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10535
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10536 this._propagate("stop", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10537
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10538 if (this._helper) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10539 this.helper.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10540 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10541
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10542 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10543
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10544 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10545
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10546 _updateVirtualBoundaries: function(forceAspectRatio) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10547 var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10548 o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10549
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10550 b = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10551 minWidth: isNumber(o.minWidth) ? o.minWidth : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10552 maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10553 minHeight: isNumber(o.minHeight) ? o.minHeight : 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10554 maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10555 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10556
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10557 if(this._aspectRatio || forceAspectRatio) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10558 // We want to create an enclosing box whose aspect ration is the requested one
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10559 // First, compute the "projected" size for each dimension based on the aspect ratio and other dimension
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10560 pMinWidth = b.minHeight * this.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10561 pMinHeight = b.minWidth / this.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10562 pMaxWidth = b.maxHeight * this.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10563 pMaxHeight = b.maxWidth / this.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10564
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10565 if(pMinWidth > b.minWidth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10566 b.minWidth = pMinWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10567 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10568 if(pMinHeight > b.minHeight) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10569 b.minHeight = pMinHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10570 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10571 if(pMaxWidth < b.maxWidth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10572 b.maxWidth = pMaxWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10573 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10574 if(pMaxHeight < b.maxHeight) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10575 b.maxHeight = pMaxHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10576 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10577 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10578 this._vBoundaries = b;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10579 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10580
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10581 _updateCache: function(data) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10582 this.offset = this.helper.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10583 if (isNumber(data.left)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10584 this.position.left = data.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10585 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10586 if (isNumber(data.top)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10587 this.position.top = data.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10588 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10589 if (isNumber(data.height)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10590 this.size.height = data.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10591 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10592 if (isNumber(data.width)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10593 this.size.width = data.width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10594 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10595 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10596
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10597 _updateRatio: function( data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10598
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10599 var cpos = this.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10600 csize = this.size,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10601 a = this.axis;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10602
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10603 if (isNumber(data.height)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10604 data.width = (data.height * this.aspectRatio);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10605 } else if (isNumber(data.width)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10606 data.height = (data.width / this.aspectRatio);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10607 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10608
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10609 if (a === "sw") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10610 data.left = cpos.left + (csize.width - data.width);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10611 data.top = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10612 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10613 if (a === "nw") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10614 data.top = cpos.top + (csize.height - data.height);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10615 data.left = cpos.left + (csize.width - data.width);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10616 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10617
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10618 return data;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10619 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10620
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10621 _respectSize: function( data ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10622
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10623 var o = this._vBoundaries,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10624 a = this.axis,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10625 ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10626 isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10627 dw = this.originalPosition.left + this.originalSize.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10628 dh = this.position.top + this.size.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10629 cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10630 if (isminw) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10631 data.width = o.minWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10632 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10633 if (isminh) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10634 data.height = o.minHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10635 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10636 if (ismaxw) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10637 data.width = o.maxWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10638 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10639 if (ismaxh) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10640 data.height = o.maxHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10641 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10642
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10643 if (isminw && cw) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10644 data.left = dw - o.minWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10645 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10646 if (ismaxw && cw) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10647 data.left = dw - o.maxWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10648 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10649 if (isminh && ch) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10650 data.top = dh - o.minHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10651 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10652 if (ismaxh && ch) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10653 data.top = dh - o.maxHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10654 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10655
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10656 // fixing jump error on top/left - bug #2330
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10657 if (!data.width && !data.height && !data.left && data.top) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10658 data.top = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10659 } else if (!data.width && !data.height && !data.top && data.left) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10660 data.left = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10661 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10662
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10663 return data;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10664 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10665
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10666 _proportionallyResize: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10667
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10668 if (!this._proportionallyResizeElements.length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10669 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10670 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10671
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10672 var i, j, borders, paddings, prel,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10673 element = this.helper || this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10674
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10675 for ( i=0; i < this._proportionallyResizeElements.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10676
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10677 prel = this._proportionallyResizeElements[i];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10678
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10679 if (!this.borderDif) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10680 this.borderDif = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10681 borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10682 paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10683
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10684 for ( j = 0; j < borders.length; j++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10685 this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10686 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10687 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10688
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10689 prel.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10690 height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10691 width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10692 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10693
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10694 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10695
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10696 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10697
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10698 _renderProxy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10699
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10700 var el = this.element, o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10701 this.elementOffset = el.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10702
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10703 if(this._helper) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10704
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10705 this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10706
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10707 this.helper.addClass(this._helper).css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10708 width: this.element.outerWidth() - 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10709 height: this.element.outerHeight() - 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10710 position: "absolute",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10711 left: this.elementOffset.left +"px",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10712 top: this.elementOffset.top +"px",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10713 zIndex: ++o.zIndex //TODO: Don't modify option
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10714 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10715
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10716 this.helper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10717 .appendTo("body")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10718 .disableSelection();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10719
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10720 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10721 this.helper = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10722 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10723
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10724 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10725
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10726 _change: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10727 e: function(event, dx) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10728 return { width: this.originalSize.width + dx };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10729 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10730 w: function(event, dx) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10731 var cs = this.originalSize, sp = this.originalPosition;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10732 return { left: sp.left + dx, width: cs.width - dx };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10733 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10734 n: function(event, dx, dy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10735 var cs = this.originalSize, sp = this.originalPosition;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10736 return { top: sp.top + dy, height: cs.height - dy };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10737 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10738 s: function(event, dx, dy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10739 return { height: this.originalSize.height + dy };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10740 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10741 se: function(event, dx, dy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10742 return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10743 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10744 sw: function(event, dx, dy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10745 return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10746 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10747 ne: function(event, dx, dy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10748 return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10749 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10750 nw: function(event, dx, dy) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10751 return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10752 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10753 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10754
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10755 _propagate: function(n, event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10756 $.ui.plugin.call(this, n, [event, this.ui()]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10757 (n !== "resize" && this._trigger(n, event, this.ui()));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10758 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10759
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10760 plugins: {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10761
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10762 ui: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10763 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10764 originalElement: this.originalElement,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10765 element: this.element,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10766 helper: this.helper,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10767 position: this.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10768 size: this.size,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10769 originalSize: this.originalSize,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10770 originalPosition: this.originalPosition
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10771 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10772 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10773
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10774 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10775
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10776 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10777 * Resizable Extensions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10778 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10779
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10780 $.ui.plugin.add("resizable", "animate", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10781
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10782 stop: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10783 var that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10784 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10785 pr = that._proportionallyResizeElements,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10786 ista = pr.length && (/textarea/i).test(pr[0].nodeName),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10787 soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10788 soffsetw = ista ? 0 : that.sizeDiff.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10789 style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10790 left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10791 top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10792
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10793 that.element.animate(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10794 $.extend(style, top && left ? { top: top, left: left } : {}), {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10795 duration: o.animateDuration,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10796 easing: o.animateEasing,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10797 step: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10798
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10799 var data = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10800 width: parseInt(that.element.css("width"), 10),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10801 height: parseInt(that.element.css("height"), 10),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10802 top: parseInt(that.element.css("top"), 10),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10803 left: parseInt(that.element.css("left"), 10)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10804 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10805
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10806 if (pr && pr.length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10807 $(pr[0]).css({ width: data.width, height: data.height });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10808 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10809
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10810 // propagating resize, and updating values for each animation step
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10811 that._updateCache(data);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10812 that._propagate("resize", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10813
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10814 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10815 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10816 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10817 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10818
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10819 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10820
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10821 $.ui.plugin.add("resizable", "containment", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10822
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10823 start: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10824 var element, p, co, ch, cw, width, height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10825 that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10826 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10827 el = that.element,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10828 oc = o.containment,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10829 ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10830
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10831 if (!ce) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10832 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10833 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10834
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10835 that.containerElement = $(ce);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10836
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10837 if (/document/.test(oc) || oc === document) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10838 that.containerOffset = { left: 0, top: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10839 that.containerPosition = { left: 0, top: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10840
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10841 that.parentData = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10842 element: $(document), left: 0, top: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10843 width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10844 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10845 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10846
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10847 // i'm a node, so compute top, left, right, bottom
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10848 else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10849 element = $(ce);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10850 p = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10851 $([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] = num(element.css("padding" + name)); });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10852
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10853 that.containerOffset = element.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10854 that.containerPosition = element.position();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10855 that.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10856
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10857 co = that.containerOffset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10858 ch = that.containerSize.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10859 cw = that.containerSize.width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10860 width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10861 height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10862
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10863 that.parentData = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10864 element: ce, left: co.left, top: co.top, width: width, height: height
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10865 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10866 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10867 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10868
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10869 resize: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10870 var woset, hoset, isParent, isOffsetRelative,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10871 that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10872 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10873 co = that.containerOffset, cp = that.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10874 pRatio = that._aspectRatio || event.shiftKey,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10875 cop = { top:0, left:0 }, ce = that.containerElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10876
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10877 if (ce[0] !== document && (/static/).test(ce.css("position"))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10878 cop = co;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10879 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10880
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10881 if (cp.left < (that._helper ? co.left : 0)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10882 that.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10883 if (pRatio) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10884 that.size.height = that.size.width / that.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10885 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10886 that.position.left = o.helper ? co.left : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10887 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10888
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10889 if (cp.top < (that._helper ? co.top : 0)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10890 that.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10891 if (pRatio) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10892 that.size.width = that.size.height * that.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10893 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10894 that.position.top = that._helper ? co.top : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10895 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10896
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10897 that.offset.left = that.parentData.left+that.position.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10898 that.offset.top = that.parentData.top+that.position.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10899
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10900 woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10901 hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10902
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10903 isParent = that.containerElement.get(0) === that.element.parent().get(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10904 isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10905
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10906 if ( isParent && isOffsetRelative ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10907 woset -= Math.abs( that.parentData.left );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10908 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10909
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10910 if (woset + that.size.width >= that.parentData.width) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10911 that.size.width = that.parentData.width - woset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10912 if (pRatio) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10913 that.size.height = that.size.width / that.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10914 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10915 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10916
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10917 if (hoset + that.size.height >= that.parentData.height) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10918 that.size.height = that.parentData.height - hoset;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10919 if (pRatio) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10920 that.size.width = that.size.height * that.aspectRatio;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10921 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10922 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10923 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10924
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10925 stop: function(){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10926 var that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10927 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10928 co = that.containerOffset,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10929 cop = that.containerPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10930 ce = that.containerElement,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10931 helper = $(that.helper),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10932 ho = helper.offset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10933 w = helper.outerWidth() - that.sizeDiff.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10934 h = helper.outerHeight() - that.sizeDiff.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10935
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10936 if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10937 $(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10938 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10939
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10940 if (that._helper && !o.animate && (/static/).test(ce.css("position"))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10941 $(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10942 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10943
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10944 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10945 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10946
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10947 $.ui.plugin.add("resizable", "alsoResize", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10948
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10949 start: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10950 var that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10951 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10952 _store = function (exp) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10953 $(exp).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10954 var el = $(this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10955 el.data("ui-resizable-alsoresize", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10956 width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10957 left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10958 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10959 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10960 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10961
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10962 if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10963 if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10964 else { $.each(o.alsoResize, function (exp) { _store(exp); }); }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10965 }else{
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10966 _store(o.alsoResize);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10967 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10968 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10969
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10970 resize: function (event, ui) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10971 var that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10972 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10973 os = that.originalSize,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10974 op = that.originalPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10975 delta = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10976 height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10977 top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10978 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10979
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10980 _alsoResize = function (exp, c) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10981 $(exp).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10982 var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10983 css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10984
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10985 $.each(css, function (i, prop) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10986 var sum = (start[prop]||0) + (delta[prop]||0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10987 if (sum && sum >= 0) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10988 style[prop] = sum || null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10989 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10990 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10991
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10992 el.css(style);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10993 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10994 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10995
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10996 if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10997 $.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10998 }else{
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
10999 _alsoResize(o.alsoResize);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11000 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11001 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11002
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11003 stop: function () {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11004 $(this).removeData("resizable-alsoresize");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11005 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11006 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11007
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11008 $.ui.plugin.add("resizable", "ghost", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11009
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11010 start: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11011
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11012 var that = $(this).data("ui-resizable"), o = that.options, cs = that.size;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11013
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11014 that.ghost = that.originalElement.clone();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11015 that.ghost
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11016 .css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11017 .addClass("ui-resizable-ghost")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11018 .addClass(typeof o.ghost === "string" ? o.ghost : "");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11019
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11020 that.ghost.appendTo(that.helper);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11022 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11023
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11024 resize: function(){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11025 var that = $(this).data("ui-resizable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11026 if (that.ghost) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11027 that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11028 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11029 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11030
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11031 stop: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11032 var that = $(this).data("ui-resizable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11033 if (that.ghost && that.helper) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11034 that.helper.get(0).removeChild(that.ghost.get(0));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11035 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11036 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11037
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11038 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11039
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11040 $.ui.plugin.add("resizable", "grid", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11041
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11042 resize: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11043 var that = $(this).data("ui-resizable"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11044 o = that.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11045 cs = that.size,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11046 os = that.originalSize,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11047 op = that.originalPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11048 a = that.axis,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11049 grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11050 gridX = (grid[0]||1),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11051 gridY = (grid[1]||1),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11052 ox = Math.round((cs.width - os.width) / gridX) * gridX,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11053 oy = Math.round((cs.height - os.height) / gridY) * gridY,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11054 newWidth = os.width + ox,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11055 newHeight = os.height + oy,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11056 isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11057 isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11058 isMinWidth = o.minWidth && (o.minWidth > newWidth),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11059 isMinHeight = o.minHeight && (o.minHeight > newHeight);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11060
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11061 o.grid = grid;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11062
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11063 if (isMinWidth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11064 newWidth = newWidth + gridX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11065 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11066 if (isMinHeight) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11067 newHeight = newHeight + gridY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11068 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11069 if (isMaxWidth) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11070 newWidth = newWidth - gridX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11071 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11072 if (isMaxHeight) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11073 newHeight = newHeight - gridY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11074 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11075
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11076 if (/^(se|s|e)$/.test(a)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11077 that.size.width = newWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11078 that.size.height = newHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11079 } else if (/^(ne)$/.test(a)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11080 that.size.width = newWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11081 that.size.height = newHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11082 that.position.top = op.top - oy;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11083 } else if (/^(sw)$/.test(a)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11084 that.size.width = newWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11085 that.size.height = newHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11086 that.position.left = op.left - ox;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11087 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11088 if ( newHeight - gridY > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11089 that.size.height = newHeight;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11090 that.position.top = op.top - oy;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11091 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11092 that.size.height = gridY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11093 that.position.top = op.top + os.height - gridY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11094 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11095 if ( newWidth - gridX > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11096 that.size.width = newWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11097 that.position.left = op.left - ox;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11098 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11099 that.size.width = gridX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11100 that.position.left = op.left + os.width - gridX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11101 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11102 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11103 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11104
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11105 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11106
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11107 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11108 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11109
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11110 $.widget("ui.selectable", $.ui.mouse, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11111 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11112 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11113 appendTo: "body",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11114 autoRefresh: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11115 distance: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11116 filter: "*",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11117 tolerance: "touch",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11118
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11119 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11120 selected: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11121 selecting: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11122 start: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11123 stop: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11124 unselected: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11125 unselecting: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11126 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11127 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11128 var selectees,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11129 that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11130
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11131 this.element.addClass("ui-selectable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11132
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11133 this.dragged = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11134
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11135 // cache selectee children based on filter
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11136 this.refresh = function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11137 selectees = $(that.options.filter, that.element[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11138 selectees.addClass("ui-selectee");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11139 selectees.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11140 var $this = $(this),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11141 pos = $this.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11142 $.data(this, "selectable-item", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11143 element: this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11144 $element: $this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11145 left: pos.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11146 top: pos.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11147 right: pos.left + $this.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11148 bottom: pos.top + $this.outerHeight(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11149 startselected: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11150 selected: $this.hasClass("ui-selected"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11151 selecting: $this.hasClass("ui-selecting"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11152 unselecting: $this.hasClass("ui-unselecting")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11153 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11154 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11155 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11156 this.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11157
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11158 this.selectees = selectees.addClass("ui-selectee");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11159
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11160 this._mouseInit();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11161
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11162 this.helper = $("<div class='ui-selectable-helper'></div>");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11163 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11164
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11165 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11166 this.selectees
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11167 .removeClass("ui-selectee")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11168 .removeData("selectable-item");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11169 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11170 .removeClass("ui-selectable ui-selectable-disabled");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11171 this._mouseDestroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11172 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11173
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11174 _mouseStart: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11175 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11176 options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11177
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11178 this.opos = [event.pageX, event.pageY];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11179
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11180 if (this.options.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11181 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11182 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11183
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11184 this.selectees = $(options.filter, this.element[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11185
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11186 this._trigger("start", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11187
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11188 $(options.appendTo).append(this.helper);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11189 // position helper (lasso)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11190 this.helper.css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11191 "left": event.pageX,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11192 "top": event.pageY,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11193 "width": 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11194 "height": 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11195 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11196
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11197 if (options.autoRefresh) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11198 this.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11199 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11200
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11201 this.selectees.filter(".ui-selected").each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11202 var selectee = $.data(this, "selectable-item");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11203 selectee.startselected = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11204 if (!event.metaKey && !event.ctrlKey) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11205 selectee.$element.removeClass("ui-selected");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11206 selectee.selected = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11207 selectee.$element.addClass("ui-unselecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11208 selectee.unselecting = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11209 // selectable UNSELECTING callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11210 that._trigger("unselecting", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11211 unselecting: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11212 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11213 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11214 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11215
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11216 $(event.target).parents().addBack().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11217 var doSelect,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11218 selectee = $.data(this, "selectable-item");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11219 if (selectee) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11220 doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11221 selectee.$element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11222 .removeClass(doSelect ? "ui-unselecting" : "ui-selected")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11223 .addClass(doSelect ? "ui-selecting" : "ui-unselecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11224 selectee.unselecting = !doSelect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11225 selectee.selecting = doSelect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11226 selectee.selected = doSelect;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11227 // selectable (UN)SELECTING callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11228 if (doSelect) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11229 that._trigger("selecting", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11230 selecting: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11231 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11232 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11233 that._trigger("unselecting", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11234 unselecting: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11235 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11236 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11237 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11238 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11239 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11240
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11241 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11242
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11243 _mouseDrag: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11244
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11245 this.dragged = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11246
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11247 if (this.options.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11248 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11249 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11250
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11251 var tmp,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11252 that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11253 options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11254 x1 = this.opos[0],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11255 y1 = this.opos[1],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11256 x2 = event.pageX,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11257 y2 = event.pageY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11258
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11259 if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11260 if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11261 this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11262
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11263 this.selectees.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11264 var selectee = $.data(this, "selectable-item"),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11265 hit = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11266
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11267 //prevent helper from being selected if appendTo: selectable
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11268 if (!selectee || selectee.element === that.element[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11269 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11270 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11271
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11272 if (options.tolerance === "touch") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11273 hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11274 } else if (options.tolerance === "fit") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11275 hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11276 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11277
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11278 if (hit) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11279 // SELECT
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11280 if (selectee.selected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11281 selectee.$element.removeClass("ui-selected");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11282 selectee.selected = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11283 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11284 if (selectee.unselecting) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11285 selectee.$element.removeClass("ui-unselecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11286 selectee.unselecting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11287 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11288 if (!selectee.selecting) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11289 selectee.$element.addClass("ui-selecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11290 selectee.selecting = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11291 // selectable SELECTING callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11292 that._trigger("selecting", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11293 selecting: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11294 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11295 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11296 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11297 // UNSELECT
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11298 if (selectee.selecting) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11299 if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11300 selectee.$element.removeClass("ui-selecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11301 selectee.selecting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11302 selectee.$element.addClass("ui-selected");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11303 selectee.selected = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11304 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11305 selectee.$element.removeClass("ui-selecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11306 selectee.selecting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11307 if (selectee.startselected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11308 selectee.$element.addClass("ui-unselecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11309 selectee.unselecting = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11310 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11311 // selectable UNSELECTING callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11312 that._trigger("unselecting", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11313 unselecting: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11314 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11315 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11316 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11317 if (selectee.selected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11318 if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11319 selectee.$element.removeClass("ui-selected");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11320 selectee.selected = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11321
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11322 selectee.$element.addClass("ui-unselecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11323 selectee.unselecting = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11324 // selectable UNSELECTING callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11325 that._trigger("unselecting", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11326 unselecting: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11327 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11328 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11329 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11330 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11331 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11332
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11333 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11334 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11335
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11336 _mouseStop: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11337 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11338
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11339 this.dragged = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11340
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11341 $(".ui-unselecting", this.element[0]).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11342 var selectee = $.data(this, "selectable-item");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11343 selectee.$element.removeClass("ui-unselecting");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11344 selectee.unselecting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11345 selectee.startselected = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11346 that._trigger("unselected", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11347 unselected: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11348 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11349 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11350 $(".ui-selecting", this.element[0]).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11351 var selectee = $.data(this, "selectable-item");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11352 selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11353 selectee.selecting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11354 selectee.selected = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11355 selectee.startselected = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11356 that._trigger("selected", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11357 selected: selectee.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11358 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11359 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11360 this._trigger("stop", event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11361
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11362 this.helper.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11363
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11364 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11365 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11366
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11367 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11368
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11369 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11370 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11371
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11372 // number of pages in a slider
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11373 // (how many times can you page up/down to go through the whole range)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11374 var numPages = 5;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11375
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11376 $.widget( "ui.slider", $.ui.mouse, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11377 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11378 widgetEventPrefix: "slide",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11379
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11380 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11381 animate: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11382 distance: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11383 max: 100,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11384 min: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11385 orientation: "horizontal",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11386 range: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11387 step: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11388 value: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11389 values: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11390
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11391 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11392 change: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11393 slide: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11394 start: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11395 stop: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11396 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11397
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11398 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11399 this._keySliding = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11400 this._mouseSliding = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11401 this._animateOff = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11402 this._handleIndex = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11403 this._detectOrientation();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11404 this._mouseInit();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11405
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11406 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11407 .addClass( "ui-slider" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11408 " ui-slider-" + this.orientation +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11409 " ui-widget" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11410 " ui-widget-content" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11411 " ui-corner-all");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11412
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11413 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11414 this._setOption( "disabled", this.options.disabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11415
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11416 this._animateOff = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11417 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11418
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11419 _refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11420 this._createRange();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11421 this._createHandles();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11422 this._setupEvents();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11423 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11424 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11425
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11426 _createHandles: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11427 var i, handleCount,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11428 options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11429 existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11430 handle = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11431 handles = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11432
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11433 handleCount = ( options.values && options.values.length ) || 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11434
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11435 if ( existingHandles.length > handleCount ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11436 existingHandles.slice( handleCount ).remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11437 existingHandles = existingHandles.slice( 0, handleCount );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11438 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11439
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11440 for ( i = existingHandles.length; i < handleCount; i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11441 handles.push( handle );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11442 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11443
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11444 this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11445
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11446 this.handle = this.handles.eq( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11447
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11448 this.handles.each(function( i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11449 $( this ).data( "ui-slider-handle-index", i );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11450 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11451 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11452
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11453 _createRange: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11454 var options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11455 classes = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11456
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11457 if ( options.range ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11458 if ( options.range === true ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11459 if ( !options.values ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11460 options.values = [ this._valueMin(), this._valueMin() ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11461 } else if ( options.values.length && options.values.length !== 2 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11462 options.values = [ options.values[0], options.values[0] ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11463 } else if ( $.isArray( options.values ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11464 options.values = options.values.slice(0);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11465 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11466 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11467
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11468 if ( !this.range || !this.range.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11469 this.range = $( "<div></div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11470 .appendTo( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11471
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11472 classes = "ui-slider-range" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11473 // note: this isn't the most fittingly semantic framework class for this element,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11474 // but worked best visually with a variety of themes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11475 " ui-widget-header ui-corner-all";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11476 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11477 this.range.removeClass( "ui-slider-range-min ui-slider-range-max" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11478 // Handle range switching from true to min/max
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11479 .css({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11480 "left": "",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11481 "bottom": ""
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11482 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11483 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11484
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11485 this.range.addClass( classes +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11486 ( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11487 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11488 if ( this.range ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11489 this.range.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11490 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11491 this.range = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11492 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11493 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11494
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11495 _setupEvents: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11496 var elements = this.handles.add( this.range ).filter( "a" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11497 this._off( elements );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11498 this._on( elements, this._handleEvents );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11499 this._hoverable( elements );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11500 this._focusable( elements );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11501 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11502
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11503 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11504 this.handles.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11505 if ( this.range ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11506 this.range.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11507 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11508
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11509 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11510 .removeClass( "ui-slider" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11511 " ui-slider-horizontal" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11512 " ui-slider-vertical" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11513 " ui-widget" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11514 " ui-widget-content" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11515 " ui-corner-all" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11516
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11517 this._mouseDestroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11518 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11519
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11520 _mouseCapture: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11521 var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11522 that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11523 o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11524
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11525 if ( o.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11526 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11527 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11528
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11529 this.elementSize = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11530 width: this.element.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11531 height: this.element.outerHeight()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11532 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11533 this.elementOffset = this.element.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11535 position = { x: event.pageX, y: event.pageY };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11536 normValue = this._normValueFromMouse( position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11537 distance = this._valueMax() - this._valueMin() + 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11538 this.handles.each(function( i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11539 var thisDistance = Math.abs( normValue - that.values(i) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11540 if (( distance > thisDistance ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11541 ( distance === thisDistance &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11542 (i === that._lastChangedValue || that.values(i) === o.min ))) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11543 distance = thisDistance;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11544 closestHandle = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11545 index = i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11546 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11547 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11548
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11549 allowed = this._start( event, index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11550 if ( allowed === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11551 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11552 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11553 this._mouseSliding = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11554
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11555 this._handleIndex = index;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11556
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11557 closestHandle
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11558 .addClass( "ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11559 .focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11560
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11561 offset = closestHandle.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11562 mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11563 this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11564 left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11565 top: event.pageY - offset.top -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11566 ( closestHandle.height() / 2 ) -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11567 ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11568 ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11569 ( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11570 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11571
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11572 if ( !this.handles.hasClass( "ui-state-hover" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11573 this._slide( event, index, normValue );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11574 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11575 this._animateOff = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11576 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11577 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11578
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11579 _mouseStart: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11580 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11581 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11582
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11583 _mouseDrag: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11584 var position = { x: event.pageX, y: event.pageY },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11585 normValue = this._normValueFromMouse( position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11586
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11587 this._slide( event, this._handleIndex, normValue );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11588
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11589 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11590 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11591
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11592 _mouseStop: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11593 this.handles.removeClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11594 this._mouseSliding = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11596 this._stop( event, this._handleIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11597 this._change( event, this._handleIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11598
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11599 this._handleIndex = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11600 this._clickOffset = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11601 this._animateOff = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11602
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11603 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11604 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11605
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11606 _detectOrientation: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11607 this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11608 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11609
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11610 _normValueFromMouse: function( position ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11611 var pixelTotal,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11612 pixelMouse,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11613 percentMouse,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11614 valueTotal,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11615 valueMouse;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11616
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11617 if ( this.orientation === "horizontal" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11618 pixelTotal = this.elementSize.width;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11619 pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11620 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11621 pixelTotal = this.elementSize.height;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11622 pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11623 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11624
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11625 percentMouse = ( pixelMouse / pixelTotal );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11626 if ( percentMouse > 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11627 percentMouse = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11628 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11629 if ( percentMouse < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11630 percentMouse = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11631 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11632 if ( this.orientation === "vertical" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11633 percentMouse = 1 - percentMouse;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11634 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11635
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11636 valueTotal = this._valueMax() - this._valueMin();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11637 valueMouse = this._valueMin() + percentMouse * valueTotal;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11638
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11639 return this._trimAlignValue( valueMouse );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11640 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11641
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11642 _start: function( event, index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11643 var uiHash = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11644 handle: this.handles[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11645 value: this.value()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11646 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11647 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11648 uiHash.value = this.values( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11649 uiHash.values = this.values();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11650 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11651 return this._trigger( "start", event, uiHash );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11652 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11653
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11654 _slide: function( event, index, newVal ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11655 var otherVal,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11656 newValues,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11657 allowed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11658
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11659 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11660 otherVal = this.values( index ? 0 : 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11661
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11662 if ( ( this.options.values.length === 2 && this.options.range === true ) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11663 ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11664 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11665 newVal = otherVal;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11666 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11667
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11668 if ( newVal !== this.values( index ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11669 newValues = this.values();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11670 newValues[ index ] = newVal;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11671 // A slide can be canceled by returning false from the slide callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11672 allowed = this._trigger( "slide", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11673 handle: this.handles[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11674 value: newVal,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11675 values: newValues
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11676 } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11677 otherVal = this.values( index ? 0 : 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11678 if ( allowed !== false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11679 this.values( index, newVal );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11680 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11681 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11682 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11683 if ( newVal !== this.value() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11684 // A slide can be canceled by returning false from the slide callback
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11685 allowed = this._trigger( "slide", event, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11686 handle: this.handles[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11687 value: newVal
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11688 } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11689 if ( allowed !== false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11690 this.value( newVal );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11691 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11692 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11693 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11694 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11695
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11696 _stop: function( event, index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11697 var uiHash = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11698 handle: this.handles[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11699 value: this.value()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11700 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11701 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11702 uiHash.value = this.values( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11703 uiHash.values = this.values();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11704 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11705
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11706 this._trigger( "stop", event, uiHash );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11707 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11708
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11709 _change: function( event, index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11710 if ( !this._keySliding && !this._mouseSliding ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11711 var uiHash = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11712 handle: this.handles[ index ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11713 value: this.value()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11714 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11715 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11716 uiHash.value = this.values( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11717 uiHash.values = this.values();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11718 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11719
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11720 //store the last changed value index for reference when handles overlap
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11721 this._lastChangedValue = index;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11722
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11723 this._trigger( "change", event, uiHash );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11724 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11725 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11726
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11727 value: function( newValue ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11728 if ( arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11729 this.options.value = this._trimAlignValue( newValue );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11730 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11731 this._change( null, 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11732 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11733 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11734
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11735 return this._value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11736 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11737
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11738 values: function( index, newValue ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11739 var vals,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11740 newValues,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11741 i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11742
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11743 if ( arguments.length > 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11744 this.options.values[ index ] = this._trimAlignValue( newValue );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11745 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11746 this._change( null, index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11747 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11748 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11749
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11750 if ( arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11751 if ( $.isArray( arguments[ 0 ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11752 vals = this.options.values;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11753 newValues = arguments[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11754 for ( i = 0; i < vals.length; i += 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11755 vals[ i ] = this._trimAlignValue( newValues[ i ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11756 this._change( null, i );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11757 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11758 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11759 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11760 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11761 return this._values( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11762 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11763 return this.value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11764 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11765 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11766 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11767 return this._values();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11768 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11769 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11770
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11771 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11772 var i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11773 valsLength = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11774
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11775 if ( key === "range" && this.options.range === true ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11776 if ( value === "min" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11777 this.options.value = this._values( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11778 this.options.values = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11779 } else if ( value === "max" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11780 this.options.value = this._values( this.options.values.length-1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11781 this.options.values = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11782 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11783 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11784
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11785 if ( $.isArray( this.options.values ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11786 valsLength = this.options.values.length;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11787 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11788
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11789 $.Widget.prototype._setOption.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11790
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11791 switch ( key ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11792 case "orientation":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11793 this._detectOrientation();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11794 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11795 .removeClass( "ui-slider-horizontal ui-slider-vertical" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11796 .addClass( "ui-slider-" + this.orientation );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11797 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11798 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11799 case "value":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11800 this._animateOff = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11801 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11802 this._change( null, 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11803 this._animateOff = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11804 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11805 case "values":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11806 this._animateOff = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11807 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11808 for ( i = 0; i < valsLength; i += 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11809 this._change( null, i );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11810 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11811 this._animateOff = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11812 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11813 case "min":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11814 case "max":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11815 this._animateOff = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11816 this._refreshValue();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11817 this._animateOff = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11818 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11819 case "range":
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11820 this._animateOff = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11821 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11822 this._animateOff = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11823 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11824 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11825 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11826
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11827 //internal value getter
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11828 // _value() returns value trimmed by min and max, aligned by step
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11829 _value: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11830 var val = this.options.value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11831 val = this._trimAlignValue( val );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11832
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11833 return val;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11834 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11835
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11836 //internal values getter
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11837 // _values() returns array of values trimmed by min and max, aligned by step
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11838 // _values( index ) returns single value trimmed by min and max, aligned by step
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11839 _values: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11840 var val,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11841 vals,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11842 i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11843
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11844 if ( arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11845 val = this.options.values[ index ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11846 val = this._trimAlignValue( val );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11847
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11848 return val;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11849 } else if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11850 // .slice() creates a copy of the array
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11851 // this copy gets trimmed by min and max and then returned
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11852 vals = this.options.values.slice();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11853 for ( i = 0; i < vals.length; i+= 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11854 vals[ i ] = this._trimAlignValue( vals[ i ] );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11855 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11856
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11857 return vals;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11858 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11859 return [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11860 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11861 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11862
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11863 // returns the step-aligned value that val is closest to, between (inclusive) min and max
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11864 _trimAlignValue: function( val ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11865 if ( val <= this._valueMin() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11866 return this._valueMin();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11867 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11868 if ( val >= this._valueMax() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11869 return this._valueMax();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11870 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11871 var step = ( this.options.step > 0 ) ? this.options.step : 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11872 valModStep = (val - this._valueMin()) % step,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11873 alignValue = val - valModStep;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11874
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11875 if ( Math.abs(valModStep) * 2 >= step ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11876 alignValue += ( valModStep > 0 ) ? step : ( -step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11877 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11878
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11879 // Since JavaScript has problems with large floats, round
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11880 // the final value to 5 digits after the decimal point (see #4124)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11881 return parseFloat( alignValue.toFixed(5) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11882 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11883
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11884 _valueMin: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11885 return this.options.min;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11886 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11887
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11888 _valueMax: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11889 return this.options.max;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11890 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11891
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11892 _refreshValue: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11893 var lastValPercent, valPercent, value, valueMin, valueMax,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11894 oRange = this.options.range,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11895 o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11896 that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11897 animate = ( !this._animateOff ) ? o.animate : false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11898 _set = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11899
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11900 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11901 this.handles.each(function( i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11902 valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11903 _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11904 $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11905 if ( that.options.range === true ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11906 if ( that.orientation === "horizontal" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11907 if ( i === 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11908 that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11909 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11910 if ( i === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11911 that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11912 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11913 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11914 if ( i === 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11915 that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11916 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11917 if ( i === 1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11918 that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11919 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11920 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11921 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11922 lastValPercent = valPercent;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11923 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11924 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11925 value = this.value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11926 valueMin = this._valueMin();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11927 valueMax = this._valueMax();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11928 valPercent = ( valueMax !== valueMin ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11929 ( value - valueMin ) / ( valueMax - valueMin ) * 100 :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11930 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11931 _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11932 this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11933
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11934 if ( oRange === "min" && this.orientation === "horizontal" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11935 this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11936 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11937 if ( oRange === "max" && this.orientation === "horizontal" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11938 this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11939 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11940 if ( oRange === "min" && this.orientation === "vertical" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11941 this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11942 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11943 if ( oRange === "max" && this.orientation === "vertical" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11944 this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11945 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11946 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11947 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11948
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11949 _handleEvents: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11950 keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11951 var allowed, curVal, newVal, step,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11952 index = $( event.target ).data( "ui-slider-handle-index" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11953
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11954 switch ( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11955 case $.ui.keyCode.HOME:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11956 case $.ui.keyCode.END:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11957 case $.ui.keyCode.PAGE_UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11958 case $.ui.keyCode.PAGE_DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11959 case $.ui.keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11960 case $.ui.keyCode.RIGHT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11961 case $.ui.keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11962 case $.ui.keyCode.LEFT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11963 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11964 if ( !this._keySliding ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11965 this._keySliding = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11966 $( event.target ).addClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11967 allowed = this._start( event, index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11968 if ( allowed === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11969 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11970 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11971 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11972 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11973 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11974
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11975 step = this.options.step;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11976 if ( this.options.values && this.options.values.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11977 curVal = newVal = this.values( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11978 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11979 curVal = newVal = this.value();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11980 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11981
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11982 switch ( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11983 case $.ui.keyCode.HOME:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11984 newVal = this._valueMin();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11985 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11986 case $.ui.keyCode.END:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11987 newVal = this._valueMax();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11988 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11989 case $.ui.keyCode.PAGE_UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11990 newVal = this._trimAlignValue( curVal + ( (this._valueMax() - this._valueMin()) / numPages ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11991 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11992 case $.ui.keyCode.PAGE_DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11993 newVal = this._trimAlignValue( curVal - ( (this._valueMax() - this._valueMin()) / numPages ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11994 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11995 case $.ui.keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11996 case $.ui.keyCode.RIGHT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11997 if ( curVal === this._valueMax() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11998 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
11999 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12000 newVal = this._trimAlignValue( curVal + step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12001 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12002 case $.ui.keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12003 case $.ui.keyCode.LEFT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12004 if ( curVal === this._valueMin() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12005 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12006 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12007 newVal = this._trimAlignValue( curVal - step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12008 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12009 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12010
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12011 this._slide( event, index, newVal );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12012 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12013 click: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12014 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12015 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12016 keyup: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12017 var index = $( event.target ).data( "ui-slider-handle-index" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12018
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12019 if ( this._keySliding ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12020 this._keySliding = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12021 this._stop( event, index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12022 this._change( event, index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12023 $( event.target ).removeClass( "ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12024 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12025 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12026 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12027
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12028 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12029
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12030 }(jQuery));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12031 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12032
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12033 function isOverAxis( x, reference, size ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12034 return ( x > reference ) && ( x < ( reference + size ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12035 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12036
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12037 function isFloating(item) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12038 return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12039 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12040
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12041 $.widget("ui.sortable", $.ui.mouse, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12042 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12043 widgetEventPrefix: "sort",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12044 ready: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12045 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12046 appendTo: "parent",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12047 axis: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12048 connectWith: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12049 containment: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12050 cursor: "auto",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12051 cursorAt: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12052 dropOnEmpty: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12053 forcePlaceholderSize: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12054 forceHelperSize: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12055 grid: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12056 handle: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12057 helper: "original",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12058 items: "> *",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12059 opacity: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12060 placeholder: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12061 revert: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12062 scroll: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12063 scrollSensitivity: 20,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12064 scrollSpeed: 20,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12065 scope: "default",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12066 tolerance: "intersect",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12067 zIndex: 1000,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12068
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12069 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12070 activate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12071 beforeStop: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12072 change: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12073 deactivate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12074 out: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12075 over: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12076 receive: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12077 remove: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12078 sort: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12079 start: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12080 stop: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12081 update: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12082 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12083 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12084
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12085 var o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12086 this.containerCache = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12087 this.element.addClass("ui-sortable");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12088
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12089 //Get the items
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12090 this.refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12091
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12092 //Let's determine if the items are being displayed horizontally
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12093 this.floating = this.items.length ? o.axis === "x" || isFloating(this.items[0].item) : false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12094
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12095 //Let's determine the parent's offset
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12096 this.offset = this.element.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12097
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12098 //Initialize mouse events for interaction
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12099 this._mouseInit();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12100
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12101 //We're ready to go
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12102 this.ready = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12103
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12104 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12105
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12106 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12107 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12108 .removeClass("ui-sortable ui-sortable-disabled");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12109 this._mouseDestroy();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12110
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12111 for ( var i = this.items.length - 1; i >= 0; i-- ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12112 this.items[i].item.removeData(this.widgetName + "-item");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12113 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12114
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12115 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12116 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12117
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12118 _setOption: function(key, value){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12119 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12120 this.options[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12121
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12122 this.widget().toggleClass( "ui-sortable-disabled", !!value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12123 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12124 // Don't call widget base _setOption for disable as it adds ui-state-disabled class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12125 $.Widget.prototype._setOption.apply(this, arguments);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12126 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12127 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12128
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12129 _mouseCapture: function(event, overrideHandle) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12130 var currentItem = null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12131 validHandle = false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12132 that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12133
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12134 if (this.reverting) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12135 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12136 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12137
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12138 if(this.options.disabled || this.options.type === "static") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12139 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12140 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12141
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12142 //We have to refresh the items data once first
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12143 this._refreshItems(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12144
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12145 //Find out if the clicked node (or one of its parents) is a actual item in this.items
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12146 $(event.target).parents().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12147 if($.data(this, that.widgetName + "-item") === that) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12148 currentItem = $(this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12149 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12150 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12151 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12152 if($.data(event.target, that.widgetName + "-item") === that) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12153 currentItem = $(event.target);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12154 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12155
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12156 if(!currentItem) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12157 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12158 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12159 if(this.options.handle && !overrideHandle) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12160 $(this.options.handle, currentItem).find("*").addBack().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12161 if(this === event.target) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12162 validHandle = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12163 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12164 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12165 if(!validHandle) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12166 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12167 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12168 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12169
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12170 this.currentItem = currentItem;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12171 this._removeCurrentsFromItems();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12172 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12173
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12174 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12175
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12176 _mouseStart: function(event, overrideHandle, noActivation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12177
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12178 var i, body,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12179 o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12180
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12181 this.currentContainer = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12182
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12183 //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12184 this.refreshPositions();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12185
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12186 //Create and append the visible helper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12187 this.helper = this._createHelper(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12188
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12189 //Cache the helper size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12190 this._cacheHelperProportions();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12191
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12192 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12193 * - Position generation -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12194 * This block generates everything position related - it's the core of draggables.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12195 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12196
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12197 //Cache the margins of the original element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12198 this._cacheMargins();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12199
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12200 //Get the next scrolling parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12201 this.scrollParent = this.helper.scrollParent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12202
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12203 //The element's absolute position on the page minus margins
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12204 this.offset = this.currentItem.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12205 this.offset = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12206 top: this.offset.top - this.margins.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12207 left: this.offset.left - this.margins.left
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12208 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12209
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12210 $.extend(this.offset, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12211 click: { //Where the click happened, relative to the element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12212 left: event.pageX - this.offset.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12213 top: event.pageY - this.offset.top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12214 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12215 parent: this._getParentOffset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12216 relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12217 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12218
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12219 // Only after we got the offset, we can change the helper's position to absolute
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12220 // TODO: Still need to figure out a way to make relative sorting possible
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12221 this.helper.css("position", "absolute");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12222 this.cssPosition = this.helper.css("position");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12223
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12224 //Generate the original position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12225 this.originalPosition = this._generatePosition(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12226 this.originalPageX = event.pageX;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12227 this.originalPageY = event.pageY;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12228
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12229 //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12230 (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12231
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12232 //Cache the former DOM position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12233 this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12234
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12235 //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
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12236 if(this.helper[0] !== this.currentItem[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12237 this.currentItem.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12238 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12239
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12240 //Create the placeholder
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12241 this._createPlaceholder();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12242
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12243 //Set a containment if given in the options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12244 if(o.containment) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12245 this._setContainment();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12246 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12247
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12248 if( o.cursor && o.cursor !== "auto" ) { // cursor option
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12249 body = this.document.find( "body" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12250
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12251 // support: IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12252 this.storedCursor = body.css( "cursor" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12253 body.css( "cursor", o.cursor );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12254
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12255 this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12256 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12257
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12258 if(o.opacity) { // opacity option
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12259 if (this.helper.css("opacity")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12260 this._storedOpacity = this.helper.css("opacity");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12261 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12262 this.helper.css("opacity", o.opacity);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12263 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12264
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12265 if(o.zIndex) { // zIndex option
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12266 if (this.helper.css("zIndex")) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12267 this._storedZIndex = this.helper.css("zIndex");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12268 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12269 this.helper.css("zIndex", o.zIndex);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12270 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12271
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12272 //Prepare scrolling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12273 if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12274 this.overflowOffset = this.scrollParent.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12275 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12276
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12277 //Call callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12278 this._trigger("start", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12279
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12280 //Recache the helper size
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12281 if(!this._preserveHelperProportions) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12282 this._cacheHelperProportions();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12283 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12284
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12285
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12286 //Post "activate" events to possible containers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12287 if( !noActivation ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12288 for ( i = this.containers.length - 1; i >= 0; i-- ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12289 this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12290 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12291 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12292
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12293 //Prepare possible droppables
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12294 if($.ui.ddmanager) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12295 $.ui.ddmanager.current = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12296 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12297
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12298 if ($.ui.ddmanager && !o.dropBehaviour) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12299 $.ui.ddmanager.prepareOffsets(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12300 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12301
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12302 this.dragging = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12303
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12304 this.helper.addClass("ui-sortable-helper");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12305 this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12306 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12307
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12308 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12309
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12310 _mouseDrag: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12311 var i, item, itemElement, intersection,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12312 o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12313 scrolled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12314
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12315 //Compute the helpers position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12316 this.position = this._generatePosition(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12317 this.positionAbs = this._convertPositionTo("absolute");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12318
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12319 if (!this.lastPositionAbs) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12320 this.lastPositionAbs = this.positionAbs;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12321 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12322
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12323 //Do scrolling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12324 if(this.options.scroll) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12325 if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12326
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12327 if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12328 this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12329 } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12330 this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12331 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12332
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12333 if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12334 this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12335 } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12336 this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12337 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12338
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12339 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12340
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12341 if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12342 scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12343 } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12344 scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12345 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12346
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12347 if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12348 scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12349 } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12350 scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12351 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12352
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12353 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12354
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12355 if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12356 $.ui.ddmanager.prepareOffsets(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12357 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12358 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12359
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12360 //Regenerate the absolute position used for position checks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12361 this.positionAbs = this._convertPositionTo("absolute");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12362
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12363 //Set the helper position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12364 if(!this.options.axis || this.options.axis !== "y") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12365 this.helper[0].style.left = this.position.left+"px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12366 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12367 if(!this.options.axis || this.options.axis !== "x") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12368 this.helper[0].style.top = this.position.top+"px";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12369 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12370
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12371 //Rearrange
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12372 for (i = this.items.length - 1; i >= 0; i--) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12373
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12374 //Cache variables and intersection, continue if no intersection
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12375 item = this.items[i];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12376 itemElement = item.item[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12377 intersection = this._intersectsWithPointer(item);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12378 if (!intersection) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12379 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12380 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12381
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12382 // Only put the placeholder inside the current Container, skip all
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12383 // items from other containers. This works because when moving
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12384 // an item from one container to another the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12385 // currentContainer is switched before the placeholder is moved.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12386 //
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12387 // Without this, moving items in "sub-sortables" can cause
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12388 // the placeholder to jitter beetween the outer and inner container.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12389 if (item.instance !== this.currentContainer) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12390 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12391 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12392
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12393 // cannot intersect with itself
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12394 // no useless actions that have been done before
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12395 // no action if the item moved is the parent of the item checked
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12396 if (itemElement !== this.currentItem[0] &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12397 this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12398 !$.contains(this.placeholder[0], itemElement) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12399 (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12400 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12401
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12402 this.direction = intersection === 1 ? "down" : "up";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12403
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12404 if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12405 this._rearrange(event, item);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12406 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12407 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12408 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12409
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12410 this._trigger("change", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12411 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12412 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12413 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12414
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12415 //Post events to containers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12416 this._contactContainers(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12417
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12418 //Interconnect with droppables
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12419 if($.ui.ddmanager) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12420 $.ui.ddmanager.drag(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12421 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12422
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12423 //Call callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12424 this._trigger("sort", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12425
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12426 this.lastPositionAbs = this.positionAbs;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12427 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12428
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12429 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12430
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12431 _mouseStop: function(event, noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12432
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12433 if(!event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12434 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12435 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12436
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12437 //If we are using droppables, inform the manager about the drop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12438 if ($.ui.ddmanager && !this.options.dropBehaviour) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12439 $.ui.ddmanager.drop(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12440 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12441
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12442 if(this.options.revert) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12443 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12444 cur = this.placeholder.offset(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12445 axis = this.options.axis,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12446 animation = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12447
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12448 if ( !axis || axis === "x" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12449 animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12450 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12451 if ( !axis || axis === "y" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12452 animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12453 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12454 this.reverting = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12455 $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12456 that._clear(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12457 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12458 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12459 this._clear(event, noPropagation);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12460 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12461
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12462 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12463
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12464 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12465
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12466 cancel: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12467
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12468 if(this.dragging) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12469
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12470 this._mouseUp({ target: null });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12471
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12472 if(this.options.helper === "original") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12473 this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12474 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12475 this.currentItem.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12476 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12477
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12478 //Post deactivating events to containers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12479 for (var i = this.containers.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12480 this.containers[i]._trigger("deactivate", null, this._uiHash(this));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12481 if(this.containers[i].containerCache.over) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12482 this.containers[i]._trigger("out", null, this._uiHash(this));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12483 this.containers[i].containerCache.over = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12484 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12485 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12486
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12487 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12488
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12489 if (this.placeholder) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12490 //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12491 if(this.placeholder[0].parentNode) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12492 this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12493 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12494 if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12495 this.helper.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12496 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12497
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12498 $.extend(this, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12499 helper: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12500 dragging: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12501 reverting: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12502 _noFinalSort: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12503 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12504
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12505 if(this.domPosition.prev) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12506 $(this.domPosition.prev).after(this.currentItem);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12507 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12508 $(this.domPosition.parent).prepend(this.currentItem);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12509 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12510 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12511
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12512 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12513
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12514 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12515
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12516 serialize: function(o) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12517
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12518 var items = this._getItemsAsjQuery(o && o.connected),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12519 str = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12520 o = o || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12521
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12522 $(items).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12523 var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12524 if (res) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12525 str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12526 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12527 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12528
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12529 if(!str.length && o.key) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12530 str.push(o.key + "=");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12531 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12532
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12533 return str.join("&");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12535 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12536
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12537 toArray: function(o) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12538
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12539 var items = this._getItemsAsjQuery(o && o.connected),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12540 ret = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12541
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12542 o = o || {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12543
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12544 items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12545 return ret;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12546
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12547 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12548
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12549 /* Be careful with the following core functions */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12550 _intersectsWith: function(item) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12551
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12552 var x1 = this.positionAbs.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12553 x2 = x1 + this.helperProportions.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12554 y1 = this.positionAbs.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12555 y2 = y1 + this.helperProportions.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12556 l = item.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12557 r = l + item.width,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12558 t = item.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12559 b = t + item.height,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12560 dyClick = this.offset.click.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12561 dxClick = this.offset.click.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12562 isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12563 isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12564 isOverElement = isOverElementHeight && isOverElementWidth;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12565
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12566 if ( this.options.tolerance === "pointer" ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12567 this.options.forcePointerForContainers ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12568 (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12569 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12570 return isOverElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12571 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12572
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12573 return (l < x1 + (this.helperProportions.width / 2) && // Right Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12574 x2 - (this.helperProportions.width / 2) < r && // Left Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12575 t < y1 + (this.helperProportions.height / 2) && // Bottom Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12576 y2 - (this.helperProportions.height / 2) < b ); // Top Half
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12577
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12578 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12579 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12580
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12581 _intersectsWithPointer: function(item) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12582
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12583 var isOverElementHeight = (this.options.axis === "x") || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12584 isOverElementWidth = (this.options.axis === "y") || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12585 isOverElement = isOverElementHeight && isOverElementWidth,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12586 verticalDirection = this._getDragVerticalDirection(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12587 horizontalDirection = this._getDragHorizontalDirection();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12588
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12589 if (!isOverElement) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12590 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12591 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12592
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12593 return this.floating ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12594 ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12595 : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12596
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12597 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12598
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12599 _intersectsWithSides: function(item) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12600
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12601 var isOverBottomHalf = isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12602 isOverRightHalf = isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12603 verticalDirection = this._getDragVerticalDirection(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12604 horizontalDirection = this._getDragHorizontalDirection();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12605
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12606 if (this.floating && horizontalDirection) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12607 return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12608 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12609 return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12610 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12611
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12612 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12613
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12614 _getDragVerticalDirection: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12615 var delta = this.positionAbs.top - this.lastPositionAbs.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12616 return delta !== 0 && (delta > 0 ? "down" : "up");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12617 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12618
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12619 _getDragHorizontalDirection: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12620 var delta = this.positionAbs.left - this.lastPositionAbs.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12621 return delta !== 0 && (delta > 0 ? "right" : "left");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12622 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12623
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12624 refresh: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12625 this._refreshItems(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12626 this.refreshPositions();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12627 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12628 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12629
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12630 _connectWith: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12631 var options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12632 return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12633 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12634
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12635 _getItemsAsjQuery: function(connected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12636
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12637 var i, j, cur, inst,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12638 items = [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12639 queries = [],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12640 connectWith = this._connectWith();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12641
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12642 if(connectWith && connected) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12643 for (i = connectWith.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12644 cur = $(connectWith[i]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12645 for ( j = cur.length - 1; j >= 0; j--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12646 inst = $.data(cur[j], this.widgetFullName);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12647 if(inst && inst !== this && !inst.options.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12648 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]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12649 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12650 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12651 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12652 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12653
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12654 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]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12655
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12656 function addItems() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12657 items.push( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12658 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12659 for (i = queries.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12660 queries[i][0].each( addItems );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12661 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12662
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12663 return $(items);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12664
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12665 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12666
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12667 _removeCurrentsFromItems: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12668
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12669 var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12670
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12671 this.items = $.grep(this.items, function (item) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12672 for (var j=0; j < list.length; j++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12673 if(list[j] === item.item[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12674 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12675 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12676 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12677 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12678 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12679
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12680 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12681
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12682 _refreshItems: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12683
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12684 this.items = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12685 this.containers = [this];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12686
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12687 var i, j, cur, inst, targetData, _queries, item, queriesLength,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12688 items = this.items,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12689 queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12690 connectWith = this._connectWith();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12691
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12692 if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12693 for (i = connectWith.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12694 cur = $(connectWith[i]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12695 for (j = cur.length - 1; j >= 0; j--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12696 inst = $.data(cur[j], this.widgetFullName);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12697 if(inst && inst !== this && !inst.options.disabled) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12698 queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12699 this.containers.push(inst);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12700 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12701 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12702 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12703 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12704
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12705 for (i = queries.length - 1; i >= 0; i--) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12706 targetData = queries[i][1];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12707 _queries = queries[i][0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12708
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12709 for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12710 item = $(_queries[j]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12711
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12712 item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12713
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12714 items.push({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12715 item: item,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12716 instance: targetData,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12717 width: 0, height: 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12718 left: 0, top: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12719 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12720 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12721 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12722
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12723 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12724
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12725 refreshPositions: function(fast) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12726
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12727 //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12728 if(this.offsetParent && this.helper) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12729 this.offset.parent = this._getParentOffset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12730 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12731
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12732 var i, item, t, p;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12733
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12734 for (i = this.items.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12735 item = this.items[i];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12736
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12737 //We ignore calculating positions of all connected containers when we're not over them
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12738 if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12739 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12740 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12741
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12742 t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12743
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12744 if (!fast) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12745 item.width = t.outerWidth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12746 item.height = t.outerHeight();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12747 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12748
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12749 p = t.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12750 item.left = p.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12751 item.top = p.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12752 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12753
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12754 if(this.options.custom && this.options.custom.refreshContainers) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12755 this.options.custom.refreshContainers.call(this);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12756 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12757 for (i = this.containers.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12758 p = this.containers[i].element.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12759 this.containers[i].containerCache.left = p.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12760 this.containers[i].containerCache.top = p.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12761 this.containers[i].containerCache.width = this.containers[i].element.outerWidth();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12762 this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12763 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12764 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12765
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12766 return this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12767 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12768
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12769 _createPlaceholder: function(that) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12770 that = that || this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12771 var className,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12772 o = that.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12773
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12774 if(!o.placeholder || o.placeholder.constructor === String) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12775 className = o.placeholder;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12776 o.placeholder = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12777 element: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12778
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12779 var nodeName = that.currentItem[0].nodeName.toLowerCase(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12780 element = $( "<" + nodeName + ">", that.document[0] )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12781 .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder")
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12782 .removeClass("ui-sortable-helper");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12783
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12784 if ( nodeName === "tr" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12785 that.currentItem.children().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12786 $( "<td>&#160;</td>", that.document[0] )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12787 .attr( "colspan", $( this ).attr( "colspan" ) || 1 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12788 .appendTo( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12789 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12790 } else if ( nodeName === "img" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12791 element.attr( "src", that.currentItem.attr( "src" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12792 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12793
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12794 if ( !className ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12795 element.css( "visibility", "hidden" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12796 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12797
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12798 return element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12799 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12800 update: function(container, p) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12801
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12802 // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12803 // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12804 if(className && !o.forcePlaceholderSize) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12805 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12806 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12807
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12808 //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
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12809 if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12810 if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12811 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12812 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12813 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12814
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12815 //Create the placeholder
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12816 that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12817
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12818 //Append it after the actual current item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12819 that.currentItem.after(that.placeholder);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12820
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12821 //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12822 o.placeholder.update(that, that.placeholder);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12824 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12825
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12826 _contactContainers: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12827 var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, base, cur, nearBottom, floating,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12828 innermostContainer = null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12829 innermostIndex = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12830
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12831 // get innermost container that intersects with item
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12832 for (i = this.containers.length - 1; i >= 0; i--) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12833
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12834 // never consider a container that's located within the item itself
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12835 if($.contains(this.currentItem[0], this.containers[i].element[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12836 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12837 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12838
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12839 if(this._intersectsWith(this.containers[i].containerCache)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12840
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12841 // if we've already found a container and it's more "inner" than this, then continue
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12842 if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12843 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12844 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12845
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12846 innermostContainer = this.containers[i];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12847 innermostIndex = i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12848
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12849 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12850 // container doesn't intersect. trigger "out" event if necessary
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12851 if(this.containers[i].containerCache.over) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12852 this.containers[i]._trigger("out", event, this._uiHash(this));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12853 this.containers[i].containerCache.over = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12854 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12855 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12856
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12857 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12858
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12859 // if no intersecting containers found, return
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12860 if(!innermostContainer) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12861 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12862 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12863
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12864 // move the item into the container if it's not there already
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12865 if(this.containers.length === 1) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12866 if (!this.containers[innermostIndex].containerCache.over) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12867 this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12868 this.containers[innermostIndex].containerCache.over = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12869 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12870 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12871
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12872 //When entering a new container, we will find the item with the least distance and append our item near it
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12873 dist = 10000;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12874 itemWithLeastDistance = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12875 floating = innermostContainer.floating || isFloating(this.currentItem);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12876 posProperty = floating ? "left" : "top";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12877 sizeProperty = floating ? "width" : "height";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12878 base = this.positionAbs[posProperty] + this.offset.click[posProperty];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12879 for (j = this.items.length - 1; j >= 0; j--) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12880 if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12881 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12882 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12883 if(this.items[j].item[0] === this.currentItem[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12884 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12885 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12886 if (floating && !isOverAxis(this.positionAbs.top + this.offset.click.top, this.items[j].top, this.items[j].height)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12887 continue;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12888 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12889 cur = this.items[j].item.offset()[posProperty];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12890 nearBottom = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12891 if(Math.abs(cur - base) > Math.abs(cur + this.items[j][sizeProperty] - base)){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12892 nearBottom = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12893 cur += this.items[j][sizeProperty];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12894 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12895
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12896 if(Math.abs(cur - base) < dist) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12897 dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12898 this.direction = nearBottom ? "up": "down";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12899 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12900 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12901
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12902 //Check if dropOnEmpty is enabled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12903 if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12904 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12905 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12906
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12907 if(this.currentContainer === this.containers[innermostIndex]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12908 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12909 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12910
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12911 itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12912 this._trigger("change", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12913 this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12914 this.currentContainer = this.containers[innermostIndex];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12915
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12916 //Update the placeholder
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12917 this.options.placeholder.update(this.currentContainer, this.placeholder);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12918
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12919 this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12920 this.containers[innermostIndex].containerCache.over = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12921 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12922
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12923
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12924 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12925
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12926 _createHelper: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12927
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12928 var o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12929 helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12930
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12931 //Add the helper to the DOM if that didn't happen already
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12932 if(!helper.parents("body").length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12933 $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12934 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12935
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12936 if(helper[0] === this.currentItem[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12937 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") };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12938 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12939
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12940 if(!helper[0].style.width || o.forceHelperSize) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12941 helper.width(this.currentItem.width());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12942 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12943 if(!helper[0].style.height || o.forceHelperSize) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12944 helper.height(this.currentItem.height());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12945 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12946
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12947 return helper;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12948
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12949 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12950
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12951 _adjustOffsetFromHelper: function(obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12952 if (typeof obj === "string") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12953 obj = obj.split(" ");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12954 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12955 if ($.isArray(obj)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12956 obj = {left: +obj[0], top: +obj[1] || 0};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12957 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12958 if ("left" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12959 this.offset.click.left = obj.left + this.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12960 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12961 if ("right" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12962 this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12963 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12964 if ("top" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12965 this.offset.click.top = obj.top + this.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12966 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12967 if ("bottom" in obj) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12968 this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12969 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12970 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12971
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12972 _getParentOffset: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12973
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12974
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12975 //Get the offsetParent and cache its position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12976 this.offsetParent = this.helper.offsetParent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12977 var po = this.offsetParent.offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12978
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12979 // This is a special case where we need to modify a offset calculated on start, since the following happened:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12980 // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12981 // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12982 // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12983 if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12984 po.left += this.scrollParent.scrollLeft();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12985 po.top += this.scrollParent.scrollTop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12986 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12987
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12988 // This needs to be actually done for all browsers, since pageX/pageY includes this information
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12989 // with an ugly IE fix
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12990 if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12991 po = { top: 0, left: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12992 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12993
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12994 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12995 top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12996 left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12997 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12998
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
12999 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13000
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13001 _getRelativeOffset: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13002
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13003 if(this.cssPosition === "relative") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13004 var p = this.currentItem.position();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13005 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13006 top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13007 left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13008 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13009 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13010 return { top: 0, left: 0 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13011 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13012
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13013 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13014
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13015 _cacheMargins: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13016 this.margins = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13017 left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13018 top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13019 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13020 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13021
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13022 _cacheHelperProportions: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13023 this.helperProportions = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13024 width: this.helper.outerWidth(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13025 height: this.helper.outerHeight()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13026 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13027 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13028
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13029 _setContainment: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13030
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13031 var ce, co, over,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13032 o = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13033 if(o.containment === "parent") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13034 o.containment = this.helper[0].parentNode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13035 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13036 if(o.containment === "document" || o.containment === "window") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13037 this.containment = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13038 0 - this.offset.relative.left - this.offset.parent.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13039 0 - this.offset.relative.top - this.offset.parent.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13040 $(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13041 ($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13042 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13043 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13044
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13045 if(!(/^(document|window|parent)$/).test(o.containment)) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13046 ce = $(o.containment)[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13047 co = $(o.containment).offset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13048 over = ($(ce).css("overflow") !== "hidden");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13049
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13050 this.containment = [
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13051 co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13052 co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13053 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,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13054 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
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13055 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13056 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13057
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13058 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13059
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13060 _convertPositionTo: function(d, pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13061
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13062 if(!pos) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13063 pos = this.position;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13064 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13065 var mod = d === "absolute" ? 1 : -1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13066 scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13067 scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13068
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13069 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13070 top: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13071 pos.top + // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13072 this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13073 this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13074 ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13075 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13076 left: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13077 pos.left + // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13078 this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13079 this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13080 ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13081 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13082 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13083
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13084 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13085
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13086 _generatePosition: function(event) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13087
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13088 var top, left,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13089 o = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13090 pageX = event.pageX,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13091 pageY = event.pageY,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13092 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);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13093
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13094 // This is another very weird special case that only happens for relative elements:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13095 // 1. If the css position is relative
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13096 // 2. and the scroll parent is the document or similar to the offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13097 // we have to refresh the relative offset during the scroll so there are no jumps
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13098 if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13099 this.offset.relative = this._getRelativeOffset();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13100 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13101
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13102 /*
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13103 * - Position constraining -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13104 * Constrain the position to a mix of grid, containment.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13105 */
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13106
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13107 if(this.originalPosition) { //If we are not dragging yet, we won't check for options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13108
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13109 if(this.containment) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13110 if(event.pageX - this.offset.click.left < this.containment[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13111 pageX = this.containment[0] + this.offset.click.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13112 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13113 if(event.pageY - this.offset.click.top < this.containment[1]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13114 pageY = this.containment[1] + this.offset.click.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13115 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13116 if(event.pageX - this.offset.click.left > this.containment[2]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13117 pageX = this.containment[2] + this.offset.click.left;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13118 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13119 if(event.pageY - this.offset.click.top > this.containment[3]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13120 pageY = this.containment[3] + this.offset.click.top;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13121 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13122 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13123
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13124 if(o.grid) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13125 top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13126 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;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13127
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13128 left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13129 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;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13130 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13131
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13132 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13133
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13134 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13135 top: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13136 pageY - // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13137 this.offset.click.top - // Click offset (relative to the element)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13138 this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13139 this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13140 ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13141 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13142 left: (
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13143 pageX - // The absolute mouse position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13144 this.offset.click.left - // Click offset (relative to the element)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13145 this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13146 this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13147 ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13148 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13149 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13150
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13151 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13152
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13153 _rearrange: function(event, i, a, hardRefresh) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13154
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13155 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));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13156
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13157 //Various things done here to improve the performance:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13158 // 1. we create a setTimeout, that calls refreshPositions
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13159 // 2. on the instance, we have a counter variable, that get's higher after every append
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13160 // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13161 // 4. this lets only the last addition to the timeout stack through
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13162 this.counter = this.counter ? ++this.counter : 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13163 var counter = this.counter;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13164
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13165 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13166 if(counter === this.counter) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13167 this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13168 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13169 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13170
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13171 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13172
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13173 _clear: function(event, noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13174
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13175 this.reverting = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13176 // We delay all events that have to be triggered to after the point where the placeholder has been removed and
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13177 // everything else normalized again
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13178 var i,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13179 delayedTriggers = [];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13180
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13181 // We first have to update the dom position of the actual currentItem
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13182 // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13183 if(!this._noFinalSort && this.currentItem.parent().length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13184 this.placeholder.before(this.currentItem);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13185 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13186 this._noFinalSort = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13187
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13188 if(this.helper[0] === this.currentItem[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13189 for(i in this._storedCSS) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13190 if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13191 this._storedCSS[i] = "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13192 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13193 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13194 this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13195 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13196 this.currentItem.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13197 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13198
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13199 if(this.fromOutside && !noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13200 delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13201 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13202 if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13203 delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13204 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13205
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13206 // Check if the items Container has Changed and trigger appropriate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13207 // events.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13208 if (this !== this.currentContainer) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13209 if(!noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13210 delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13211 delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13212 delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13213 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13214 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13215
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13216
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13217 //Post events to containers
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13218 function delayEvent( type, instance, container ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13219 return function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13220 container._trigger( type, event, instance._uiHash( instance ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13221 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13222 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13223 for (i = this.containers.length - 1; i >= 0; i--){
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13224 if (!noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13225 delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13226 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13227 if(this.containers[i].containerCache.over) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13228 delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13229 this.containers[i].containerCache.over = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13230 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13231 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13232
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13233 //Do what was originally in plugins
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13234 if ( this.storedCursor ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13235 this.document.find( "body" ).css( "cursor", this.storedCursor );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13236 this.storedStylesheet.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13237 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13238 if(this._storedOpacity) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13239 this.helper.css("opacity", this._storedOpacity);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13240 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13241 if(this._storedZIndex) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13242 this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13243 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13244
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13245 this.dragging = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13246 if(this.cancelHelperRemoval) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13247 if(!noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13248 this._trigger("beforeStop", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13249 for (i=0; i < delayedTriggers.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13250 delayedTriggers[i].call(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13251 } //Trigger all delayed events
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13252 this._trigger("stop", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13253 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13254
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13255 this.fromOutside = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13256 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13257 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13258
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13259 if(!noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13260 this._trigger("beforeStop", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13261 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13262
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13263 //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13264 this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13265
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13266 if(this.helper[0] !== this.currentItem[0]) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13267 this.helper.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13268 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13269 this.helper = null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13270
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13271 if(!noPropagation) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13272 for (i=0; i < delayedTriggers.length; i++) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13273 delayedTriggers[i].call(this, event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13274 } //Trigger all delayed events
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13275 this._trigger("stop", event, this._uiHash());
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13276 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13277
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13278 this.fromOutside = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13279 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13280
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13281 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13282
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13283 _trigger: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13284 if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13285 this.cancel();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13286 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13287 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13288
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13289 _uiHash: function(_inst) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13290 var inst = _inst || this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13291 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13292 helper: inst.helper,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13293 placeholder: inst.placeholder || $([]),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13294 position: inst.position,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13295 originalPosition: inst.originalPosition,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13296 offset: inst.positionAbs,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13297 item: inst.currentItem,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13298 sender: _inst ? _inst.element : null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13299 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13300 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13301
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13302 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13303
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13304 })(jQuery);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13305 (function( $ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13306
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13307 function modifier( fn ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13308 return function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13309 var previous = this.element.val();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13310 fn.apply( this, arguments );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13311 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13312 if ( previous !== this.element.val() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13313 this._trigger( "change" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13314 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13315 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13316 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13317
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13318 $.widget( "ui.spinner", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13319 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13320 defaultElement: "<input>",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13321 widgetEventPrefix: "spin",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13322 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13323 culture: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13324 icons: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13325 down: "ui-icon-triangle-1-s",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13326 up: "ui-icon-triangle-1-n"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13327 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13328 incremental: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13329 max: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13330 min: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13331 numberFormat: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13332 page: 10,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13333 step: 1,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13334
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13335 change: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13336 spin: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13337 start: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13338 stop: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13339 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13340
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13341 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13342 // handle string values that need to be parsed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13343 this._setOption( "max", this.options.max );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13344 this._setOption( "min", this.options.min );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13345 this._setOption( "step", this.options.step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13346
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13347 // Only format if there is a value, prevents the field from being marked
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13348 // as invalid in Firefox, see #9573.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13349 if ( this.value() !== "" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13350 // Format the value, but don't constrain.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13351 this._value( this.element.val(), true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13352 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13353
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13354 this._draw();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13355 this._on( this._events );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13356 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13357
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13358 // turning off autocomplete prevents the browser from remembering the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13359 // value when navigating through history, so we re-enable autocomplete
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13360 // if the page is unloaded before the widget is destroyed. #7790
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13361 this._on( this.window, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13362 beforeunload: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13363 this.element.removeAttr( "autocomplete" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13364 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13365 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13366 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13367
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13368 _getCreateOptions: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13369 var options = {},
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13370 element = this.element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13371
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13372 $.each( [ "min", "max", "step" ], function( i, option ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13373 var value = element.attr( option );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13374 if ( value !== undefined && value.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13375 options[ option ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13376 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13377 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13378
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13379 return options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13380 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13381
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13382 _events: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13383 keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13384 if ( this._start( event ) && this._keydown( event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13385 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13386 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13387 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13388 keyup: "_stop",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13389 focus: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13390 this.previous = this.element.val();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13391 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13392 blur: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13393 if ( this.cancelBlur ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13394 delete this.cancelBlur;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13395 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13396 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13397
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13398 this._stop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13399 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13400 if ( this.previous !== this.element.val() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13401 this._trigger( "change", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13402 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13403 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13404 mousewheel: function( event, delta ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13405 if ( !delta ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13406 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13407 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13408 if ( !this.spinning && !this._start( event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13409 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13410 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13411
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13412 this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13413 clearTimeout( this.mousewheelTimer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13414 this.mousewheelTimer = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13415 if ( this.spinning ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13416 this._stop( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13417 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13418 }, 100 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13419 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13420 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13421 "mousedown .ui-spinner-button": function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13422 var previous;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13423
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13424 // We never want the buttons to have focus; whenever the user is
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13425 // interacting with the spinner, the focus should be on the input.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13426 // If the input is focused then this.previous is properly set from
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13427 // when the input first received focus. If the input is not focused
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13428 // then we need to set this.previous based on the value before spinning.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13429 previous = this.element[0] === this.document[0].activeElement ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13430 this.previous : this.element.val();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13431 function checkFocus() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13432 var isActive = this.element[0] === this.document[0].activeElement;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13433 if ( !isActive ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13434 this.element.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13435 this.previous = previous;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13436 // support: IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13437 // IE sets focus asynchronously, so we need to check if focus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13438 // moved off of the input because the user clicked on the button.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13439 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13440 this.previous = previous;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13441 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13442 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13443 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13444
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13445 // ensure focus is on (or stays on) the text field
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13446 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13447 checkFocus.call( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13448
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13449 // support: IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13450 // IE doesn't prevent moving focus even with event.preventDefault()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13451 // so we set a flag to know when we should ignore the blur event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13452 // and check (again) if focus moved off of the input.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13453 this.cancelBlur = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13454 this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13455 delete this.cancelBlur;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13456 checkFocus.call( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13457 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13458
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13459 if ( this._start( event ) === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13460 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13461 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13462
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13463 this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13464 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13465 "mouseup .ui-spinner-button": "_stop",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13466 "mouseenter .ui-spinner-button": function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13467 // button will add ui-state-active if mouse was down while mouseleave and kept down
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13468 if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13469 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13470 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13471
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13472 if ( this._start( event ) === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13473 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13474 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13475 this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13476 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13477 // TODO: do we really want to consider this a stop?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13478 // shouldn't we just stop the repeater and wait until mouseup before
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13479 // we trigger the stop event?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13480 "mouseleave .ui-spinner-button": "_stop"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13481 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13482
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13483 _draw: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13484 var uiSpinner = this.uiSpinner = this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13485 .addClass( "ui-spinner-input" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13486 .attr( "autocomplete", "off" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13487 .wrap( this._uiSpinnerHtml() )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13488 .parent()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13489 // add buttons
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13490 .append( this._buttonHtml() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13491
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13492 this.element.attr( "role", "spinbutton" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13493
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13494 // button bindings
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13495 this.buttons = uiSpinner.find( ".ui-spinner-button" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13496 .attr( "tabIndex", -1 )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13497 .button()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13498 .removeClass( "ui-corner-all" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13499
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13500 // IE 6 doesn't understand height: 50% for the buttons
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13501 // unless the wrapper has an explicit height
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13502 if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13503 uiSpinner.height() > 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13504 uiSpinner.height( uiSpinner.height() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13505 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13506
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13507 // disable spinner if element was already disabled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13508 if ( this.options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13509 this.disable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13510 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13511 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13512
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13513 _keydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13514 var options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13515 keyCode = $.ui.keyCode;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13516
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13517 switch ( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13518 case keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13519 this._repeat( null, 1, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13520 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13521 case keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13522 this._repeat( null, -1, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13523 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13524 case keyCode.PAGE_UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13525 this._repeat( null, options.page, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13526 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13527 case keyCode.PAGE_DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13528 this._repeat( null, -options.page, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13529 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13530 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13531
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13532 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13533 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13535 _uiSpinnerHtml: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13536 return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13537 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13538
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13539 _buttonHtml: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13540 return "" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13541 "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13542 "<span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13543 "</a>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13544 "<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13545 "<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13546 "</a>";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13547 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13548
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13549 _start: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13550 if ( !this.spinning && this._trigger( "start", event ) === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13551 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13552 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13553
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13554 if ( !this.counter ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13555 this.counter = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13556 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13557 this.spinning = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13558 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13559 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13560
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13561 _repeat: function( i, steps, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13562 i = i || 500;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13563
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13564 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13565 this.timer = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13566 this._repeat( 40, steps, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13567 }, i );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13568
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13569 this._spin( steps * this.options.step, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13570 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13571
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13572 _spin: function( step, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13573 var value = this.value() || 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13574
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13575 if ( !this.counter ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13576 this.counter = 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13577 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13578
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13579 value = this._adjustValue( value + step * this._increment( this.counter ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13580
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13581 if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13582 this._value( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13583 this.counter++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13584 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13585 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13586
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13587 _increment: function( i ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13588 var incremental = this.options.incremental;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13589
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13590 if ( incremental ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13591 return $.isFunction( incremental ) ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13592 incremental( i ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13593 Math.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13594 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13596 return 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13597 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13598
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13599 _precision: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13600 var precision = this._precisionOf( this.options.step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13601 if ( this.options.min !== null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13602 precision = Math.max( precision, this._precisionOf( this.options.min ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13603 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13604 return precision;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13605 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13606
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13607 _precisionOf: function( num ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13608 var str = num.toString(),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13609 decimal = str.indexOf( "." );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13610 return decimal === -1 ? 0 : str.length - decimal - 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13611 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13612
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13613 _adjustValue: function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13614 var base, aboveMin,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13615 options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13616
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13617 // make sure we're at a valid step
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13618 // - find out where we are relative to the base (min or 0)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13619 base = options.min !== null ? options.min : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13620 aboveMin = value - base;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13621 // - round to the nearest step
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13622 aboveMin = Math.round(aboveMin / options.step) * options.step;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13623 // - rounding is based on 0, so adjust back to our base
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13624 value = base + aboveMin;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13625
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13626 // fix precision from bad JS floating point math
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13627 value = parseFloat( value.toFixed( this._precision() ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13628
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13629 // clamp the value
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13630 if ( options.max !== null && value > options.max) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13631 return options.max;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13632 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13633 if ( options.min !== null && value < options.min ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13634 return options.min;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13635 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13636
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13637 return value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13638 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13639
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13640 _stop: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13641 if ( !this.spinning ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13642 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13643 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13644
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13645 clearTimeout( this.timer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13646 clearTimeout( this.mousewheelTimer );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13647 this.counter = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13648 this.spinning = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13649 this._trigger( "stop", event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13650 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13651
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13652 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13653 if ( key === "culture" || key === "numberFormat" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13654 var prevValue = this._parse( this.element.val() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13655 this.options[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13656 this.element.val( this._format( prevValue ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13657 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13658 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13659
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13660 if ( key === "max" || key === "min" || key === "step" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13661 if ( typeof value === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13662 value = this._parse( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13663 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13664 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13665 if ( key === "icons" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13666 this.buttons.first().find( ".ui-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13667 .removeClass( this.options.icons.up )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13668 .addClass( value.up );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13669 this.buttons.last().find( ".ui-icon" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13670 .removeClass( this.options.icons.down )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13671 .addClass( value.down );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13672 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13673
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13674 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13675
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13676 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13677 if ( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13678 this.element.prop( "disabled", true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13679 this.buttons.button( "disable" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13680 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13681 this.element.prop( "disabled", false );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13682 this.buttons.button( "enable" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13683 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13684 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13685 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13686
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13687 _setOptions: modifier(function( options ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13688 this._super( options );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13689 this._value( this.element.val() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13690 }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13691
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13692 _parse: function( val ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13693 if ( typeof val === "string" && val !== "" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13694 val = window.Globalize && this.options.numberFormat ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13695 Globalize.parseFloat( val, 10, this.options.culture ) : +val;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13696 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13697 return val === "" || isNaN( val ) ? null : val;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13698 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13699
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13700 _format: function( value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13701 if ( value === "" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13702 return "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13703 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13704 return window.Globalize && this.options.numberFormat ?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13705 Globalize.format( value, this.options.numberFormat, this.options.culture ) :
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13706 value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13707 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13708
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13709 _refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13710 this.element.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13711 "aria-valuemin": this.options.min,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13712 "aria-valuemax": this.options.max,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13713 // TODO: what should we do with values that can't be parsed?
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13714 "aria-valuenow": this._parse( this.element.val() )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13715 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13716 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13717
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13718 // update the value without triggering change
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13719 _value: function( value, allowAny ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13720 var parsed;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13721 if ( value !== "" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13722 parsed = this._parse( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13723 if ( parsed !== null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13724 if ( !allowAny ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13725 parsed = this._adjustValue( parsed );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13726 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13727 value = this._format( parsed );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13728 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13729 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13730 this.element.val( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13731 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13732 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13733
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13734 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13735 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13736 .removeClass( "ui-spinner-input" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13737 .prop( "disabled", false )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13738 .removeAttr( "autocomplete" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13739 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13740 .removeAttr( "aria-valuemin" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13741 .removeAttr( "aria-valuemax" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13742 .removeAttr( "aria-valuenow" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13743 this.uiSpinner.replaceWith( this.element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13744 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13745
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13746 stepUp: modifier(function( steps ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13747 this._stepUp( steps );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13748 }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13749 _stepUp: function( steps ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13750 if ( this._start() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13751 this._spin( (steps || 1) * this.options.step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13752 this._stop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13753 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13754 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13755
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13756 stepDown: modifier(function( steps ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13757 this._stepDown( steps );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13758 }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13759 _stepDown: function( steps ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13760 if ( this._start() ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13761 this._spin( (steps || 1) * -this.options.step );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13762 this._stop();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13763 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13764 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13765
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13766 pageUp: modifier(function( pages ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13767 this._stepUp( (pages || 1) * this.options.page );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13768 }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13769
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13770 pageDown: modifier(function( pages ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13771 this._stepDown( (pages || 1) * this.options.page );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13772 }),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13773
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13774 value: function( newVal ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13775 if ( !arguments.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13776 return this._parse( this.element.val() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13777 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13778 modifier( this._value ).call( this, newVal );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13779 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13780
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13781 widget: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13782 return this.uiSpinner;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13783 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13784 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13785
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13786 }( jQuery ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13787 (function( $, undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13788
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13789 var tabId = 0,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13790 rhash = /#.*$/;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13791
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13792 function getNextTabId() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13793 return ++tabId;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13794 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13795
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13796 function isLocal( anchor ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13797 // support: IE7
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13798 // IE7 doesn't normalize the href property when set via script (#9317)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13799 anchor = anchor.cloneNode( false );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13800
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13801 return anchor.hash.length > 1 &&
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13802 decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13803 decodeURIComponent( location.href.replace( rhash, "" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13804 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13805
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13806 $.widget( "ui.tabs", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13807 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13808 delay: 300,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13809 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13810 active: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13811 collapsible: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13812 event: "click",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13813 heightStyle: "content",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13814 hide: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13815 show: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13816
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13817 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13818 activate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13819 beforeActivate: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13820 beforeLoad: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13821 load: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13822 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13824 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13825 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13826 options = this.options;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13827
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13828 this.running = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13829
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13830 this.element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13831 .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13832 .toggleClass( "ui-tabs-collapsible", options.collapsible )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13833 // Prevent users from focusing disabled tabs via click
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13834 .delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13835 if ( $( this ).is( ".ui-state-disabled" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13836 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13837 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13838 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13839 // support: IE <9
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13840 // Preventing the default action in mousedown doesn't prevent IE
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13841 // from focusing the element, so if the anchor gets focused, blur.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13842 // We don't have to worry about focusing the previously focused
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13843 // element since clicking on a non-focusable element should focus
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13844 // the body anyway.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13845 .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13846 if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13847 this.blur();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13848 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13849 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13850
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13851 this._processTabs();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13852 options.active = this._initialActive();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13853
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13854 // Take disabling tabs via class attribute from HTML
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13855 // into account and update option properly.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13856 if ( $.isArray( options.disabled ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13857 options.disabled = $.unique( options.disabled.concat(
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13858 $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13859 return that.tabs.index( li );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13860 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13861 ) ).sort();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13862 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13863
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13864 // check for length avoids error when initializing empty list
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13865 if ( this.options.active !== false && this.anchors.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13866 this.active = this._findActive( options.active );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13867 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13868 this.active = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13869 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13870
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13871 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13872
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13873 if ( this.active.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13874 this.load( options.active );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13875 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13876 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13877
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13878 _initialActive: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13879 var active = this.options.active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13880 collapsible = this.options.collapsible,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13881 locationHash = location.hash.substring( 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13882
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13883 if ( active === null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13884 // check the fragment identifier in the URL
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13885 if ( locationHash ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13886 this.tabs.each(function( i, tab ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13887 if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13888 active = i;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13889 return false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13890 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13891 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13892 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13893
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13894 // check for a tab marked active via a class
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13895 if ( active === null ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13896 active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13897 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13898
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13899 // no active tab, set to false
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13900 if ( active === null || active === -1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13901 active = this.tabs.length ? 0 : false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13902 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13903 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13904
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13905 // handle numbers: negative, out of range
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13906 if ( active !== false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13907 active = this.tabs.index( this.tabs.eq( active ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13908 if ( active === -1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13909 active = collapsible ? false : 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13910 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13911 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13912
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13913 // don't allow collapsible: false and active: false
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13914 if ( !collapsible && active === false && this.anchors.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13915 active = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13916 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13917
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13918 return active;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13919 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13920
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13921 _getCreateEventData: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13922 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13923 tab: this.active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13924 panel: !this.active.length ? $() : this._getPanelForTab( this.active )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13925 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13926 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13927
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13928 _tabKeydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13929 var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13930 selectedIndex = this.tabs.index( focusedTab ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13931 goingForward = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13932
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13933 if ( this._handlePageNav( event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13934 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13935 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13936
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13937 switch ( event.keyCode ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13938 case $.ui.keyCode.RIGHT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13939 case $.ui.keyCode.DOWN:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13940 selectedIndex++;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13941 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13942 case $.ui.keyCode.UP:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13943 case $.ui.keyCode.LEFT:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13944 goingForward = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13945 selectedIndex--;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13946 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13947 case $.ui.keyCode.END:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13948 selectedIndex = this.anchors.length - 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13949 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13950 case $.ui.keyCode.HOME:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13951 selectedIndex = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13952 break;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13953 case $.ui.keyCode.SPACE:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13954 // Activate only, no collapsing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13955 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13956 clearTimeout( this.activating );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13957 this._activate( selectedIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13958 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13959 case $.ui.keyCode.ENTER:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13960 // Toggle (cancel delayed activation, allow collapsing)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13961 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13962 clearTimeout( this.activating );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13963 // Determine if we should collapse or activate
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13964 this._activate( selectedIndex === this.options.active ? false : selectedIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13965 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13966 default:
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13967 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13968 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13969
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13970 // Focus the appropriate tab, based on which key was pressed
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13971 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13972 clearTimeout( this.activating );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13973 selectedIndex = this._focusNextTab( selectedIndex, goingForward );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13974
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13975 // Navigating with control key will prevent automatic activation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13976 if ( !event.ctrlKey ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13977 // Update aria-selected immediately so that AT think the tab is already selected.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13978 // Otherwise AT may confuse the user by stating that they need to activate the tab,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13979 // but the tab will already be activated by the time the announcement finishes.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13980 focusedTab.attr( "aria-selected", "false" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13981 this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13982
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13983 this.activating = this._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13984 this.option( "active", selectedIndex );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13985 }, this.delay );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13986 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13987 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13988
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13989 _panelKeydown: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13990 if ( this._handlePageNav( event ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13991 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13992 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13993
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13994 // Ctrl+up moves focus to the current tab
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13995 if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13996 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13997 this.active.focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13998 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
13999 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14000
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14001 // Alt+page up/down moves focus to the previous/next tab (and activates)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14002 _handlePageNav: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14003 if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14004 this._activate( this._focusNextTab( this.options.active - 1, false ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14005 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14006 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14007 if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14008 this._activate( this._focusNextTab( this.options.active + 1, true ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14009 return true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14010 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14011 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14012
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14013 _findNextTab: function( index, goingForward ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14014 var lastTabIndex = this.tabs.length - 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14015
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14016 function constrain() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14017 if ( index > lastTabIndex ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14018 index = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14019 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14020 if ( index < 0 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14021 index = lastTabIndex;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14022 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14023 return index;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14024 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14025
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14026 while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14027 index = goingForward ? index + 1 : index - 1;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14028 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14029
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14030 return index;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14031 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14032
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14033 _focusNextTab: function( index, goingForward ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14034 index = this._findNextTab( index, goingForward );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14035 this.tabs.eq( index ).focus();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14036 return index;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14037 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14038
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14039 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14040 if ( key === "active" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14041 // _activate() will handle invalid values and update this.options
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14042 this._activate( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14043 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14044 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14045
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14046 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14047 // don't use the widget factory's disabled handling
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14048 this._setupDisabled( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14049 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14050 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14051
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14052 this._super( key, value);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14053
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14054 if ( key === "collapsible" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14055 this.element.toggleClass( "ui-tabs-collapsible", value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14056 // Setting collapsible: false while collapsed; open first panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14057 if ( !value && this.options.active === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14058 this._activate( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14059 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14060 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14061
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14062 if ( key === "event" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14063 this._setupEvents( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14064 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14065
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14066 if ( key === "heightStyle" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14067 this._setupHeightStyle( value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14068 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14069 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14070
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14071 _tabId: function( tab ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14072 return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14073 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14074
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14075 _sanitizeSelector: function( hash ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14076 return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14077 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14078
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14079 refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14080 var options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14081 lis = this.tablist.children( ":has(a[href])" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14082
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14083 // get disabled tabs from class attribute from HTML
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14084 // this will get converted to a boolean if needed in _refresh()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14085 options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14086 return lis.index( tab );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14087 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14088
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14089 this._processTabs();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14090
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14091 // was collapsed or no tabs
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14092 if ( options.active === false || !this.anchors.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14093 options.active = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14094 this.active = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14095 // was active, but active tab is gone
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14096 } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14097 // all remaining tabs are disabled
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14098 if ( this.tabs.length === options.disabled.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14099 options.active = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14100 this.active = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14101 // activate previous tab
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14102 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14103 this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14104 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14105 // was active, active tab still exists
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14106 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14107 // make sure active index is correct
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14108 options.active = this.tabs.index( this.active );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14109 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14110
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14111 this._refresh();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14112 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14113
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14114 _refresh: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14115 this._setupDisabled( this.options.disabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14116 this._setupEvents( this.options.event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14117 this._setupHeightStyle( this.options.heightStyle );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14118
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14119 this.tabs.not( this.active ).attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14120 "aria-selected": "false",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14121 tabIndex: -1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14122 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14123 this.panels.not( this._getPanelForTab( this.active ) )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14124 .hide()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14125 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14126 "aria-expanded": "false",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14127 "aria-hidden": "true"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14128 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14129
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14130 // Make sure one tab is in the tab order
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14131 if ( !this.active.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14132 this.tabs.eq( 0 ).attr( "tabIndex", 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14133 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14134 this.active
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14135 .addClass( "ui-tabs-active ui-state-active" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14136 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14137 "aria-selected": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14138 tabIndex: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14139 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14140 this._getPanelForTab( this.active )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14141 .show()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14142 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14143 "aria-expanded": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14144 "aria-hidden": "false"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14145 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14146 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14147 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14148
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14149 _processTabs: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14150 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14151
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14152 this.tablist = this._getList()
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14153 .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14154 .attr( "role", "tablist" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14155
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14156 this.tabs = this.tablist.find( "> li:has(a[href])" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14157 .addClass( "ui-state-default ui-corner-top" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14158 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14159 role: "tab",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14160 tabIndex: -1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14161 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14162
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14163 this.anchors = this.tabs.map(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14164 return $( "a", this )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14165 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14166 .addClass( "ui-tabs-anchor" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14167 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14168 role: "presentation",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14169 tabIndex: -1
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14170 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14171
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14172 this.panels = $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14173
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14174 this.anchors.each(function( i, anchor ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14175 var selector, panel, panelId,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14176 anchorId = $( anchor ).uniqueId().attr( "id" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14177 tab = $( anchor ).closest( "li" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14178 originalAriaControls = tab.attr( "aria-controls" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14179
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14180 // inline tab
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14181 if ( isLocal( anchor ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14182 selector = anchor.hash;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14183 panel = that.element.find( that._sanitizeSelector( selector ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14184 // remote tab
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14185 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14186 panelId = that._tabId( tab );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14187 selector = "#" + panelId;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14188 panel = that.element.find( selector );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14189 if ( !panel.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14190 panel = that._createPanel( panelId );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14191 panel.insertAfter( that.panels[ i - 1 ] || that.tablist );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14192 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14193 panel.attr( "aria-live", "polite" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14194 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14195
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14196 if ( panel.length) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14197 that.panels = that.panels.add( panel );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14198 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14199 if ( originalAriaControls ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14200 tab.data( "ui-tabs-aria-controls", originalAriaControls );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14201 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14202 tab.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14203 "aria-controls": selector.substring( 1 ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14204 "aria-labelledby": anchorId
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14205 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14206 panel.attr( "aria-labelledby", anchorId );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14207 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14208
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14209 this.panels
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14210 .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14211 .attr( "role", "tabpanel" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14212 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14213
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14214 // allow overriding how to find the list for rare usage scenarios (#7715)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14215 _getList: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14216 return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14217 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14218
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14219 _createPanel: function( id ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14220 return $( "<div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14221 .attr( "id", id )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14222 .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14223 .data( "ui-tabs-destroy", true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14224 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14225
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14226 _setupDisabled: function( disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14227 if ( $.isArray( disabled ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14228 if ( !disabled.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14229 disabled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14230 } else if ( disabled.length === this.anchors.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14231 disabled = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14232 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14233 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14234
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14235 // disable tabs
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14236 for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14237 if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14238 $( li )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14239 .addClass( "ui-state-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14240 .attr( "aria-disabled", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14241 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14242 $( li )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14243 .removeClass( "ui-state-disabled" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14244 .removeAttr( "aria-disabled" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14245 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14246 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14247
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14248 this.options.disabled = disabled;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14249 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14250
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14251 _setupEvents: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14252 var events = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14253 click: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14254 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14255 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14256 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14257 if ( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14258 $.each( event.split(" "), function( index, eventName ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14259 events[ eventName ] = "_eventHandler";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14260 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14261 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14262
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14263 this._off( this.anchors.add( this.tabs ).add( this.panels ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14264 this._on( this.anchors, events );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14265 this._on( this.tabs, { keydown: "_tabKeydown" } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14266 this._on( this.panels, { keydown: "_panelKeydown" } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14267
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14268 this._focusable( this.tabs );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14269 this._hoverable( this.tabs );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14270 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14271
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14272 _setupHeightStyle: function( heightStyle ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14273 var maxHeight,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14274 parent = this.element.parent();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14275
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14276 if ( heightStyle === "fill" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14277 maxHeight = parent.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14278 maxHeight -= this.element.outerHeight() - this.element.height();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14279
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14280 this.element.siblings( ":visible" ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14281 var elem = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14282 position = elem.css( "position" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14283
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14284 if ( position === "absolute" || position === "fixed" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14285 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14286 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14287 maxHeight -= elem.outerHeight( true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14288 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14289
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14290 this.element.children().not( this.panels ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14291 maxHeight -= $( this ).outerHeight( true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14292 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14293
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14294 this.panels.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14295 $( this ).height( Math.max( 0, maxHeight -
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14296 $( this ).innerHeight() + $( this ).height() ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14297 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14298 .css( "overflow", "auto" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14299 } else if ( heightStyle === "auto" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14300 maxHeight = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14301 this.panels.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14302 maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14303 }).height( maxHeight );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14304 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14305 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14306
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14307 _eventHandler: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14308 var options = this.options,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14309 active = this.active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14310 anchor = $( event.currentTarget ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14311 tab = anchor.closest( "li" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14312 clickedIsActive = tab[ 0 ] === active[ 0 ],
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14313 collapsing = clickedIsActive && options.collapsible,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14314 toShow = collapsing ? $() : this._getPanelForTab( tab ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14315 toHide = !active.length ? $() : this._getPanelForTab( active ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14316 eventData = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14317 oldTab: active,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14318 oldPanel: toHide,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14319 newTab: collapsing ? $() : tab,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14320 newPanel: toShow
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14321 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14322
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14323 event.preventDefault();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14324
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14325 if ( tab.hasClass( "ui-state-disabled" ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14326 // tab is already loading
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14327 tab.hasClass( "ui-tabs-loading" ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14328 // can't switch durning an animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14329 this.running ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14330 // click on active header, but not collapsible
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14331 ( clickedIsActive && !options.collapsible ) ||
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14332 // allow canceling activation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14333 ( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14334 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14335 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14336
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14337 options.active = collapsing ? false : this.tabs.index( tab );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14338
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14339 this.active = clickedIsActive ? $() : tab;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14340 if ( this.xhr ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14341 this.xhr.abort();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14342 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14343
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14344 if ( !toHide.length && !toShow.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14345 $.error( "jQuery UI Tabs: Mismatching fragment identifier." );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14346 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14347
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14348 if ( toShow.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14349 this.load( this.tabs.index( tab ), event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14350 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14351 this._toggle( event, eventData );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14352 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14353
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14354 // handles show/hide for selecting tabs
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14355 _toggle: function( event, eventData ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14356 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14357 toShow = eventData.newPanel,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14358 toHide = eventData.oldPanel;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14359
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14360 this.running = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14361
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14362 function complete() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14363 that.running = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14364 that._trigger( "activate", event, eventData );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14365 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14366
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14367 function show() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14368 eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14369
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14370 if ( toShow.length && that.options.show ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14371 that._show( toShow, that.options.show, complete );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14372 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14373 toShow.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14374 complete();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14375 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14376 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14377
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14378 // start out by hiding, then showing, then completing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14379 if ( toHide.length && this.options.hide ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14380 this._hide( toHide, this.options.hide, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14381 eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14382 show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14383 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14384 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14385 eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14386 toHide.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14387 show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14388 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14389
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14390 toHide.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14391 "aria-expanded": "false",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14392 "aria-hidden": "true"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14393 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14394 eventData.oldTab.attr( "aria-selected", "false" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14395 // If we're switching tabs, remove the old tab from the tab order.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14396 // If we're opening from collapsed state, remove the previous tab from the tab order.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14397 // If we're collapsing, then keep the collapsing tab in the tab order.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14398 if ( toShow.length && toHide.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14399 eventData.oldTab.attr( "tabIndex", -1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14400 } else if ( toShow.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14401 this.tabs.filter(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14402 return $( this ).attr( "tabIndex" ) === 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14403 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14404 .attr( "tabIndex", -1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14405 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14406
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14407 toShow.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14408 "aria-expanded": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14409 "aria-hidden": "false"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14410 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14411 eventData.newTab.attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14412 "aria-selected": "true",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14413 tabIndex: 0
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14414 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14415 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14416
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14417 _activate: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14418 var anchor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14419 active = this._findActive( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14420
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14421 // trying to activate the already active panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14422 if ( active[ 0 ] === this.active[ 0 ] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14423 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14424 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14425
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14426 // trying to collapse, simulate a click on the current active header
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14427 if ( !active.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14428 active = this.active;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14429 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14430
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14431 anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14432 this._eventHandler({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14433 target: anchor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14434 currentTarget: anchor,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14435 preventDefault: $.noop
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14436 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14437 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14438
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14439 _findActive: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14440 return index === false ? $() : this.tabs.eq( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14441 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14442
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14443 _getIndex: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14444 // meta-function to give users option to provide a href string instead of a numerical index.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14445 if ( typeof index === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14446 index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14447 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14448
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14449 return index;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14450 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14451
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14452 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14453 if ( this.xhr ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14454 this.xhr.abort();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14455 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14456
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14457 this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14458
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14459 this.tablist
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14460 .removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14461 .removeAttr( "role" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14462
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14463 this.anchors
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14464 .removeClass( "ui-tabs-anchor" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14465 .removeAttr( "role" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14466 .removeAttr( "tabIndex" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14467 .removeUniqueId();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14468
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14469 this.tabs.add( this.panels ).each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14470 if ( $.data( this, "ui-tabs-destroy" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14471 $( this ).remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14472 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14473 $( this )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14474 .removeClass( "ui-state-default ui-state-active ui-state-disabled " +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14475 "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14476 .removeAttr( "tabIndex" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14477 .removeAttr( "aria-live" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14478 .removeAttr( "aria-busy" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14479 .removeAttr( "aria-selected" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14480 .removeAttr( "aria-labelledby" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14481 .removeAttr( "aria-hidden" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14482 .removeAttr( "aria-expanded" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14483 .removeAttr( "role" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14484 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14485 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14486
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14487 this.tabs.each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14488 var li = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14489 prev = li.data( "ui-tabs-aria-controls" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14490 if ( prev ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14491 li
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14492 .attr( "aria-controls", prev )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14493 .removeData( "ui-tabs-aria-controls" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14494 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14495 li.removeAttr( "aria-controls" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14496 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14497 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14498
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14499 this.panels.show();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14500
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14501 if ( this.options.heightStyle !== "content" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14502 this.panels.css( "height", "" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14503 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14504 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14505
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14506 enable: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14507 var disabled = this.options.disabled;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14508 if ( disabled === false ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14509 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14510 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14511
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14512 if ( index === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14513 disabled = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14514 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14515 index = this._getIndex( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14516 if ( $.isArray( disabled ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14517 disabled = $.map( disabled, function( num ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14518 return num !== index ? num : null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14519 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14520 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14521 disabled = $.map( this.tabs, function( li, num ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14522 return num !== index ? num : null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14523 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14524 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14525 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14526 this._setupDisabled( disabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14527 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14528
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14529 disable: function( index ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14530 var disabled = this.options.disabled;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14531 if ( disabled === true ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14532 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14533 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14534
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14535 if ( index === undefined ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14536 disabled = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14537 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14538 index = this._getIndex( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14539 if ( $.inArray( index, disabled ) !== -1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14540 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14541 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14542 if ( $.isArray( disabled ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14543 disabled = $.merge( [ index ], disabled ).sort();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14544 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14545 disabled = [ index ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14546 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14547 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14548 this._setupDisabled( disabled );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14549 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14550
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14551 load: function( index, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14552 index = this._getIndex( index );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14553 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14554 tab = this.tabs.eq( index ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14555 anchor = tab.find( ".ui-tabs-anchor" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14556 panel = this._getPanelForTab( tab ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14557 eventData = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14558 tab: tab,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14559 panel: panel
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14560 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14561
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14562 // not remote
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14563 if ( isLocal( anchor[ 0 ] ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14564 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14565 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14566
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14567 this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14568
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14569 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14570 // jQuery <1.8 returns false if the request is canceled in beforeSend,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14571 // but as of 1.8, $.ajax() always returns a jqXHR object.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14572 if ( this.xhr && this.xhr.statusText !== "canceled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14573 tab.addClass( "ui-tabs-loading" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14574 panel.attr( "aria-busy", "true" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14575
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14576 this.xhr
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14577 .success(function( response ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14578 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14579 // http://bugs.jquery.com/ticket/11778
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14580 setTimeout(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14581 panel.html( response );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14582 that._trigger( "load", event, eventData );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14583 }, 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14584 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14585 .complete(function( jqXHR, status ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14586 // support: jQuery <1.8
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14587 // http://bugs.jquery.com/ticket/11778
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14588 setTimeout(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14589 if ( status === "abort" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14590 that.panels.stop( false, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14591 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14592
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14593 tab.removeClass( "ui-tabs-loading" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14594 panel.removeAttr( "aria-busy" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14595
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14596 if ( jqXHR === that.xhr ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14597 delete that.xhr;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14598 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14599 }, 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14600 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14601 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14602 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14603
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14604 _ajaxSettings: function( anchor, event, eventData ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14605 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14606 return {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14607 url: anchor.attr( "href" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14608 beforeSend: function( jqXHR, settings ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14609 return that._trigger( "beforeLoad", event,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14610 $.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14611 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14612 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14613 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14614
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14615 _getPanelForTab: function( tab ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14616 var id = $( tab ).attr( "aria-controls" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14617 return this.element.find( this._sanitizeSelector( "#" + id ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14618 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14619 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14620
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14621 })( jQuery );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14622 (function( $ ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14623
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14624 var increments = 0;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14625
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14626 function addDescribedBy( elem, id ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14627 var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14628 describedby.push( id );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14629 elem
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14630 .data( "ui-tooltip-id", id )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14631 .attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14632 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14633
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14634 function removeDescribedBy( elem ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14635 var id = elem.data( "ui-tooltip-id" ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14636 describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14637 index = $.inArray( id, describedby );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14638 if ( index !== -1 ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14639 describedby.splice( index, 1 );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14640 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14641
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14642 elem.removeData( "ui-tooltip-id" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14643 describedby = $.trim( describedby.join( " " ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14644 if ( describedby ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14645 elem.attr( "aria-describedby", describedby );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14646 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14647 elem.removeAttr( "aria-describedby" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14648 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14649 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14650
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14651 $.widget( "ui.tooltip", {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14652 version: "1.10.4",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14653 options: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14654 content: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14655 // support: IE<9, Opera in jQuery <1.7
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14656 // .text() can't accept undefined, so coerce to a string
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14657 var title = $( this ).attr( "title" ) || "";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14658 // Escape title, since we're going from an attribute to raw HTML
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14659 return $( "<a>" ).text( title ).html();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14660 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14661 hide: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14662 // Disabled elements have inconsistent behavior across browsers (#8661)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14663 items: "[title]:not([disabled])",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14664 position: {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14665 my: "left top+15",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14666 at: "left bottom",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14667 collision: "flipfit flip"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14668 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14669 show: true,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14670 tooltipClass: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14671 track: false,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14672
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14673 // callbacks
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14674 close: null,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14675 open: null
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14676 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14677
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14678 _create: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14679 this._on({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14680 mouseover: "open",
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14681 focusin: "open"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14682 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14683
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14684 // IDs of generated tooltips, needed for destroy
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14685 this.tooltips = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14686 // IDs of parent tooltips where we removed the title attribute
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14687 this.parents = {};
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14688
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14689 if ( this.options.disabled ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14690 this._disable();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14691 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14692 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14693
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14694 _setOption: function( key, value ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14695 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14696
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14697 if ( key === "disabled" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14698 this[ value ? "_disable" : "_enable" ]();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14699 this.options[ key ] = value;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14700 // disable element style changes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14701 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14702 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14703
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14704 this._super( key, value );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14705
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14706 if ( key === "content" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14707 $.each( this.tooltips, function( id, element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14708 that._updateContent( element );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14709 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14710 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14711 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14712
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14713 _disable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14714 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14715
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14716 // close open tooltips
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14717 $.each( this.tooltips, function( id, element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14718 var event = $.Event( "blur" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14719 event.target = event.currentTarget = element[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14720 that.close( event, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14721 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14722
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14723 // remove title attributes to prevent native tooltips
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14724 this.element.find( this.options.items ).addBack().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14725 var element = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14726 if ( element.is( "[title]" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14727 element
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14728 .data( "ui-tooltip-title", element.attr( "title" ) )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14729 .attr( "title", "" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14730 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14731 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14732 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14733
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14734 _enable: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14735 // restore title attributes
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14736 this.element.find( this.options.items ).addBack().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14737 var element = $( this );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14738 if ( element.data( "ui-tooltip-title" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14739 element.attr( "title", element.data( "ui-tooltip-title" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14740 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14741 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14742 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14743
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14744 open: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14745 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14746 target = $( event ? event.target : this.element )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14747 // we need closest here due to mouseover bubbling,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14748 // but always pointing at the same event target
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14749 .closest( this.options.items );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14750
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14751 // No element to show a tooltip for or the tooltip is already open
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14752 if ( !target.length || target.data( "ui-tooltip-id" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14753 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14754 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14755
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14756 if ( target.attr( "title" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14757 target.data( "ui-tooltip-title", target.attr( "title" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14758 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14759
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14760 target.data( "ui-tooltip-open", true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14761
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14762 // kill parent tooltips, custom or native, for hover
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14763 if ( event && event.type === "mouseover" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14764 target.parents().each(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14765 var parent = $( this ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14766 blurEvent;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14767 if ( parent.data( "ui-tooltip-open" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14768 blurEvent = $.Event( "blur" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14769 blurEvent.target = blurEvent.currentTarget = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14770 that.close( blurEvent, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14771 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14772 if ( parent.attr( "title" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14773 parent.uniqueId();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14774 that.parents[ this.id ] = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14775 element: this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14776 title: parent.attr( "title" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14777 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14778 parent.attr( "title", "" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14779 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14780 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14781 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14782
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14783 this._updateContent( target, event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14784 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14785
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14786 _updateContent: function( target, event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14787 var content,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14788 contentOption = this.options.content,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14789 that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14790 eventType = event ? event.type : null;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14791
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14792 if ( typeof contentOption === "string" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14793 return this._open( event, target, contentOption );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14794 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14795
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14796 content = contentOption.call( target[0], function( response ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14797 // ignore async response if tooltip was closed already
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14798 if ( !target.data( "ui-tooltip-open" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14799 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14800 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14801 // IE may instantly serve a cached response for ajax requests
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14802 // delay this call to _open so the other call to _open runs first
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14803 that._delay(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14804 // jQuery creates a special event for focusin when it doesn't
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14805 // exist natively. To improve performance, the native event
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14806 // object is reused and the type is changed. Therefore, we can't
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14807 // rely on the type being correct after the event finished
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14808 // bubbling, so we set it back to the previous value. (#8740)
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14809 if ( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14810 event.type = eventType;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14811 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14812 this._open( event, target, response );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14813 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14814 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14815 if ( content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14816 this._open( event, target, content );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14817 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14818 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14819
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14820 _open: function( event, target, content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14821 var tooltip, events, delayedShow,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14822 positionOption = $.extend( {}, this.options.position );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14823
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14824 if ( !content ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14825 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14826 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14827
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14828 // Content can be updated multiple times. If the tooltip already
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14829 // exists, then just update the content and bail.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14830 tooltip = this._find( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14831 if ( tooltip.length ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14832 tooltip.find( ".ui-tooltip-content" ).html( content );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14833 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14834 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14835
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14836 // if we have a title, clear it to prevent the native tooltip
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14837 // we have to check first to avoid defining a title if none exists
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14838 // (we don't want to cause an element to start matching [title])
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14839 //
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14840 // We use removeAttr only for key events, to allow IE to export the correct
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14841 // accessible attributes. For mouse events, set to empty string to avoid
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14842 // native tooltip showing up (happens only when removing inside mouseover).
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14843 if ( target.is( "[title]" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14844 if ( event && event.type === "mouseover" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14845 target.attr( "title", "" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14846 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14847 target.removeAttr( "title" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14848 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14849 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14850
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14851 tooltip = this._tooltip( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14852 addDescribedBy( target, tooltip.attr( "id" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14853 tooltip.find( ".ui-tooltip-content" ).html( content );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14854
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14855 function position( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14856 positionOption.of = event;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14857 if ( tooltip.is( ":hidden" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14858 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14859 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14860 tooltip.position( positionOption );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14861 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14862 if ( this.options.track && event && /^mouse/.test( event.type ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14863 this._on( this.document, {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14864 mousemove: position
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14865 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14866 // trigger once to override element-relative positioning
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14867 position( event );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14868 } else {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14869 tooltip.position( $.extend({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14870 of: target
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14871 }, this.options.position ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14872 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14873
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14874 tooltip.hide();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14875
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14876 this._show( tooltip, this.options.show );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14877 // Handle tracking tooltips that are shown with a delay (#8644). As soon
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14878 // as the tooltip is visible, position the tooltip using the most recent
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14879 // event.
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14880 if ( this.options.show && this.options.show.delay ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14881 delayedShow = this.delayedShow = setInterval(function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14882 if ( tooltip.is( ":visible" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14883 position( positionOption.of );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14884 clearInterval( delayedShow );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14885 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14886 }, $.fx.interval );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14887 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14888
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14889 this._trigger( "open", event, { tooltip: tooltip } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14890
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14891 events = {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14892 keyup: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14893 if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14894 var fakeEvent = $.Event(event);
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14895 fakeEvent.currentTarget = target[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14896 this.close( fakeEvent, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14897 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14898 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14899 remove: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14900 this._removeTooltip( tooltip );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14901 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14902 };
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14903 if ( !event || event.type === "mouseover" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14904 events.mouseleave = "close";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14905 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14906 if ( !event || event.type === "focusin" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14907 events.focusout = "close";
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14908 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14909 this._on( true, target, events );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14910 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14911
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14912 close: function( event ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14913 var that = this,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14914 target = $( event ? event.currentTarget : this.element ),
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14915 tooltip = this._find( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14916
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14917 // disabling closes the tooltip, so we need to track when we're closing
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14918 // to avoid an infinite loop in case the tooltip becomes disabled on close
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14919 if ( this.closing ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14920 return;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14921 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14922
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14923 // Clear the interval for delayed tracking tooltips
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14924 clearInterval( this.delayedShow );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14925
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14926 // only set title if we had one before (see comment in _open())
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14927 if ( target.data( "ui-tooltip-title" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14928 target.attr( "title", target.data( "ui-tooltip-title" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14929 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14930
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14931 removeDescribedBy( target );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14932
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14933 tooltip.stop( true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14934 this._hide( tooltip, this.options.hide, function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14935 that._removeTooltip( $( this ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14936 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14937
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14938 target.removeData( "ui-tooltip-open" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14939 this._off( target, "mouseleave focusout keyup" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14940 // Remove 'remove' binding only on delegated targets
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14941 if ( target[0] !== this.element[0] ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14942 this._off( target, "remove" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14943 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14944 this._off( this.document, "mousemove" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14945
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14946 if ( event && event.type === "mouseleave" ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14947 $.each( this.parents, function( id, parent ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14948 $( parent.element ).attr( "title", parent.title );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14949 delete that.parents[ id ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14950 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14951 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14952
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14953 this.closing = true;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14954 this._trigger( "close", event, { tooltip: tooltip } );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14955 this.closing = false;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14956 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14957
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14958 _tooltip: function( element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14959 var id = "ui-tooltip-" + increments++,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14960 tooltip = $( "<div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14961 .attr({
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14962 id: id,
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14963 role: "tooltip"
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14964 })
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14965 .addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14966 ( this.options.tooltipClass || "" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14967 $( "<div>" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14968 .addClass( "ui-tooltip-content" )
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14969 .appendTo( tooltip );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14970 tooltip.appendTo( this.document[0].body );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14971 this.tooltips[ id ] = element;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14972 return tooltip;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14973 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14974
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14975 _find: function( target ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14976 var id = target.data( "ui-tooltip-id" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14977 return id ? $( "#" + id ) : $();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14978 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14979
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14980 _removeTooltip: function( tooltip ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14981 tooltip.remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14982 delete this.tooltips[ tooltip.attr( "id" ) ];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14983 },
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14984
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14985 _destroy: function() {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14986 var that = this;
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14987
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14988 // close open tooltips
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14989 $.each( this.tooltips, function( id, element ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14990 // Delegate to close method to handle common cleanup
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14991 var event = $.Event( "blur" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14992 event.target = event.currentTarget = element[0];
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14993 that.close( event, true );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14994
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14995 // Remove immediately; destroying an open tooltip doesn't use the
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14996 // hide animation
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14997 $( "#" + id ).remove();
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14998
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
14999 // Restore the title
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15000 if ( element.data( "ui-tooltip-title" ) ) {
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15001 element.attr( "title", element.data( "ui-tooltip-title" ) );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15002 element.removeData( "ui-tooltip-title" );
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15003 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15004 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15005 }
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15006 });
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15007
440f4aa3db97 Added option to dowload iReports
saskia-hiltemann
parents:
diff changeset
15008 }( jQuery ) );