APIList_wev8.js 7.31 KB
define("APIList_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}">\t<div class="wev-search" {@if normalSearch.hide == true}style="display:none;"{@/if}>\t\t<div class="wev-search-inner">\t\t\t<form action="javascript: void(0)">\t\t\t\t<input type="search" placeholder="${normalSearch.tip}">\t\t\t</form>\t\t\t<div class="wev-placeholder">\t\t\t\t<div class="wev-placeholder-inner wev-ellipsis">\t\t\t\t\t<span class="wev-small-icon wev-icon-search"></span><span class="wev-placeholder-text">${normalSearch.tip}</span>\t\t\t\t</div>\t\t\t</div>\t\t\t<div class="wev-clear-btn"></div>\t\t</div>\t\t {@if btns.length}\t\t<div class="wev-list-btn-container">\t\t\t{@each btns as btn, index}\t\t\t<button id="${btn.id}" data-index="${index}" class="btn">$${btn.text}</button>\t\t\t{@/each}\t\t</div>\t\t {@/if}\t</div>\t$${loading.content}\t<div class="wev-table-view-wrapper">\t\t<ul class="wev-table-view {@if options.selectable}wev-table-check-view{@/if}"></ul>\t\t<div class="wev-error" style="display:none;"></div>\t\t$${moreLoading.content}\t</div></div>'}),define(["mUtil","Component","wev-loading"],function(S,r,t){return r.init(function(e){var l,m,b,y={};r.super(this,e),this.type="APIList",this.tpl=this.type+"_html",this.keysOfSkipedVarParse=["imgfield","titlefield","otherfields"],this.dataload=!0,this.components={loading:new t({delay:300,animation:1}),moreLoading:new t({btn:1,onclick:function(e){y.loadData(e)}})};var k=this.viewModel={apiConfig:{api:{},request:{},response:{}},pageStart:1,pageSize:10,normalview:{imgfield:"",titlefield:"",otherfields:[]},normalSearch:{hide:!1,tip:""},btns:[],swipe:{enable:!0,items:[]},options:{readonly:!1,selectable:!1,showOnePage:!1},onload:function(){},standalone:!0};function s(e){var a,i=e.closest("li.wev-table-view-cell").data("id");return y.state.list.every(function(e,t){return i!==e._rowid||(a=e,!1)}),a}this.beforeMount=function(){k.pageStart=isNaN(k.pageStart)?1:k.pageStart,k.standalone&&k.swipe.items.map(function(e){return e.id=S.UUID(),e})},this.mounted=function(){var e=this;l=this.$comp,b=this.$el.find(".wev-error"),m=l.find(".wev-table-view"),y.refreshList(function(){S.eval(k.onload,e.pageid),S.trigger("dataload",e.pageid,e.id)}),y.initSearch(),y.initBtns(this.pageid),l.on("click.nav","a.wev-navigate-right, .wev-table-checkbox, .wev-file",function(e){var t=$(this),a=s(t)||{},i="img"===e.target.tagName.toLowerCase(),n=t.hasClass("wev-file");if(t.hasClass("wev-table-checkbox")||k.options.readonly&&!i&&!n)return t.closest(".wev-table-view-cell").toggleClass("checked"),e.stopPropagation(),void e.preventDefault();k.options.readonly||k.callback&&S.isFunction(k.callback.click)&&k.callback.click.call({target:this,rowData:a})}).on("click.swipeAction",".btnBox",function(){var t=$(this).attr("id"),a=this,i=s($(this))||{};k.swipe.items.every(function(e){return e.id!==t||(e.click&&e.click.call({target:a,rowData:i}),!1)})})},this.reload=function(e,t){y.state.dynamicParam={},S.isObject(e)&&$.extend(y.state.dynamicParam,e),y.refreshList(t)},this.getCheckedData=function(e){var t=[];m.find(".wev-table-view-cell.checked").each(function(){var e=s($(this));e&&t.push(e)}),S.isFunction(e)&&e(t)},this.toggleData=function(e){k.options.selectable&&m.find(".wev-table-view-cell").toggleClass("checked",e)},y.state={timestamp:0,pageNo:k.pageStart-1,currPage:0,list:[],searchKey:"",dynamicParam:{}},y.initSearch=function(){var t=$(".wev-search",l),a=$("input",t);t.on("click.active",".wev-placeholder",function(e){t.addClass("wev-active").removeClass("wev-inactive"),a.focus()}).on("click.clear",".wev-clear-btn",function(){a.val("").focus().triggerHandler("input"),y.state.searchKey=""}),a.on("blur",function(){this.value||t.removeClass("wev-active").addClass("wev-inactive")}).on("input",function(){t.toggleClass("wev-has-value",!!this.value)}).on("keyup",function(e){13===e.keyCode&&(y.state.searchKey=this.value,y.refreshList(),this.blur())})},y.initBtns=function(t){k.btns.length&&$(".wev-list-btn-container",l).on("click",".btn",function(){$(this);var e=$(this).data("index");S.eval(k.btns[e].click,t)})},y.refreshList=function(a){var i=this,e=this.components,n=e.loading,s=e.moreLoading,t=y.state;t.pageNo=k.pageStart-1,t.currPage=0,t.list=[],n.setRefs(this.$comp,"wev-refreshing"),n.show(),y.loadData(function(e,t){n.hide(),s.hide(e,t),a&&a(),S.canPullToRefresh(i.id)&&e&&require(["pullToRefreshHelper"],function(e){var t=l.closest(".page-content");new e({el:m,container:t.get(0),loadData:y.loadData,loading:i.components.moreLoading})})})},y.loadData=function(h){var p=this,f=y.state,u=(new Date).valueOf();f.timestamp=u,f.pageNo++,f.currPage++,f.pageNo;var w=f.currPage,g=k.pageSize,t={};$.extend(!0,t,S.getPageParam(this.pageid),f.dynamicParam,{pageNo:f.pageNo,pageSize:k.pageSize,searchKey:y.state.searchKey,PAGE_NO:f.pageNo,PAGE_SIZE:k.pageSize,SEARCH_KEY:y.state.searchKey}),require(["apiHelper"],function(e){e.callApi(k.apiConfig,t,function(e){if(u==f.timestamp){var t,a=k.apiConfig.response.formats,i=0;i=a.DATAS?(t=S.getKeyValue(a.DATAS,e),a.TOTAL_SIZE?parseInt(S.getKeyValue(a.TOTAL_SIZE,e)):t.length):(t=[{}],1),t.map(function(e){return e._rowid=S.UUID(),e}),S.concat(f.list,t);var n=["{@each datas as d}",'<li data-id="${d.rowid}" class="wev-table-view-cell wev-media{@if d.checkMode} check-mode{@/if}{@if d.checked} checked{@/if}">','<a class="wev-navigate-right {@if d.readonly}wev-data-readonly{@/if}" href="javascript:void(0);">','<div class="wev-table-checkbox"><i class="wev-css-icon '+(k.options.selectable?"wev-multi-check":"wev-single-check")+'"></i></div>','<div class="wev-media-object wev-pull-left">',"$${d.imgFieldValue}","</div>",'<div class="wev-media-body">',"$${d.titleFieldValue}","{@each d.otherFieldValue as row}",'<div class="wev-ellipsis">',"$${row}","</div>","{@/each}","</div>","</a>","{@if d.swipeContent}",'<div class="wev-slider-handle">$${d.swipeContent}</div>',"{@/if}","</li>","{@/each}"].join(""),s=S.parseTemplate(n,{datas:y.getShowDatas(t,k.normalview)}),l=$(s);1==w&&m.html(""),m.append(l),require(["lazyImgHelper"]);var r=i%g==0?i/g:parseInt(i/g)+1,o=w<r&&!k.options.showOnePage,c=i<=0;b.hide(),h(o,c),S.renderVarParser(k.needParseVar),d=l,v=p.pageid,k.swipe.enable&&0!=k.swipe.items.length&&require(["swipeHelper","css!listSwipe_css"],function(e){d.each(function(){e.swipe($(this).children("a"),v)})})}var d,v},function(e){h(!1,!1),b.html(e).show()})})},y.getShowDatas=function(e,a){var t=$p("_apiListId"),i=$p("_selectListIds"),n=$p("_dataIDKey"),s=t===this.id&&n;return e.map(function(t){return{rowid:(t=JSON.parse(r.replaceMutilLanguage(JSON.stringify(t),S.getUserLanguage())))._rowid,imgFieldValue:S.replaceValAndVarParser(a.imgfield,t),titleFieldValue:S.replaceValAndVarParser(a.titlefield,t),otherFieldValue:a.otherfields.map(function(e){return S.replaceValAndVarParser(e,t)}).filter(function(e){return e}),readonly:k.options.readonly,swipeContent:function(e){if(!k.swipe.enable||0==k.swipe.items.length)return"";var t=['<div class="btnContainer">','<div class="btnContainerInner">',"{@each datas as d}",'<div id="${d.id}" class="btnBox" {@if d.bgcolor}style="background-color:${d.bgcolor}"{@/if}>{@if d.text}${d.text}{@else}<img src="${d.icon}"/>{@/if}</div>',"{@/each}","</div>","</div>"].join("");return S.replaceVal(S.parseTemplate(t,{datas:k.swipe.items}),e)}(t),checkMode:s,checked:s&&~i.split(",").indexOf(t[n])}})},y.refreshList=y.refreshList.bind(this),y.loadData=y.loadData.bind(this),y.getShowDatas=y.getShowDatas.bind(this)})});