Fehler beim Aktualisieren von Dokumenten im Planner behoben

This commit is contained in:
Andreas Österreicher
2012-07-20 07:08:12 +00:00
parent 48ea2144b4
commit 870ded95f4
3 changed files with 29 additions and 28 deletions
+14 -13
View File
@@ -24,6 +24,7 @@ var datasourceTreeProjekt;
var datasourceTreeProjektphase;
var datasourceTreeProjekttask;
var datasourceTreeDokument;
var datasourceTreeBestellung;
var global_filter = '';
function treeProjektmenueSelect()
@@ -192,40 +193,40 @@ function treeProjektmenueSelect()
// Bestellung laden
// Bestellung laden
if(projekt_phase_id=='' && projekt_kurzbz!='')
{
try
{
url = "<?php echo APP_ROOT; ?>rdf/bestellung.rdf.php?projektKurzbz="+projekt_kurzbz+"&"+gettimestamp();
var treeDokument=document.getElementById('tree-bestellung');
var treeBestellung=document.getElementById('tree-bestellung');
//Alte DS entfernen
var oldDatasources = treeDokument.database.GetDataSources();
var oldDatasources = treeBestellung.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeDokument.database.RemoveDataSource(oldDatasources.getNext());
treeBestellung.database.RemoveDataSource(oldDatasources.getNext());
}
try
{
datasourceTreeDokument.removeXMLSinkObserver(DokumentTreeSinkObserver);
treeDokument.builder.removeListener(DokumentTreeListener);
datasourceTreeBestellung.removeXMLSinkObserver(BestellungTreeSinkObserver);
treeBestellung.builder.removeListener(BestellungTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeDokument = rdfService.GetDataSource(url);
datasourceTreeDokument.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasourceTreeDokument.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeDokument.database.AddDataSource(datasourceTreeDokument);
datasourceTreeDokument.addXMLSinkObserver(DokumentTreeSinkObserver);
treeDokument.builder.addListener(DokumentTreeListener);
datasourceTreeBestellung = rdfService.GetDataSource(url);
datasourceTreeBestellung.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasourceTreeBestellung.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeBestellung.database.AddDataSource(datasourceTreeBestellung);
datasourceTreeBestellung.addXMLSinkObserver(BestellungTreeSinkObserver);
treeBestellung.builder.addListener(BestellungTreeListener);
}
catch(e)
{
debug("whoops Documents load failed with exception: "+e);
debug("whoops bestellung load failed with exception: "+e);
}
}
+14 -14
View File
@@ -24,7 +24,7 @@ require_once('../../config/vilesci.config.inc.php');
?>
// *********** Globale Variablen *****************//
var DokumentSelectID=null; //ID des Dokuments das nach dem Refresh markiert werden soll
var BestellungSelectID=null; //ID des Dokuments das nach dem Refresh markiert werden soll
// ********** Observer und Listener ************* //
// ****
@@ -32,7 +32,7 @@ var DokumentSelectID=null; //ID des Dokuments das nach dem Refresh markiert werd
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var DokumentTreeSinkObserver =
var BestellungTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
@@ -49,7 +49,7 @@ var DokumentTreeSinkObserver =
// * Nach dem Rebuild wird das Dokument wieder
// * markiert
// ****
var DokumentTreeListener =
var BestellungTreeListener =
{
willRebuild : function(builder)
{
@@ -59,7 +59,7 @@ var DokumentTreeListener =
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(DokumentTreeSelectDokument,10);
window.setTimeout(BestellungTreeSelectBestellung,10);
// Progressmeter stoppen
//document.getElementById('statusbar-progressmeter').setAttribute('mode','determined');
}
@@ -68,39 +68,39 @@ var DokumentTreeListener =
// ****************** FUNKTIONEN ************************** //
// ****
// * Asynchroner (Nicht blockierender) Refresh des Dokument Trees
// * Asynchroner (Nicht blockierender) Refresh des Bestellung Trees
// ****
function BestellungTreeRefresh()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//markiertes Dokument global speichern damit es nach dem
//markierte Bestellung global speichern damit es nach dem
//refresh wieder markiert werden kann.
var tree = document.getElementById('tree-bestellung');
try
{
DokumentSelectID = getTreeCellText(tree, "treecol-bestellung-bestell_nr", tree.currentIndex);
BestellungSelectID = getTreeCellText(tree, "treecol-bestellung-bestell_nr", tree.currentIndex);
}
catch(e)
{
DokumentSelectID=null;
BestellungSelectID=null;
}
datasourceTreeDokument.Refresh(false); //non blocking
datasourceTreeBestellung.Refresh(false); //non blocking
}
// ****
// * Selectiert das Dokument nachdem der Tree
// * Selectiert die Bestellung nachdem der Tree
// * rebuildet wurde.
// ****
function DokumentTreeSelectDokument()
function BestellungTreeSelectBestellung()
{
var tree=document.getElementById('tree-bestellung');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende ID gespeichert
if(DokumentSelectID!=null)
if(BestellungSelectID!=null)
{
for(var i=0;i<items;i++)
{
@@ -108,7 +108,7 @@ function DokumentTreeSelectDokument()
id = getTreeCellText(tree, "treecol-bestellung-bestell_nr", i);
//wenn dies die zu selektierende Zeile
if(DokumentSelectID==id)
if(BestellungSelectID==id)
{
//Zeile markieren
tree.view.selection.select(i);
@@ -118,4 +118,4 @@ function DokumentTreeSelectDokument()
}
}
}
}
}
@@ -221,4 +221,4 @@ function ProjektDokumentZuweisen()
}
window.open(url,'Zuteilung', 'height=384,width=512,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no');
}
}