1

アコーディオン コンテナー内のタブ パネル コンテナー内に機能レベルのポートフォリオ アイテムを表示するいくつかのラリーグリッドを作成しています。

残念ながら、rallypercentdonepopoverplugin プラグインを含めると、コンテナーが最初にレンダリングされるときに rallygrid が非表示になると問題が発生します。

  1. タブ パネルを使用すると、rallypercentdonepopoverplugin が含まれていて、それを使用するフィールドが表示されている場合、非アクティブなパネルの rallygrid がレンダリングされるときにクラッシュします。
  2. アコーディオン パネルを使用して、最初にレンダリングされたときにグリッドが開いていない場合 (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;
},
4

1 に答える 1

1

このレポのアプリで問題を再現しました。rallypercentdonepopoverpluginを含むグリッドがアコーディオン内のパネル内にある場合、ポップアップは機能しません。動作させるためのトリックがあるかもしれませんが、バグを提出しました。

于 2014-03-27T16:17:12.707 に答える