MWF.xDesktop.requireApp("process.Xform", "$Module", null, false);
/** @class SmartBI 统计图表组件。
* @o2cn 统计图表组件
* @example
* //可以在脚本中获取该组件
* //方法1:
* var div = this.form.get("name"); //获取组件
* //方法2
* var div = this.target; //在组件事件脚本中获取
* @extends MWF.xApplication.process.Xform.$Module
* @o2category FormComponents
* @o2range {Process|CMS|Portal}
* @hideconstructor
*/
MWF.xApplication.process.Xform.SmartBI = MWF.APPSmartBI = new Class({
Extends: MWF.APP$Module,
_loadUserInterface: function(){
if (!this.json.smartbiresource || this.json.smartbiresource==="none") this.node.destroy();
else{
var url;
var value = this.json.smartbiresource;
var SmartBIAction = o2.Actions.load("x_custom_smartbi_assemble_control");
var addressUri = SmartBIAction.ResourceAction.address;
if(addressUri){
SmartBIAction.ResourceAction.address(value,function(json){
if(json.data.value !==""){
url = json.data.value;
url = url +"&showtoolbar="+this.json.smartbidisplaytoolbar+"&showLeftTree="+this.json.smartbidisplaylefttree;
}
}.bind(this),null,false)
}else{
var address = SmartBIAction.ResourceAction.action.getAddress();
var uri = SmartBIAction.ResourceAction.action.actions.open.uri;
var url = uri.replace("{id}", encodeURIComponent(value));
url = url +"?showtoolbar="+this.json.smartbidisplaytoolbar+"&showLeftTree="+this.json.smartbidisplaylefttree;
url = o2.filterUrl(address+url);
}
this.iframe = new Element("iframe",{
src:url,
frameborder:"0",
scrolling:"auto"
}).inject(this.node,"after");
var _properties = this.json.properties||{};
this.node.destroy();
this.node = this.iframe.setStyles({
"width":"100%",
"height":"100%",
"min-height":"300px",
"min-width":"300px"
});
this.node.set(_properties)
}
}
});
source