2017-10-10 14 views
0

私はpentahoで新しいカスタムコンポーネントを作成しようとしています。これは、私が使用する必要があるすべてのダッシュボードのメニューで、いくつかのボタンとテキスト入力があります。ペンタホカスタムコンポーネントを操作するにはどうすればいいですか?

私は自分のソリューション/ system/pentaho-cdf-dd/resources/custom/componentsに、control.xmlフォルダとcomponent.xmlとcontrol-implementation.jsを持っています。私は、同じフォルダでもControlComponent.jsを持つ、amd-componentsも持っています。

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

あなたの 'content'文字列連結の途中にダブルプラス記号があるエラーを発見しましたが、あなたのHTMLの途中で' NaN'を生成することを離れて、エラーを生成しません...それにもかかわらず、それを修正する価値があります:) –

+0

ありがとう、私は前に答えなかったが、それは失敗していた。 –

答えて

0

jsファイル名に一致するように、component.xml内のタグの名前がcontrolComponentであることを確認します。 RequireJSは、INameタグ値を使用して、Codeタグのsrc属性の代わりにjsファイル名を参照します。

また、ImplementationタグにはsupportsAMD = "true"属性が必要です。

関連する問題