2012-12-28 61 views
1

我使用Rally SDK 2.0創建了一些具有一些自定義量表的應用程序。這需要一些自定義HTML。我以示例中的rake-compiled app.html文件爲起點。使用JustGage來測量我的量表。這是我的啓動功能。如何在Rally SDK 2.0中添加自定義HTML?

launch: function() { 
       var info = this.getStoriesForProject(); //Gets some aggregate info 

       $('#header label').html(info.Title); 
       var g = new JustGage({ 
        id: "devgauge", 
        value: info.DevPercent, 
        levelColors: ['#f80404', '#f8f804', '#50ed0e'], 
        min: 0, 
        max: 100, 
        title: "Dev %" 
       }); 

       this.add('foo'); 

      }, 

然後我在app.html中添加了一些自定義HTML。

enter image description here

現在,如果我運行此無碼「this.add(‘富’)」,應用程序增加了一個新的div在身帶class =「X-容器」,並把我的自定義HTML之外的HTML有效地隱藏它。

如果我使用了「this.add(‘富’),它不會創建DIV CLASS = X容器,它顯示了我的小工具就好了。

什麼是完成我」的正確方法m試圖使用2.0 sdk?我意識到add方法是添加Ext組件,但不知何故調用這個方法會導致我的HTML呈現ok。看看我們在舊SDK中開發的一些應用程序,使用自定義HTML在那些。

回答

1

Ext喜歡知道佈局方面正在發生什麼,如果你不知道如何手動操作dom,經常會感到困惑。通常,如果我們有一些已知的初始佈局,我們通過項目添加它們在th上收集è應用:

Ext.define('My.App', { 
    extend: 'Rally.app.App', 
    items: [ 
     { 
      xtype: 'container', 
      itemId: 'header' 
     }, 
     { 
      xtype: 'container', 
      itemId: 'devguage' 
     } 
    ] 
}); 

內。然後推出可以添加內容到那些像這樣:

this.down('#devguage').add({ 
    //some other component 
}); 

您可以隨時剛落,一路下跌至元素級別雖然還有:

this.down('#header').getEl().dom //the raw html element 

默認情況下,應用程序使用自動佈局,所以任何項目都應該像使用普通html一樣流動。

0

或者,而不是使用的itemId,您可以使用其ID屬性設置容器的元素的ID:

Ext.define('My.App', { 
    extend: 'Rally.app.App', 
    items: [ 
     { 
      xtype: 'container', 
      id: 'header' 
     }, 
     { 
      xtype: 'container', 
      id: 'devguage' 
     } 
    ] 
}); 

生成的HTML元素將使用這些ID,它允許你將它們直接針對您的自己定製渲染。

相關問題