service.hrmbrowser.result_wev8.js 2.71 KB
define("mService/hrmbrowser/result",["mUtil"],function(i){function s(e,t,a,i){this.$page=e,this.selectedData=[],this.$resultWrap=$(".result-wrap",e),this.$okBtn=$(".ok-btn",e),this.success=t,this.closeCallback=a,this.isReady=!1,this.initSelectedIds="",this._parentResult=i}return s.prototype={addSelectedData:function(e){this.selectedData.push(e)},indexOfSelectedData:function(e){for(var t=-1,a=0;a<this.selectedData.length;a++)if(this.selectedData[a].id==e){t=a;break}return t},removeSelectedData:function(e){var t=this.indexOfSelectedData(e);-1!=t&&this.selectedData.splice(t,1)},getSelectedNum:function(){return this.selectedData.length},getSelectedIds:function(){var e=this;if(e.isReady){for(var t="",a=0;a<e.selectedData.length;a++)t+=e.selectedData[a].id+",";return""!=t&&(t=t.substring(0,t.length-1)),t}return e.initSelectedIds},init:function(e){var s=this;if(""!=(s.initSelectedIds=e)){var t=i.jionActionUrl("com.api.mobilemode.web.mobile.browser.HrmBrowserAction","action=getSelectedDatas");i.getJSON(t,{selectedIds:e},function(e){var t=e.datas;$.each(t,function(e,t){s.innerAdd(t)}),a(),s.isReady=!0})}else a(),s.isReady=!0;function a(){s.$okBtn.click(function(){for(var e="",t="",a=s.selectedData,i=0;i<a.length;i++)e+=a[i].id,t+=a[i].lastname,i!=a.length-1&&(e+=",",t+=",");s.onOk(e,t)})}},add:function(e){var t=this;t.isReady&&(t.innerAdd(e,!0),t._parentResult&&t._parentResult.add(e))},innerAdd:function(e,t){var a=this;a.addSelectedData(e);var i=e.id,s={};e.hasOwnProperty("avatar")&&(s=e.avatar),$(".wev-table-view-cell[data-id='"+i+"']",a.$page).addClass("selected");var n='<div data-id="'+i+'">',r=e.headformat||s.headFormat;n+="1"==r||"3"==r?"<div style='background: "+(e.background||s.background)+"; color: "+(e.fontcolor||s.fontColor)+"'>"+(e.shortname||s.shortname)+"</div>":'<img src="'+(e.messagerurl||s.messagerUrls)+'">',n+="</div>";var l=$(n).css("opacity","0");a.$resultWrap.append(l),t&&l[0].scrollIntoView(!1),setTimeout(function(){l.css("opacity","1")},1),l.click(function(){a.remove(e)}),a.refreshOkBtn()},remove:function(e){var t=this,a=e.id;$("div[data-id='"+a+"']",t.$resultWrap).remove(),$(".wev-table-view-cell[data-id='"+a+"']",t.$page).removeClass("selected"),t.removeSelectedData(a),t.refreshOkBtn(),t._parentResult&&t._parentResult.remove(e)},refreshOkBtn:function(){var e=this.getSelectedNum();$("span",this.$okBtn).html(0<e?"("+e+")":"")},onOk:function(e,t){var a=this.success;a&&a(e,t);var i=this.closeCallback;if(i&&i(),""!=e){var s="mobilemode_hrm_history",n=localStorage.getItem(s);n=null==n||""==n?[]:JSON.parse(n);var r=String(e).split(",");$.each(r,function(e,t){var a;-1!=(a=n.indexOf(t))&&n.splice(a,1),20<=n.length&&n.pop(),n.unshift(t)}),localStorage.setItem(s,JSON.stringify(n))}}},function(e,t,a,i){return new s(e,t,a,i)}});