我试图在pentaho中创建一个新的自定义组件。它只是我需要使用的每个仪表板的菜单,带有一些按钮和文本输入。
我的解决方案/ system / pentaho-cdf-dd / resources / custom / components我的ControlComponent文件夹,包含component.xml和control-implementation.js。我也有amd-components,相同的文件夹,但有ControlComponent.js。
在CDE中,我可以使用它,但每次运行我的仪表板时,都会从javascript中获取错误。
define(['cdf/components/BaseComponent', 'cdf/lib/jquery'],
function(BaseComponent, $) {
return BaseComponent.extend({
update: function() {
if(this.htmlObject){
var ph = $("#" + this.htmlObject);
} else{
var ph = $("<div id='ControlDefault'></div>").appendTo("body");
}
var content = '<div id="Control" class="row clearfix">'+
'<div class="col-xs-6-last">'+
'<div>'+
'<div class="row clearfix">'+
'<div class="col-xs-1">'+
'<div id="Left" title="left">'+
+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>';
ph.append(content);
}
});
});
错误是:
require.js:8 Uncaught Error: Script error for:
cde/components/ControlComponent
http://requirejs.org/docs/errors.html#scripterror
at C (require.js:8)
at HTMLScriptElement.onScriptError (require.js:30)
提前致谢。
答案 0 :(得分:0)
检查component.xml中的标记是否命名为controlComponent以匹配您的js文件名。 RequireJS使用IName标记值来引用js文件名而不是Code标记src属性。
此外,Implementation标签需要属性supportsAMD =&#34; true&#34;。