DragnDrop Observer für Projektphase für Tasks ändern

This commit is contained in:
Karl Burkhart
2011-12-07 12:34:47 +00:00
parent d4b6a04bea
commit 96bc67678b
2 changed files with 91 additions and 5 deletions
+87
View File
@@ -314,3 +314,90 @@ function parseRDFString(str, url)
return memoryDS;
}
/***** Drag Observer fuer Tasks verschieben *****/
var projektTaskDDObserver=
{
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("application/taskID");
return flavours;
},
onDragEnter: function (evt,flavour,session)
{
},
onDragExit: function (evt,flavour,session)
{
},
onDragOver: function(evt,flavour,session)
{
},
onDrop: function (evt,dropdata,session)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
try
{
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
}
catch (e)
{
debug('treeDragDrop: e');
}
var ds = dragservice_ds;
var tree = document.getElementById('tree-projektmenue')
var row = { }
var col = { }
var child = { }
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
col = tree.columns ? tree.columns["treecol-projektmenue-projekt_phase_id"] : "treecol-projektmenue-projekt_phase_id";
projektphaseID=tree.view.getCellText(row.value,col);
if(projektphaseID == '')
{
alert('keine phase ausgewählt!');
return false;
}
var projekttask_id = dropdata.data;
var soapBody = new SOAPObject("changeProjektPhase");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
//soapBody.appendChild(new SOAPObject("passwort")).val('waschl');
soapBody.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id);
soapBody.appendChild(new SOAPObject("projektphase_id")).val(projektphaseID);
var sr = new SOAPRequest("changeProjektPhase",soapBody);
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_changePhaseTask);
}
};
// ****
// * Callback Funktion nach ändern einer Phase
// ****
function clb_changePhaseTask(respObj)
{
try
{
var id = respObj.Body[0].changeProjektPhaseResponse[0].message[0].Text;
}
catch(e)
{
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert('Fehler: '+fehler);
return;
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('textbox-projekttaskdetail-projekttask_id').value=id;
TaskSelectID=id;
datasourceTreeTask.Refresh(false); //non blocking
TaskTreeRefresh()
SetStatusBarText('Daten wurden gespeichert');
}
+4 -5
View File
@@ -47,11 +47,10 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/ressource.overlay.xul.php"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projektphase"
enableColumnDrag="true"
ondraggesture="nsDragAndDrop.startDrag(event,lvbgrpDDObserver);"
ondragdrop="nsDragAndDrop.drop(event,verbandtreeDDObserver)"
ondragover="nsDragAndDrop.dragOver(event,verbandtreeDDObserver)"
ondragenter="nsDragAndDrop.dragEnter(event,verbandtreeDDObserver)"
ondragexit="nsDragAndDrop.dragExit(event,verbandtreeDDObserver)"
ondragdrop="nsDragAndDrop.drop(event,projektTaskDDObserver)"
ondragover="nsDragAndDrop.dragOver(event,projektTaskDDObserver)"
ondragenter="nsDragAndDrop.dragEnter(event,projektTaskDDObserver)"
ondragexit="nsDragAndDrop.dragExit(event,projektTaskDDObserver)"
>
<treecols>
<treecol id="treecol-projektmenue-bezeichnung" label="Bezeichnung" flex="5" primary="true" />