{"version":3,"file":"chunk-marketplace-947456f9-esm.js","sources":["src/modules/marketplace.ts"],"sourcesContent":["const hanldeFiltersFormSubmit = function (e: Event) {\n e.preventDefault();\n\n const target = e.target;\n\n if (!(target instanceof HTMLFormElement)) {\n return;\n }\n\n const data = new FormData(target);\n\n const object: Record = {};\n data.forEach((value, key) => {\n if (!Reflect.has(object, key)) {\n object[key] = value;\n } else {\n if (!Array.isArray(object[key])) {\n object[key] = [object[key] as FormDataEntryValue];\n }\n (object[key] as FormDataEntryValue[]).push(value);\n }\n });\n\n const searchParams = new URLSearchParams(window.location.search);\n\n Array.from(searchParams.keys()).forEach((key) => {\n if (!Reflect.has(object, key)) {\n searchParams.delete(key);\n }\n });\n\n Object.keys(object).forEach((key) => {\n searchParams.delete(key);\n const entry = object[key];\n if (Array.isArray(entry)) {\n entry.forEach((value) => {\n searchParams.append(key, value.toString());\n });\n return;\n }\n\n searchParams.set(key, entry.toString());\n });\n\n window.history.pushState({}, '', `${window.location.pathname}?${searchParams.toString()}`);\n\n const ajaxUrl = new URL(`/wp-admin/admin-ajax.php?${searchParams.toString()}`, window.location.origin);\n\n ajaxUrl.searchParams.set('action', 'embark_marketplace_products');\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n ajaxUrl.searchParams.set('_ajax_nonce', window.embark.MARKETPLACE_NONCE);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n ajaxUrl.searchParams.set('page', window.embark.PAGE);\n ajaxUrl.searchParams.set('_permalink', `${window.location.pathname}?${searchParams.toString()}`);\n\n const button = target.querySelector('[type=\"submit\"]');\n if (button instanceof HTMLButtonElement) {\n button.disabled = true;\n button.setAttribute('data-busy', 'true');\n }\n\n fetch(ajaxUrl)\n .then((r) => {\n if (!r.ok) {\n throw {\n status: r.status,\n statusText: r.statusText,\n response: r,\n };\n }\n return r;\n })\n .then((response) => response.json())\n .then((json) => {\n const { html } = json.data;\n const products = document.querySelector('.content-area');\n if (!products) {\n return;\n }\n\n const el = document.createElement('div');\n el.innerHTML = html;\n const responseContainer = el.firstElementChild;\n if (responseContainer) {\n products.replaceWith(responseContainer);\n }\n\n const nearestCloseButton = target?.closest('.drawer')?.querySelector('[data-drawer-close]');\n if (nearestCloseButton instanceof HTMLElement) {\n nearestCloseButton.click();\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error:', error);\n })\n .finally(() => {\n if (button instanceof HTMLButtonElement) {\n button.disabled = false;\n button.removeAttribute('data-busy');\n }\n });\n};\n\nconst clearForm = (e: Event): void => {\n e.preventDefault();\n\n const target = e.target;\n\n if (!(target instanceof HTMLFormElement)) {\n return;\n }\n\n Array.from(target.elements).forEach((element) => {\n if (element instanceof HTMLInputElement) {\n element.type === 'checkbox' ? (element.checked = false) : (element.value = '');\n } else if (element instanceof HTMLTextAreaElement) {\n element.value = '';\n } else if (element instanceof HTMLSelectElement) {\n element.selectedIndex = 0;\n }\n });\n};\n\nexport function initFiltersHandler() {\n const filtersForm = document.getElementById('filters_form');\n if (!(filtersForm instanceof HTMLFormElement)) {\n return;\n }\n\n filtersForm.addEventListener('reset', clearForm);\n filtersForm.addEventListener('submit', hanldeFiltersFormSubmit);\n}\n"],"names":["hanldeFiltersFormSubmit","e","preventDefault","target","HTMLFormElement","data","FormData","object","forEach","value","key","Reflect","has","Array","isArray","push","searchParams","URLSearchParams","window","location","search","from","keys","delete","Object","entry","append","toString","set","history","pushState","pathname","ajaxUrl","URL","origin","embark","MARKETPLACE_NONCE","PAGE","button","querySelector","HTMLButtonElement","disabled","setAttribute","fetch","then","r","ok","status","statusText","response","json","_target$closest","html","products","document","el","createElement","innerHTML","responseContainer","firstElementChild","replaceWith","nearestCloseButton","closest","HTMLElement","click","catch","error","console","finally","removeAttribute","clearForm","elements","element","HTMLInputElement","type","checked","HTMLTextAreaElement","HTMLSelectElement","selectedIndex","initFiltersHandler","filtersForm","getElementById","addEventListener"],"mappings":"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"}