From 5322a9ef7c9d111f0d48182c4f52a04ecc7a4a9a Mon Sep 17 00:00:00 2001 From: pavel Date: Wed, 21 Jan 2015 14:56:12 +0000 Subject: [PATCH] expo-20 user cabinet completed --- .../client/static_client/js/_modules/page.profile.js | 12 ++++++++---- .../js_min/_modules/page.profile.min.js | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/templates/client/static_client/js/_modules/page.profile.js b/templates/client/static_client/js/_modules/page.profile.js index 85831192..d9ff16f6 100644 --- a/templates/client/static_client/js/_modules/page.profile.js +++ b/templates/client/static_client/js/_modules/page.profile.js @@ -175,9 +175,14 @@ if (EXPO.profile){ * @param data -data object recieved from server */ this.pullHandler = function (data) { + var staticText, + work_fieldValue = $.trim($('#s2id_id_company').text()); if (data.success){ - $('#static-work-value').text($('#id_position').val()); - + staticText = $('#id_position').val(); + if(work_fieldValue != ''){ + staticText += ' '+ EXPO.profile.opt.lang.workIn + ' '+work_fieldValue; + } + $('#static-work-value').text(staticText); $('.p-editable').removeClass('pe-current'); this.refreshState(); @@ -199,7 +204,6 @@ if (EXPO.profile){ $('.p-editable').removeClass('pe-current'); this.refreshState(); - } }; this.ajaxPath = path; @@ -374,7 +378,7 @@ if (EXPO.profile){ //инициализация общих свойств that.init = function(options) { $.extend(this.lang, options.lang); - options.lang = null; + //options.lang = null; $.extend(this.opt, options); var self = this, diff --git a/templates/client/static_client/js_min/_modules/page.profile.min.js b/templates/client/static_client/js_min/_modules/page.profile.min.js index 53bfd1a8..854558f9 100644 --- a/templates/client/static_client/js_min/_modules/page.profile.min.js +++ b/templates/client/static_client/js_min/_modules/page.profile.min.js @@ -1 +1 @@ -var EXPO=EXPO||{};EXPO.profile?console.warn("WARNING: EXPO.profile is already defined!"):EXPO.profile=function(){function t(){}var e={};e.opt={updateFormClass:"update-profile-form"},e.lang={};{var a;EXPO.common}return t.prototype={getajax:function(t){var e=this;t||(t=""),$.ajax({type:"POST",url:e.ajaxPath,data:t,processData:!1,contentType:!1,success:function(t){e.pullHandler(t),$("#wait-ajax").fadeOut()}})},pushData:function(t,e){var a=this.pushHandler,s=t;this.formData="string"!=typeof s?s:JSON.parse('{"'+decodeURI(s).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}'),this.formId=e,"function"==typeof a?(this.formData=a(t,e),this.getajax(t),$("#wait-ajax").show()):(this.getajax(t),$("#wait-ajax").show()),console.log("formData type"),console.log(typeof s)},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)},fulfillInputs:function(){var t=this;for(input in t.formData)$("#id_"+input,$("#"+t.formId)).length>0&&$("#id_"+input,$("#"+t.formId)).value(t.formData[input]),$("#static-"+input).length>0&&$("#static-"+input).html()},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,r=e;if("function"!=typeof t[r])throw{name:"Error",message:r+"doesen't exist"};return"function"!=typeof t[r].prototype.pushData&&(t[r].prototype=new t),s=new t[r](a)},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.name_form=function(t){this.pullHandler=function(t){t.success&&($("#static-name-value").text($("#id_last_name").val()+" "+$("#id_first_name").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.work_form=function(t){this.pullHandler=function(t){t.success&&($("#static-work-value").text($("#id_position").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},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.web_page_form=function(t){this.pullHandler=function(t){if(t.success){var 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.about_form=function(t){this.pullHandler=function(t){t.success&&($("#static-about-value").text($("#id_about").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},$("#id_about").on("keypress",function(t){var e=t.keyCode?t.keyCode:t.which;return"13"==e?!1:void 0}),this.ajaxPath=t},t.social_form=function(t){var e,a,s,r,i=this;this.pullHandler=function(t){if(t.success){for(item in i.formData)s=$("#id_"+item),""!=$.trim(i.formData[item])&&s.length?(e=$("#img-"+item),e.length&&(r=$.trim(s.val()),e.parent("a").length?(e.parent("a").attr("href",r),a=e.attr("src").replace("_hover",""),e.attr("src",a)):(a=e.attr("src").replace("_hover",""),e.attr("src",a),e.wrap('')))):s.length&&(e=$("#img-"+item),e.parent("a").length&&(a=e.attr("src").replace(".png","_hover.png"),e.attr("src",a),e.unwrap()));$(".p-editable").removeClass("pe-current")}},this.pushHandler=function(t,e){var a=$("#"+e).serialize();return JSON.parse('{"'+decodeURI(a).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')},this.ajaxPath=t},t.avatar_form=function(t){var e,a=this,s=$("#id_avatar"),r=($("#pic-edit-photo"),$("#pick-block")),i=$("img",r);this.pullHandler=function(t){t.success&&(i.length&&i.attr("src",t.url),$(".p-editable").removeClass("pe-current"))},this.pushHandler=function(t){"string"!=typeof t?(a.getajax(t),$("#wait-ajax").show()):(e=$("#"+a.formId),e.off("submit"),e.trigger("submit"))},s.on("change",function(){$(this).parents("form").submit()}),this.ajaxPath=t},t.create_company_form=function(t){var e=this,s="pwf-field";this.pullHandler=function(t){if(t.success)location.reload();else for(var r in t.errors)t.errors.hasOwnProperty(r)&&($('input[name="'+r+'"], select[name="'+r+'"]',e.$form).closest("."+s).addClass("err"),a.hide())},this.ajaxPath=t},e.init=function(e){$.extend(this.lang,e.lang),e.lang=null,$.extend(this.opt,e);var s=this,r=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({width:"element",placeholder:s.opt.selectBox[1].placeholder,maximumSelectionSize:3}),$("#"+s.opt.selectBox[2].id).select2({placeholder:s.opt.selectBox[2].placeholder,width:"element",ajax:{url:s.opt.selectBox[2].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[3].id).select2({placeholder:s.opt.selectBox[3].placeholder,width:"200px",minimumInputLength:1,ajax:{url:s.opt.selectBox[3].path,dataType:"json",quietMillis:200,data:function(t,e){return{term:t,page:e}},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})}}),r(s.opt.phoneBox),$("."+s.opt.updateFormClass).each(function(){var e,r=$(this).attr("id"),i=$(this).attr("action"),o=$(this).closest("."+s.opt.formWrapperClass),n=$("."+s.opt.staticValueClass,o),l=$("."+s.opt.descriptionClass,o),c=$("."+s.opt.editableClass,o),u=$("."+s.opt.closeButtonClass,o);s.forms[r]=t.factory(r,i),s.forms[r].refrashable=$("."+s.opt.editButtonClass,o).hasClass("no-refresh")?!1:!0,s.forms[r].$form=$(this),s.forms[r].$wrapper=o,s.forms[r].$staticValue=n,s.forms[r].$description=l,s.forms[r].$editable=c,s.forms[r].refreshState(),$(this).off("submit"),$(this).on("submit",function(){return a.show(),window.FormData&&"upload"in $.ajaxSettings.xhr()?(e=new FormData(this),s.forms[r].pushData(e,r)):(e=$(this).serialize(),s.forms[r].pushData(e,r)),!1}),u.on("click",function(){return c.removeClass(s.opt.formCurrentClass),s.forms[r].refreshState(),!1}),$("."+s.opt.editButtonClass,o).on("click",function(){return s.forms[r].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[r].refreshState(),$(document).off("click.form"))}),!1})}),$("#"+s.opt.addCompanyButtonId).on("click",function(t){return t.preventDefault(),$.fancybox.open("#"+s.opt.addCompany.modalId),!1})})},e}(); \ No newline at end of file +var EXPO=EXPO||{};EXPO.profile?console.warn("WARNING: EXPO.profile is already defined!"):EXPO.profile=function(){function t(){}var e={};e.opt={updateFormClass:"update-profile-form"},e.lang={};{var a;EXPO.common}return t.prototype={getajax:function(t){var e=this;t||(t=""),$.ajax({type:"POST",url:e.ajaxPath,data:t,processData:!1,contentType:!1,success:function(t){e.pullHandler(t),$("#wait-ajax").fadeOut()}})},pushData:function(t,e){var a=this.pushHandler,s=t;this.formData="string"!=typeof s?s:JSON.parse('{"'+decodeURI(s).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}'),this.formId=e,"function"==typeof a?(this.formData=a(t,e),this.getajax(t),$("#wait-ajax").show()):(this.getajax(t),$("#wait-ajax").show()),console.log("formData type"),console.log(typeof s)},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)},fulfillInputs:function(){var t=this;for(input in t.formData)$("#id_"+input,$("#"+t.formId)).length>0&&$("#id_"+input,$("#"+t.formId)).value(t.formData[input]),$("#static-"+input).length>0&&$("#static-"+input).html()},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,r=e;if("function"!=typeof t[r])throw{name:"Error",message:r+"doesen't exist"};return"function"!=typeof t[r].prototype.pushData&&(t[r].prototype=new t),s=new t[r](a)},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.name_form=function(t){this.pullHandler=function(t){t.success&&($("#static-name-value").text($("#id_last_name").val()+" "+$("#id_first_name").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},this.ajaxPath=t},t.work_form=function(t){this.pullHandler=function(t){var e,a=$.trim($("#s2id_id_company").text());t.success&&(e=$("#id_position").val(),""!=a&&(e+=" "+EXPO.profile.opt.lang.workIn+" "+a),$("#static-work-value").text(e),$(".p-editable").removeClass("pe-current"),this.refreshState())},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.web_page_form=function(t){this.pullHandler=function(t){if(t.success){var 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.about_form=function(t){this.pullHandler=function(t){t.success&&($("#static-about-value").text($("#id_about").val()),$(".p-editable").removeClass("pe-current"),this.refreshState())},$("#id_about").on("keypress",function(t){var e=t.keyCode?t.keyCode:t.which;return"13"==e?!1:void 0}),this.ajaxPath=t},t.social_form=function(t){var e,a,s,r,i=this;this.pullHandler=function(t){if(t.success){for(item in i.formData)s=$("#id_"+item),""!=$.trim(i.formData[item])&&s.length?(e=$("#img-"+item),e.length&&(r=$.trim(s.val()),e.parent("a").length?(e.parent("a").attr("href",r),a=e.attr("src").replace("_hover",""),e.attr("src",a)):(a=e.attr("src").replace("_hover",""),e.attr("src",a),e.wrap('')))):s.length&&(e=$("#img-"+item),e.parent("a").length&&(a=e.attr("src").replace(".png","_hover.png"),e.attr("src",a),e.unwrap()));$(".p-editable").removeClass("pe-current")}},this.pushHandler=function(t,e){var a=$("#"+e).serialize();return JSON.parse('{"'+decodeURI(a).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')},this.ajaxPath=t},t.avatar_form=function(t){var e,a=this,s=$("#id_avatar"),r=($("#pic-edit-photo"),$("#pick-block")),i=$("img",r);this.pullHandler=function(t){t.success&&(i.length&&i.attr("src",t.url),$(".p-editable").removeClass("pe-current"))},this.pushHandler=function(t){"string"!=typeof t?(a.getajax(t),$("#wait-ajax").show()):(e=$("#"+a.formId),e.off("submit"),e.trigger("submit"))},s.on("change",function(){$(this).parents("form").submit()}),this.ajaxPath=t},t.create_company_form=function(t){var e=this,s="pwf-field";this.pullHandler=function(t){if(t.success)location.reload();else for(var r in t.errors)t.errors.hasOwnProperty(r)&&($('input[name="'+r+'"], select[name="'+r+'"]',e.$form).closest("."+s).addClass("err"),a.hide())},this.ajaxPath=t},e.init=function(e){$.extend(this.lang,e.lang),$.extend(this.opt,e);var s=this,r=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({width:"element",placeholder:s.opt.selectBox[1].placeholder,maximumSelectionSize:3}),$("#"+s.opt.selectBox[2].id).select2({placeholder:s.opt.selectBox[2].placeholder,width:"element",ajax:{url:s.opt.selectBox[2].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[3].id).select2({placeholder:s.opt.selectBox[3].placeholder,width:"200px",minimumInputLength:1,ajax:{url:s.opt.selectBox[3].path,dataType:"json",quietMillis:200,data:function(t,e){return{term:t,page:e}},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})}}),r(s.opt.phoneBox),$("."+s.opt.updateFormClass).each(function(){var e,r=$(this).attr("id"),i=$(this).attr("action"),o=$(this).closest("."+s.opt.formWrapperClass),n=$("."+s.opt.staticValueClass,o),l=$("."+s.opt.descriptionClass,o),c=$("."+s.opt.editableClass,o),p=$("."+s.opt.closeButtonClass,o);s.forms[r]=t.factory(r,i),s.forms[r].refrashable=$("."+s.opt.editButtonClass,o).hasClass("no-refresh")?!1:!0,s.forms[r].$form=$(this),s.forms[r].$wrapper=o,s.forms[r].$staticValue=n,s.forms[r].$description=l,s.forms[r].$editable=c,s.forms[r].refreshState(),$(this).off("submit"),$(this).on("submit",function(){return a.show(),window.FormData&&"upload"in $.ajaxSettings.xhr()?(e=new FormData(this),s.forms[r].pushData(e,r)):(e=$(this).serialize(),s.forms[r].pushData(e,r)),!1}),p.on("click",function(){return c.removeClass(s.opt.formCurrentClass),s.forms[r].refreshState(),!1}),$("."+s.opt.editButtonClass,o).on("click",function(){return s.forms[r].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[r].refreshState(),$(document).off("click.form"))}),!1})}),$("#"+s.opt.addCompanyButtonId).on("click",function(t){return t.preventDefault(),$.fancybox.open("#"+s.opt.addCompany.modalId),!1})})},e}(); \ No newline at end of file