0

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

4

0 に答える 0