!function(){"use strict";var e=window.EasyChatRequest,t=document.querySelector("[data-moysklad-root]");if(t&&"1"!==t.dataset.ready&&e){t.dataset.ready="1";var n=t.querySelector("[data-moysklad-form]"),a=t.querySelector("[data-moysklad-status]"),o=t.querySelector("[data-moysklad-save]"),r=t.querySelector("[data-moysklad-test]");n.addEventListener("submit",function(e){e.preventDefault(),l("save",o).then(function(){r.disabled=!1}).catch(function(){})}),r.addEventListener("click",function(){l("test",r).catch(function(){})});var c=t.querySelector("[data-moysklad-discover]"),i=t.querySelector("[data-moysklad-discovery]"),s=t.querySelector("[data-moysklad-save-mapping]");s&&s.addEventListener("click",function(){m().catch(function(){})}),c&&c.addEventListener("click",function(){l("discover",c).then(function(e){!function(e){if(i.innerHTML="",e.length){var n=document.createElement("div");n.textContent="Найдены поля. Для подходящих полей можно применить предложенное сопоставление:",i.appendChild(n);var a=document.createElement("div");a.className="easychat-moysklad__discovery",e.forEach(function(e){var n=document.createElement("div");n.className="easychat-moysklad__discovery-item";var o=document.createElement("span");if(o.textContent=e.entity+": "+e.name+" ("+e.id+")",n.appendChild(o),e.suggested){var r=document.createElement("button");r.type="button",r.className="btn btn-sm btn-outline-secondary",r.textContent="Использовать для "+e.suggested,r.addEventListener("click",function(){var n=t.querySelector('[data-ms-map="'+e.suggested+'"]');n&&(n.value=e.id,n.focus(),d("Поле добавлено в сопоставление. Нажмите «Сохранить сопоставление».",!0))}),n.appendChild(r)}a.appendChild(n)}),i.appendChild(a)}else i.textContent="Дополнительные поля не найдены."}(e.attributes||[])}).catch(function(){})})}function u(e,t){e.disabled=t,e.setAttribute("aria-busy",t?"true":"false"),t?(e.dataset.label=e.textContent,e.textContent="Подождите…"):(e.textContent=e.dataset.label||e.textContent,e.removeAttribute("aria-busy"))}function d(e,t){a.textContent=e,a.className="alert "+(t?"alert-success":"alert-danger"),t||a.focus({preventScroll:!0}),a.animate&&!matchMedia("(prefers-reduced-motion: reduce)").matches&&a.animate([{opacity:.35},{opacity:1}],{duration:160,easing:"ease-out"})}function l(t,a){return u(a,!0),fetch(e.routeUrl("index.php?route=moysklad_integration/"+t),{method:"POST",body:new FormData(n),credentials:"same-origin",headers:{Accept:"application/json"}}).then(function(e){return e.json().catch(function(){return{}}).then(function(t){if(t.nonce&&(n.elements.nonce.value=t.nonce),!e.ok)throw t;return t})}).then(function(e){return d(e.message||"Готово.",!0),e}).catch(function(e){throw d(e.error||"Не удалось выполнить действие.",!1),e}).finally(function(){u(a,!1)})}function m(){var a,o=new FormData(n);return o.set("mapping",JSON.stringify((a={},t.querySelectorAll("[data-ms-map]").forEach(function(e){e.value.trim()&&(a[e.dataset.msMap]=e.value.trim())}),a))),u(s,!0),fetch(e.routeUrl("index.php?route=moysklad_integration/saveMapping"),{method:"POST",body:o,credentials:"same-origin",headers:{Accept:"application/json"}}).then(function(e){return e.json().catch(function(){return{}}).then(function(t){if(t.nonce&&(n.elements.nonce.value=t.nonce),!e.ok||!t.success)throw t;return t})}).then(function(e){return d(e.message||"Сопоставление сохранено.",!0),e}).catch(function(e){throw d(e.error||"Не удалось сохранить сопоставление.",!1),e}).finally(function(){u(s,!1)})}}();