接口作用
提供报表加载等待时的动画效果,可以重写这个加载函数来实现自定义的动画。
接口内容
$.extend(FR, {
HtmlLoader : function(){
return {
loadingEffect : function(cfg) {
}
}
}()
});
默认实现
$.extend(FR, {
HtmlLoader: function () {
return {
loadingEffect: function (cfg) {
var el = cfg.el;
var config = $.extend({
show: false,
overflow: false
}, cfg || {});
var $indicator = el.data('indicator');
if (!$indicator) {
$indicator = $("<div class='load-indicator'></div>");
$("<div class='loading-ec-indicator'></div>").appendTo($indicator);
$("<div class ='text-indicator' style='font-size:11pt'>" + FR.i18nText("FR-Basic_Loading") + "</div>").appendTo($indicator);
var o = {
position: 'fixed',
margin: 'auto',
left: '0px',
right: '0px',
top: '0px',
bottom: '0px',
height: '64px',
width: '64px'
};
$indicator.css(o);
el.data('indicator', $indicator);
}
if (!config.show) {
$indicator.detach();
//加载完再auto
el.css('overflow', 'auto');
el.css('overflow', config.overflow || 'auto');
} else if (config.show && !$indicator.is(':visible')) {
el.append($indicator);
//如果加载动画的高度宽度小于当前报表块的展示区域, 会出现滚动条, 所以要hidden
el.css('overflow', 'hidden');
}
}
}
}()
});
注册方式
需要使用JavaScriptFileHandler接口,引入自定义的JavaScript文件,然后在xml中注册Handler的实现类。
<extra-core>
<JavaScriptFileHandler class="com.fr.plugin.xxx.youclassname"/>
</extra-core>
插件示例
FR.HtmlLoader.loadingEffect = function(cfg) {};
源码地址:http://cloud.finedevelop.com:2015/projects/FS/repos/plugins/browse/plugin-page-loading