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
8.2 KiB

var EXPO=EXPO||{};EXPO.company?console.warn("WARNING: EXPO.company is already defined!"):EXPO.company=function(){function t(){}var e={};e.opt={updateFormClass:"update-profile-form"},e.lang={};var a;return t.prototype={getajax:function(t){var e=this;t||(t=""),$.ajax({type:"POST",url:e.ajaxPath,data:t,success:function(t){e.pullHandler(t),$("#wait-ajax").fadeOut()}})},pushData:function(t,e){var a,s=this.pushHandler,i=t;"function"==typeof s?($("#wait-ajax").show(),s(t)):($("#wait-ajax").show(),this.getajax(t)),a=decodeURI(i).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"').replace(/\//gi,"\\/").replace(/\\n/g,"\\n"),this.formData=JSON.parse('{"'+a+'"}'),this.formId=e},pullData:function(t){var e=this.pullHandler;if("function"!=typeof e)throw{name:"Error",message:" handler function for processing response after form submit not defined, please define it!"};e(t)},refreshState:function(){""==$.trim(this.$staticValue.text())&&this.$wrapper.length&&this.refrashable?(this.$editable.addClass("hidden"),this.$description.removeClass("hidden")):this.$wrapper.length&&this.refrashable&&(this.$editable.removeClass("hidden"),this.$description.addClass("hidden"))}},t.factory=function(e,a){var s,i=e;if("function"!=typeof t[i])throw{name:"Error",message:i+"doesen't exist"};return"function"!=typeof t[i].prototype.pushData&&(t[i].prototype=new t),s=new t[i](a)},t.name_form=function(t){this.pullHandler=function(t){t.success&&($("#static-name-value").text($("#id_name").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.spec_form=function(t){this.pullHandler=function(t){t.success&&($("#static-spec-value").text($("#id_specialization").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.address_form=function(t){this.pullHandler=function(t){t.success&&($("#static-address-value").text($("#id_address_inf").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.address_form=function(t){this.pullHandler=function(t){t.success&&($("#static-address-value").text($("#id_address_inf").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.social_form=function(t){var e,a,s,i,r,n=this;this.pullHandler=function(t){if(t.success){for(r in n.formData)s=$("#id_"+r),""!=$.trim(n.formData[r])&&s.length?(e=$("#img-"+r),e.length&&(i=$.trim(s.val()),e.parent("a").length?(e.parent("a").attr("href",i),a=e.attr("src").replace("_hover",""),e.attr("src",a)):(a=e.attr("src").replace("_hover",""),e.attr("src",a),e.wrap('<a href="'+i+'" target="_blank"></a>')))):s.length&&(e=$("#img-"+r),e.parent("a").length&&(a=e.attr("src").replace(".png","_hover.png"),e.attr("src",a),e.unwrap()));$(".p-editable").removeClass("pe-current")}},this.ajaxPath=t},t.phone_form=function(t){this.pullHandler=function(t){t.success&&($("#static-phone-value").text($("#id_phone")[0].value),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.email_form=function(t){var e;this.pullHandler=function(t){t.success&&(e=$("#id_email").val(),$("#static-email-value").attr("href","mailto:"+e).text(e),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.web_page_form=function(t){var e;this.pullHandler=function(t){t.success&&(e=$("#id_web_page").val(),$("#static-web-page-value").attr("href",e).text(e),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.home_form=function(t){this.pullHandler=function(t){if(t.success){var e=$("#s2id_id_country").find(".select2-chosen").text(),a=$("#s2id_id_city").find(".select2-chosen").text();$("#static-home-country").text(e),$("#static-home-city").text(a),$(".p-editable").removeClass("pe-current"),this.refreshState()}},this.ajaxPath=t},t.found_form=function(t){var e,a,s,i,r,n;this.pullHandler=function(t){t.success&&(a=$("#id_foundation"),e=$.trim(a.val()),s=a.parents(".p-editable"),n=a.parents(".edit-wrap").children("e-btn"),i=$("#static-found-value"),r=$("#static-foundation"),""==e?(s.removeClass("ic-tel").addClass("add_link_text add_link_text_medium"),i.hide().children("span").text(""),r.show()):(s.removeClass("add_link_text add_link_text_medium").addClass("ic-tel"),i.show().children("span").text(e),r.hide()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.staff_form=function(t){var e,a,s,i,r,n;this.pullHandler=function(t){t.success&&(a=$("#id_staff_number"),e=$.trim(a.val()),s=a.parents(".p-editable"),n=a.parents(".edit-wrap").children("e-btn"),i=$("#static-staff_number-value"),r=$("#static-staff_number"),""==e?(s.removeClass("ic-tel").addClass("add_link_text add_link_text_medium"),i.hide().children("span").text(""),r.show()):(s.removeClass("add_link_text add_link_text_medium").addClass("ic-tel"),i.show().children("span").text(e),r.hide()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.description_form=function(t){var e,a,s,i,r,n=$("#id_description");this.pullHandler=function(t){t.success&&(e=$.trim(n.val()),a=n.parents(".p-editable"),r=n.parents(".edit-wrap").children("e-btn"),s=$("#static-description-value"),i=$("#static-description"),""==e?(a.removeClass("ic-tel").addClass("add_link_text add_link_text_medium"),s.hide().children("span").text(""),i.show()):(a.removeClass("add_link_text add_link_text_medium").addClass("ic-tel"),s.show().text(e),i.hide()),$(".p-editable").removeClass("pe-current"),this.refreshState())},n.on("keypress",function(t){var e=t.keyCode?t.keyCode:t.which;return"13"==e?!1:void 0}),this.ajaxPath=t},e.init=function(e){$.extend(this.lang,e.lang),e.lang=null,$.extend(this.opt,e);var s=this,i=function(t){var e=$.masksSort($.masksLoad("/static/client/js/plugins/inputmask/phone-codes.json"),["#"],/[0-9]|#/,"mask"),a={inputmask:{definitions:{"#":{validator:"[0-9]",cardinality:1}},showMaskOnHover:!1,autoUnmask:!0},match:/[0-9]/,replace:"#",list:e,listKey:"mask",onMaskChange:function(){$(this).attr("placeholder","+_(___)___-__-__")}},s="#"+t;$(s).inputmasks(a)};this.forms={},$(function(){a=$("#wait-ajax").css({"z-index":"8012"}),$("#"+s.opt.selectBox[0].id).select2({width:"element"}),$("#"+s.opt.selectBox[1].id).select2({placeholder:s.opt.selectBox[1].placeHolder,width:"element",ajax:{url:s.opt.selectBox[1].path,dataType:"json",quietMillis:200,data:function(t,e,a){var a=$("#"+s.opt.selectBox[0].id).val();return{term:t,page:e,country:a}},results:function(t){var e=[];return $.each(t,function(t,a){e.push({id:a.id,text:a.label})}),{results:e}}},initSelection:function(t,e){var a=$(t).val(),s=$(t).attr("data-init-text");e({id:a,text:s})}}),$("#"+s.opt.selectBox[2].id).select2({placeholder:s.opt.selectBox[2].placeholder,width:"368px",multiple:!0,maximumSelectionSize:5,ajax:{url:s.opt.selectBox[2].path,dataType:"json",quietMillis:200,data:function(t,e){var a=$("#theme-inf").attr("data-theme");return a=a.split(","),a.pop(),{term:t,page:e,themes:a}},results:function(t){var e=[];return $.each(t,function(t,a){e.push({id:a.id,text:a.label})}),{results:e}}},initSelection:function(){}}),i(s.opt.phoneBox),$("."+s.opt.updateFormClass).each(function(){var e,i=$(this).attr("id"),r=$(this).attr("action"),n=$(this).closest("."+s.opt.formWrapperClass),o=$("."+s.opt.staticValueClass,n),l=$("."+s.opt.descriptionClass,n),c=$("."+s.opt.editableClass,n),d=$("."+s.opt.closeButtonClass,n);s.forms[i]=t.factory(i,r),s.forms[i].refrashable=$("."+s.opt.editButtonClass,n).hasClass("no-refresh")?!1:!0,s.forms[i].$form=$(this),s.forms[i].$wrapper=n,s.forms[i].$staticValue=o,s.forms[i].$description=l,s.forms[i].$editable=c,s.forms[i].refreshState(),$(this).off("submit"),$(this).on("submit",function(){return a.show(),window.FormData&&"upload"in $.ajaxSettings.xhr()?(e=new FormData(this),s.forms[i].pushData(e,i)):(e=$(this).serialize(),s.forms[i].pushData(e,i)),!1}),d.on("click",function(){return c.removeClass(s.opt.formCurrentClass),s.forms[i].refreshState(),!1}),$("."+s.opt.editButtonClass,n).on("click",function(){return s.forms[i].refrashable&&(c.removeClass("hidden"),l.addClass("hidden")),c.each(function(){$(this).removeClass(s.opt.formCurrentClass)}),c.toggleClass(s.opt.formCurrentClass),$(document).on("click.form",function(t){var e=$(t.target);e.parents().filter(".e-form").length<1&&(c.removeClass(s.opt.formCurrentClass),s.forms[i].refreshState(),$(document).off("click.form"))}),!1})})})},e}();