TabBar_wev8.js 3.81 KB
define("TabBar_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType} {@if isFixedTop}wev-fix-top{@/if}">    {@each tabs as tab,index}    <a class="wev-tabbar-item {@if index == 0}wev-tabbar-active{@/if} ${tab.itemClass} {@if isFixedTop}wev-fix-top{@/if}" data-container="${pageid}_content" data-rel="auto" data-ajax="${tab.dataAjax}" data-classpage="tabpanel" href="${tab.href}" data-formdata="${tab.queryString}">\t\t\t{@if isFixedTop}<div class="wev-ellipsis">{@/if}\t\t\t\t<span class="wev-tabbar-icon">\t\t\t\t\t<img class="icon-normal" src="${tab.icon.normal}"/>\t\t\t\t\t<img class="icon-active" src="${tab.icon.active}"/>\t\t\t\t</span>\t\t\t\t<span class="wev-tabbar-label" style="${tab.style}">${tab.text}</span>\t\t\t{@if isFixedTop}</div>{@/if}\t\t\t{@if tab.remind}\t\t      \t<span class="wev-badge" data-index="${index}" {@if tab.apiid}data-api="${tab.uuid}_${tab.apiid}"{@/if}></span>\t\t    {@/if}\t\t</a> {@/each}</div>'}),define(["mUtil","Component"],function(l,i){return i.init(function(t){var a={};i.super(this,t),this.type="TabBar",this.tpl=this.type+"_html",this.css=this.type+"_css";var p=this.viewModel={tabs:[],badge:null,isFixedTop:!1};this.beforeMount=function(){p.pageid=this.$container.attr("id"),p.remindApis=[],p.tabs.forEach(function(t){var a,i=t.icon,e=!i||l.isObject(i)&&!i.normal&&!i.active;t.remind&&t.remindapi&&t.remindapi.api&&(t.uuid=t.remindapi.uuid=l.UUID(),t.apiid=t.remindapi.api.id,p.remindApis.push(t.remindapi),delete t.remindapi),t.itemClass=e?"wev-tabbar-noimg":i.normal&&i.active&&i.normal!=i.active?void 0:"wev-tabbar-singleimg",t.icon=(a={normal:"",active:""},e?a:l.isString(i)?{normal:i,active:i}:(a.normal=i.normal||i.active,a.active=i.active||i.normal,a))}),!0===p.badge&&(p.badge=l.getActionUrl(this.type,{action:"getBadge",mec_id:this.id},this.pageid));var i=p.tabs.filter(function(t){return t.permission});if(i.length){var t=i.map(function(t){return t.permission});return this.judgePermission(t).done(function(t){"1"==t.status?t.data.forEach(function(t,a){t||p.tabs.splice(p.tabs.indexOf(i[a]),1)}):p.tabs=[]}).fail(function(){p.tabs=[]})}},this.mounted=function(){var d=this,o=this.$container,s=this.$el,n=p.isFixedTop?"page-header":"page-footer",c=o.children(".page-content"),t=s.children(".wev-comp-"+this.type);this.$once("moveComponent",function(){var t=o.children("."+n),a=c.children(".page-scroller");t.length||(t=$('<div class="'+n+'"></div>'),p.isFixedTop&&c.before(t)||c.after(t)),s.parent().hasClass(n)||p.isFixedTop&&t.prepend(s).show()||t.append(s).show(),a.addClass("tabpanel in").attr("data-form","show_hide").siblings(".tabpanel").each(function(){this.firstintoBind=!1});var i=p.isFixedTop?"header-height":"footer-height",e=p.isFixedTop?"top":"bottom";t.height()?(t.attr(i,t.height()),c.css(e,t.height()+"px")):t.attr(i)?c.css(e,t.attr(i)+"px"):c.css(e,"0px")}),t.on("click",".wev-tabbar-item",function(){var t=$(this),a=t.index(),i=p.tabs[a],e=o.children(".page-header"),s=o.children(".page-footer"),n=o.children(".page-header, .page-footer").children("abbr, .wev-topsearch-nav").not('[data-type="TabBar"]');if(0===a?n.show():n.hide(),c.css("top",e.height()+"px"),c.css("bottom",s.height()+"px"),t.hasClass("wev-tabbar-active")){var r=t.attr("href").replace("#page_","").replace("_scroller","");Mobile_NS.refresh(r)}else t.addClass("wev-tabbar-active").siblings(".wev-tabbar-item.wev-tabbar-active").removeClass("wev-tabbar-active");l.eval(i.click,d.pageid)}),a.loadBadge()},this.refreshBadge=function(){a.loadBadge()},this.judgePermission=function(t){var a=l.getActionUrl(this.type,{action:"judgePermission"},this.pageid);return $.ajax({url:l.completeUrl(a),data:{perms:JSON.stringify(t)},type:"POST",dataType:"json"})},a.loadBadge=function(){if(null!=p.badge){var a=$(".wev-badge",this.$el);require(["remindHelper"],function(t){t.renderBadge(p.badge,a,p.remindApis)})}},a.loadBadge=a.loadBadge.bind(this)})});