PageSourceSearch

https://www.aesthetik-team-nuernberg.de/wp-content/plugins/multi-s…/multi-step-form-plus-public.js?ver=1.3.2

js aesthetik-team-nuernberg.de collected 2026-10-07 03:27:16 UTC 3,987 bytes, 125 lines download raw bytes

1(function( $ ) {
2	'use strict';
3
4	/**
5	 * Hide all blocks depending from $blocks[index] recursively.
6	 * @param {*}  
7	 */
8	function hideDependentBlocks(index) {
9		var $children = $('.msfp-block-conditional[data-prec-block-id=' + index + ']');
10		$children.each(function(i, element) {
11			var $child = $(element);
12			$child.slideUp("fast");
13			hideDependentBlocks($('.fw-step-block').index($child));
14		});
15	}
16
17	function prepareConditionals() {
18		var $blocks = $('.fw-step-block:not(.msfp-block-conditional)');
19		$('.msfp-block-conditional').each(function(index, element) {
20			var $block = $(element);
21			var precBlockIndex = $block.attr('data-prec-block-id');
22			var precBlock = $blocks[precBlockIndex];
23			var precBlockType = $(precBlock).attr('data-type');		
24			var precOp = $block.attr('data-prec-op');
25			var precValue = $block.attr('data-prec-value');
26			var visible = $block.attr('data-visible');
27			
28			// set event handlers for precondition input fields
29			var evaluate = function(event){
30				console.log("EVALUATING " + $(event.target).val() + " " + precOp + ' ' + precValue);
31				console.log(event.target);
32				var reveal = false;
33				// evaluate conditions and show/hide the conditional block $block
34				switch (precOp) {
35					case 'eq':
36						if (precBlockType === 'fw-date') {
37							var date = new Date(precValue);
38							var inputDate = new Date($(event.target).val());
39							reveal = date.getTime() === inputDate.getTime();
40						} else if (precBlockType === 'fw-radio') {
41							if ($(event.target).attr('type') === 'checkbox') {
42								if ($(event.target).next('label').text() === precValue) {
43									reveal = event.target.checked;
44								} else {
45									// We are not interested in this checkbox.
46									return;
47								}
48							} else {
49								reveal = $(event.target).next('label').text() === precValue;
50							}
51						} else {
52							reveal = $(event.target).val() === precValue;							
53						}
54						break;
55					case 'fi':
56						reveal = $(event.target).val() !== '';
57						break;
58					case 'lt':
59						if (precBlockType === 'fw-date') {
60							var date = new Date(precValue);
61							var inputDate = new Date($(event.target).val());
62							reveal = date.getTime() > inputDate.getTime();
63						} else if (precBlockType === 'fw-numeric') {
64							var targetNumber = parseInt(precValue);
65							var inputNumber = parseInt($(event.target).val());
66							reveal = inputNumber < targetNumber;
67						}
68						break;
69					case 'gt':
70						if (precBlockType === 'fw-date') {
71							var date = new Date(precValue);
72							var inputDate = new Date($(event.target).val());
73							reveal = date.getTime() < inputDate.getTime();
74						} else if (precBlockType === 'fw-numeric') {
75							var targetNumber = parseInt(precValue);
76							var inputNumber = parseInt($(event.target).val());
77							reveal = inputNumber > targetNumber;
78						}
79						break;
80				}
81				//console.log("EVALUATED as " + reveal);
82				if (visible === 'hide') {
83					reveal = !reveal;
84				}
85				if (reveal) {
86					$block.slideDown("fast");
87				} else {
88					$block.slideUp("fast");
89					// hide all blocks depending from this block
90					hideDependentBlocks($blocks.index($block.find('.fw-step-block:not(.msfp-block-conditional)')));
91				}
92			}; // end evaluate 
93
94			switch (precBlockType) {
95				case 'fw-date':
96				case 'fw-radio':
97					$(precBlock).find('input').on("change", evaluate);
98					break;
99				case 'fw-select':
100					$(precBlock).find('select').on("change", evaluate);
101					break;
102				default:
103					$(precBlock).find('input, textarea').focusout(evaluate);				
104					break;	
105			}
106						
107			// initial show or hide conditionals
108			if (visible === 'show') {
109				$block.hide();
110			} else if (visible === 'hide') {
111				$block.show();
112			}
113		});
114	}
115
116
117	$( document ).ready(function() {
118		/* Allow skipping registration if user is logged in */
119		if ($('.msfp-loggedin')) {
120			$('.msfp-loggedin').closest('.fw-step-block').attr('data-required', false);
121		}
122		prepareConditionals();
123	});
124
125})( jQuery );

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.