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
Post a Comment