1(function ($) { 2 $(function () { 3 function changeOrInput(e) { 4 if (e.target.value === '') { 5 var validationMessages = getValidationMessages(e.target); 6 e.target.setCustomValidity(validationMessages.required); 7 } 8 else { 9 e.target.setCustomValidity(''); 10 } 11 } 12 13 function invalid(e) { 14 var validationMessages = getValidationMessages(e.target); 15 16 if (e.target.validity.valueMissing) { 17 e.target.setCustomValidity(validationMessages.required); 18 } 19 } 20 21 function getValidationMessages(input) { 22 var container = $(input).parents('[data-sf-role="dropdown-list-field-container"]'); 23 var validationMessagesInput = $(container).find('[data-sf-role="violation-messages"]'); 24 var validationMessages = JSON.parse(validationMessagesInput.val()); 25 26 return validationMessages; 27 } 28 29 function init() { 30 var containers = $('[data-sf-role="dropdown-list-field-container"]'); 31 32 if (!containers || containers.length < 1) 33 return; 34 35 for (var i = 0; i < containers.length; i++) { 36 var select = $(containers[i]).find('[data-sf-role="dropdown-list-field-select"]'); 37 38 if (select) { 39 select.on('change', changeOrInput); 40 select.on('invalid', invalid); 41 } 42 } 43 } 44 45 init(); 46 }); 47}(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.