service.hrmbrowser.result_wev8.js
2.52 KB
define("mService/hrmbrowser/result",["mUtil"],function(a){function s(e,t,i,a){this.$page=e,this.selectedData=[],this.$resultWrap=$(".result-wrap",e),this.$okBtn=$(".ok-btn",e),this.success=t,this.closeCallback=i,this.isReady=!1,this.initSelectedIds="",this._parentResult=a}return s.prototype={addSelectedData:function(e){this.selectedData.push(e)},indexOfSelectedData:function(e){for(var t=-1,i=0;i<this.selectedData.length;i++)if(this.selectedData[i].id==e){t=i;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="",i=0;i<e.selectedData.length;i++)t+=e.selectedData[i].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=a.jionActionUrl("com.api.mobilemode.web.mobile.browser.HrmBrowserAction","action=getSelectedDatas");a.getJSON(t,{selectedIds:e},function(e){var t=e.datas;$.each(t,function(e,t){s.innerAdd(t)}),i(),s.isReady=!0})}else i(),s.isReady=!0;function i(){s.$okBtn.click(function(){for(var e="",t="",i=s.selectedData,a=0;a<i.length;a++)e+=i[a].id,t+=i[a].lastname,a!=i.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 i=this;i.addSelectedData(e);var a=e.id;$(".wev-table-view-cell[data-id='"+a+"']",i.$page).addClass("selected");var s='<div data-id="'+a+'">',n=e.messagerurl;""!=n?s+='<img src="'+n+'">':s+="<div>"+e.shortname+"</div>";s+="</div>";var r=$(s).css("opacity","0");i.$resultWrap.append(r),t&&r[0].scrollIntoView(!1),setTimeout(function(){r.css("opacity","1")},1),r.click(function(){i.remove(e)}),i.refreshOkBtn()},remove:function(e){var t=this,i=e.id;$("div[data-id='"+i+"']",t.$resultWrap).remove(),$(".wev-table-view-cell[data-id='"+i+"']",t.$page).removeClass("selected"),t.removeSelectedData(i),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 i=this.success;i&&i(e,t);var a=this.closeCallback;if(a&&a(),""!=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 i;-1!=(i=n.indexOf(t))&&n.splice(i,1),20<=n.length&&n.pop(),n.unshift(t)}),localStorage.setItem(s,JSON.stringify(n))}}},function(e,t,i,a){return new s(e,t,i,a)}});