Projektfilter greift nicht auf Aktualisierung -> behoben

This commit is contained in:
Martin Tatzber
2014-04-17 11:33:11 +00:00
parent bafe3c1ccf
commit 3dd4e44ff1
3 changed files with 38 additions and 91 deletions
+18 -74
View File
@@ -264,13 +264,21 @@ function RessourceNeu()
// *****
// * Refresht den Projektmenue Tree
// *****
function ProjektmenueRefresh()
function ProjektmenueRefresh(filter)
{
global_filter = '';
if(global_filter==undefined || global_filter=='')
global_filter='alle';
if(filter==undefined)
filter=global_filter;
global_filter=filter;
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
url = "<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?"+gettimestamp();
if(filter=='alle')
url = "<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?"+gettimestamp();
else
url = "<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?filter="+global_filter+"&"+gettimestamp();
var treeProjektmenue=document.getElementById('tree-projektmenue');
@@ -286,82 +294,18 @@ function ProjektmenueRefresh()
datasourceTreeProjektmenue = rdfService.GetDataSource(url);
datasourceTreeProjektmenue.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
treeProjektmenue.database.AddDataSource(datasourceTreeProjektmenue);
SetStatusBarText('Filter: Alle Projekte');
if(global_filter=='aktuell')
SetStatusBarText('Filter: Aktuelle Projekte');
else if(global_filter=='kommende')
SetStatusBarText('Filter: Aktuelle und Kommende Projekte');
else
SetStatusBarText('Filter: Alle Projekte');
}
catch(e)
{
debug("whoops Projektmenue load failed with exception: "+e);
}
}
// *****
// * Refresht den Projektmenue Tree
// *****
function ProjektmenueRefreshAktuell()
{
global_filter = 'aktuell';
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
url = "<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?filter=aktuell&"+gettimestamp();
var treeProjektmenue=document.getElementById('tree-projektmenue');
//Alte DS entfernen
var oldDatasources = treeProjektmenue.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeProjektmenue.database.RemoveDataSource(oldDatasources.getNext());
}
treeProjektmenue.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeProjektmenue = rdfService.GetDataSource(url);
datasourceTreeProjektmenue.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
treeProjektmenue.database.AddDataSource(datasourceTreeProjektmenue);
SetStatusBarText('Filter: Aktuelle Projekte');
}
catch(e)
{
debug("whoops Projektmenue load failed with exception: "+e);
}
}
// *****
// * Refresht den Projektmenue Tree
// *****
function ProjektmenueRefreshAktuellKommende()
{
global_filter = 'kommende';
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
url = "<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?filter=kommende&"+gettimestamp();
var treeProjektmenue=document.getElementById('tree-projektmenue');
//Alte DS entfernen
var oldDatasources = treeProjektmenue.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeProjektmenue.database.RemoveDataSource(oldDatasources.getNext());
}
treeProjektmenue.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeProjektmenue = rdfService.GetDataSource(url);
datasourceTreeProjektmenue.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
treeProjektmenue.database.AddDataSource(datasourceTreeProjektmenue);
SetStatusBarText('Filter: Aktuelle und Kommende Projekte');
}
catch(e)
{
debug("whoops Projektmenue load failed with exception: "+e);
}
ProjektTreeRefresh();
ProjektTreeRefresh();
}
function loadURL(event)
+4 -4
View File
@@ -40,11 +40,11 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/ressource.overlay.xul.php"
<toolbarbutton id="toolbarbutton-projektmenue-del" label="Loeschen" oncommand="ProjektDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Projekt löschen"/>
-->
<toolbarbutton id="toolbarbutton-projektmenue-refresh" label="Aktualisieren" oncommand="ProjektmenueRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<toolbarbutton anonid="toolbarbutton-projektmenue-filter" label="Filter" type="menu">
<toolbarbutton anonid="toolbarbutton-projektmenue-filter" label="Filter" type="menu">
<menupopup>
<menuitem label="Alle Projekte Anzeigen" type="radio" name="filterProjekt" checked="true" oncommand="ProjektmenueRefresh()" tooltiptext="Alle Projekte anzeigen"/>
<menuitem label="nur aktuelle und kommende Projekte anzeigen" type="radio" name="filterProjekt" oncommand="ProjektmenueRefreshAktuellKommende()" tooltiptext="nur aktuelle und kommende Projekte anzeigen"/>
<menuitem label="nur aktuelle Projekte anzeigen" type="radio" name="filterProjekt" oncommand="ProjektmenueRefreshAktuell()" tooltiptext="nur aktuelle Projekte anzeigen"/>
<menuitem label="Alle Projekte Anzeigen" type="radio" name="filterProjekt" checked="true" oncommand="ProjektmenueRefresh('alle')" tooltiptext="Alle Projekte anzeigen"/>
<menuitem label="nur aktuelle und kommende Projekte anzeigen" type="radio" name="filterProjekt" oncommand="ProjektmenueRefresh('kommende')" tooltiptext="nur aktuelle und kommende Projekte anzeigen"/>
<menuitem label="nur aktuelle Projekte anzeigen" type="radio" name="filterProjekt" oncommand="ProjektmenueRefresh('aktuell')" tooltiptext="nur aktuelle Projekte anzeigen"/>
</menupopup>
</toolbarbutton>
</toolbar>
+16 -13
View File
@@ -70,21 +70,24 @@ var listenerTreeProjekt =
// ****
function ProjektTreeRefresh()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(datasourceTreeProjekt!=undefined)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//markierte Lehreinheit global speichern damit diese LE nach dem
//refresh wieder markiert werden kann.
var tree = document.getElementById('tree-projekt');
try
{
ProjektSelectKurzbz = getTreeCellText(tree, "treecol-projekt-projekt_kurzbz", tree.currentIndex);
//markierte Lehreinheit global speichern damit diese LE nach dem
//refresh wieder markiert werden kann.
var tree = document.getElementById('tree-projekt');
try
{
ProjektSelectKurzbz = getTreeCellText(tree, "treecol-projekt-projekt_kurzbz", tree.currentIndex);
}
catch(e)
{
ProjektSelectKurzbz=null;
}
datasourceTreeProjekt.Refresh(false); //non blocking
}
catch(e)
{
ProjektSelectKurzbz=null;
}
datasourceTreeProjekt.Refresh(false); //non blocking
}
// ****