RSSList_wev8.js 2.64 KB
define("RSSList_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}">\t$${loading.content}\t<div class="wev-table-view-wrapper">\t\t<ul class="wev-table-view"></ul>\t</div></div>'}),define(["mUtil","Component","wev-loading"],function(h,i,l){return i.init(function(e){i.super(this,e);var t={};this.type="RSSList",this.tpl=this.type+"_html",this.dataload=!0,this.components={loading:new l({delay:300,animation:1})};var v=this.viewModel={source:"",size:-1,readonly:!1,showset:{imgfield:"",titlefield:"{title}",otherfields:["{description}"]},onload:function(){}};this.mounted=function(){var e=this;a.refreshList(function(){h.eval(v.onload,e.pageid),h.trigger("dataload",e.pageid,e.id)})},this.reload=function(e,i){h.isObject(e)&&$.extend(t,e),a.refreshList(i)};var r=0,a={refreshList:function(e){if(v.source){var i=this.components.loading;i.setRefs(this.$comp,"wev-refreshing"),i.show(),a.loadData(function(){i.hide(),h.isFunction(e)&&e.call(null)})}else{var t=$(".wev-table-view",this.$el);h.getLabel(5295,"未配置订阅源",function(e){t.html('<div class="wev-message error">'+e+"</div>")})}},loadData:function(n){var e=this.$el,d=$(".wev-table-view",e),o=(new Date).valueOf();r=o,$(".wev-no-data",this.$el).hide();var i=h.getActionUrl(this.type,{action:"getItemsWithJSON",url:h.compressByLZ(v.source),size:v.size},this.pageid);h.getJSON(i,t,function(e){if(o==r){var i=e.items,t=v.showset,a={};a.datas=function(e,i,t,a){for(var l=[],s=0;s<e.length;s++){var n={},d=e[s],o="javascript:void(0);";v.readonly||(o=d.link),n.dataurl=o,n.imgFieldValue=c(i,d),n.titleFieldValue=c(t,d);var r=[];a.forEach(function(e){var i=c(e,d);i.length&&r.push(i)}),n.otherFieldValue=r,n.readonly=v.readonly,l.push(n)}return l}(i,t.imgfield,t.titlefield,t.otherfields);var l=["{@each datas as d}",'<li class="wev-table-view-cell wev-media">','<a class="wev-navigate-right{@if d.readonly} wev-data-readonly"{@else}" data-ignoreviewimg{@/if} href="$${d.dataurl}" data-ajax="false" data-reload="true">','<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>","</li>","{@/each}"].join(""),s=h.parseTemplate(l,a);d.html(s),"function"==typeof n&&n.call(this)}},function(e){h.getLabel(5283,"解析订阅源时出现异常,请检查订阅源是否正确",function(e){d.html('<div class="wev-message error">'+e+"</div>")}),h.isFunction(n)&&n.call(this)})}};function c(e,i){for(var t in i){var a=new RegExp("{"+t+"}","g");e=e.replace(a,i[t])}return e}a.refreshList=a.refreshList.bind(this),a.loadData=a.loadData.bind(this)})});