mirror of
https://bitbucket.org/bellord13/kit.git
synced 2026-11-13 19:06:11 +03:00
1 line
15 KiB
JavaScript
1 line
15 KiB
JavaScript
__PluginManager__.register("toolkit",function(e,t,i,n){var l=e("jQuery"),o=e("support");function r(){}r.prototype.triggerEvent=function(e,t){var i=document.createEvent("HTMLEvents");return i.initEvent(t,!0,!1),e.dispatchEvent(i)};var a,u=new r;function s(){}a=void 0,s.prototype.isMobile=function(){var e;return void 0===a&&(e=navigator.userAgent||navigator.vendor||window.opera,a=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))),a};e=new s;function c(){this.submitForm()}c.prototype.submitForm=function(){l("form.js-kit-form").attr("novalidate",!0),l(document).on("submit.kit-event","form.js-kit-form",function(t){t.preventDefault(),w.clearForm(t.target),p.clear(t.target,!0);var e=l(t.target),i=e.serializeArray(),e=e.attr("action");l.post(e,i,function(e){console.log("success"),"object"==typeof e&&f.ajaxProcessingSuccess(e,l(t.target))},"json").done(function(e){}).fail(function(e){console.log("fail"),console.log(e)}).always(function(e){})})};new c;function d(){this.selector=".kit-message"}d.prototype.clear=function(e,t=!1){function i(e){e.removeClass("kit-message-error kit-message-success kit-message-warning").html("")}(e=l(e)).length&&(e.is(this.selector)&&i(e),t)&&i(e.find(this.selector))};var p=new d;function m(){}m.prototype.ajaxProcessingSuccess=function(e,n){console.log("ajaxProcessingSuccess"),n=l(n),e.hasOwnProperty("inputs")&&Array.isArray(e.inputs)&&e.inputs.forEach(function(e){var t=l('[name="'+e.name+'"]');t.length&&(e.hasOwnProperty("error")&&w.showFieldError(t,e.error),e.hasOwnProperty("readonly")&&t.prop("readonly",e.readonly),e.hasOwnProperty("disabled")&&t.prop("disabled",e.disabled),e.hasOwnProperty("type"))&&(t.prop("type",e.type),"hidden"===e.type?t.parent().removeClass("kit-hidden").addClass("kit-hidden"):t.parent().removeClass("kit-hidden"))}),e.hasOwnProperty("do")&&Array.isArray(e.do)&&e.do.forEach(function(e){var t=!1,i=l(document);e.hasOwnProperty("form")&&!0===e.form&&(i=n).length&&(t=!0),(t=e.hasOwnProperty("selector")&&(i=l(e.selector)).length?!0:t)&&(e.hasOwnProperty("html")&&i.html(e.html),e.hasOwnProperty("replace")&&i.replaceWith(e.replace),e.hasOwnProperty("addClass")&&i.addClass(e.addClass),e.hasOwnProperty("removeClass")&&i.removeClass(e.removeClass),e.hasOwnProperty("disabled")&&i.prop("disabled",e.disabled),e.hasOwnProperty("trigger"))&&i.trigger(e.trigger),e.hasOwnProperty("hide")&&e.hide&&i.find(e.hide).hide(),e.hasOwnProperty("show")&&e.show&&i.find(e.show).show()}),e.hasOwnProperty("success")&&this.showMessageSmart(e.success,n,"success"),e.hasOwnProperty("warning")&&this.showMessageSmart(e.warning,n,"warning"),e.hasOwnProperty("errors")&&this.showMessageSmart(e.errors,n,"error")},m.prototype.showMessageSmart=function(e,t,i="error"){console.log("showMessageSmart"),console.log(e),console.log(t),console.log(i),t=l(t),console.log(t);var n,o,r,a=[];if(Object.keys(e).length){for(r in e)n=e[r],console.log(n),(o=t.find("[name='"+r+"']")).length?"success"===i?w.showFieldSuccess(o,n):"warning"===i?w.showFieldWarning(o,n):w.showFieldError(o,n):a[a.length]=n;console.log("unknownMessage"),console.log(a);var s=t.find(".kit-message");a.length?(console.log("1"),console.log(s.length?"messageNode.length":"no messageNode.length"),s.length&&s.html(a.join("<br>")).addClass("kit-message-"+i)):console.log(a)}};var f=new m;function g(){}g.prototype.init=function(){var t=this;this.initFields(),window.addEventListener("resize",function(){return t.refresh()},!1),document.addEventListener("inputs.reset",function(){return t.refresh()},!1),document.addEventListener("tabs.toggle",function(){return t.refresh()},!1),document.addEventListener("modal.open",function(){return t.refresh()},!1),document.addEventListener("input",function(e){return t.changeFiled(e)},!1),document.addEventListener("paste",function(e){return t.changeFiled(e)},!1),document.addEventListener("drop",function(e){return t.changeFiled(e)},!1),document.addEventListener("cut",function(e){return t.changeFiled(e)},!1),document.addEventListener("change",function(e){return t.switchField(e)},!1)},g.prototype.setDirty=function(e){var t=!1;return e.placeholder.length?(e.setAttribute("data-dirty","true"),!0):(t=e.mask?!!e.mask.getRaw().length:!!e.value,e.setAttribute("data-dirty",t?"true":"false"),t)},g.prototype.changeFiled=function(e){var e=e.target||e,t="INPUT"===e.tagName,i="TEXTAREA"===e.tagName;e.classList.contains("kit-field__input")&&(t||i)&&(this.setDirty(e),t=l(e).attr("value_min"),i=l(e).attr("value_max"),""!==t&&Number(t)>Number(e.value)?this.showFieldError(e,"Минимальное значение "+t):""!==i&&Number(i)<Number(e.value)?this.showFieldError(e,"Максимальное значение "+i):this.fieldNormalize(e),l(e).hasClass("kit-field--error")||l(e).siblings(".kit-field__message").text(""),e.classList.contains("kit-autoheight"))&&this.calcAutoHeight(e)},g.prototype.checkAllInputs=function(){var t=this,e=document.querySelectorAll("input.kit-field__input, textarea.kit-field__input");[].forEach.call(e,function(e){"TEXTAREA"===e.tagName&&e.classList.contains("kit-autoheight")&&t.calcAutoHeight(e),t.setDirty(e)})},g.prototype.calcAutoHeight=function(e){e.style.height=e.style.minHeight="auto",e.rows=1;var t=getComputedStyle(e),t=o.toNumber(t.getPropertyValue("padding-top").trim().replace("px",""))+o.toNumber(t.getPropertyValue("padding-bottom").trim().replace("px",""))+o.toNumber(t.getPropertyValue("line-height").trim().replace("px","")),t=e.scrollHeight<t?t+"px":e.scrollHeight+"px";e.style.height=e.style.minHeight=t},g.prototype.switchField=function(e){var t,e=e.target.parentNode.querySelector(".kit-field__input");e&&("checkbox"===e.type.toLowerCase()?e.classList.remove("kit-field--error"):"radio"===e.type.toLowerCase()&&(t=e.parentNode.querySelector(".kit-field__input").name,t=document.querySelectorAll("[name= "+t+"]"),e.classList.remove("kit-field--error"),[].forEach.call(t,function(e){e.classList.remove("kit-field--error")})))},g.prototype.clearForm=function(e){(e=l(e)).length&&(e.find(".kit-field--error").removeClass("kit-field--error"),e.find(".kit-field__message").html(""))},g.prototype.setTelMask=function(e=!1){var t=this;if(o.isElement(e)||o.isNodeList(e))e=l(e);else{if(!1!==e)return;e=l("[type=tel]:not([data-kit-mask-skip])")}n.config.defaultPhoneMask&&e.mask(n.config.defaultPhoneMask,{placeholder:"_",completed:function(){t.fieldNormalize(this)}}).on("blur.mask",function(e){})},g.prototype.setMask=function(e=!1){var n=this;if(o.isElement(e)||o.isNodeList(e))e=l(e);else{if(!1!==e)return;e=l("[data-mask]")}e.each(function(e,t){var i=(t=l(t)).attr("data-mask-placeholder")||"_";t.mask(t.attr("data-mask"),{placeholder:i,completed:function(){n.fieldNormalize(this)}}).on("blur.mask",function(e){})})},g.prototype.unsetTelMask=function(){l("input[type=tel]:not([data-kit-mask-skip])").unmask()},g.prototype.initFields=function(){this.checkAllInputs(),this.setMask(),this.setTelMask()},g.prototype.refresh=function(){this.unsetTelMask(),this.initFields()},g.prototype.fieldNormalize=function(e){return(e=l(e)).length&&(e.removeClass("kit-field--warning kit-field--success kit-field--error"),e.siblings(".kit-field__message").html("")),e},g.prototype.showFieldError=function(e,t){(e=this.fieldNormalize(e)).length&&(e.addClass("kit-field--error"),e.siblings(".kit-field__message").html(t))},g.prototype.showFieldSuccess=function(e,t){(e=this.fieldNormalize(e)).length&&(e.addClass("kit-field--success"),e.siblings(".kit-field__message").html(t))},g.prototype.showFieldWarning=function(e,t){(e=this.fieldNormalize(e)).length&&(e.addClass("kit-field--warning"),e.siblings(".kit-field__message").html(t))},g.prototype.hideFieldError=function(e){(e=l(e)).length&&(e.parent(),e.removeClass("kit-field--error"),e.siblings(".kit-field__message").html(""))};var h,y,k,w=new g,e=(kit.ready([],function(){w.init()}),{helper:u,select:(u.isMobile,document.addEventListener("click",function(e){var t,i,n=e.target.parentNode,o=e.target.closest(".kit-dropdown__option");N(e.target,"kit-field__display")?(e.preventDefault(),N(n,"kit-select--open")?v(null):(v(n),function(e){var t=e.querySelector("select"),i=t.querySelectorAll("option"),a=document.createElement("div"),n=Date.now(),s=t.hasAttribute("multiple");t.disabled||(t.classList.forEach(function(e,t,i){"kit-field__input"!==e&&a.classList.add(e)}),t.setAttribute("data-select-id",n),a.setAttribute("data-for-select-id",n),A(a,"kit-dropdown"),s&&a.setAttribute("data-multiple","true"),x(i,function(e,t){var i=document.createElement("div"),n=t.textContent,o=document.createElement("span"),r=String(t.getAttribute("data-class"));A(o,"kit-field__icon"),l(o).append('<svg viewBox="0 0 24 24"><path d="M9.001,16.212l-4.199-4.2l-1.4,1.4l5.6,5.6l12-12l-1.4-1.4L9.001,16.212z"></path></svg>'),i.textContent=n,i.setAttribute("data-index",e),A(i,"kit-dropdown__option"),A(i,r),s&&i.appendChild(o),t.disabled&&A(i,"kit-disabled"),t.selected&&A(i,"kit-active"),a.appendChild(i)}),u.triggerEvent(t,"beforeOpen"),document.body.appendChild(a),a.style.position="absolute",a.style.minWidth=h+"px",a.style.top=_(e).top,a.style.left=_(e).left,a.style.minHeight=function(e){e=e.offsetHeight;return k<e?k+"px":e+"px"}(a),a.style.maxHeight=E(e),a.style.width=e.offsetWidth+"px",a.style.zIndex=20002,setTimeout(function(){A(a,"kit-active"),A(e,"kit-select--open")},0))}(n))):((N(e.target,"kit-dropdown__option")||o)&&(N(e.target,"kit-dropdown__option")?(t=e.target.parentNode,i=e.target):t=(i=o).parentNode,n=t.getAttribute("data-for-select-id"),e=document.querySelector('[ data-select-id = "'+n+'" ]'),o=e.querySelectorAll("option")[i.getAttribute("data-index")],e.hasAttribute("multiple")?(i.classList.toggle("kit-active"),o.selected=N(i,"kit-active")):o.selected=!0,u.triggerEvent(e,"change")),v(null))},!1),document.addEventListener("change",function(e){b(e.target||e)},!1),document.addEventListener("keydown",function(e){27===e.keyCode&&v(null)},!1),window.addEventListener("resize",function(){var e=document.querySelectorAll(".kit-dropdown")[0]||null,t=void 0,i=void 0,n=void 0;null!==e&&(t=e.getAttribute("data-for-select-id"),i=document.querySelector('[ data-select-id = "'+t+'" ]')||[],n=i.parentNode,e.style.top=n.getBoundingClientRect().top+n.offsetHeight+window.pageYOffset+"px",e.style.maxHeight=E(n),e.style.left=_(n).left,e.style.width=n.offsetWidth+"px")},!1),h=200,y=320,k=160,P.prototype.setLabelByNode=function(e,t){var i,n,o;e=e,t=t,(e=(0,_jquery2.default)(e)).length&&N(e=e[0],"kit-field__input")&&"SELECT"==e.tagName&&((o=e.querySelectorAll("option:checked")[0])&&[].filter.call(o.attributes,function(e){return/^data-/.test(e.name)}),e.hasAttribute("multiple"),e.parentNode,e.parentNode.querySelector(".kit-field__display"),o=!1,(o=(e=(i=(e=e.parentNode.querySelector(".kit-field__label")).querySelector(".kit-field__label-content"))?i:e)&&(n=e.querySelector(".kit-field__arrow"))?!0:o)?(0,_jquery2.default)(e).html("").append(t).append(n):(0,_jquery2.default)(e).html("").append(t))},P.prototype.change=function(e){b(e)},new P),message:p,inputs:w,device:e});function v(t){var e=document.querySelectorAll(".kit-select--open");[].filter.call(e,function(e){return e!==t}).forEach(function(e){C(e,"kit-select--open")}),x(document.querySelectorAll(".kit-dropdown"),function(e,t){t.parentNode.removeChild(t)})}function b(e){var t,i,n,o,r,a,s,l,c,d;N(e,"kit-field__input")&&"SELECT"===e.tagName&&(t=e.querySelectorAll("option:checked")[0],i={},n=[],t&&n.filter.call(t.attributes,function(e){return/^data-/.test(e.name)}),o=(o=[]).filter.call(e.attributes,function(e){return/^data-dirty-/.test(e.name)}),r=e.hasAttribute("multiple"),a=e.parentNode,s=e.parentNode.querySelector(".kit-field__display"),l=!r&&!!t,r||(l=l&&(c=e.value,d=!0,o.forEach(function(e,t){"data-dirty-min"===e.name&&(d=d&&Number(c)>=Number(e.value))}),d)),s.textContent="",l&&(s.textContent=t.textContent),C(a,"kit-select--open"),e.setAttribute("data-dirty",l?"true":"false"),C(e,"kit-field--error"),x(n,function(e,t){i[function(e){var t=arguments;return e.replace(/^data-/g,"").replace(/(\-\w)/g,function(){return t[0][1].toUpperCase()})}(t.nodeName)]=t.nodeValue}),e.data=i,setTimeout(function(){u.triggerEvent(e,"kit-select-change")},0))}function _(e){var t=S(e).top,i=S(e).left,n=(window.pageYOffset,window.pageXOffset);return{top:t+e.offsetHeight+window.pageYOffset+"px",left:(L().width-h>i||e.offsetWidth>=h?i+n:i+n+e.offsetWidth-h)+"px"}}function E(e){var t=S(e).top,t=L().height+window.pageYOffset-t-e.offsetHeight-window.pageYOffset;return y<t?y+"px":t+"px"}function x(e,t,i){for(var n=0;n<e.length;n++)t.call(i,n,e[n])}function N(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className)}function A(e,t){e.classList?e.classList.add(t):e.className+=" "+t}function C(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," ")}function L(){var e=void 0;return{width:("BackCompat"===document.compatMode?(e=document.body.clientHeight,document.body):(e=document.documentElement.clientHeight,document.documentElement)).clientWidth,height:e}}function S(e){return{top:e.getBoundingClientRect().top,left:e.getBoundingClientRect().left}}function P(){}return Object.assign(i.exports,e),i.exports}); |