ExtJS 3.1 で Ext.applyIf の動作が変わっています

ExtJSの話。

cookie から Ext.state.Manager が Component の state 情報を読み込むのは、Component のオブジェクトを生成するタイミング。

Ext.Component のinitState()メソッドにおいて。このメソッドはprivate メソッド。

オブジェクト生成後、state 情報を上書きするようにプログラムを記述すると、cookie から読み込んだ情報は失われてしまう。つまりまるでcookie に state 情報は保存されていないかのように動作してしまう。

たとえば以下のような記述の仕方はまずい。

win = new Ext.Window( {
  layout: 'fit',
  closeAction: 'hide',
  plain: true,
  items: iframePanel,
  stateful: true,
  stateId: 'iframe'
});
win.height = 600;
win.width = 800;