アコーディオン コンテナー内のタブ パネル コンテナー内に機能レベルのポートフォリオ アイテムを表示するいくつかのラリーグリッドを作成しています。
残念ながら、rallypercentdonepopoverplugin プラグインを含めると、コンテナーが最初にレンダリングされるときに rallygrid が非表示になると問題が発生します。
- タブ パネルを使用すると、rallypercentdonepopoverplugin が含まれていて、それを使用するフィールドが表示されている場合、非アクティブなパネルの rallygrid がレンダリングされるときにクラッシュします。
- アコーディオン パネルを使用して、最初にレンダリングされたときにグリッドが開いていない場合 (gridspec で 'collapsed: true' を設定)、% done のポップアップが表示されません。
おそらく、オブジェクトが作成されるタイミングを変更するなど、これを機能させるためのトリッキーな方法はありますか?
私のアプリが必要とするものは次のとおりです。
requires: [
'Rally.data.util.Sorter',
'Rally.data.wsapi.Filter',
'Rally.ui.grid.Grid',
'Rally.data.ModelFactory',
'Rally.ui.grid.plugin.PercentDonePopoverPlugin'
],
gridspec プラグインには以下が含まれます。
plugins: ['rallypercentdonepopoverplugin']
それ以外は、機能レベルのポートフォリオ アイテムを表示する非常に単純なラリーグリッドに加えて、レンダリング中に開くことが想定されていない場合はブール値の 'collapsed: true' だけです。
そして、パネルのシステムをレイアウトするための次のサブルーチン:
_createTabPanel: function() {
var curAccord = this._createAccordian('current');
var pastAccord = this._createAccordian('past');
curAccord.title = 'Upcoming Releases';
pastAccord.title = 'Previous Releases';
var tabPanelSpec = {
xtype: 'tabpanel',
border: 0,
forceFit: true,
activeTab: 0,
minTabWidth: 200,
items: [curAccord, pastAccord]
};
return tabPanelSpec;
},
_createAccordian: function(displayType) {
var gridSpecs = this._getGridSpecs(displayType);
var accordSpec = {
xtype: 'panel',
layout: {
type: 'accordion',
expandedItem: false,
animate: true,
multi: true,
activeOnTop: true
},
items: gridSpecs,
};
return accordSpec;
},