NavPanel_wev8.js
5.53 KB
define("NavPanel_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}">\t{@if lite}\t<div class="wev-comp-swipe-wrap">\t\t{@each items as page,pageIndex}\t\t<div class="wev-panel-hide">\t\t\t<ul class="wev-table wev-table-view wev-grid-view">\t\t\t\t{@each page as item,index}\t\t\t\t{@if index % col === 0 }<div>{@/if}\t\t\t\t{@if item.show}\t\t\t\t <li class="wev-table-view-cell">\t\t\t\t <a id="${item.id}" href="${item.url}" data-ajax="${item.dataAjax}" data-reload="true" data-formdata="${item.queryString}">\t\t\t\t <img class="wev-big-icon ${item.iconClass}" src="${item.icon}"/>\t\t\t\t <div class="wev-media-body">\t\t\t\t \t$${item.text}\t\t\t\t </div>\t\t\t\t {@if item.remind}\t\t\t\t <span class="wev-badge" data-index="${index}" {@if item.apiid}data-api="${item.uuid}_${item.apiid}"{@/if}></span> \t\t\t\t {@/if}\t\t\t\t </a>\t\t\t\t </li>\t\t\t\t {@else}\t\t\t\t <li class="wev-table-view-cell"></li>\t\t\t\t {@/if}\t\t\t\t {@if (parseInt(index) + 1) % col === 0 || index == page.length - 1 }</div>{@/if}\t\t\t\t {@/each}\t\t\t</ul>\t\t</div>\t\t{@/each}\t</div>\t<div class="wev-comp-swipe-point" {@if items.length <= 1}style="display:none;"{@/if}>\t\t{@each items as page,index}\t\t<b class="{@if index == 0}curr-point{@/if}"></b>\t\t{@/each}\t</div>\t{@else}\t<div class="wev-page-portal"> {@each categories as d} <div class="portal-category"><div><div class="portal-title"><span>${d.category}</span></div> <div class="portal-square"> \t<ul class="portal-square-inner portal-flex">\t\t\t\t {@each d.items as item}\t\t\t\t\t {@if item.fillIn}\t\t\t\t\t \t <li style="width: calc(${perCol}% / ${col});"></li>\t\t\t\t\t {@else}\t\t\t\t\t \t <li style="width: calc(${perCol}% / ${col});">\t\t\t\t\t\t <a id="${item.id}" href="${item.url}" data-ajax="${item.dataAjax}" data-reload="true" data-formdata="${item.queryString}">\t\t\t\t\t <img class="wev-big-icon ${item.iconClass}" src="${item.icon}"/>\t\t\t\t\t <div class="portal-text">\t\t\t\t\t \t$${item.text}\t\t\t\t\t </div>\t\t\t\t\t {@if item.remind}\t\t\t\t\t <span class="wev-badge" data-index="${index}"></span>\t\t\t\t\t {@/if}\t\t\t\t\t </a>\t\t\t\t\t </li>\t\t\t\t {@/if} \t\t\t\t {@/each}\t\t\t\t </ul>\t\t\t\t </div>\t\t\t\t</div>\t\t\t\t</div> {@/each} </div>\t{@/if}</div>'}),define(["mUtil","Component"],function(h,i){return i.init(function(t){var n={};i.super(this,t),this.type="NavPanel",this.tpl=this.type+"_html",this.css=["swipe_css","grid_css","mService/portal_css"];var f=this.viewModel={lite:!0,row:2,col:4,radius:!1,categories:[],badge:null,callback:{click:function(){}}};this.beforeMount=function(){var a,s,l=[],t=f.categories,n=f.row*f.col,c=f.radius,d=0,o=0,r=!1;if(0==f.categories.length){r=!0;var i={};i.items=f.items,f.categories.push(i)}if(f.lite&&!r){var e=h.getActionUrl("service.MobileCommon",{action:"getUserMecConfig",mecid:this.id});h.ajax(e,function(t){var i=t.data||{};i.status&&1==i.status&&(s=i.result)},{async:!1,dataType:"json"})}var p=s&&h.isArray(s);if(!0===f.badge&&(f.badge=h.getActionUrl(this.type,{action:"getBadge",mec_id:this.id,lite:f.lite,custom:p?s.toString():""},this.pageid)),f.remindApis=[],t.forEach(function(t){for(t.items.forEach(function(t){if(o++,t.iconClass=c?"wev-icon-radius":"",t.remind&&t.remindapi&&t.remindapi.api&&(t.uuid=t.remindapi.uuid=h.UUID(),t.apiid=t.remindapi.api.id,f.remindApis.push(t.remindapi),delete t.remindapi),p){var i=s.indexOf(t.id);-1<i&&(s[i]=t)}else if(r&&(t.show=!0),t.show){t.del=!0,d%n==0&&(a=[],l.push(a)),d++;var e=t.icon;h.isObject(e)&&(t.icon=e.path),a.push(t)}});t.items.length%f.col!=0;)t.items.push({fillIn:!0})}),p&&s.forEach(function(t){if(h.isObject(t)){t.iconClass=c?"wev-icon-radius":"",d%n==0&&(a=[],l.push(a)),d++,t.show=!0,t.del=!0;var i=t.icon;h.isObject(i)&&(t.icon=i.path),a.push(t)}}),f.lite){var m=d<o;if(m||p){var v={icon:"/mobilemode/piclibrary/01-E9_default/more.png",iconClass:c?"wev-icon-radius wev-portal-more":"wev-portal-more",show:!0,text:h.getLabel(131654,"更多"),fillIn:!0};d%n==0&&l.push([]),l[l.length-1].push(v)}for(var u=l.length-1;l[u].length%f.col!=0;)l[u].push({fillIn:!0});f.isUserCustom=p,f.hasMore=m,f.items=l}else f.perCol=100-f.col},this.mounted=function(){var a=this,t=a.$el,e=t.children(".wev-comp-"+a.type);if(e.on("click","li.wev-table-view-cell > a",function(t){if(h.isFunction(f.callback.click)){var i,e=a.id;f.items.every(function(t){if(t.id!=e)return!0;i=t}),f.callback.click.call(a,i)}}),n.loadBadge(),f.lite){if((f.hasMore||f.isUserCustom)&&$(".wev-portal-more",e).parent().on("click",function(){require(["mService"],function(t){t.show("portal",{id:a.id,pageid:a.pageid,title:h.getLabel(383193,"全部应用"),categories:f.categories,items:f.items,remindApis:f.remindApis,col:f.col,customItems:f.customItems})})}),f.items.length<=1)return;var i={continuous:!1,disableScroll:!0,stopPropagation:!1,callback:function(t,i){$(".wev-comp-swipe-point b",e).removeClass("curr-point").eq(t).addClass("curr-point")}},s=this.pageid,l=$("#"+s).hasClass("tabpanel")?s.substr(0,s.lastIndexOf("_")):s;$("#"+l).hasClass("out")&&(i.width=$(window).width()),require(["swipe"],function(){Swipe(e[0],i,function(){t.find(".wev-panel-hide").removeClass("wev-panel-hide")})})}},this.refreshBadge=function(){n.loadBadge()},n.loadBadge=function(){if(null!=f.badge){var t=this.$el.children(".wev-comp-"+this.type),i=$(".wev-badge",t);require(["remindHelper"],function(t){t.renderBadge(f.badge,i,f.remindApis)})}},n.loadBadge=n.loadBadge.bind(this)})});