{"version":3,"file":"forms-71aa7a8e86.js","sources":["forms-71aa7a8e86.js"],"sourcesContent":["import { loader as popupsLoader } from \"./popups.js\";\r\nimport { submit as dynamicSearchSubmit } from \"./dynamic-search.js\"\r\nimport { debounce } from \"./utilities.js\";\r\n\r\nconst init = function() {\r\n\tloader();\r\n\ttext();\r\n\tselectsAndChecks();\r\n\tloaderSubmit();\r\n\tautosubmit();\r\n\tmaxLength();\r\n\tautocomplete();\r\n\tshowIf.init();\r\n\tdatepicker();\r\n}\r\n\r\nconst loader = function() {\r\n\r\n\tvar targets = $('.js-form-submit-loader');\r\n\r\n\ttargets.on('submit', function() {\r\n\t\tpopupsLoader();\r\n\t});\r\n\r\n}\r\n\r\nconst text = function() {\r\n\t$('form:not(.js-form-text-submit-done):not(.js-form-ignore-validation)').each(function() {\r\n\t\tvar form = $(this);\r\n\t\tform.on('submit', function() {\r\n\t\t\tif (form.valid()) {\r\n\t\t\t\tloader();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar inputs = form.find('input:not([type=\"checkbox\"],[type=\"submit\"])[required=\"required\"]');\r\n\r\n\t\t\tif (!inputs.length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tinputs.each(function() {\r\n\t\t\t\tvar target = $(this);\r\n\t\t\t\tvar message = '';\r\n\t\t\t\tif (!target.val() && target.attr('data-val-required')) {\r\n\t\t\t\t\tmessage = target.attr('data-val-required');\r\n\t\t\t\t} else if (target.attr('data-val-equalto')) {\r\n\t\t\t\t\tmessage = target.attr('data-val-equalto');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (message) {\r\n\t\t\t\t\tvar errorElement = target.next('.form-error');\r\n\r\n\t\t\t\t\tif (target.is('.input-validation-error')) {\r\n\t\t\t\t\t\terrorElement.show().html(message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\terrorElement.hide().html('');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\t// done \r\n\t\tform.addClass('js-form-text-submit-done');\r\n\t});\r\n}\r\n\r\nconst selectsAndChecks = function() {\r\n\t$('form:not(.js-form-submit-done):not(.js-form-ignore-validation)').each(function() {\r\n\t\tvar form = $(this);\r\n\t\tvar inputs = form.find('.select select');\r\n\r\n\t\tvar _check = function(input) {\r\n\t\t\tvar parent = input.closest('.select');\r\n\t\t\tif (!input.valid()) {\r\n\t\t\t\tparent.addClass('select-validation-error');\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparent.removeClass('select-validation-error');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// submit\r\n\t\tform.on('submit', function() {\r\n\t\t\t// select validation\r\n\t\t\tinputs.each(function() {\r\n\t\t\t\t_check($(this));\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// change\r\n\t\tinputs.on('change', function() {\r\n\t\t\t_check($(this));\r\n\t\t});\r\n\r\n\t\tvar checkboxes = form.find('input[type=\"checkbox\"][required=\"required\"]');\r\n\r\n\t\tif (checkboxes.length) {\r\n\r\n\t\t\t// submit\r\n\t\t\tform.on('submit', function() {\r\n\r\n\t\t\t\tcheckboxes.each(function() {\r\n\r\n\t\t\t\t\tvar target = $(this),\r\n\t\t\t\t\t\tmessage = target.attr('data-val-required'),\r\n\t\t\t\t\t\terrorElement = target.parent().next('.form-error');\r\n\r\n\t\t\t\t\tif (target.is('.input-validation-error')) { errorElement.show().html(message); }\r\n\t\t\t\t\telse { errorElement.hide().html(''); }\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\t// done\r\n\t\tform.addClass('js-form-submit-done');\r\n\t});\r\n}\r\n\r\nconst loaderSubmit = function() {\r\n\t$('form.js-loader-submit:not(.js-loader-submit-done)').each(function() {\r\n\t\tvar form = $(this);\r\n\r\n\t\t// submit\r\n\t\tform.on('submit', function() {\r\n\t\t\t// check valid\r\n\t\t\tif (form.valid()) {\r\n\t\t\t\t// show loader\r\n\t\t\t\tpopupsLoader();\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\t// done\r\n\t\tform.addClass('js-loader-submit-done');\r\n\t});\r\n}\r\n\r\nconst autosubmit = function() {\r\n\r\n\t// links\r\n\t$('a.js-autosubmit:not(.js-autosubmit-done)').each(function() {\r\n\t\tvar link = $(this);\r\n\r\n\t\t// click\r\n\t\tlink.on('click', function() {\r\n\t\t\t// show loader\r\n\t\t\tpopupsLoader();\r\n\t\t});\r\n\r\n\t\t// done\r\n\t\tlink.addClass('js-autosubmit-done');\r\n\t});\r\n\r\n\t// checks/radios\r\n\t$(':checkbox.js-autosubmit:not(.js-autosubmit-done), :radio.js-autosubmit:not(.js-autosubmit-done)').each(function() {\r\n\t\tvar input = $(this);\r\n\t\tvar form = input.closest('form');\r\n\r\n\t\t// change\r\n\t\tinput.on('change', function() {\r\n\t\t\t// check valid\r\n\t\t\tif (form.valid()) {\r\n\t\t\t\t// show loader\r\n\t\t\t\tpopupsLoader();\r\n\t\t\t\tform.submit();\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\t// done\r\n\t\tinput.addClass('js-autosubmit-done');\r\n\t});\r\n\r\n\t// selects\r\n\t$('select.js-autosubmit').each(function() {\r\n\t\tvar input = $(this);\r\n\t\tvar form = input.closest('form');\r\n\r\n\t\t// change\r\n\t\tinput.on('change', function() {\r\n\t\t\t// check valid\r\n\t\t\tif (form.valid()) {\r\n\t\t\t\t// show loader\r\n\t\t\t\tpopupsLoader();\r\n\t\t\t\tform.submit();\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\t// done\r\n\t\tinput.addClass('js-autosubmit-done');\r\n\t});\r\n\r\n\t// datepicker\r\n\t$('input.js-datepicker.js-autosubmit').each(function() {\r\n\t\tvar input = $(this);\r\n\t\tvar form = input.closest('form');\r\n\t\tvar value = input.val();\r\n\r\n\t\t// change\r\n\t\tinput.datepicker('option', 'onClose', function() {\r\n\t\t\tif (value != input.val()) {\r\n\t\t\t\t// check valid\r\n\t\t\t\tif (form.valid()) {\r\n\t\t\t\t\t// show loader\r\n\t\t\t\t\tpopupsLoader();\r\n\t\t\t\t\tform.submit();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// done\r\n\t\tinput.addClass('js-autosubmit-done');\r\n\t});\r\n\r\n}\r\n\r\nconst datepicker = function() {\r\n\r\n\t$('input.js-datepicker:not(.js-datepicker-done)').each(function() {\r\n\t\tvar input = $(this);\r\n\r\n\t\t// init\r\n\t\tinput.datepicker({\r\n\t\t\tdateFormat: 'dd/mm/yy',\r\n\t\t\tshowAnim: '',\r\n\t\t\tonSelect: function() {\r\n\r\n\t\t\t\t// dynamic search\r\n\t\t\t\tif ($(this).is('.js-dynamic-search-when')) dynamicSearchSubmit(false);\r\n\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// set readonly\r\n\t\tinput.attr('readonly', 'readonly');\r\n\r\n\t\t// min\r\n\t\tif (typeof input.attr('data-min') != 'undefined') {\r\n\t\t\tinput.datepicker('option', 'minDate', input.attr('data-min'));\r\n\t\t}\r\n\r\n\t\t// max\r\n\t\tif (typeof input.attr('data-max') != 'undefined') {\r\n\t\t\tinput.datepicker('option', 'maxDate', input.attr('data-max'));\r\n\t\t}\r\n\r\n\t\t// done\r\n\t\tinput.addClass('js-datepicker-done');\r\n\t});\r\n}\r\n\r\nconst maxLength = function() {\r\n\t$('input[data-maxlength]:not(.js-max-done), textarea[data-maxlength]:not(.js-max-done)').each(function() {\r\n\t\tvar input = $(this);\r\n\t\tvar count = $(input.attr('data-maxlength-info'));\r\n\t\t// get limit\r\n\t\tvar limit = parseInt(input.attr('data-maxlength'), 10);\r\n\t\t// limit on keyup, click, paste or blur\r\n\t\tinput.on('keyup click paste blur', function() {\r\n\t\t\tvar remaining = limit - input.val().length;\r\n\t\t\tif (remaining <= 0) {\r\n\t\t\t\tinput.val(input.val().substr(0, limit));\r\n\t\t\t\tremaining = 0;\r\n\t\t\t}\r\n\t\t\tcount.text(remaining);\r\n\t\t}).blur();\r\n\t\t// done\r\n\t\tinput.addClass('js-max-done');\r\n\t});\r\n}\r\n\r\nconst autocomplete = function() {\r\n\r\n\t$('input[data-autocomplete]:not(.js-autocomplete-done)').each(function() {\r\n\t\tvar input = $(this);\r\n\r\n\t\t// init\r\n\t\tinput.autocomplete({\r\n\t\t\tsource: input.attr('data-autocomplete'),\r\n\t\t\tminLength: 3,\r\n\t\t\tdelay: 100\r\n\t\t}).attr('autocomplete', 'autocomplete_off');\r\n\r\n\t\t// resize\r\n\t\twindow.site.win.on('resize', debounce(function() {\r\n\t\t\tif (input.data('ui-autocomplete') !== undefined) { input.autocomplete('close'); }\r\n\t\t}))\r\n\r\n\t\t// done\r\n\t\tinput.addClass('js-autocomplete-done');\r\n\t});\r\n\r\n}\r\n\r\nconst showIf = {\r\n\r\n\tinit: function() {\r\n\t\tshowIf.checks();\r\n\t\tshowIf.radios();\r\n\t\tshowIf.dropdowns.preInit();\r\n\t},\r\n\r\n\tdisableFormElements: function(parent) {\r\n\t\tparent.find(\"input,select\").attr('disabled', 'disabled');\r\n\t},\r\n\r\n\tenableFormElements: function(parent) {\r\n\t\tparent.find(\"input,select\").removeAttr('disabled');\r\n\t},\r\n\r\n\tchecks: function() {\r\n\t\t$('.form-checks input[data-show-if]:checkbox:not(.js-show-if-done)').each(function() {\r\n\t\t\tvar input = $(this);\r\n\t\t\tvar reverse = input.attr('data-reverse') === 'true' ? true : false;\r\n\t\t\tvar ref = input.attr('data-show-if').split(',');\r\n\r\n\t\t\tvar check = function() {\r\n\t\t\t\tif (!input.is(':checked') && reverse) {\r\n\t\t\t\t\t// show\r\n\t\t\t\t\tfor (var i = 0; i < ref.length; i++) {\r\n\t\t\t\t\t\t$(ref[i]).show();\r\n\t\t\t\t\t\tshowIf.enableFormElements($(ref[i]));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (input.is(':checked') && reverse) {\r\n\t\t\t\t\t// hide\r\n\t\t\t\t\tfor (var j = 0; j < ref.length; j++) {\r\n\t\t\t\t\t\t$(ref[j]).hide();\r\n\t\t\t\t\t\tshowIf.disableFormElements($(ref[j]));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (input.is(':checked')) {\r\n\t\t\t\t\t// show\r\n\t\t\t\t\tfor (var k = 0; k < ref.length; k++) {\r\n\t\t\t\t\t\t$(ref[k]).show();\r\n\t\t\t\t\t\tshowIf.enableFormElements($(ref[k]));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t// hide\r\n\t\t\t\t\tfor (var l = 0; l < ref.length; l++) {\r\n\t\t\t\t\t\t$(ref[l]).hide();\r\n\t\t\t\t\t\tshowIf.disableFormElements($(ref[l]));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t// change functionality\r\n\t\t\tinput.on('change', function() {\r\n\t\t\t\tcheck();\r\n\t\t\t});\r\n\r\n\t\t\t// on load\r\n\t\t\tcheck();\r\n\r\n\t\t\t// done\r\n\t\t\tinput.addClass('js-show-if-done');\r\n\t\t});\r\n\t},\r\n\r\n\tradios: function() {\r\n\t\t$('.form-checks:not(.js-show-if-done) input[data-show-if]:radio').closest('.form-checks').each(function() {\r\n\t\t\tvar wrapper = $(this);\r\n\r\n\t\t\t// change functionality\r\n\t\t\twrapper.find('input').each(function() {\r\n\t\t\t\tvar input = $(this);\r\n\t\t\t\tvar group = input.attr('name');\r\n\r\n\t\t\t\tvar check = function(opt, show) {\r\n\t\t\t\t\tvar ref = opt.attr('data-show-if').split(',');\r\n\t\t\t\t\tif (show) {\r\n\t\t\t\t\t\tfor (var i = 0; i < ref.length; i++) {\r\n\t\t\t\t\t\t\t$(ref[i]).show();\r\n\t\t\t\t\t\t\tshowIf.enableFormElements($(ref[i]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfor (var i = 0; i < ref.length; i++) {\r\n\t\t\t\t\t\t\t$(ref[i]).hide();\r\n\t\t\t\t\t\t\tshowIf.disableFormElements($(ref[i]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// on change\r\n\t\t\t\tinput.on('change', function() {\r\n\t\t\t\t\t// hide non-selected\r\n\t\t\t\t\t$('input[name=\"' + group + '\"][data-show-if]:not(:checked)').each(function() {\r\n\t\t\t\t\t\t// hide\r\n\t\t\t\t\t\tcheck($(this), false);\r\n\t\t\t\t\t});\r\n\t\t\t\t\t// show selected\r\n\t\t\t\t\t$('input[name=\"' + group + '\"][data-show-if]:checked').each(function() {\r\n\t\t\t\t\t\t// show\r\n\t\t\t\t\t\tcheck($(this), true);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// on load\r\n\t\t\t\tif (input.is('[data-show-if]:not(:checked)')) {\r\n\t\t\t\t\t// hide\r\n\t\t\t\t\tcheck($(this), false);\r\n\t\t\t\t}\r\n\t\t\t\tif (input.is('[data-show-if]:checked')) {\r\n\t\t\t\t\t// show\r\n\t\t\t\t\tcheck($(this), true);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\r\n\t\t\t// done\r\n\t\t\twrapper.addClass('js-show-if-done');\r\n\t\t});\r\n\t},\r\n\r\n\tdropdowns: {\r\n\r\n\t\tpreInit: function() {\r\n\t\t\t// set attributes\r\n\t\t\t$('select[data-show-if]:not(.js-show-if-init)').each(function() {\r\n\t\t\t\tvar select = $(this);\r\n\t\t\t\tvar values = $.parseJSON($(\"
\").html(select.attr('data-show-if')).text());\r\n\r\n\t\t\t\t// apply attributes\r\n\t\t\t\tfor (var i = 0; i < values.length; i++) {\r\n\t\t\t\t\tselect.find('option[value=\"' + values[i].value + '\"]').attr('data-show-if', values[i].show);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// done\r\n\t\t\t\tselect.addClass('js-show-if-init');\r\n\t\t\t});\r\n\r\n\t\t\t// continue\r\n\t\t\tshowIf.dropdowns.init();\r\n\t\t},\r\n\r\n\t\tinit: function() {\r\n\t\t\t$('select:not(.js-show-if-done) option[data-show-if]').closest('select').each(function() {\r\n\t\t\t\tvar select = $(this);\r\n\r\n\t\t\t\tvar check = function(opt, show) {\r\n\t\t\t\t\tvar ref = opt.attr('data-show-if').split(',');\r\n\t\t\t\t\tif (show) {\r\n\t\t\t\t\t\tfor (var i = 0; i < ref.length; i++) {\r\n\t\t\t\t\t\t\t$(ref[i]).show();\r\n\t\t\t\t\t\t\tshowIf.enableFormElements($(ref[i]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfor (var j = 0; j < ref.length; j++) {\r\n\t\t\t\t\t\t\t$(ref[j]).hide();\r\n\t\t\t\t\t\t\tshowIf.disableFormElements($(ref[j]));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// change functionality\r\n\t\t\t\tselect.on('change', function() {\r\n\t\t\t\t\t// hide non-selected\r\n\t\t\t\t\tselect.find('option[data-show-if]').each(function() {\r\n\t\t\t\t\t\tvar opt = $(this);\r\n\t\t\t\t\t\tif (opt.is(':selected')) {\r\n\t\t\t\t\t\t\tcheck(opt, true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tcheck(opt, false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// on load\r\n\t\t\t\tselect.find('option[data-show-if]').each(function() {\r\n\t\t\t\t\tvar opt = $(this);\r\n\t\t\t\t\tif (opt.is(':selected')) {\r\n\t\t\t\t\t\tcheck(opt, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tcheck(opt, false);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// done\r\n\t\t\t\tselect.addClass('js-show-if-done');\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n\r\nexport default init;\r\n"],"names":["popupsLoader","dynamicSearchSubmit","debounce","init","loader","text","selectsAndChecks","loaderSubmit","autosubmit","maxLength","autocomplete","showIf","datepicker","$","on","each","form","this","inputs","valid","find","length","errorElement","target","message","val","attr","next","is","show","html","hide","addClass","_check","input","parent","closest","removeClass","checkboxes","link","submit","value","dateFormat","showAnim","onSelect","count","limit","parseInt","remaining","substr","blur","source","minLength","delay","window","site","win","undefined","data","checks","radios","dropdowns","preInit","disableFormElements","enableFormElements","removeAttr","check","reverse","i","ref","j","k","l","split","wrapper","opt","group","select","values","parseJSON"],"mappings":"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"}