2012-04-20 14 views
2

したがって、私が構築したCardboardアプリケーションで条件付きで列をオン/オフできるようにします。私には2つの問題があります。 configの 'columns'属性を使用しようとしましたが、属性に基づいてすべての列が表示されるようにするためのデフォルト値を見つけることができません。設定オブジェクトに 'columns'を含めない(nullを試しましたが、[]がNO列を表示していれば)デフォルトの動作です。ラリーカードボードUIの可視列を条件付きで調整する

デフォルト値がない場合は、設定オブジェクトの値を変更するだけの簡単な方法がありますか、 'if-else'ステートメントで変数全体をカプセル化する必要がありますか? 最後に、手動で文字列を作成する必要がある場合、私はポートフォリオオブジェクトにある既存のカスタム属性(ドロップリスト)の値を解析する必要があります。私は集会を得ることができない。各ループの構文は正しい。誰かが簡単な例を持っていますか? ありがとう Dax - Autodesk RallyのオンラインSDKの例で、2番目の部分(「ADSK Kanban State」というポートフォリオ品目のカスタム属性を想定し、値をコンソールに出力する)に変更することができます。

  var showAttributeValues = function(results) { 
     for (var property in results) { 
      for (var i=0 ; i < results[property].length ; i++) { 
       console.log("Attribute Value : " + results[property][i]); 
      } 
     } 
    }; 

    var queryConfig = []; 
    queryConfig[0] = { 
      type: 'Portfolio Item', 
      key : 'eKanbanState', 
      attribute: 'ADSK Kanban State' 
    }; 
    rallyDataSource.findAll(queryConfig, showAttributeValues); 

答えて

1

rally.forEachは第1引数の各キーをループし、毎回第2引数として渡された関数を実行します。 オブジェクトまたは配列のどちらでも動作します。アレイの場合

var array = [1]; 
rally.forEach(array, function(value, i) { 
    //value = 1 
    //i = 0 
}); 

オブジェクトの場合:あなたはきちんとしたボードを構築しているよう

var obj = { 
    foo: 'bar' 
}; 
rally.forEach(obj, function(value, key) { 
    //value = 'bar' 
    //key = 'foo' 
}); 
+0

これで私はちょっと遅いと思いますが、私はもっとはっきりしています。 Portfolio Itemsには「ADSKKanbanState」というカスタム属性があります。これは文字列のドロップダウンリストです。私は操作する文字列配列を作成するために、その属性を反復し、段ボールの設定オブジェクトの '列'パラメータに渡したいと思います。それをどのようにコード化できますか? – Dax

+0

上記を参照してください。質問の第2部分の例を必要とする人を示すためのコードを追加しましたが、最初の部分でまだ助けが必要です。 – Dax

0

が鳴ります。あなたは毎回表示する列のリストをボードに提供しなければなりません(古いボードを破棄して新しいボードを作成する)。

例の設定:

{ 
    attribute: 'ScheduleState' 
    columns: [ 
     'In-Progress', 
     'Completed' 
    ] 
} 
+0

私がしたいことは、あなたが記述しているように(毎回ボードの作成/破棄)、動的に構築する列パラメータに変数を渡すことです。私は表示したいすべての列を明示的に述べている限り、それを働かせています。私が渡すことができるデフォルト値があることを期待していたのは、基本的に列パラメータが設定オブジェクトにないかのように無視されるということでした。 Cardboardオブジェクトが無視するクエリーparamに空の文字列 ""を渡すのと同様です。 – Dax

1

私は動的に「結果」コレクションの上にあなたのクエリによって作成され、サンプルshowAttributeValuesコールバックに渡さを使用して設定を構築するためのコードは次のように多くを見に行くされていることを考えます示すように、動的に表の列のセットを構築する例:

Rally App SDK: Is there a way to have variable columns for table?

私は、次のようなもの想定しています:

0123を
  // Dynamically build column config array for cardboard config 

      var columnsArray = new Array(); 

      for (var property in results) { 
       for (var i=0 ; i < results[property].length ; i++) { 
        columnsArray.push("'" + results[property][i] + "'"); 
       } 
      } 

      var cardboardConfig = { 
      { 
       attribute: 'eKanbanState', 
       columns: columnsArray, 
       // .. rest of config here 
      } 

      // .. (re)-construct cardboard... 
関連する問題