PageSourceSearch

https://www.preparis.com/sites/default/files/js/optimized/js_F1_WG…C68-HM0cFi1Fom_V_GD1SpsyJ2-3yY1Hk.js?tltfod

js preparis.com collected 2026-09-26 03:19:06 UTC 11,870 bytes, 53 lines download raw bytes

1/* Source and licensing information for the line(s) below can be found at https://www.preparis.com/modules/contrib/webform/js/webform.states.js. */
2(function($,Drupal,once){Drupal.webform=Drupal.webform||{};Drupal.webform.states=Drupal.webform.states||{};Drupal.webform.states.slideDown=Drupal.webform.states.slideDown||{};Drupal.webform.states.slideDown.duration='slow';Drupal.webform.states.slideUp=Drupal.webform.states.slideUp||{};Drupal.webform.states.slideUp.duration='fast';$.fn.hasData=function(data){return(typeof this.data(data)!=='undefined');};$.fn.isWebform=function(){return $(this).closest('form.webform-submission-form, form[id^="webform"], form[data-is-webform]').length?true:false;};$.fn.isWebformElement=function(){return($(this).isWebform()||$(this).closest('[data-is-webform-element]').length)?true:false;};Drupal.states.Trigger.states.empty.change=function change(){return this.val()==='';};Drupal.states.Dependent.comparisons.Object=function(reference,value){if('pattern'in reference){return(new RegExp(reference['pattern'])).test(value);}
3else if('!pattern'in reference){return!((new RegExp(reference['!pattern'])).test(value));}
4else if('less'in reference){return(value!==''&&parseFloat(reference['less'])>parseFloat(value));}
5else if('less_equal'in reference){return(value!==''&&parseFloat(reference['less_equal'])>=parseFloat(value));}
6else if('greater'in reference){return(value!==''&&parseFloat(reference['greater'])<parseFloat(value));}
7else if('greater_equal'in reference){return(value!==''&&parseFloat(reference['greater_equal'])<=parseFloat(value));}
8else if('between'in reference||'!between'in reference){if(value===''){return false;}
9var between=reference['between']||reference['!between'];var betweenParts=between.split(':');var greater=betweenParts[0];var less=(typeof betweenParts[1]!=='undefined')?betweenParts[1]:null;var isGreaterThan=(greater===null||greater===''||parseFloat(value)>=parseFloat(greater));var isLessThan=(less===null||less===''||parseFloat(value)<=parseFloat(less));var result=(isGreaterThan&&isLessThan);return(reference['!between'])?!result:result;}
10else{return reference.indexOf(value)!==false;}};var $document=$(document);$document.on('state:required',function(e){if(e.trigger&&$(e.target).isWebformElement()){var $target=$(e.target);toggleRequired($target.find('input[type="file"]'),e.value);if($target.is('.js-form-type-radios, .js-form-type-webform-radios-other, .js-webform-type-radios, .js-webform-type-webform-radios-other, .js-webform-type-webform-entity-radios, .webform-likert-table')){$target.toggleClass('required',e.value);toggleRequired($target.find('input[type="radio"]'),e.value);}
11if($target.is('.js-form-type-checkboxes, .js-form-type-webform-checkboxes-other, .js-webform-type-checkboxes, .js-webform-type-webform-checkboxes-other')){$target.toggleClass('required',e.value);var $checkboxes=$target.find('input[type="checkbox"]');if(e.value){$checkboxes.on('click',statesCheckboxesRequiredEventHandler);checkboxesRequired($target);}
12else{$checkboxes.off('click',statesCheckboxesRequiredEventHandler);toggleRequired($checkboxes,false);}}
13if($target.is('.js-webform-tableselect')){$target.toggleClass('required',e.value);var isMultiple=$target.is('[multiple]');if(isMultiple){var $tbody=$target.find('tbody');var $checkboxes=$tbody.find('input[type="checkbox"]');copyRequireMessage($target,$checkboxes);if(e.value){$checkboxes.on('click change',statesCheckboxesRequiredEventHandler);checkboxesRequired($tbody);}
14else{$checkboxes.off('click change ',statesCheckboxesRequiredEventHandler);toggleRequired($tbody,false);}}
15else{var $radios=$target.find('input[type="radio"]');copyRequireMessage($target,$radios);toggleRequired($radios,e.value);}}
16if($target.is('.js-form-type-webform-select-other, .js-webform-type-webform-select-other')){var $select=$target.find('select');toggleRequired($select,e.value);copyRequireMessage($target,$select);}
17if($target.find('> label:not([for])').length){$target.find('> label').toggleClass('js-form-required form-required',e.value);}
18if($target.is('.js-webform-type-radios, .js-webform-type-checkboxes, fieldset')){$target.find('legend span.fieldset-legend:not(.visually-hidden),legend span.fieldset__label:not(.visually-hidden)').toggleClass('js-form-required form-required',e.value);}
19if($target.is('fieldset')){$target.removeAttr('required aria-required');}}});$document.on('state:checked',function(e){if(e.trigger){$(e.target).trigger('change');}});$document.on('state:readonly',function(e){if(e.trigger&&$(e.target).isWebformElement()){$(e.target).prop('readonly',e.value).closest('.js-form-item, .js-form-wrapper').toggleClass('webform-readonly',e.value).find('input, textarea').prop('readonly',e.value);$(e.target).trigger('webform:readonly').find('select, input, textarea, button').trigger('webform:readonly');}});$document.on('state:visible state:visible-slide',function(e){if(e.trigger&&$(e.target).isWebformElement()){if(e.value){$(':input',e.target).addBack().each(function(){restoreValueAndRequired(this);triggerEventHandlers(this);});}
20else{$(':input',e.target).addBack().each(function(){backupValueAndRequired(this);clearValueAndRequired(this);triggerEventHandlers(this);});}}});$document.on('state:visible-slide',function(e){if(e.trigger&&$(e.target).isWebformElement()){var effect=e.value?'slideDown':'slide
20Up';var duration=Drupal.webform.states[effect].duration;$(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper')[effect](duration);}});Drupal.states.State.aliases['invisible-slide']='!visible-slide';$document.on('state:disabled',function(e){if(e.trigger&&$(e.target).isWebformElement()){$(e.target).prop('disabled',e.value).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-disabled',e.value).find('select, input, textarea, button').prop('disabled',e.value);var fileElements=$(e.target).find(':input[type="hidden"][name$="[fids]"]');if(fileElements.length){if($(e.target).is('fieldset')){$(e.target).prop('disabled',false);}
21fileElements.removeAttr('disabled');}
22$(e.target).trigger('webform:disabled').find('select, input, textarea, button').trigger('webform:disabled');}});Drupal.behaviors.webformCheckboxesRequired={attach(context){$(once('webform-checkboxes-required','.js-form-type-checkboxes.required, .webform-term-checkboxes.required, .js-form-type-webform-checkboxes-other.required, .js-webform-type-checkboxes.required, .js-webform-type-webform-checkboxes-other.required, .js-webform-type-webform-radios-other.checkboxes',context)).each(function(){var $element=$(this);$element.find('input[type="checkbox"]').on('click',statesCheckboxesRequiredEventHandler);setTimeout(function(){checkboxesRequired($element);});});}};Drupal.behaviors.webformRadiosRequired={attach(context){$(once('webform-radios-required','.js-form-type-radios, .js-form-type-webform-radios-other, .js-webform-type-radios, .js-webform-type-webform-radios-other, .js-webform-type-webform-entity-radios, .js-webform-type-webform-scale',context)).each(function(){var $element=$(this);setTimeout(function(){radiosRequired($element);});});}};Drupal.behaviors.webformTableSelectRequired={attach(context){$(once('webform-tableselect-required','.js-webform-tableselect.required',context)).each(function(){var $element=$(this);var $tbody=$element.find('tbody');var isMultiple=$element.is('[multiple]');if(isMultiple){$tbody.find('input[type="checkbox"]').on('click change',function(){checkboxesRequired($tbody);});}
23setTimeout(function(){isMultiple?checkboxesRequired($tbody):radiosRequired($element);});});}};function checkboxesRequired($element){var $firstCheckbox=$element.find('input[type="checkbox"]').first();var isChecked=$element.find('input[type="checkbox"]').is(':checked');toggleRequired($firstCheckbox,!isChecked);copyRequireMessage($element,$firstCheckbox);}
24function radiosRequired($element){var $radios=$element.find('input[type="radio"]');var isRequired=$element.hasClass('required');toggleRequired($radios,isRequired);copyRequireMessage($element,$radios);}
25function statesCheckboxesRequiredEventHandler(){var $element=$(this).closest('.js-webform-type-checkboxes, .js-webform-type-webform-checkboxes-other, .js-webform-type-webform-term-checkboxes, .js-webform-tableselect tbody');checkboxesRequired($element);}
26function triggerEventHandlers(input){var $input=$(input);var type=input.type;var tag=input.tagName.toLowerCase();var extraParameters=['webform.states'];if(type==='checkbox'||type==='radio'){$input.trigger('change',extraParameters).trigger('blur',extraParameters);}
27else if(tag==='select'){if($input.closest('.webform-type-address').length){if(!$input.data('webform-states-address-initialized')&&$input.attr('autocomplete')==='country'&&$input.val()===$input.find("option[selected]").attr('value')){return;}
28$input.data('webform-states-address-initialized',true);}
29$input.trigger('change',extraParameters).trigger('blur',extraParameters);}
30else if(type!=='submit'&&type!=='button'&&type!=='file'){var hasInputMask=($.fn.inputmask&&$input.hasClass('js-webform-input-mask'));hasInputMask&&$input.inputmask('remove');$input.trigger('input',extraParameters).trigger('change',extraParameters).trigger('keydown',extraParameters).trigger('keyup',extraParameters).trigger('blur',extraParameters);hasInputMask&&$input.inputmask();}}
31function backupValueAndRequired(input){var $input=$(input);var type=input.type;var tag=input.tagName.toLowerCase();if($input.prop('required')&&!$input.hasData('webform-required')){$input.data('webform-required',true);}
32if(!$input.hasData('webform-value')){if(type==='checkbox'||type==='radio'){$input.data('webform-value',$input.prop('checked'));}
33else if(tag==='select'){var values=[];$input.find('option:selected').each(function(i,option){values[i]=option.value;});$input.data('webform-value',values);}
34else if(type!=='submit'&&type!=='button'){$input.data('webform-value',input.value);}}}
35function restoreValueAndRequired(input){var $input=$(input);var value=$input.data('webform-value');
35if(typeof value!=='undefined'){var type=input.type;var tag=input.tagName.toLowerCase();if(type==='checkbox'||type==='radio'){$input.prop('checked',value);}
36else if(tag==='select'){$.each(value,function(i,option_value){option_value=option_value.replace(/'/g,"\\\'");$input.find("option[value='"+option_value+"']").prop('selected',true);});}
37else if(type!=='submit'&&type!=='button'){input.value=value;}
38$input.removeData('webform-value');}
39var required=$input.data('webform-required');if(typeof required!=='undefined'){if(required){$input.prop('required',true);}
40$input.removeData('webform-required');}}
41function clearValueAndRequired(input){var $input=$(input);if($input.closest('[data-webform-states-no-clear]').length){return;}
42var type=input.type;var tag=input.tagName.toLowerCase();if(type==='checkbox'||type==='radio'){$input.prop('checked',false);}
43else if(tag==='select'){if($input.find('option[value=""]').length){$input.val('');}
44else{input.selectedIndex=-1;}}
45else if(type!=='submit'&&type!=='button'){input.value=(type==='color')?'#000000':'';}
46$input.prop('required',false);}
47function toggleRequired($input,required){var isCheckboxOrRadio=($input.attr('type')==='radio'||$input.attr('type')==='checkbox');if(required){if(isCheckboxOrRadio){$input.attr({'required':'required'});}
48else{$input.attr({'required':'required','aria-required':'true'});}}
49else{if(isCheckboxOrRadio){$input.removeAttr('required');}
50else{$input.removeAttr('required aria-required');}
51$input.each(function(){this.setCustomValidity&&this.setCustomValidity('')});}}
52function copyRequireMessage($source,$destination){if($source.attr('data-msg-required')){$destination.attr('data-msg-required',$source.attr('data-msg-required'));}}})(jQuery,Drupal,once);
53/* Source and licensing information for the above line(s) can be found at https://www.preparis.com/modules/contrib/webform/js/webform.states.js. */

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.