Host library for controlling a WiConnect enabled Wi-Fi module.
Dependents: wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more
doc/mbed/html/navtree.js@39:a963f69cb2de, 2015-02-23 (annotated)
- Committer:
- dan_ackme
- Date:
- Mon Feb 23 20:30:18 2015 -0800
- Revision:
- 39:a963f69cb2de
- Parent:
- 34:2616445d0823
added httpAcceptWebsocket API
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dan_ackme | 34:2616445d0823 | 1 | var NAVTREE = |
dan_ackme | 34:2616445d0823 | 2 | [ |
dan_ackme | 34:2616445d0823 | 3 | [ "WiConnect Host Library", "index.html", [ |
dan_ackme | 34:2616445d0823 | 4 | [ "Library Overview", "index.html", [ |
dan_ackme | 34:2616445d0823 | 5 | [ "Overview", "index.html#Overview", null ], |
dan_ackme | 34:2616445d0823 | 6 | [ "Important Notes", "index.html#notes", null ], |
dan_ackme | 34:2616445d0823 | 7 | [ "Library Settings", "index.html#features", [ |
dan_ackme | 34:2616445d0823 | 8 | [ "Blocking / Non-blocking Modes", "index.html#setting_blocking_modes", [ |
dan_ackme | 34:2616445d0823 | 9 | [ "Blocking Mode", "index.html#setting_blocking_mode", null ], |
dan_ackme | 34:2616445d0823 | 10 | [ "Non-Blocking Mode", "index.html#setting_nonblocking_mode", null ] |
dan_ackme | 34:2616445d0823 | 11 | ] ], |
dan_ackme | 34:2616445d0823 | 12 | [ "Dynamic / Static Allocation", "index.html#setting_alloc", null ], |
dan_ackme | 34:2616445d0823 | 13 | [ "Asynchronous Processing", "index.html#setting_async_processing", null ] |
dan_ackme | 34:2616445d0823 | 14 | ] ], |
dan_ackme | 34:2616445d0823 | 15 | [ "Sending Commands To WiFi Module", "index.html#send_command_desc", null ] |
dan_ackme | 34:2616445d0823 | 16 | ] ], |
dan_ackme | 34:2616445d0823 | 17 | [ "Library API", "modules.html", "modules" ], |
dan_ackme | 34:2616445d0823 | 18 | [ "API Examples", "examples.html", "examples" ], |
dan_ackme | 34:2616445d0823 | 19 | [ "Classes", null, [ |
dan_ackme | 34:2616445d0823 | 20 | [ "Class List", "annotated.html", "annotated" ], |
dan_ackme | 34:2616445d0823 | 21 | [ "Class Index", "classes.html", null ], |
dan_ackme | 34:2616445d0823 | 22 | [ "Class Hierarchy", "hierarchy.html", "hierarchy" ], |
dan_ackme | 34:2616445d0823 | 23 | [ "Class Members", "functions.html", [ |
dan_ackme | 34:2616445d0823 | 24 | [ "All", "functions.html", null ], |
dan_ackme | 34:2616445d0823 | 25 | [ "Functions", "functions_func.html", null ], |
dan_ackme | 34:2616445d0823 | 26 | [ "Variables", "functions_vars.html", null ] |
dan_ackme | 34:2616445d0823 | 27 | ] ] |
dan_ackme | 34:2616445d0823 | 28 | ] ], |
dan_ackme | 34:2616445d0823 | 29 | [ "WiConnect Reference Manual", "^http://wiconnect.ack.me/2.0/general_overview", null ], |
dan_ackme | 34:2616445d0823 | 30 | [ "ACKme Website", "^http://www.ack.me/WiConnect", null ], |
dan_ackme | 39:a963f69cb2de | 31 | [ "WiConnect Repository", "^http://developer.mbed.org/teams/ACKme/code/WiConnect/", null ] |
dan_ackme | 34:2616445d0823 | 32 | ] ] |
dan_ackme | 34:2616445d0823 | 33 | ]; |
dan_ackme | 34:2616445d0823 | 34 | |
dan_ackme | 34:2616445d0823 | 35 | var NAVTREEINDEX = |
dan_ackme | 34:2616445d0823 | 36 | [ |
dan_ackme | 34:2616445d0823 | 37 | "annotated.html", |
dan_ackme | 39:a963f69cb2de | 38 | "group__api__ghm__examples.html" |
dan_ackme | 34:2616445d0823 | 39 | ]; |
dan_ackme | 34:2616445d0823 | 40 | |
dan_ackme | 34:2616445d0823 | 41 | var SYNCONMSG = 'click to disable panel synchronisation'; |
dan_ackme | 34:2616445d0823 | 42 | var SYNCOFFMSG = 'click to enable panel synchronisation'; |
dan_ackme | 34:2616445d0823 | 43 | var navTreeSubIndices = new Array(); |
dan_ackme | 34:2616445d0823 | 44 | |
dan_ackme | 34:2616445d0823 | 45 | function getData(varName) |
dan_ackme | 34:2616445d0823 | 46 | { |
dan_ackme | 34:2616445d0823 | 47 | var i = varName.lastIndexOf('/'); |
dan_ackme | 34:2616445d0823 | 48 | var n = i>=0 ? varName.substring(i+1) : varName; |
dan_ackme | 34:2616445d0823 | 49 | return eval(n.replace(/\-/g,'_')); |
dan_ackme | 34:2616445d0823 | 50 | } |
dan_ackme | 34:2616445d0823 | 51 | |
dan_ackme | 34:2616445d0823 | 52 | function stripPath(uri) |
dan_ackme | 34:2616445d0823 | 53 | { |
dan_ackme | 34:2616445d0823 | 54 | return uri.substring(uri.lastIndexOf('/')+1); |
dan_ackme | 34:2616445d0823 | 55 | } |
dan_ackme | 34:2616445d0823 | 56 | |
dan_ackme | 34:2616445d0823 | 57 | function stripPath2(uri) |
dan_ackme | 34:2616445d0823 | 58 | { |
dan_ackme | 34:2616445d0823 | 59 | var i = uri.lastIndexOf('/'); |
dan_ackme | 34:2616445d0823 | 60 | var s = uri.substring(i+1); |
dan_ackme | 34:2616445d0823 | 61 | var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); |
dan_ackme | 34:2616445d0823 | 62 | return m ? uri.substring(i-6) : s; |
dan_ackme | 34:2616445d0823 | 63 | } |
dan_ackme | 34:2616445d0823 | 64 | |
dan_ackme | 34:2616445d0823 | 65 | function hashValue() |
dan_ackme | 34:2616445d0823 | 66 | { |
dan_ackme | 34:2616445d0823 | 67 | return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); |
dan_ackme | 34:2616445d0823 | 68 | } |
dan_ackme | 34:2616445d0823 | 69 | |
dan_ackme | 34:2616445d0823 | 70 | function hashUrl() |
dan_ackme | 34:2616445d0823 | 71 | { |
dan_ackme | 34:2616445d0823 | 72 | return '#'+hashValue(); |
dan_ackme | 34:2616445d0823 | 73 | } |
dan_ackme | 34:2616445d0823 | 74 | |
dan_ackme | 34:2616445d0823 | 75 | function pathName() |
dan_ackme | 34:2616445d0823 | 76 | { |
dan_ackme | 34:2616445d0823 | 77 | return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); |
dan_ackme | 34:2616445d0823 | 78 | } |
dan_ackme | 34:2616445d0823 | 79 | |
dan_ackme | 34:2616445d0823 | 80 | function localStorageSupported() |
dan_ackme | 34:2616445d0823 | 81 | { |
dan_ackme | 34:2616445d0823 | 82 | try { |
dan_ackme | 34:2616445d0823 | 83 | return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; |
dan_ackme | 34:2616445d0823 | 84 | } |
dan_ackme | 34:2616445d0823 | 85 | catch(e) { |
dan_ackme | 34:2616445d0823 | 86 | return false; |
dan_ackme | 34:2616445d0823 | 87 | } |
dan_ackme | 34:2616445d0823 | 88 | } |
dan_ackme | 34:2616445d0823 | 89 | |
dan_ackme | 34:2616445d0823 | 90 | |
dan_ackme | 34:2616445d0823 | 91 | function storeLink(link) |
dan_ackme | 34:2616445d0823 | 92 | { |
dan_ackme | 34:2616445d0823 | 93 | if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { |
dan_ackme | 34:2616445d0823 | 94 | window.localStorage.setItem('navpath',link); |
dan_ackme | 34:2616445d0823 | 95 | } |
dan_ackme | 34:2616445d0823 | 96 | } |
dan_ackme | 34:2616445d0823 | 97 | |
dan_ackme | 34:2616445d0823 | 98 | function deleteLink() |
dan_ackme | 34:2616445d0823 | 99 | { |
dan_ackme | 34:2616445d0823 | 100 | if (localStorageSupported()) { |
dan_ackme | 34:2616445d0823 | 101 | window.localStorage.setItem('navpath',''); |
dan_ackme | 34:2616445d0823 | 102 | } |
dan_ackme | 34:2616445d0823 | 103 | } |
dan_ackme | 34:2616445d0823 | 104 | |
dan_ackme | 34:2616445d0823 | 105 | function cachedLink() |
dan_ackme | 34:2616445d0823 | 106 | { |
dan_ackme | 34:2616445d0823 | 107 | if (localStorageSupported()) { |
dan_ackme | 34:2616445d0823 | 108 | return window.localStorage.getItem('navpath'); |
dan_ackme | 34:2616445d0823 | 109 | } else { |
dan_ackme | 34:2616445d0823 | 110 | return ''; |
dan_ackme | 34:2616445d0823 | 111 | } |
dan_ackme | 34:2616445d0823 | 112 | } |
dan_ackme | 34:2616445d0823 | 113 | |
dan_ackme | 34:2616445d0823 | 114 | function getScript(scriptName,func,show) |
dan_ackme | 34:2616445d0823 | 115 | { |
dan_ackme | 34:2616445d0823 | 116 | var head = document.getElementsByTagName("head")[0]; |
dan_ackme | 34:2616445d0823 | 117 | var script = document.createElement('script'); |
dan_ackme | 34:2616445d0823 | 118 | script.id = scriptName; |
dan_ackme | 34:2616445d0823 | 119 | script.type = 'text/javascript'; |
dan_ackme | 34:2616445d0823 | 120 | script.onload = func; |
dan_ackme | 34:2616445d0823 | 121 | script.src = scriptName+'.js'; |
dan_ackme | 34:2616445d0823 | 122 | if ($.browser.msie && $.browser.version<=8) { |
dan_ackme | 34:2616445d0823 | 123 | // script.onload does not work with older versions of IE |
dan_ackme | 34:2616445d0823 | 124 | script.onreadystatechange = function() { |
dan_ackme | 34:2616445d0823 | 125 | if (script.readyState=='complete' || script.readyState=='loaded') { |
dan_ackme | 34:2616445d0823 | 126 | func(); if (show) showRoot(); |
dan_ackme | 34:2616445d0823 | 127 | } |
dan_ackme | 34:2616445d0823 | 128 | } |
dan_ackme | 34:2616445d0823 | 129 | } |
dan_ackme | 34:2616445d0823 | 130 | head.appendChild(script); |
dan_ackme | 34:2616445d0823 | 131 | } |
dan_ackme | 34:2616445d0823 | 132 | |
dan_ackme | 34:2616445d0823 | 133 | function createIndent(o,domNode,node,level) |
dan_ackme | 34:2616445d0823 | 134 | { |
dan_ackme | 34:2616445d0823 | 135 | var level=-1; |
dan_ackme | 34:2616445d0823 | 136 | var n = node; |
dan_ackme | 34:2616445d0823 | 137 | while (n.parentNode) { level++; n=n.parentNode; } |
dan_ackme | 34:2616445d0823 | 138 | if (node.childrenData) { |
dan_ackme | 34:2616445d0823 | 139 | var imgNode = document.createElement("img"); |
dan_ackme | 34:2616445d0823 | 140 | imgNode.style.paddingLeft=(16*level).toString()+'px'; |
dan_ackme | 34:2616445d0823 | 141 | imgNode.width = 16; |
dan_ackme | 34:2616445d0823 | 142 | imgNode.height = 22; |
dan_ackme | 34:2616445d0823 | 143 | imgNode.border = 0; |
dan_ackme | 34:2616445d0823 | 144 | node.plus_img = imgNode; |
dan_ackme | 34:2616445d0823 | 145 | node.expandToggle = document.createElement("a"); |
dan_ackme | 34:2616445d0823 | 146 | node.expandToggle.href = "javascript:void(0)"; |
dan_ackme | 34:2616445d0823 | 147 | node.expandToggle.onclick = function() { |
dan_ackme | 34:2616445d0823 | 148 | if (node.expanded) { |
dan_ackme | 34:2616445d0823 | 149 | $(node.getChildrenUL()).slideUp("fast"); |
dan_ackme | 34:2616445d0823 | 150 | node.plus_img.src = node.relpath+"ftv2pnode.png"; |
dan_ackme | 34:2616445d0823 | 151 | node.expanded = false; |
dan_ackme | 34:2616445d0823 | 152 | } else { |
dan_ackme | 34:2616445d0823 | 153 | expandNode(o, node, false, false); |
dan_ackme | 34:2616445d0823 | 154 | } |
dan_ackme | 34:2616445d0823 | 155 | } |
dan_ackme | 34:2616445d0823 | 156 | node.expandToggle.appendChild(imgNode); |
dan_ackme | 34:2616445d0823 | 157 | domNode.appendChild(node.expandToggle); |
dan_ackme | 34:2616445d0823 | 158 | imgNode.src = node.relpath+"ftv2pnode.png"; |
dan_ackme | 34:2616445d0823 | 159 | } else { |
dan_ackme | 34:2616445d0823 | 160 | var span = document.createElement("span"); |
dan_ackme | 34:2616445d0823 | 161 | span.style.display = 'inline-block'; |
dan_ackme | 34:2616445d0823 | 162 | span.style.width = 16*(level+1)+'px'; |
dan_ackme | 34:2616445d0823 | 163 | span.style.height = '22px'; |
dan_ackme | 34:2616445d0823 | 164 | span.innerHTML = ' '; |
dan_ackme | 34:2616445d0823 | 165 | domNode.appendChild(span); |
dan_ackme | 34:2616445d0823 | 166 | } |
dan_ackme | 34:2616445d0823 | 167 | } |
dan_ackme | 34:2616445d0823 | 168 | |
dan_ackme | 34:2616445d0823 | 169 | var animationInProgress = false; |
dan_ackme | 34:2616445d0823 | 170 | |
dan_ackme | 34:2616445d0823 | 171 | function gotoAnchor(anchor,aname,updateLocation) |
dan_ackme | 34:2616445d0823 | 172 | { |
dan_ackme | 34:2616445d0823 | 173 | var pos, docContent = $('#doc-content'); |
dan_ackme | 34:2616445d0823 | 174 | var ancParent = $(anchor.parent()); |
dan_ackme | 34:2616445d0823 | 175 | if (ancParent.hasClass('memItemLeft') || |
dan_ackme | 34:2616445d0823 | 176 | ancParent.hasClass('fieldname') || |
dan_ackme | 34:2616445d0823 | 177 | ancParent.hasClass('fieldtype') || |
dan_ackme | 34:2616445d0823 | 178 | ancParent.is(':header')) |
dan_ackme | 34:2616445d0823 | 179 | { |
dan_ackme | 34:2616445d0823 | 180 | pos = ancParent.position().top; |
dan_ackme | 34:2616445d0823 | 181 | } else if (anchor.position()) { |
dan_ackme | 34:2616445d0823 | 182 | pos = anchor.position().top; |
dan_ackme | 34:2616445d0823 | 183 | } |
dan_ackme | 34:2616445d0823 | 184 | if (pos) { |
dan_ackme | 34:2616445d0823 | 185 | var dist = Math.abs(Math.min( |
dan_ackme | 34:2616445d0823 | 186 | pos-docContent.offset().top, |
dan_ackme | 34:2616445d0823 | 187 | docContent[0].scrollHeight- |
dan_ackme | 34:2616445d0823 | 188 | docContent.height()-docContent.scrollTop())); |
dan_ackme | 34:2616445d0823 | 189 | animationInProgress=true; |
dan_ackme | 34:2616445d0823 | 190 | docContent.animate({ |
dan_ackme | 34:2616445d0823 | 191 | scrollTop: pos + docContent.scrollTop() - docContent.offset().top |
dan_ackme | 34:2616445d0823 | 192 | },Math.max(50,Math.min(500,dist)),function(){ |
dan_ackme | 34:2616445d0823 | 193 | if (updateLocation) window.location.href=aname; |
dan_ackme | 34:2616445d0823 | 194 | animationInProgress=false; |
dan_ackme | 34:2616445d0823 | 195 | }); |
dan_ackme | 34:2616445d0823 | 196 | } |
dan_ackme | 34:2616445d0823 | 197 | } |
dan_ackme | 34:2616445d0823 | 198 | |
dan_ackme | 34:2616445d0823 | 199 | function newNode(o, po, text, link, childrenData, lastNode) |
dan_ackme | 34:2616445d0823 | 200 | { |
dan_ackme | 34:2616445d0823 | 201 | var node = new Object(); |
dan_ackme | 34:2616445d0823 | 202 | node.children = Array(); |
dan_ackme | 34:2616445d0823 | 203 | node.childrenData = childrenData; |
dan_ackme | 34:2616445d0823 | 204 | node.depth = po.depth + 1; |
dan_ackme | 34:2616445d0823 | 205 | node.relpath = po.relpath; |
dan_ackme | 34:2616445d0823 | 206 | node.isLast = lastNode; |
dan_ackme | 34:2616445d0823 | 207 | |
dan_ackme | 34:2616445d0823 | 208 | node.li = document.createElement("li"); |
dan_ackme | 34:2616445d0823 | 209 | po.getChildrenUL().appendChild(node.li); |
dan_ackme | 34:2616445d0823 | 210 | node.parentNode = po; |
dan_ackme | 34:2616445d0823 | 211 | |
dan_ackme | 34:2616445d0823 | 212 | node.itemDiv = document.createElement("div"); |
dan_ackme | 34:2616445d0823 | 213 | node.itemDiv.className = "item"; |
dan_ackme | 34:2616445d0823 | 214 | |
dan_ackme | 34:2616445d0823 | 215 | node.labelSpan = document.createElement("span"); |
dan_ackme | 34:2616445d0823 | 216 | node.labelSpan.className = "label"; |
dan_ackme | 34:2616445d0823 | 217 | |
dan_ackme | 34:2616445d0823 | 218 | createIndent(o,node.itemDiv,node,0); |
dan_ackme | 34:2616445d0823 | 219 | node.itemDiv.appendChild(node.labelSpan); |
dan_ackme | 34:2616445d0823 | 220 | node.li.appendChild(node.itemDiv); |
dan_ackme | 34:2616445d0823 | 221 | |
dan_ackme | 34:2616445d0823 | 222 | var a = document.createElement("a"); |
dan_ackme | 34:2616445d0823 | 223 | node.labelSpan.appendChild(a); |
dan_ackme | 34:2616445d0823 | 224 | node.label = document.createTextNode(text); |
dan_ackme | 34:2616445d0823 | 225 | node.expanded = false; |
dan_ackme | 34:2616445d0823 | 226 | a.appendChild(node.label); |
dan_ackme | 34:2616445d0823 | 227 | if (link) { |
dan_ackme | 34:2616445d0823 | 228 | var url; |
dan_ackme | 34:2616445d0823 | 229 | if (link.substring(0,1)=='^') { |
dan_ackme | 34:2616445d0823 | 230 | url = link.substring(1); |
dan_ackme | 34:2616445d0823 | 231 | link = url; |
dan_ackme | 34:2616445d0823 | 232 | } else { |
dan_ackme | 34:2616445d0823 | 233 | url = node.relpath+link; |
dan_ackme | 34:2616445d0823 | 234 | } |
dan_ackme | 34:2616445d0823 | 235 | a.className = stripPath(link.replace('#',':')); |
dan_ackme | 34:2616445d0823 | 236 | if (link.indexOf('#')!=-1) { |
dan_ackme | 34:2616445d0823 | 237 | var aname = '#'+link.split('#')[1]; |
dan_ackme | 34:2616445d0823 | 238 | var srcPage = stripPath(pathName()); |
dan_ackme | 34:2616445d0823 | 239 | var targetPage = stripPath(link.split('#')[0]); |
dan_ackme | 34:2616445d0823 | 240 | a.href = srcPage!=targetPage ? url : "javascript:void(0)"; |
dan_ackme | 34:2616445d0823 | 241 | a.onclick = function(){ |
dan_ackme | 34:2616445d0823 | 242 | storeLink(link); |
dan_ackme | 34:2616445d0823 | 243 | if (!$(a).parent().parent().hasClass('selected')) |
dan_ackme | 34:2616445d0823 | 244 | { |
dan_ackme | 34:2616445d0823 | 245 | $('.item').removeClass('selected'); |
dan_ackme | 34:2616445d0823 | 246 | $('.item').removeAttr('id'); |
dan_ackme | 34:2616445d0823 | 247 | $(a).parent().parent().addClass('selected'); |
dan_ackme | 34:2616445d0823 | 248 | $(a).parent().parent().attr('id','selected'); |
dan_ackme | 34:2616445d0823 | 249 | } |
dan_ackme | 34:2616445d0823 | 250 | var anchor = $(aname); |
dan_ackme | 34:2616445d0823 | 251 | gotoAnchor(anchor,aname,true); |
dan_ackme | 34:2616445d0823 | 252 | }; |
dan_ackme | 34:2616445d0823 | 253 | } else { |
dan_ackme | 34:2616445d0823 | 254 | a.href = url; |
dan_ackme | 34:2616445d0823 | 255 | a.onclick = function() { storeLink(link); } |
dan_ackme | 34:2616445d0823 | 256 | } |
dan_ackme | 34:2616445d0823 | 257 | } else { |
dan_ackme | 34:2616445d0823 | 258 | if (childrenData != null) |
dan_ackme | 34:2616445d0823 | 259 | { |
dan_ackme | 34:2616445d0823 | 260 | a.className = "nolink"; |
dan_ackme | 34:2616445d0823 | 261 | a.href = "javascript:void(0)"; |
dan_ackme | 34:2616445d0823 | 262 | a.onclick = node.expandToggle.onclick; |
dan_ackme | 34:2616445d0823 | 263 | } |
dan_ackme | 34:2616445d0823 | 264 | } |
dan_ackme | 34:2616445d0823 | 265 | |
dan_ackme | 34:2616445d0823 | 266 | node.childrenUL = null; |
dan_ackme | 34:2616445d0823 | 267 | node.getChildrenUL = function() { |
dan_ackme | 34:2616445d0823 | 268 | if (!node.childrenUL) { |
dan_ackme | 34:2616445d0823 | 269 | node.childrenUL = document.createElement("ul"); |
dan_ackme | 34:2616445d0823 | 270 | node.childrenUL.className = "children_ul"; |
dan_ackme | 34:2616445d0823 | 271 | node.childrenUL.style.display = "none"; |
dan_ackme | 34:2616445d0823 | 272 | node.li.appendChild(node.childrenUL); |
dan_ackme | 34:2616445d0823 | 273 | } |
dan_ackme | 34:2616445d0823 | 274 | return node.childrenUL; |
dan_ackme | 34:2616445d0823 | 275 | }; |
dan_ackme | 34:2616445d0823 | 276 | |
dan_ackme | 34:2616445d0823 | 277 | return node; |
dan_ackme | 34:2616445d0823 | 278 | } |
dan_ackme | 34:2616445d0823 | 279 | |
dan_ackme | 34:2616445d0823 | 280 | function showRoot() |
dan_ackme | 34:2616445d0823 | 281 | { |
dan_ackme | 34:2616445d0823 | 282 | var headerHeight = $("#top").height(); |
dan_ackme | 34:2616445d0823 | 283 | var footerHeight = $("#nav-path").height(); |
dan_ackme | 34:2616445d0823 | 284 | var windowHeight = $(window).height() - headerHeight - footerHeight; |
dan_ackme | 34:2616445d0823 | 285 | (function (){ // retry until we can scroll to the selected item |
dan_ackme | 34:2616445d0823 | 286 | try { |
dan_ackme | 34:2616445d0823 | 287 | var navtree=$('#nav-tree'); |
dan_ackme | 34:2616445d0823 | 288 | navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); |
dan_ackme | 34:2616445d0823 | 289 | } catch (err) { |
dan_ackme | 34:2616445d0823 | 290 | setTimeout(arguments.callee, 0); |
dan_ackme | 34:2616445d0823 | 291 | } |
dan_ackme | 34:2616445d0823 | 292 | })(); |
dan_ackme | 34:2616445d0823 | 293 | } |
dan_ackme | 34:2616445d0823 | 294 | |
dan_ackme | 34:2616445d0823 | 295 | function expandNode(o, node, imm, showRoot) |
dan_ackme | 34:2616445d0823 | 296 | { |
dan_ackme | 34:2616445d0823 | 297 | if (node.childrenData && !node.expanded) { |
dan_ackme | 34:2616445d0823 | 298 | if (typeof(node.childrenData)==='string') { |
dan_ackme | 34:2616445d0823 | 299 | var varName = node.childrenData; |
dan_ackme | 34:2616445d0823 | 300 | getScript(node.relpath+varName,function(){ |
dan_ackme | 34:2616445d0823 | 301 | node.childrenData = getData(varName); |
dan_ackme | 34:2616445d0823 | 302 | expandNode(o, node, imm, showRoot); |
dan_ackme | 34:2616445d0823 | 303 | }, showRoot); |
dan_ackme | 34:2616445d0823 | 304 | } else { |
dan_ackme | 34:2616445d0823 | 305 | if (!node.childrenVisited) { |
dan_ackme | 34:2616445d0823 | 306 | getNode(o, node); |
dan_ackme | 34:2616445d0823 | 307 | } if (imm || ($.browser.msie && $.browser.version>8)) { |
dan_ackme | 34:2616445d0823 | 308 | // somehow slideDown jumps to the start of tree for IE9 :-( |
dan_ackme | 34:2616445d0823 | 309 | $(node.getChildrenUL()).show(); |
dan_ackme | 34:2616445d0823 | 310 | } else { |
dan_ackme | 34:2616445d0823 | 311 | $(node.getChildrenUL()).slideDown("fast"); |
dan_ackme | 34:2616445d0823 | 312 | } |
dan_ackme | 34:2616445d0823 | 313 | if (node.isLast) { |
dan_ackme | 34:2616445d0823 | 314 | node.plus_img.src = node.relpath+"ftv2mlastnode.png"; |
dan_ackme | 34:2616445d0823 | 315 | } else { |
dan_ackme | 34:2616445d0823 | 316 | node.plus_img.src = node.relpath+"ftv2mnode.png"; |
dan_ackme | 34:2616445d0823 | 317 | } |
dan_ackme | 34:2616445d0823 | 318 | node.expanded = true; |
dan_ackme | 34:2616445d0823 | 319 | } |
dan_ackme | 34:2616445d0823 | 320 | } |
dan_ackme | 34:2616445d0823 | 321 | } |
dan_ackme | 34:2616445d0823 | 322 | |
dan_ackme | 34:2616445d0823 | 323 | function glowEffect(n,duration) |
dan_ackme | 34:2616445d0823 | 324 | { |
dan_ackme | 34:2616445d0823 | 325 | n.addClass('glow').delay(duration).queue(function(next){ |
dan_ackme | 34:2616445d0823 | 326 | $(this).removeClass('glow');next(); |
dan_ackme | 34:2616445d0823 | 327 | }); |
dan_ackme | 34:2616445d0823 | 328 | } |
dan_ackme | 34:2616445d0823 | 329 | |
dan_ackme | 34:2616445d0823 | 330 | function highlightAnchor() |
dan_ackme | 34:2616445d0823 | 331 | { |
dan_ackme | 34:2616445d0823 | 332 | var aname = hashUrl(); |
dan_ackme | 34:2616445d0823 | 333 | var anchor = $(aname); |
dan_ackme | 34:2616445d0823 | 334 | if (anchor.parent().attr('class')=='memItemLeft'){ |
dan_ackme | 34:2616445d0823 | 335 | var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); |
dan_ackme | 34:2616445d0823 | 336 | glowEffect(rows.children(),300); // member without details |
dan_ackme | 34:2616445d0823 | 337 | } else if (anchor.parent().attr('class')=='fieldname'){ |
dan_ackme | 34:2616445d0823 | 338 | glowEffect(anchor.parent().parent(),1000); // enum value |
dan_ackme | 34:2616445d0823 | 339 | } else if (anchor.parent().attr('class')=='fieldtype'){ |
dan_ackme | 34:2616445d0823 | 340 | glowEffect(anchor.parent().parent(),1000); // struct field |
dan_ackme | 34:2616445d0823 | 341 | } else if (anchor.parent().is(":header")) { |
dan_ackme | 34:2616445d0823 | 342 | glowEffect(anchor.parent(),1000); // section header |
dan_ackme | 34:2616445d0823 | 343 | } else { |
dan_ackme | 34:2616445d0823 | 344 | glowEffect(anchor.next(),1000); // normal member |
dan_ackme | 34:2616445d0823 | 345 | } |
dan_ackme | 34:2616445d0823 | 346 | gotoAnchor(anchor,aname,false); |
dan_ackme | 34:2616445d0823 | 347 | } |
dan_ackme | 34:2616445d0823 | 348 | |
dan_ackme | 34:2616445d0823 | 349 | function selectAndHighlight(hash,n) |
dan_ackme | 34:2616445d0823 | 350 | { |
dan_ackme | 34:2616445d0823 | 351 | var a; |
dan_ackme | 34:2616445d0823 | 352 | if (hash) { |
dan_ackme | 34:2616445d0823 | 353 | var link=stripPath(pathName())+':'+hash.substring(1); |
dan_ackme | 34:2616445d0823 | 354 | a=$('.item a[class$="'+link+'"]'); |
dan_ackme | 34:2616445d0823 | 355 | } |
dan_ackme | 34:2616445d0823 | 356 | if (a && a.length) { |
dan_ackme | 34:2616445d0823 | 357 | a.parent().parent().addClass('selected'); |
dan_ackme | 34:2616445d0823 | 358 | a.parent().parent().attr('id','selected'); |
dan_ackme | 34:2616445d0823 | 359 | highlightAnchor(); |
dan_ackme | 34:2616445d0823 | 360 | } else if (n) { |
dan_ackme | 34:2616445d0823 | 361 | $(n.itemDiv).addClass('selected'); |
dan_ackme | 34:2616445d0823 | 362 | $(n.itemDiv).attr('id','selected'); |
dan_ackme | 34:2616445d0823 | 363 | } |
dan_ackme | 34:2616445d0823 | 364 | if ($('#nav-tree-contents .item:first').hasClass('selected')) { |
dan_ackme | 34:2616445d0823 | 365 | $('#nav-sync').css('top','30px'); |
dan_ackme | 34:2616445d0823 | 366 | } else { |
dan_ackme | 34:2616445d0823 | 367 | $('#nav-sync').css('top','5px'); |
dan_ackme | 34:2616445d0823 | 368 | } |
dan_ackme | 34:2616445d0823 | 369 | showRoot(); |
dan_ackme | 34:2616445d0823 | 370 | } |
dan_ackme | 34:2616445d0823 | 371 | |
dan_ackme | 34:2616445d0823 | 372 | function showNode(o, node, index, hash) |
dan_ackme | 34:2616445d0823 | 373 | { |
dan_ackme | 34:2616445d0823 | 374 | if (node && node.childrenData) { |
dan_ackme | 34:2616445d0823 | 375 | if (typeof(node.childrenData)==='string') { |
dan_ackme | 34:2616445d0823 | 376 | var varName = node.childrenData; |
dan_ackme | 34:2616445d0823 | 377 | getScript(node.relpath+varName,function(){ |
dan_ackme | 34:2616445d0823 | 378 | node.childrenData = getData(varName); |
dan_ackme | 34:2616445d0823 | 379 | showNode(o,node,index,hash); |
dan_ackme | 34:2616445d0823 | 380 | },true); |
dan_ackme | 34:2616445d0823 | 381 | } else { |
dan_ackme | 34:2616445d0823 | 382 | if (!node.childrenVisited) { |
dan_ackme | 34:2616445d0823 | 383 | getNode(o, node); |
dan_ackme | 34:2616445d0823 | 384 | } |
dan_ackme | 34:2616445d0823 | 385 | $(node.getChildrenUL()).css({'display':'block'}); |
dan_ackme | 34:2616445d0823 | 386 | if (node.isLast) { |
dan_ackme | 34:2616445d0823 | 387 | node.plus_img.src = node.relpath+"ftv2mlastnode.png"; |
dan_ackme | 34:2616445d0823 | 388 | } else { |
dan_ackme | 34:2616445d0823 | 389 | node.plus_img.src = node.relpath+"ftv2mnode.png"; |
dan_ackme | 34:2616445d0823 | 390 | } |
dan_ackme | 34:2616445d0823 | 391 | node.expanded = true; |
dan_ackme | 34:2616445d0823 | 392 | var n = node.children[o.breadcrumbs[index]]; |
dan_ackme | 34:2616445d0823 | 393 | if (index+1<o.breadcrumbs.length) { |
dan_ackme | 34:2616445d0823 | 394 | showNode(o,n,index+1,hash); |
dan_ackme | 34:2616445d0823 | 395 | } else { |
dan_ackme | 34:2616445d0823 | 396 | if (typeof(n.childrenData)==='string') { |
dan_ackme | 34:2616445d0823 | 397 | var varName = n.childrenData; |
dan_ackme | 34:2616445d0823 | 398 | getScript(n.relpath+varName,function(){ |
dan_ackme | 34:2616445d0823 | 399 | n.childrenData = getData(varName); |
dan_ackme | 34:2616445d0823 | 400 | node.expanded=false; |
dan_ackme | 34:2616445d0823 | 401 | showNode(o,node,index,hash); // retry with child node expanded |
dan_ackme | 34:2616445d0823 | 402 | },true); |
dan_ackme | 34:2616445d0823 | 403 | } else { |
dan_ackme | 34:2616445d0823 | 404 | var rootBase = stripPath(o.toroot.replace(/\..+$/, '')); |
dan_ackme | 34:2616445d0823 | 405 | if (rootBase=="index" || rootBase=="pages" || rootBase=="search") { |
dan_ackme | 34:2616445d0823 | 406 | expandNode(o, n, true, true); |
dan_ackme | 34:2616445d0823 | 407 | } |
dan_ackme | 34:2616445d0823 | 408 | selectAndHighlight(hash,n); |
dan_ackme | 34:2616445d0823 | 409 | } |
dan_ackme | 34:2616445d0823 | 410 | } |
dan_ackme | 34:2616445d0823 | 411 | } |
dan_ackme | 34:2616445d0823 | 412 | } else { |
dan_ackme | 34:2616445d0823 | 413 | selectAndHighlight(hash); |
dan_ackme | 34:2616445d0823 | 414 | } |
dan_ackme | 34:2616445d0823 | 415 | } |
dan_ackme | 34:2616445d0823 | 416 | |
dan_ackme | 34:2616445d0823 | 417 | function removeToInsertLater(element) { |
dan_ackme | 34:2616445d0823 | 418 | var parentNode = element.parentNode; |
dan_ackme | 34:2616445d0823 | 419 | var nextSibling = element.nextSibling; |
dan_ackme | 34:2616445d0823 | 420 | parentNode.removeChild(element); |
dan_ackme | 34:2616445d0823 | 421 | return function() { |
dan_ackme | 34:2616445d0823 | 422 | if (nextSibling) { |
dan_ackme | 34:2616445d0823 | 423 | parentNode.insertBefore(element, nextSibling); |
dan_ackme | 34:2616445d0823 | 424 | } else { |
dan_ackme | 34:2616445d0823 | 425 | parentNode.appendChild(element); |
dan_ackme | 34:2616445d0823 | 426 | } |
dan_ackme | 34:2616445d0823 | 427 | }; |
dan_ackme | 34:2616445d0823 | 428 | } |
dan_ackme | 34:2616445d0823 | 429 | |
dan_ackme | 34:2616445d0823 | 430 | function getNode(o, po) |
dan_ackme | 34:2616445d0823 | 431 | { |
dan_ackme | 34:2616445d0823 | 432 | var insertFunction = removeToInsertLater(po.li); |
dan_ackme | 34:2616445d0823 | 433 | po.childrenVisited = true; |
dan_ackme | 34:2616445d0823 | 434 | var l = po.childrenData.length-1; |
dan_ackme | 34:2616445d0823 | 435 | for (var i in po.childrenData) { |
dan_ackme | 34:2616445d0823 | 436 | var nodeData = po.childrenData[i]; |
dan_ackme | 34:2616445d0823 | 437 | po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], |
dan_ackme | 34:2616445d0823 | 438 | i==l); |
dan_ackme | 34:2616445d0823 | 439 | } |
dan_ackme | 34:2616445d0823 | 440 | insertFunction(); |
dan_ackme | 34:2616445d0823 | 441 | } |
dan_ackme | 34:2616445d0823 | 442 | |
dan_ackme | 34:2616445d0823 | 443 | function gotoNode(o,subIndex,root,hash,relpath) |
dan_ackme | 34:2616445d0823 | 444 | { |
dan_ackme | 34:2616445d0823 | 445 | var nti = navTreeSubIndices[subIndex][root+hash]; |
dan_ackme | 34:2616445d0823 | 446 | o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]); |
dan_ackme | 34:2616445d0823 | 447 | if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index |
dan_ackme | 34:2616445d0823 | 448 | navTo(o,NAVTREE[0][1],"",relpath); |
dan_ackme | 34:2616445d0823 | 449 | $('.item').removeClass('selected'); |
dan_ackme | 34:2616445d0823 | 450 | $('.item').removeAttr('id'); |
dan_ackme | 34:2616445d0823 | 451 | } |
dan_ackme | 34:2616445d0823 | 452 | if (o.breadcrumbs) { |
dan_ackme | 34:2616445d0823 | 453 | o.breadcrumbs.unshift(0); // add 0 for root node |
dan_ackme | 34:2616445d0823 | 454 | showNode(o, o.node, 0, hash); |
dan_ackme | 34:2616445d0823 | 455 | } |
dan_ackme | 34:2616445d0823 | 456 | } |
dan_ackme | 34:2616445d0823 | 457 | |
dan_ackme | 34:2616445d0823 | 458 | function navTo(o,root,hash,relpath) |
dan_ackme | 34:2616445d0823 | 459 | { |
dan_ackme | 34:2616445d0823 | 460 | var link = cachedLink(); |
dan_ackme | 34:2616445d0823 | 461 | if (link) { |
dan_ackme | 34:2616445d0823 | 462 | var parts = link.split('#'); |
dan_ackme | 34:2616445d0823 | 463 | root = parts[0]; |
dan_ackme | 34:2616445d0823 | 464 | if (parts.length>1) hash = '#'+parts[1].replace(/[^\w\-]/g,''); |
dan_ackme | 34:2616445d0823 | 465 | else hash=''; |
dan_ackme | 34:2616445d0823 | 466 | } |
dan_ackme | 34:2616445d0823 | 467 | if (hash.match(/^#l\d+$/)) { |
dan_ackme | 34:2616445d0823 | 468 | var anchor=$('a[name='+hash.substring(1)+']'); |
dan_ackme | 34:2616445d0823 | 469 | glowEffect(anchor.parent(),1000); // line number |
dan_ackme | 34:2616445d0823 | 470 | hash=''; // strip line number anchors |
dan_ackme | 34:2616445d0823 | 471 | } |
dan_ackme | 34:2616445d0823 | 472 | var url=root+hash; |
dan_ackme | 34:2616445d0823 | 473 | var i=-1; |
dan_ackme | 34:2616445d0823 | 474 | while (NAVTREEINDEX[i+1]<=url) i++; |
dan_ackme | 34:2616445d0823 | 475 | if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index |
dan_ackme | 34:2616445d0823 | 476 | if (navTreeSubIndices[i]) { |
dan_ackme | 34:2616445d0823 | 477 | gotoNode(o,i,root,hash,relpath) |
dan_ackme | 34:2616445d0823 | 478 | } else { |
dan_ackme | 34:2616445d0823 | 479 | getScript(relpath+'navtreeindex'+i,function(){ |
dan_ackme | 34:2616445d0823 | 480 | navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); |
dan_ackme | 34:2616445d0823 | 481 | if (navTreeSubIndices[i]) { |
dan_ackme | 34:2616445d0823 | 482 | gotoNode(o,i,root,hash,relpath); |
dan_ackme | 34:2616445d0823 | 483 | } |
dan_ackme | 34:2616445d0823 | 484 | },true); |
dan_ackme | 34:2616445d0823 | 485 | } |
dan_ackme | 34:2616445d0823 | 486 | } |
dan_ackme | 34:2616445d0823 | 487 | |
dan_ackme | 34:2616445d0823 | 488 | function showSyncOff(n,relpath) |
dan_ackme | 34:2616445d0823 | 489 | { |
dan_ackme | 34:2616445d0823 | 490 | n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>'); |
dan_ackme | 34:2616445d0823 | 491 | } |
dan_ackme | 34:2616445d0823 | 492 | |
dan_ackme | 34:2616445d0823 | 493 | function showSyncOn(n,relpath) |
dan_ackme | 34:2616445d0823 | 494 | { |
dan_ackme | 34:2616445d0823 | 495 | n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>'); |
dan_ackme | 34:2616445d0823 | 496 | } |
dan_ackme | 34:2616445d0823 | 497 | |
dan_ackme | 34:2616445d0823 | 498 | function toggleSyncButton(relpath) |
dan_ackme | 34:2616445d0823 | 499 | { |
dan_ackme | 34:2616445d0823 | 500 | var navSync = $('#nav-sync'); |
dan_ackme | 34:2616445d0823 | 501 | if (navSync.hasClass('sync')) { |
dan_ackme | 34:2616445d0823 | 502 | navSync.removeClass('sync'); |
dan_ackme | 34:2616445d0823 | 503 | showSyncOff(navSync,relpath); |
dan_ackme | 34:2616445d0823 | 504 | storeLink(stripPath2(pathName())+hashUrl()); |
dan_ackme | 34:2616445d0823 | 505 | } else { |
dan_ackme | 34:2616445d0823 | 506 | navSync.addClass('sync'); |
dan_ackme | 34:2616445d0823 | 507 | showSyncOn(navSync,relpath); |
dan_ackme | 34:2616445d0823 | 508 | deleteLink(); |
dan_ackme | 34:2616445d0823 | 509 | } |
dan_ackme | 34:2616445d0823 | 510 | } |
dan_ackme | 34:2616445d0823 | 511 | |
dan_ackme | 34:2616445d0823 | 512 | function initNavTree(toroot,relpath) |
dan_ackme | 34:2616445d0823 | 513 | { |
dan_ackme | 34:2616445d0823 | 514 | var o = new Object(); |
dan_ackme | 34:2616445d0823 | 515 | o.toroot = toroot; |
dan_ackme | 34:2616445d0823 | 516 | o.node = new Object(); |
dan_ackme | 34:2616445d0823 | 517 | o.node.li = document.getElementById("nav-tree-contents"); |
dan_ackme | 34:2616445d0823 | 518 | o.node.childrenData = NAVTREE; |
dan_ackme | 34:2616445d0823 | 519 | o.node.children = new Array(); |
dan_ackme | 34:2616445d0823 | 520 | o.node.childrenUL = document.createElement("ul"); |
dan_ackme | 34:2616445d0823 | 521 | o.node.getChildrenUL = function() { return o.node.childrenUL; }; |
dan_ackme | 34:2616445d0823 | 522 | o.node.li.appendChild(o.node.childrenUL); |
dan_ackme | 34:2616445d0823 | 523 | o.node.depth = 0; |
dan_ackme | 34:2616445d0823 | 524 | o.node.relpath = relpath; |
dan_ackme | 34:2616445d0823 | 525 | o.node.expanded = false; |
dan_ackme | 34:2616445d0823 | 526 | o.node.isLast = true; |
dan_ackme | 34:2616445d0823 | 527 | o.node.plus_img = document.createElement("img"); |
dan_ackme | 34:2616445d0823 | 528 | o.node.plus_img.src = relpath+"ftv2pnode.png"; |
dan_ackme | 34:2616445d0823 | 529 | o.node.plus_img.width = 16; |
dan_ackme | 34:2616445d0823 | 530 | o.node.plus_img.height = 22; |
dan_ackme | 34:2616445d0823 | 531 | |
dan_ackme | 34:2616445d0823 | 532 | if (localStorageSupported()) { |
dan_ackme | 34:2616445d0823 | 533 | var navSync = $('#nav-sync'); |
dan_ackme | 34:2616445d0823 | 534 | if (cachedLink()) { |
dan_ackme | 34:2616445d0823 | 535 | showSyncOff(navSync,relpath); |
dan_ackme | 34:2616445d0823 | 536 | navSync.removeClass('sync'); |
dan_ackme | 34:2616445d0823 | 537 | } else { |
dan_ackme | 34:2616445d0823 | 538 | showSyncOn(navSync,relpath); |
dan_ackme | 34:2616445d0823 | 539 | } |
dan_ackme | 34:2616445d0823 | 540 | navSync.click(function(){ toggleSyncButton(relpath); }); |
dan_ackme | 34:2616445d0823 | 541 | } |
dan_ackme | 34:2616445d0823 | 542 | |
dan_ackme | 34:2616445d0823 | 543 | $(window).load(function(){ |
dan_ackme | 34:2616445d0823 | 544 | navTo(o,toroot,hashUrl(),relpath); |
dan_ackme | 34:2616445d0823 | 545 | showRoot(); |
dan_ackme | 34:2616445d0823 | 546 | }); |
dan_ackme | 34:2616445d0823 | 547 | |
dan_ackme | 34:2616445d0823 | 548 | $(window).bind('hashchange', function(){ |
dan_ackme | 34:2616445d0823 | 549 | if (window.location.hash && window.location.hash.length>1){ |
dan_ackme | 34:2616445d0823 | 550 | var a; |
dan_ackme | 34:2616445d0823 | 551 | if ($(location).attr('hash')){ |
dan_ackme | 34:2616445d0823 | 552 | var clslink=stripPath(pathName())+':'+hashValue(); |
dan_ackme | 34:2616445d0823 | 553 | a=$('.item a[class$="'+clslink.replace(/</g,'\\3c ')+'"]'); |
dan_ackme | 34:2616445d0823 | 554 | } |
dan_ackme | 34:2616445d0823 | 555 | if (a==null || !$(a).parent().parent().hasClass('selected')){ |
dan_ackme | 34:2616445d0823 | 556 | $('.item').removeClass('selected'); |
dan_ackme | 34:2616445d0823 | 557 | $('.item').removeAttr('id'); |
dan_ackme | 34:2616445d0823 | 558 | } |
dan_ackme | 34:2616445d0823 | 559 | var link=stripPath2(pathName()); |
dan_ackme | 34:2616445d0823 | 560 | navTo(o,link,hashUrl(),relpath); |
dan_ackme | 34:2616445d0823 | 561 | } else if (!animationInProgress) { |
dan_ackme | 34:2616445d0823 | 562 | $('#doc-content').scrollTop(0); |
dan_ackme | 34:2616445d0823 | 563 | $('.item').removeClass('selected'); |
dan_ackme | 34:2616445d0823 | 564 | $('.item').removeAttr('id'); |
dan_ackme | 34:2616445d0823 | 565 | navTo(o,toroot,hashUrl(),relpath); |
dan_ackme | 34:2616445d0823 | 566 | } |
dan_ackme | 34:2616445d0823 | 567 | }) |
dan_ackme | 34:2616445d0823 | 568 | } |
dan_ackme | 34:2616445d0823 | 569 |