Update of /cvsroot/magicajax/magicajax/CustomControls/script
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6302/CustomControls/script
Added Files:
AjaxLinkedPanelListScripts.js
Log Message:
Put source files to module 'magicajax' divided in directories Core, Examples, and CustomControls.
--- NEW FILE: AjaxLinkedPanelListScripts.js ---
var prev_AJAXCbo_Complete = AJAXCbo.OnComplete;
var prev_AJAXCbo_Error = AJAXCbo.OnError;
AJAXCbo.OnComplete = AjaxLinkedPanelList_AJAXCbo_Complete;
AJAXCbo.OnError = AjaxLinkedPanelList_AJAXCbo_Error;
function AjaxLinkedPanelList_AJAXCbo_Complete(responseText, responseXML)
{
var result = prev_AJAXCbo_Complete(responseText, responseXML);
if (result == false)
return false;
RemoveLoadingImages();
var selval = document.all.AJAXLINKEDPANELLIST_SELECTION.value;
if (selval != "")
{
var selections = selval.split(";");
for (var i=0; i < selections.length; i++)
{
var panel = document.getElementById(selections[i]);
if (panel != null)
{
// Xreiazetai giati an mia epilogi ginei abort meta den te8ei to loaded apo ton server
panel.setAttribute("loadedstatus", "loaded");
HighlightLinkOfPanel(panel);
}
}
}
return true;
}
function AjaxLinkedPanelList_AJAXCbo_Error(status, statusText, responseText)
{
RemoveLoadingImages();
prev_AJAXCbo_Error(status, statusText, responseText);
}
function AjaxLinkedPanelList_Link_Click(linkTarget)
{
RemoveLoadingImages();
var link = document.getElementById(linkTarget.split(":").join("_"));
var panel = document.getElementById(link.getAttribute("panelid"));
var loadstatus = panel.getAttribute("loadedstatus");
if (loadstatus != "loaded")
{
ShowPanelLoadingImage(panel);
ShowSelectedPanel(panel);
AJAXCbo.DoCallBack(linkTarget, "", "async");
}
else
{
if (panel.style.display == "")
{
// Einai idi epilegmeno, kripsto
panel.style.display = "none";
var parent = panel.getAttribute("parent");
var store = document.getElementById(parent + "$ajaxstore");
var linkClass = store.getAttribute("linkClass");
document.getElementById(panel.getAttribute("linkid")).className = linkClass;
}
else
{
ShowSelectedPanel(panel);
}
}
}
function ShowSelectedPanel(panel)
{
var parent = panel.getAttribute("parent");
var store = document.getElementById(parent + "$ajaxstore");
var linkClass = store.getAttribute("linkClass");
var tags = document.getElementsByTagName(panel.tagName);
var panels = new Array();
for (var i=0; i < tags.length; i++)
if (tags[i].getAttribute("name") == "LPL_AjaxPanel")
panels.push(tags[i]);
for (var i=0; i < panels.length; i++)
if (panels[i].getAttribute("parent") == parent)
{
panels[i].style.display = "none";
document.getElementById(panels[i].getAttribute("linkid")).className = linkClass;
}
panel.style.display = "";
HighlightLinkOfPanel(panel);
var selections = "";
for (var i=0; i < panels.length; i++)
if (panels[i].getAttribute("loadedstatus") == "loaded"
&& panels[i].style.display == "")
{
selections += panels[i].id + ";";
}
selections += panel.id;
document.all.AJAXLINKEDPANELLIST_SELECTION.value = selections;
}
function HighlightLinkOfPanel(panel)
{
var parent = panel.getAttribute("parent");
var store = document.getElementById(parent + "$ajaxstore");
var selectedLinkClass = store.getAttribute("selectedLinkClass");
if (selectedLinkClass != "")
document.getElementById(panel.getAttribute("linkid")).className = selectedLinkClass;
}
function ShowPanelLoadingImage(panel)
{
var store = document.getElementById(panel.getAttribute("parent") + "$ajaxstore");
var imgsrc = store.getAttribute("loadingimg");
if (imgsrc != "")
panel.innerHTML = "<img src='" + imgsrc + "' name='AJAX_LOADING_IMAGE'>";
}
function RemoveLoadingImages()
{
for (var i=0; i < document.images.length; i++)
{
if (document.images[i].name == "AJAX_LOADING_IMAGE")
{
document.images[i].parentNode.removeChild(document.images[i]);
i--;
}
}
}
|