{"version":3,"file":"msfd_search.js","sources":["../../src/js/msfd_search.js"],"sourcesContent":["/* global window, document, jQuery */\n(function (window, document, $) {\n /*\n * ****************************************************\n * Page elements init\n * ****************************************************\n * */\n var exceptVal = ['all', 'none', 'invert', 'apply'];\n var selectorFormContainer = '.wise-search-form-container';\n var selectorLeftForm = '#wise-search-form';\n\n var sessionStore = storageFactory(sessionStorage);\n /*\n * Vars and $ plugins\n *\n * */\n $.randomString = function () {\n var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n var string_length = 8;\n var randomstring = '';\n for (var i = 0; i < string_length; i++) {\n var rnum = Math.floor(Math.random() * chars.length);\n randomstring += chars.substring(rnum, rnum + 1);\n }\n return randomstring;\n };\n\n $.getMultipartData = function (frmName, newBoundary) {\n //Start multipart formatting\n var initBoundary = newBoundary || $.randomString();\n var strBoundary = '--' + initBoundary;\n var strMultipartBody = '';\n var strCRLF = '\\r\\n';\n\n var iname = $(frmName).attr('id');\n\n var formData = $(frmName).serializeArray();\n //Create multipart for each element of the form\n\n if (formData.length === 0) {\n return false;\n }\n\n var res = [];\n var vals = {};\n\n $.each(formData, function (indx, val) {\n strMultipartBody +=\n strBoundary +\n strCRLF +\n 'Content-Disposition: form-data; name=\"' +\n val.name +\n '\"' +\n strCRLF +\n strCRLF +\n val.value +\n strCRLF;\n\n res.push(val.name);\n if (!vals[val.name]) vals[val.name] = [];\n vals[val.name].push(val.value);\n });\n\n //End the body by delimiting it\n strMultipartBody += strBoundary + '--' + strCRLF;\n\n //Return boundary without -- and the multipart content\n return [initBoundary, strMultipartBody, vals];\n };\n\n var loading = false;\n\n /*\n * Styling and hiding\n *\n */\n function initStyling() {\n var ajaxSpinner = $('#ajax-spinner');\n $('body').append(ajaxSpinner.clone(true).attr('id', 'ajax-spinner2'));\n ajaxSpinner.remove();\n\n $('.button-field').addClass('btn');\n $(selectorFormContainer + ' #s2id_form-widgets-marine_unit_id')\n .parentsUntil('.field')\n .parent()\n .hide();\n\n $('#form-buttons-continue').hide('fast');\n\n var fbDownload = $('#form-buttons-download');\n if (fbDownload.length > 0) {\n var dBtn =\n fbDownload.prop('outerHTML').replace('input', 'button') +\n ' Download as spreadsheet';\n var btnForm = fbDownload.parent();\n\n fbDownload.remove();\n\n btnForm.append($(dBtn));\n $('#form-buttons-download')\n .val('Download as spreadsheet')\n .addClass('glyphicon glyphicon-download-alt');\n }\n }\n\n /*\n * CHECKBOXES functions\n * */\n function generateControlDiv() {\n var spAll =\n '' +\n 'Select :';\n var spClear =\n '';\n var invertSel =\n '' +\n 'Marine Unit ID:
');\n\n $(selectElement).on('select2-open', function () {\n var trh = $(marineUnitTriggerSelector).offset().top;\n //$(\".select2-top-override-dropdown\").css(\"margin-top\", $(\"#marine-unit-trigger\").height()/2 + \"px\" );\n $(marineUnitTriggerSelector + ' .arrow').hide();\n $('.select2-top-override-dropdown').css({\n top:\n trh +\n $(marineUnitTriggerSelector).height() -\n $(marineUnitTriggerSelector + ' .arrow').height() +\n 'px',\n 'margin-top': '12' + 'px !important',\n });\n });\n\n $(selectElement).on('select2-selecting', function (ev) {\n //$(selectorLeftForm + \" \"+ marineUnitTriggerSelector +\" a\").text(ev.object.text);\n\n $(selectorFormContainer + \" [name='form.widgets.page']\").val(0);\n $(selectorFormContainer + ' #form-widgets-marine_unit_id')\n .select2()\n .val(ev.val)\n .trigger('change');\n $(\n selectorFormContainer + ' .formControls #form-buttons-continue',\n ).trigger('click', { select: ev.target, from_marine_widget: true });\n });\n\n $(selectElement).on('select2-close', function () {\n $(marineUnitTriggerSelector).css('background', 'transparent');\n $(marineUnitTriggerSelector + ' a').css('background', 'transparent');\n $(marineUnitTriggerSelector + ' .arrow').show();\n });\n\n /// Marine Unit id selector\n if (\n $(selectorLeftForm + ' select').hasClass('js-example-basic-single')\n ) {\n // Select2 has been initialized\n var text = $(\n selectorLeftForm +\n ' select [value=\"' +\n jQuery(selectorLeftForm + ' .select-article select').val() +\n '\"]',\n ).text();\n $(selectorLeftForm + ' select:not(.notselect)')\n .parentsUntil('.field')\n .before(\n '