Steps_wev8.js
1.83 KB
define("Steps_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" > <div class="wev-steps wev-steps-{@if direction}${direction}{@else}horizontal{@/if}"> {@each steps as step, index} <div class="wev-steps-item wev-steps-{@if step.status}${step.status}{@else}wait{@/if}"> <div class="wev-steps-item-tail"></div> <div class="wev-steps-item-icon"><span>${++index}</span></div> <div class="wev-steps-item-content"> <div class="wev-steps-item-title">$${step.title}</div> <div class="wev-steps-item-desc">$${step.desc}</div> </div> </div> {@/each} </div></div>'}),define(["mUtil","Component"],function(mUtil,Component){var Steps=function(options){Component.super(this,options),this.type="Steps",this.tpl=this.type+"_html",this.css=this.type+"_css";var vm=this.viewModel={direction:"horizontal",steps:[]};this.current=-1,this.beforeMount=function(){var that=this,getStatus=function(condition){try{for(var regex=new RegExp("(\\w+\\s*)=(\\s*\\w+)"),m;null!=(m=regex.exec(condition));)condition=condition.replace(m[0],m[1]+"=="+m[2]);return eval(condition)}catch(t){return!1}};vm.steps.forEach(function(t,e){!0!==getStatus(t.condition)&&"current"!=t.status||(that.current=e)}),vm.steps.forEach(function(t,e){var s=t.status||"wait";-1!=that.current&&(s=that.current==e?"current":that.current>e?"finish":"wait"),t.status=s}),that.current++},this.mounted=function(){},this.setCurrent=function(i){if(!isNaN(i)){this.current=i,i--;var n=this.$el,r="wev-steps-";vm.steps.forEach(function(t,e){var s=i==e?"current":e<i?"finish":"wait";n.find(".wev-steps-item").eq(e).removeClass(r+t.status).addClass(r+s),t.status=s})}},this.setNext=function(){this.setCurrent(this.current+1)},this.setPrev=function(){this.setCurrent(this.current-1)}};return Component.init(Steps)});