1(function ($) { 2 $(fn); 3 $(document).on('pl_section_updated', fn); 4 5 function fn() { 6 $('[data-textfield-dirty]') 7 .each(isDirty) 8 .on('focusin focusout input', isDirty); 9 10 $('[data-textfield-reset]') 11 .each(isReset) 12 .on('focusin focusout input', isReset); 13 14 function isDirty(event) { 15 var $element = $(this); 16 var isDirty = !!$element.val() || event && event.type && event.type.toLowerCase() === 'focusin'; 17 var selector = $element.attr('data-textfield-parent'); 18 var $parent = selector && $element.parent(selector); 19 var $parentContainer = $(".af-material-form"); 20 21 var classSelector = $element.attr('data-multiple-searchbox-id'); 22 if (classSelector !== undefined) { 23 $parentContainer = $(classSelector); 24 } 25 26 if (!$parent || !$parent.length) $parent = $element.parent(); 27 28 $parent[isDirty ? 'addClass' : 'removeClass']($element.attr('data-textfield-dirty') || 'focus'); 29 30 if ($element.parent(selector).hasClass('focus')) { 31 $parentContainer.addClass('focus-parent'); 32 } else { 33 $parentContainer.removeClass('focus-parent'); 34 } 35 } 36 37 function isReset() { 38 var $element = $(this); 39 var isDirty = !!$element.val(); 40 var selector = $element.attr('data-textfield-reset'); 41 var $target = selector && $element.find(selector); 42 43 $target.toggle(isDirty); 44 } 45 } 46}) (window.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.