Здраствуйте, помогите пожалуйста понять причину. Используется cairngorm2, так вот в одном из случает добавления почему то в Commands дергается несколько раз, а иногла и один execute, хотя вроде как только один dispatchEvent передаем.
Привожу примеры:
View

Код AS1/AS2:
private function saveObject():void{
if (this.edit)
{
targetValueOb.data = inputName.text;
targetValueEvent=new TargetValueEvent(TargetValueControl.EDIT_TARGET_VALUE, targetValueOb, ownerTarget);
}
else
{
targetValueOb.data = inputName.text;
targetValueOb.targetId = ownerTarget.id;
targetValueEvent=new TargetValueEvent(TargetValueControl.ADD_TARGET_VALUE, targetValueOb, ownerTarget);
}
CairngormEventDispatcher.getInstance().dispatchEvent(targetValueEvent);
close();
}
Command

Код AS1/AS2:
public class TargetValueCommand extends SequenceCommand implements Command, Responder
....
override public function execute(event:CairngormEvent):void
{
var delegate : TargetValueDelegate = new TargetValueDelegate(this);
try
{
targetValueEvent = TargetValueEvent(event);
//nextEvent = targetValueEvent.nextChainedEvent;
}
catch(err:Error)
{
targetValueEvent=null;
}
if(targetValueEvent!=null)
{
myRequest = event.type;
switch(event.type)
{
case TargetValueControl.LOAD_TARGET_VALUE:
delegate.loadTargetValue();
break;
case TargetValueControl.ADD_TARGET_VALUE:
delegate.addTargetValue(targetValueEvent.targetValueOb);
break;
case TargetValueControl.EDIT_TARGET_VALUE:
delegate.editTargetValue(targetValueEvent.targetValueOb);
break;
case TargetValueControl.REMOVE_TARGET_VALUE:
delegate.removeTargetValue(targetValueEvent.targetValueOb)
}
}
}
Спасибо.
Добавлено через 44 минуты
может это имеет значение, view в котором можем делать сохранение вызывается из таблицы при двойном клике на поле, так вот замечено что когда первый раз вызываем его то добавляет 1 элемент, когда второй то 2 элемента, когда третий - 3 и тд
Привожу пример создания view:

Код AS1/AS2:
private function targetValueCED(e:Event):void{
var popUp:TargetValueView = TargetValueView(PopUpManager.createPopUp(this,TargetValueView,true));
popUp.targetOb = targetDataGrid.selectedItem as TargetVO;
popUp.x=this.width/2 - popUp.width/2 + 40;
popUp.y=this.height/2 - popUp.height/2;
}