summaryrefslogtreecommitdiffstats
path: root/samples/TestAzureAD/Scripts/WebForms/TreeView.js
diff options
context:
space:
mode:
authorGirish Bablani <girishb@microsoft.com>2013-04-16 18:53:13 -0700
committerGirish Bablani <girishb@microsoft.com>2013-04-16 18:53:13 -0700
commit789f14adf18e65ab416b60341bfbecc6577a1c37 (patch)
tree3f140b5f1679cb2857cd65a7d14d2c0ec28f2fca /samples/TestAzureAD/Scripts/WebForms/TreeView.js
parent9e33a9e89ba1973cb3bf923e1303105047094d9c (diff)
downloadDotNetOpenAuth-789f14adf18e65ab416b60341bfbecc6577a1c37.zip
DotNetOpenAuth-789f14adf18e65ab416b60341bfbecc6577a1c37.tar.gz
DotNetOpenAuth-789f14adf18e65ab416b60341bfbecc6577a1c37.tar.bz2
Enabled AzureAD integration and added TestAzureAD sample app
Diffstat (limited to 'samples/TestAzureAD/Scripts/WebForms/TreeView.js')
-rw-r--r--samples/TestAzureAD/Scripts/WebForms/TreeView.js220
1 files changed, 220 insertions, 0 deletions
diff --git a/samples/TestAzureAD/Scripts/WebForms/TreeView.js b/samples/TestAzureAD/Scripts/WebForms/TreeView.js
new file mode 100644
index 0000000..e49f260
--- /dev/null
+++ b/samples/TestAzureAD/Scripts/WebForms/TreeView.js
@@ -0,0 +1,220 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/TreeView.js
+function TreeView_HoverNode(data, node) {
+ if (!data) {
+ return;
+ }
+ node.hoverClass = data.hoverClass;
+ WebForm_AppendToClassName(node, data.hoverClass);
+ if (__nonMSDOMBrowser) {
+ node = node.childNodes[node.childNodes.length - 1];
+ }
+ else {
+ node = node.children[node.children.length - 1];
+ }
+ node.hoverHyperLinkClass = data.hoverHyperLinkClass;
+ WebForm_AppendToClassName(node, data.hoverHyperLinkClass);
+}
+function TreeView_GetNodeText(node) {
+ var trNode = WebForm_GetParentByTagName(node, "TR");
+ var outerNodes;
+ if (trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName) {
+ outerNodes = trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName("A");
+ if (!outerNodes || outerNodes.length == 0) {
+ outerNodes = trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName("SPAN");
+ }
+ }
+ var textNode = (outerNodes && outerNodes.length > 0) ?
+ outerNodes[0].childNodes[0] :
+ trNode.childNodes[trNode.childNodes.length - 1].childNodes[0];
+ return (textNode && textNode.nodeValue) ? textNode.nodeValue : "";
+}
+function TreeView_PopulateNode(data, index, node, selectNode, selectImageNode, lineType, text, path, databound, datapath, parentIsLast) {
+ if (!data) {
+ return;
+ }
+ var context = new Object();
+ context.data = data;
+ context.node = node;
+ context.selectNode = selectNode;
+ context.selectImageNode = selectImageNode;
+ context.lineType = lineType;
+ context.index = index;
+ context.isChecked = "f";
+ var tr = WebForm_GetParentByTagName(node, "TR");
+ if (tr) {
+ var checkbox = tr.getElementsByTagName("INPUT");
+ if (checkbox && (checkbox.length > 0)) {
+ for (var i = 0; i < checkbox.length; i++) {
+ if (checkbox[i].type.toLowerCase() == "checkbox") {
+ if (checkbox[i].checked) {
+ context.isChecked = "t";
+ }
+ break;
+ }
+ }
+ }
+ }
+ var param = index + "|" + data.lastIndex + "|" + databound + context.isChecked + parentIsLast + "|" +
+ text.length + "|" + text + datapath.length + "|" + datapath + path;
+ TreeView_PopulateNodeDoCallBack(context, param);
+}
+function TreeView_ProcessNodeData(result, context) {
+ var treeNode = context.node;
+ if (result.length > 0) {
+ var ci = result.indexOf("|", 0);
+ context.data.lastIndex = result.substring(0, ci);
+ ci = result.indexOf("|", ci + 1);
+ var newExpandState = result.substring(context.data.lastIndex.length + 1, ci);
+ context.data.expandState.value += newExpandState;
+ var chunk = result.substr(ci + 1);
+ var newChildren, table;
+ if (__nonMSDOMBrowser) {
+ var newDiv = document.createElement("div");
+ newDiv.innerHTML = chunk;
+ table = WebForm_GetParentByTagName(treeNode, "TABLE");
+ newChildren = null;
+ if ((typeof(table.nextSibling) == "undefined") || (table.nextSibling == null)) {
+ table.parentNode.insertBefore(newDiv.firstChild, table.nextSibling);
+ newChildren = table.previousSibling;
+ }
+ else {
+ table = table.nextSibling;
+ table.parentNode.insertBefore(newDiv.firstChild, table);
+ newChildren = table.previousSibling;
+ }
+ newChildren = document.getElementById(treeNode.id + "Nodes");
+ }
+ else {
+ table = WebForm_GetParentByTagName(treeNode, "TABLE");
+ table.insertAdjacentHTML("afterEnd", chunk);
+ newChildren = document.all[treeNode.id + "Nodes"];
+ }
+ if ((typeof(newChildren) != "undefined") && (newChildren != null)) {
+ TreeView_ToggleNode(context.data, context.index, treeNode, context.lineType, newChildren);
+ treeNode.href = document.getElementById ?
+ "javascript:TreeView_ToggleNode(" + context.data.name + "," + context.index + ",document.getElementById('" + treeNode.id + "'),'" + context.lineType + "',document.getElementById('" + newChildren.id + "'))" :
+ "javascript:TreeView_ToggleNode(" + context.data.name + "," + context.index + "," + treeNode.id + ",'" + context.lineType + "'," + newChildren.id + ")";
+ if ((typeof(context.selectNode) != "undefined") && (context.selectNode != null) && context.selectNode.href &&
+ (context.selectNode.href.indexOf("javascript:TreeView_PopulateNode", 0) == 0)) {
+ context.selectNode.href = treeNode.href;
+ }
+ if ((typeof(context.selectImageNode) != "undefined") && (context.selectImageNode != null) && context.selectNode.href &&
+ (context.selectImageNode.href.indexOf("javascript:TreeView_PopulateNode", 0) == 0)) {
+ context.selectImageNode.href = treeNode.href;
+ }
+ }
+ context.data.populateLog.value += context.index + ",";
+ }
+ else {
+ var img = treeNode.childNodes ? treeNode.childNodes[0] : treeNode.children[0];
+ if ((typeof(img) != "undefined") && (img != null)) {
+ var lineType = context.lineType;
+ if (lineType == "l") {
+ img.src = context.data.images[13];
+ }
+ else if (lineType == "t") {
+ img.src = context.data.images[10];
+ }
+ else if (lineType == "-") {
+ img.src = context.data.images[16];
+ }
+ else {
+ img.src = context.data.images[3];
+ }
+ var pe;
+ if (__nonMSDOMBrowser) {
+ pe = treeNode.parentNode;
+ pe.insertBefore(img, treeNode);
+ pe.removeChild(treeNode);
+ }
+ else {
+ pe = treeNode.parentElement;
+ treeNode.style.visibility="hidden";
+ treeNode.style.display="none";
+ pe.insertAdjacentElement("afterBegin", img);
+ }
+ }
+ }
+}
+function TreeView_SelectNode(data, node, nodeId) {
+ if (!data) {
+ return;
+ }
+ if ((typeof(data.selectedClass) != "undefined") && (data.selectedClass != null)) {
+ var id = data.selectedNodeID.value;
+ if (id.length > 0) {
+ var selectedNode = document.getElementById(id);
+ if ((typeof(selectedNode) != "undefined") && (selectedNode != null)) {
+ WebForm_RemoveClassName(selectedNode, data.selectedHyperLinkClass);
+ selectedNode = WebForm_GetParentByTagName(selectedNode, "TD");
+ WebForm_RemoveClassName(selectedNode, data.selectedClass);
+ }
+ }
+ WebForm_AppendToClassName(node, data.selectedHyperLinkClass);
+ node = WebForm_GetParentByTagName(node, "TD");
+ WebForm_AppendToClassName(node, data.selectedClass)
+ }
+ data.selectedNodeID.value = nodeId;
+}
+function TreeView_ToggleNode(data, index, node, lineType, children) {
+ if (!data) {
+ return;
+ }
+ var img = node.childNodes[0];
+ var newExpandState;
+ try {
+ if (children.style.display == "none") {
+ children.style.display = "block";
+ newExpandState = "e";
+ if ((typeof(img) != "undefined") && (img != null)) {
+ if (lineType == "l") {
+ img.src = data.images[15];
+ }
+ else if (lineType == "t") {
+ img.src = data.images[12];
+ }
+ else if (lineType == "-") {
+ img.src = data.images[18];
+ }
+ else {
+ img.src = data.images[5];
+ }
+ img.alt = data.collapseToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
+ }
+ }
+ else {
+ children.style.display = "none";
+ newExpandState = "c";
+ if ((typeof(img) != "undefined") && (img != null)) {
+ if (lineType == "l") {
+ img.src = data.images[14];
+ }
+ else if (lineType == "t") {
+ img.src = data.images[11];
+ }
+ else if (lineType == "-") {
+ img.src = data.images[17];
+ }
+ else {
+ img.src = data.images[4];
+ }
+ img.alt = data.expandToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
+ }
+ }
+ }
+ catch(e) {}
+ data.expandState.value = data.expandState.value.substring(0, index) + newExpandState + data.expandState.value.slice(index + 1);
+}
+function TreeView_UnhoverNode(node) {
+ if (!node.hoverClass) {
+ return;
+ }
+ WebForm_RemoveClassName(node, node.hoverClass);
+ if (__nonMSDOMBrowser) {
+ node = node.childNodes[node.childNodes.length - 1];
+ }
+ else {
+ node = node.children[node.children.length - 1];
+ }
+ WebForm_RemoveClassName(node, node.hoverHyperLinkClass);
+}