パネルの表示状態を保存しようとしています。Panel は、hbox/flex レイアウトとスプリッターを間に持つ 2 つの子コンテナーで構成されます。
{
xtype:'panel',
layout: {
align: 'stretch',
type: 'hbox'
},
items:[
{
xtype:'container',
title: 'left panel',
flex:1
},
{
xtype:'splitter'
},
{
xtype:'container',
title: 'left panel',
flex:2
}
]
}
私はすでに作業状態マネージャーを持っています。「左側のパネル」にはグリッドが含まれており、グリッドは列の状態をうまく保存しています。状態マネージャーは、次の方法でコントローラーの init 関数から起動します。
var stateProvider=Ext.create('Ext.state.LocalStorageProvider');
Ext.state.Manager.setProvider(stateProvider);
グリッドは、stateId: 'GridState' および stateful:true を設定することにより、フレームワークの標準的なアプローチを使用して状態を保存します。
ただし、ExtJS がメイン レイアウトのフレックス値で同じことを行う方法を理解できません。スプリッターにステートフルとstateIdを設定してみました。イベントなしで、stateEvents: ['move'] で試しました。また、左パネルにステートフルを設定し、stateEvents を使用してサイズを変更しようとしました。最後に、stateEvents: afterlayout の有無にかかわらず、親パネルでステートフルを設定しようとしました。
スプリッターが移動された後にイベントをフェッチできることは知っています。次に、フレックス値をカスタム状態として保存し、レイアウト/レンダリング プロセスのどこかでそれらを手動で探すことができます。
hbox/vbox レイアウトの「スプリッタ位置」/「フレックス値」を格納するための標準的なフレームワーク アプローチは何ですか?