how does cancel/unaccept drag-and-drop operation flex 3?


goal:
allow user mislay record tedious quarrel an advanceddatagrid, dropping onto trash-can idol establish user meant around popup warning "ok" "cancel" buttons.



what working:


  • dragging/dropping quarrel onto rabble icon.

  • if user clicks "ok" button, record deleted.

  • if user clicks "cancel" button, operation canceled.



problem:
after user clicks "cancel" symbol popup warning closes, rows adg dragged. i've detected after classification adg, clicking buttress header, user start tedious rows again.



code: (changed uncanny post)



<mx:image source="{trashimage}" buttonmode="true" 
tooltip="drag member here mislay project"
dragdrop="deleteparticipantdrop(event)" dragenter="deleteparticipantenter(event)"
dragexit="deleteparticipantdragexit(event)" top="4" right="122" id="image2" />

// trashimage eventuality handlers:
private duty deleteparticipantenter(event:dragevent):void
{
var component:iuicomponent = iuicomponent(event.currenttarget);
dragcomponent = component;
dragmanager.acceptdragdrop(component);
dragmanager.showfeedback(dragmanager.move);
deleteparticipantdragevent = event;
}

private duty deleteparticipantdrop(event:dragevent):void
{
var selectedkitnum:string = memberrpt.selecteditem.kitnum;
var selectedname:string = memberrpt.selecteditem.participantname;
var component:iuicomponent = iuicomponent(event.currenttarget);
dragcomponent = component;
dragmanager.acceptdragdrop(component);
iseditingparticipantinfo = false;
isdeletingparticipant = true;
deleteparticipantdropevent = event;
event.stopimmediatepropagation(); // total per mrm
alert.confirm("are certain wish mislay participant, container #" + memberrpt.selecteditem.kitnum + " (" +
memberrpt.selecteditem.participantname + ") project? can't reversed!! an email " +
"sent report member accept duplicate your records.", confirmremoveparticipant);
}

private duty deleteparticipantdragexit(event:dragevent):void
{
var component:iuicomponent = iuicomponent(event.currenttarget);
dragcomponent = component;
dragmanager.acceptdragdrop(component);
dragmanager.showfeedback(dragmanager.none);
}

private duty confirmremoveparticipant(event:closeevent):void
{
(event.detail == alert.yes)
{
deletereason = deleteparticipanttitlewindow(popupmanager.createpopup( this, deleteparticipanttitlewindow , true));
dispatchevent(deleteparticipantdropevent); // total per mrm
popupmanager.centerpopup(deletereason);
deletereason.showclosebutton = true;
deletereason.title = "reason dismissal project";
deletereason.addeventlistener("close", cleanupremoveparticipant);
deletereason["cancelbutton"].addeventlistener("click", cleanupremoveparticipant);
deletereason["okbutton"].addeventlistener("click", finalizedeleteparticipant);
isdeletingparticipant = false;
}
else
{
cleanupremoveparticipant();
}
}

private duty cleanupremoveparticipant(event:event = null):void
{
memberrpt.invalidatedisplaylist();
memberrpt.executebindings();
(deletereason != null)
{
popupmanager.removepopup(deletereason);
deletereason = null;
}
}

public duty finalizedeleteparticipant(event:event):void
{
(deletereason.reason.text != null)
{
selectedreportitem = memberrpt.selecteditem;
selectedreportitemindex = memberrpt.selectedindex;
memberreportdata.removeitemat(selectedreportitemindex);
}
else
{
alert.info("you contingency yield reason stealing member your project!!");
}

cleanupremoveparticipant();
}


thanks lay useful suggestions.



Comments

Popular posts from this blog

list macos calm editors formula editors

how hibernate @any-related annotations?

why does floated <input> control floated component slip over too distant right ie7, nonetheless firefox?