RobotLegs 2.2.1 のメディエーター注入に関して少し問題があります。
WizardViewMediator が挿入される WizardView があります。
ウィザードを開いたり、編集したり、閉じたりすると、すべて正常に機能します。この問題は、ウィザードが開いていて、ブラウザ ウィンドウのサイズが変更された場合に発生します。特定の時点で、ウィザードは水平スクローラーのサイズ変更を停止します。これが発生すると、RobotLegs はビュー全体がステージに追加され、新しいメディエーターが割り当てられたと見なします。初期化メソッドの新しい呼び出しにより、以前のメディエーターに既にあったすべての状態が失われ、ビューがリセットされます。
スタックは次のとおりです。
test.project.view.wizard::WizardMediator/initialize
robotlegs.bender.extensions.mediatorMap.impl::MediatorManager/initializeMediator
robotlegs.bender.extensions.mediatorMap.impl::MediatorManager/addMediator
robotlegs.bender.extensions.mediatorMap.impl::MediatorFactory/addMediator
robotlegs.bender.extensions.mediatorMap.impl::MediatorFactory/createMediator
robotlegs.bender.extensions.mediatorMap.impl::MediatorFactory/createMediators
robotlegs.bender.extensions.mediatorMap.impl::MediatorViewHandler/handleView
robotlegs.bender.extensions.mediatorMap.impl::MediatorMap/handleView
robotlegs.bender.extensions.viewManager.impl::ContainerBinding/handleView
robotlegs.bender.extensions.viewManager.impl::StageObserver/onViewAddedToStage
flash.display::DisplayObjectContainer/addChild [no source]
mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::createContentPane
mx.core::Container/createOrDestroyScrollbars
mx.core::Container/createScrollbarsIfNeeded
mx.core::Container/createContentPaneAndScrollbarsIfNeeded
mx.core::Container/validateDisplayList
mx.managers::LayoutManager/validateDisplayList
mx.managers::LayoutManager/doPhasedInstantiation
Function/http://adobe.com/AS3/2006/builtin::apply [no source]
mx.core::UIComponent/callLaterDispatcher2
mx.core::UIComponent/callLaterDispatcher
ビューが既に初期化されているかどうかを確認して初期化をスキップしようとしましたが、以前のメディエーターにあったすべての状態が失われ、受け入れられません。
新しいメディエーターの注入を防ぐ方法、または新しいスクロールバーが新しいメディエーターを作成する必要がないことを RobotLegs に明確にする方法についてのアイデア。
また、アプリケーションが開始され、最初にウィザードのサイズが変更されてスクローラーが追加された場合にのみ発生します。
ありがとう、KBC