You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
2.6 KiB
1 lines
2.6 KiB
(()=>{"use strict";var e={n:o=>{var t=o&&o.__esModule?()=>o.default:()=>o;return e.d(t,{a:t}),t},d:(o,t)=>{for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o)};const o=window.jQuery;var t=e.n(o);const n=window.CDEKWidget;var c=e.n(n);const i=window.lodash,d=t()("#billing_city"),a=t()("#shipping_city");let l=null;""===(d.val()||"")&&""===(a.val()||"")||(console.debug("[CDEK-MAP] City has value, initiating checkout update"),t()(document.body).trigger("update_checkout"));const r=(e,o=null)=>{if(console.debug("[CDEK-MAP] Removing selected office info"),t()(".cdek-office-info").remove(),e.html("Выбрать ПВЗ"),t()(".cdek-office-code").val(""),null!==l&&l.clearSelection(),"string"==typeof o){console.debug("[CDEK-MAP] Rendering error message");const e=t()(".open-pvz-btn");e.prev().text(o),e.remove()}};let s;const p=(e,o,n)=>{t()(".cdek-office-code").val(n.code),s.html("Повторно выбрать ПВЗ");const c=s.parent().children(".cdek-office-info");0===c.length?s.before(`<div class="cdek-office-info">${n.name} - [${n.code}]</div>`):c.html(`${n.name} - [${n.code}]`),t()(".cdek-office-code").data("map-auto-close")&&l.close()},u=(0,i.debounce)((()=>{""!==(t()("#ship-to-different-address-checkbox").is(":checked")?a.val():d.val())&&(console.debug("[CDEK-MAP] City or postcode changed, initiating checkout update"),t()(document.body).trigger("update_checkout"))}),500);t()(document.body).on("input","#billing_city, #billing_postcode, #shipping_city, #shipping_postcode",u).on("updated_checkout",(()=>{null!==l&&(console.debug("[CDEK-MAP] Clearing widget selection"),l.clearSelection())})).on("change",".shipping_method",(()=>{t()(document.body).trigger("update_checkout")})).on("click",".open-pvz-btn",null,(e=>{s=t()(e.target),r(s);const o=s.data("points");return console.debug("[CDEK-MAP] Got points from backend:",o),"object"!=typeof o?(console.error("[CDEK_MAP] backend points not object"),void r(s,"CDEK не смог загрузить список доступных ПВЗ, выберите другой метод доставки")):o.length?(null===l?l=new(c())({apiKey:window.cdek.apiKey,popup:!0,debug:!0,defaultLocation:s.data("city"),officesRaw:o,hideDeliveryOptions:{door:!0},onChoose:p}):(l.updateOfficesRaw(o),l.updateLocation(s.data("city"))),void l.open()):(console.warn("[CDEK_MAP] backend points are empty"),void r(s,"По данному направлению нет доступных пунктов выдачи CDEK, выберите другой метод доставки"))}))})(); |