Loading.js 1.78 KB
define(["i18n"],function(e){var i=function(i){var t={text:e.LOADING_DATA,clsName:"wev-refresh-loading",animation:!1,delay:0,btn:"",label:"",onclick:function(){}};$.extend(!0,t,i),!0!==t.btn&&1!==t.btn||(t.clsName="wev-more-loading",t.btn=e.LOAD_MORE,t.label=e.NO_DATA),this.tmpl=" <div id='${uid}'>     <div class='wev-loading ${clsName.trim()}'><span>${text.trim()}</span></div>     {@if btn}<div class='wev-more-btn'><span>${btn}</span></div>{@/if}     {@if label}<div class='wev-loading-tip'>${label}</div>{@/if} </div>",this.props=t,this.setRefs=function(i,e){t.refs={el:i,clsName:e}},this.mounted=function(){(function(){if(!t.btn)return;var n=this,i=this.$el;i.find(".wev-more-btn").on("click",function(){$(this).hide(),i.find(".wev-loading-tip").hide(),n.show(),t.onclick(function(i,e){n.hide(i,e)})})}.call(this),t.animation)&&this.$el.find(".wev-loading").on("webkitAnimationEnd animationend",function(){1===t.animation&&$(this).hasClass("wev-hide")&&$(this).hide()})}};return i.prototype={toggle:function(i){if(i)return this.show();var e=[].slice.call(arguments).slice(1);return this.hide.apply(this,e)},show:function(){var i=this.props,e=i.refs,n=this.$el.find(".wev-loading");n.show(),i.btn&&this.$el.find(".wev-more-btn").hide(),i.delay&&n.data("timestamp",(new Date).valueOf()),1===i.animation&&n.removeClass("wev-hide").addClass("wev-show"),e&&e.el&&$(e.el).addClass(e.clsName)},hide:function(i,e){var n=this.props,t=this.$el,a=t.find(".wev-loading");if(n.btn&&t.find(".wev-more-btn").toggle(i),n.label&&t.find(".wev-loading-tip").toggle(e),!n.delay||!n.animation)return a.hide();var s=this,l=n.refs;if((new Date).valueOf()-a.data("timestamp")<n.delay)return setTimeout(function(){s.hide()},100);1===n.animation&&a.addClass("wev-hide").removeClass("wev-show"),l&&l.el&&$(l.el).removeClass(l.clsName)}},i});